e4exp / paper_manager_abstract

0 stars 0 forks source link

Scaling Vision Transformers #581

Open e4exp opened 2 years ago

e4exp commented 2 years ago

Vision Transformer(ViT)などの注意力ベースのニューラルネットワークは、近年、多くのコンピュータビジョンのベンチマークで最先端の結果を達成しています。 優れた結果を得るためには、スケールが主要な要素となるため、モデルのスケーリング特性を理解することが、将来の世代を効果的に設計するための鍵となります。 Transformer言語モデルのスケーリングに関する法則は研究されていますが、Vision Transformersがどのようにスケーリングするのかは不明です。 そこで、ViTのモデルとデータを上下にスケーリングし、エラーレート、データ、計算量の関係を明らかにしました。 また、ViTのアーキテクチャとトレーニングを改良し、メモリ消費量を削減してモデルの精度を向上させました。 その結果、20億個のパラメータを持つViTモデルの学習に成功し、ImageNetにおいて90.45%のトップ1精度という最先端の結果を得ることができました。 また、このモデルは少数ショット学習においても優れた性能を発揮し、例えば、ImageNetではクラスごとに10例のみで84.86%のトップ1精度を達成しました。

e4exp commented 2 years ago

1 はじめに

注意ベースのTransformerアーキテクチャ[36]は、コンピュータビジョンの分野で旋風を巻き起こし[11, 5]、研究や実践の場でますます一般的な選択肢となりつつあります。 以前は、Transformerは自然言語処理(NLP)の分野で広く採用されていました[10, 4]。NLPにおけるTransformerの最適なスケーリングについては、[17]で注意深く研究されており、その主な結論は、大きなモデルは性能が良いだけでなく、大規模な計算予算をより効率的に使用できるというものでした。 しかし、これらの知見が、いくつかの重要な違いがある視覚領域にどの程度適用されるかはまだ不明です。 例えば、ビジョン領域で最も成功している事前学習スキームは教師ありであり、NLP領域では教師なしの事前学習であるのとは対照的です。

本論文では、画像分類タスクで事前学習されたViTモデルの伝達性能のスケーリング法則に注目する。 具体的には,500万から20億個のパラメータを持つモデル,3,000万から30億枚の学習画像を持つデータセット,1TPUv3コア日以下から1万コア日以上の計算予算で実験を行いました. 我々の主な貢献は、ViTモデルの性能と計算のフロンティアの特徴を明らかにすることです。 また、その過程で、改良された大規模トレーニングレシピを作成しました。 トレーニングのハイパーパラメータを調査し、数ショットの転送性能を劇的に向上させる微妙な選択を発見しました。 具体的には、最終的な線形予測層のみに適用される非常に強いL2正則化によって、非常に強力な数発の学習能力を持つ学習済みの視覚表現が得られることを発見しました。 例えば、ImageNetデータセット(1,000個のクラスを持つ)において、クラスごとに1つの例を用いた場合、我々の最良のモデルは69.52%の精度を達成し、クラスごとに10の例を用いた場合は84.86%を達成しました。 さらに,[11]で提案したオリジナルのViTモデルのメモリフットプリントを大幅に削減しました. これは,ハードウェア固有のアーキテクチャの変更と,異なるオプティマイザによって実現しています. その結果,20億個のパラメータを持つモデルを学習し,ImageNetにおいて最先端の90.45%の精度を達成しました.

e4exp commented 2 years ago

2 主な結果

まず、スケーリングの傾向に関する主な結果を示し、その後、セクション3でアーキテクチャと学習プロトコルの詳細な改善点を示します。 以下の実験では,複数のViTモデルを,最大30億枚の弱いラベル付き画像で学習した. この実験では,アーキテクチャサイズ,学習画像数,学習時間を変化させた. すべてのモデルはTPUv3上で学習されているため,総計算量はTPUv3のコア日で計測されている.

モデルが学習した表現の品質を評価するために, (i) 凍結した重みで線形分類器を学習することによる数ショットの転送, (ii) すべてのデータでモデル全体を微調整することによる転送,の両方を複数のベンチマークタスクで測定した.

2.1 計算機、モデル、データを同時にスケールアップ

