Vision TransformerでGPT-3レベルを作る方法は?
3つの要点
✔️ ビジョントランスフォーマーのための自己教師付き学習(SSL)法
✔️ SSL法を用いて、画像用の強力な変換オートエンコーダーを、シンプルな線形デコーダーとともに学習
✔️ いくつかのベンチマークにおいて、現在のSOTAモデルよりも13.53%以上向上
SiT: Self-supervised vIsion Transformer
written by Sara Atito, Muhammad Awais, Josef Kittler
(Submitted on 8 Apr 2021)
Comments: Accepted to arXiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)
code:
はじめに
NLPにおけるBERTのようなモデルが成功している理由の一つには、極めて大規模なラベルなしデータコーパスを使って学習できることにあります。一方、CNNやビジョン・トランスフォーマーは、通常大規模な教師付きデータでの事前学習に限られます。特にトランスフォーマーは、性能を発揮するために極めて大きなデータセットを必要とすることが多いです。これらのデータセットを拡張することはかなりの高コストな作業です。これらの制限を解決するためにいくつかの自己教師付き学習(SSL)アルゴリズムが提案されています。
生成的なSSLアプローチは計算量が多く、表現学習には必ずしも必要ではありません。また、データの拡張に依存しない表現を学習する対照学習法も非常に成功しています。しかし、対照学習では文脈情報を捉えることができないため、色付け、パズル解き、ノイズ予測などのプレテキストタスクが有効であることがわかっています。また、視覚変換の能力を十分に活用できるような効果的なSSL法はまだ存在していません。(対照学習については、ゼロから学ぶシリーズ「自己教師あり学習の立役者「対照学習」を学ぶ」をご覧ください。)
本論文では、コントラスト法とプレテキスト法の長所を組み合わせた新しい方法を提案しています。この手法は、いくつかのデータセットにおいて、13.53%以上の改善を行い、様々なデータセットにおける技術の現状を改善します。
提案手法
Vision Transformer(ViT)は、コンテンツとコンテキストの表現が、特別な「クラス」トークンを中心としたボトルネック表現を学習します。これは、トランスフォーマーがデータを効率的にモデル化する能力を著しく制限するものであり、そのため学習には複数のサンプルが必要となります。そこで本目的は、ラベル付きの学習データの量を減らしながら、最先端の性能を達成することです。この手法は、モデル・学習・学習タスクの変更を組み合わせたもので、それぞれについて以下のセクションで説明します。
Self-Supervised Vision Transformer
ベースモデルは、最近導入されたVision Transformer (ViT)です。ViTの「クラス」トークンを、回転トークンとコントラストトークンという2つの新しいトークンに置き換え、それぞれ回転変換予測とコントラスト予測のタスクに使用します。ViTのクラストークンと同様に、これらの新しいトークンは、画像パッチトークンと一緒に連結されます。上の図に示すように、位置エンベッディングはイメージパッチトークンと一緒にこれらのトークンの両方に付加されます。クラストークンが使われていないので、モデルはラベルのないデータで学習されます。この2つのトークンの役割については、次のセクションで説明します。
Self-Supervised Tasks
1) Transformerを3つの異なるタスクで学習させます。画像再構成、回転予測、コントラスト学習です。画像再構成では、transformerのオートエンコーダーを学習します。CNNベースのオートエンコーダーは、一連の畳み込み層とプーリング層を使用し、その過程で本質的に価値のある情報を捨てています。その後、デコーダがアップサンプリングと畳み込み演算で情報を回復します。Transformerは、歪んだ画像パッチを再構成するように学習されており、そうすることで画像の意味的な概念を学習します。接続されたパッチに適用される局所的な変換操作には、ランダムなドロップとランダムな置換、ぼかし、グレースケールへの変換、再着色などがあります。これらの変更はすべての画像に同時に適用されます。損失関数は、原画像(x)と再構成された画像SiT(x')の間のL1損失として計算されます。
2) Transformerの柔軟性を利用して、再構成損失と他の補完的な損失を組み合わせています。入力画像を{0,90,180,270}度ランダムに回転させてモデルに与えます。モデルは、入力の回転を前述のクラスのいずれかに分類するように学習します。これにより、モデルは画像内のオブジェクトの向きを理解する前に、その概念を学習することができます。予測誤差の計算にはクロスエントロピー損失が用います。
3) Transformerモデルは、入力画像に加えられたすべての幾何学的変換や摂動に対して不変であることが必要です。すなわち、transformerモデルは、それらすべての拡張画像に対して類似した表現を生成しなければなりません。具体的には、コサイン類似度を測定し、正の拡張画像のコサイン距離を最大化し、負の非類似画像のコサイン距離を最小化するようにします。正規化された温度スケーリングされたソフトマックス類似度を以下のように測定します。
ここで、sim(. , .)は、そのL2正規化された入力のコサイン類似度を表し、温度Tは0.5に設定されています。
最後に、損失(α1, α2, α3)の加重和をとることで、3つの損失をすべて組み合わせます。この3つのパラメータをグリッドサーチで最適化するのは非常にコストがかかります。そこで、不確実性加重アプローチと呼ばれる方法を用いて、(α1、α2、α3)を学習済みパラメータとして扱います。
実験
実験は、4つの一般的な画像分類データセットで行われました。実験は、CIFAR-10・CIFAR-100・Tiny-ImageNet・STL-10という4つの一般的な画像分類データセットを用います。線形評価タスクでは、まずラベルのないデータでモデルを学習して表現を学習し、次に学習した特徴量の上にクラス数に対応する線形層を調整します。複雑なデコーダを必要とするCNNモデルとは異なり、トランスフォーマーモデルは、デコーダとして1つの線形層でもうまく動作します。また、Cifar-100のラベルのない画像で学習した後、CIFAR-10でモデルをチューニングしたり、その逆を行ったりして、domain transfer実験を行います。 その結果を以下の表に示します。
SiTは、すべてのデータセットにおいて、既存の手法を大差で上回りました。またCIFAR-10データセットとCIFAR-100データセットにおいて、使用するラベル付きデータの量がモデルの性能にどのように影響するかを確認する実験も行います。
ここでは、さまざまなソース(学習セット・テストセット・インターネット上)から取得した原画像(上段)、破損画像(中段)、再構築画像(下段)のサンプル画像を紹介します。
まとめ
本論文では、回転損失、再構成損失、コントラスト損失を最小化することで、transformerを画像オートエンコーダーとしてうまく実装する方法を示しました。この3つの損失の選択と、マルチタスク学習に対するtransformerの自然な能力により、この手法は最先端の手法を大差で凌駕することができます。この研究は主に画像分類に焦点を当てていますが、インスタンスセグメンテーションやオブジェクト検出など、他のビジョンタスクに拡張することも可能です。
この記事に関するカテゴリー