Vision Transformersの未来に託す研究
3つの要点
✔️ コンピュータビジョン用の新しい自己教師付き学習アルゴリズム
✔️ ViT(およびCNN)との高い互換性を有する
✔️ 教師あり学習や他のSSLアルゴリズムよりも優れた性能を発揮
Emerging Properties in Self-Supervised Vision Transformers
written by Mathilde Caron, Hugo Touvron, Ishan Misra, Hervé Jégou, Julien Mairal, Piotr Bojanowski, Armand Joulin
(Submitted on 29 Apr 2021 (this version), latest version 24 May 2021 (v2))
Comments: accepted by arXiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
はじめに
Transformerは、コンピュータビジョンの分野でも非常に優れた性能を発揮しています。Vision Transformer(ViT)の性能は、最先端のCNNモデルに匹敵します。しかし計算コストが高く、データ効率が悪いです。そのため、CNNよりも優れた選択肢であるとは言えません。NLPにおけるTransformerは、通常教師ありデータで学習される視覚モデルと比較して、自己教師あり学習を使用して大きなコーパスで学習されます。画像レベルの教師は、画像に含まれる視覚情報を単一の概念に縮小し、変換器の能力を制限すると考えています。
本論文では、教師付きViTやCNNにはない有用な特性を持つ、自己教師付き学習を用いて学習されたViTを紹介します。上の画像は、教師なしで学習されたViTで得られた結果です。モデルは、クラス固有の特徴を自動的に学習できていることがわかります。つまり、教師なしセグメンテーションを行なったということがわかります。自己教師ありtransformerによって生成された特徴は、fine-tuningやデータの追加なしに、単純なk-NN分類器でも十分な性能を発揮し、ImageNetにおいて78.3%のトップ1精度を達成する結果を得ました。
手法
本手法であるDINOは、Distillation with no labelsの略です。知識の蒸留とは、教師ネットワーク(gθt)が生成した予測値を、生徒ネットワークの学習ラベルとして使用して、生徒ネットワーク(gθs)を学習するプロセスです。任意の入力画像xに対して、両方のネットワークは、PsとPtで示されるK次元上の確率分布を生成します。これらの分布は,温度Tのソフトマックス関数を用いて正規化される.
ここで、H(a,b) = -alog(b)とします。
まず、画像xからいくつかの歪んだviews/crop 'V'が生成されます。Vは2つのglobal-views{x1g,x2g}(50%以上の領域をカバー)と複数のlocal-views(crops)を含みます。Global-viewsは教師を経由し、local-viewsは生徒を経由します。したがって最小化すると、
教師ネットワークも生徒ネットワークも、アーキテクチャは同じですが、パラメータが異なります。知識抽出の場合、教師モデルは通常教師付きデータで学習されますが、ここでは教師なしデータのみを使用します。実験の結果、教師モデルのパラメータを、学生ネットワークのパラメータの指数移動平均として更新すると、かなりうまくいくことがわかりました:θt ← λθt + (1 − λ)θs。 ここでλは、学習中に0.996から1に増加するように調整されている余弦です。
ニューラルネットワークは、ViTまたはResNetで構成されたバックボーンfで作られています。バックボーンで生成された特徴量は、隠れた次元が2048の3層のMLPに渡され、その後L2正規化され、重み正規化されたK次元の完全連結層が続く。CNNとは異なり、ViTはバッチ正規化を使用せず、MLPヘッドも使用しません。したがって、DINOはBN-freeのモデルとなります。
崩壊の回避
自己教師あり学習したモデルは、崩壊や不正が起こりやすい傾向があります。例えば、両方のモデルが全ての次元で一様に同じ出力を予測したり、出力がたった1つの次元に支配されてしまうことがあります。SSLの手法では、このような破綻を防ぐために、対比損失、クラスタリング制約などの手法を用いています。これらの手法はDINOでも同じように適用できますが、モーメンタム教師の出力を中心にしてシャープにするだけのシンプルなアプローチが有効です。
上のアルゴリズムに示されているように、教師ネットワークの出力のみが中心化および先鋭化され、中心”c”は教師の出力の指数移動平均として更新されます。シャープ化は、教師の温度(tpt)の値を低くすることで得られます。センターリングは、支配的な次元による崩壊を回避しますが、すべての次元にわたって均一な出力を誘導します。一方、Sharpeningは、すべての次元にわたって均一な予測を防ぐが、特定の次元が支配的になるように誘導する。つまり、両者はお互いに補完し合います。
実験と評価
すべてのモデルはImageNetデータセットで学習されています。主に3種類のモードを使用しています。ViT, ResNet(RN), DeiTです。自己教師あり学習の標準的なプロトコルに従い、モデルのパラメータを固定して線形分類器を学習したり、下流のタスクでモデルをfine-tuningしたりして、学習したモデルをテストします。これらの方法は、いずれもハイパーパラメータの変化に敏感であることがわかりました。そこで、k=20とし、k-NN分類器を用いてモデルを評価します。
上の表は、様々なSSLアルゴリズムで学習したモデルの結果を示しています。DINOはtransformer(DeiT, ViT)とCNN(RN)の両方で同等の効果を発揮しています。下の表では、パッチサイズを8x8にすることで、フォワードパスの計算時間を短縮しつつ、最も良い結果(80.1%)が得られています。ViT-B/8は、従来の最先端技術(SCLRv2)と比較して、1.4倍の速度と10分の1のパラメータ数を実現しています。また、DINOは、ビデオオブジェクトのセグメンテーション、コピー検出、画像検索などのタスクにおいて、教師あり学習や他のSSL手法の性能を上回る、転移学習精度を実現しています。それらの実験の詳細については、原著論文をご参照ください。
まとめ
本論文では、DINOがViTの学習に有効な手法であることを示しています。これは、あらゆる種類のモデル、データ増強、崩壊防止技術と相性がよく、柔軟なアルゴリズムです。事前に学習されたBERTモデルは、NLPの様々なタスクに合わせてfine-tuningすることができます。DINOは、大量の原画像データを使用するコンピュータビジョン用のBERTのようなモデルを構築するのに役立ち、単一のViTが小さなデータセットで広範囲のタスクに対して優れた性能を発揮できるようになります。
この記事に関するカテゴリー