図1は、ImageNet [9]における10ショットの線形評価とファインチューニング評価の両方を示しています。 他のデータセット,Oxford IIIT Pets [23],CIFAR-100 [19],Caltech-UCSD Birds [38]での同様の傾向を,付録の図8に示します. モデルサイズとデータサイズの組み合わせごとに、さまざまな数のステップで事前学習を行います。 図1では、接続された点が、異なるステップ数で学習した同じモデルを表しています。 以下のような結果が得られました。 まず,計算機,モデル,データの規模を大きくすることで,表現の質が向上する. 左の図と中央の図では,右下の点は,サイズ,データセットサイズ,計算量が最も大きいモデルが最も低いエラーレートを達成していることを示している. しかし、サイズが大きくなると、モデルが飽和し始め、パワーロー・フロンティア(図1の対数プロット上の線形関係)から外れてしまうことがわかります。 次に、表現品質はモデルサイズによってボトルネックになることがあります。 右上のプロットは、モデルサイズごとに達成された最高のパフォーマンスを示しています。 容量が限られているため,小さなモデルでは,最大のデータセットや計算リソースの恩恵を受けることができません. 図1の左と中央の図では,Ti/16モデルは,大量の画像で学習しても,高いエラーレートになる傾向があります. 第三に,大規模なモデルは,1B画像以外の追加データからも恩恵を受けます. モデルのサイズを大きくすると、データセットが小さいと表現品質が制限されることがあります。 最大のモデルを飽和させるには、30〜300Mの画像でも十分ではありません。 図1(中央)では、30MのデータセットにおけるL/16モデルのエラーレートは、27%を超えて改善されていません。 大規模なデータセットでは、このモデルは19%を達成しています。 さらに、データセットのサイズを大きくすると、大きなモデルでは性能が向上しますが、小さなモデルでは向上しません。 最大のモデルでは,学習セットのサイズが1B画像から3B画像になると,パフォーマンスが向上します(図1,右下). しかし、Ti/16やB/32のような小さなモデルでは、データセットサイズを大きくしても効果はありません。 例えば、図1の左と中央では、Ti/16の曲線がすべて重なっており、このモデルはデータセットのサイズに関わらず同じ性能を達成していることがわかる。

image

2.2 二重飽和乗則

図1の左と中央は,表現品質と学習計算量のパレートフロンティアを示している. この辺境には,モデルの形状と学習時間に対する計算量の割り当てが最適なモデルが含まれています. 2桁以上の計算量では,計算量と性能の関係はべき乗則(E = aCb )に従っており,対数プロットでは直線になっています. しかし,計算量の両端では「飽和」が見られます. 計算量の多いモデルでは,最大のモデルでもエラーレートがゼロになることはありませんでした. 観察結果から推定すると、無限の容量を持つモデルでは、ゼロではないエラーが発生します。 この効果は、生成モデルでも観察されています[14]。 14]の著者は、この残留誤差をタスクの「既約エントロピー」と呼んでいます。 我々はエラーレートをプロットしているので、情報理論的な解釈は適用されませんが、我々の観察結果は、ImageNetの基本的な性能の上限という概念を支持しています[3]。 法則の観点からは、この飽和はエラーレートへの加算定数に対応します:E = aC-b + cのcです。 計算スペクトルの下限では、より小さなモデルで飽和が見られます。 このような飽和が起こるのは、些細な解答でもゼロではないエラーが発生するからです。 例えば,多数派クラスを予測する場合(計算量はほとんどゼロ),テストセットにおけるそのクラスの出現頻度に関連した精度が得られます. この下限は[14]では観測されませんでしたが、これは彼らの最小モデルがこの領域を避けるのに十分な大きさであるためか、あるいはlog-lossが精度よりもさらに悪い性能で飽和してしまうためです(いずれ飽和します)。 この飽和は、x軸のシフトに対応しています:Eのd = a(C + d) -b + c。 この定数は、計算量ゼロのモデルでも、ゼロではない精度が得られることを示しています。

2.3 大きなモデルはサンプル効率が良い

図2は、事前学習時に「見た」画像の総数(バッチサイズ×ステップ数)に対する表現品質を示しています。 公開されている検証セットでのImageNetの微調整と線形10ショットの結果に加えて、ロバストな一般化の指標としてImageNet-v2テストセット[27]でのImageNet微調整モデルの結果も報告します。 30億枚の画像で事前に学習された3つのViTモデルがこのプロットに示されています。 より大きなモデルはサンプル効率が良く、少ない画像で同じレベルのエラーレートに達することが分かります。 10ショットの場合、Ti/16モデルは、L/16モデルの表現品質に匹敵するために、約100倍の画像を見る必要があります。 これを微調整すると,100倍から20倍程度に減少します. この結果は、十分なデータがあれば、より少ないステップでより大きなモデルを学習することが望ましいことを示唆しています。 この観察は,言語モデリングや機械翻訳の結果を反映している[17, 21].

image