HOME/ AINOW編集部 /【GoogleAIリサーチブログ記事】大規模画像認識のためのTransformers
2021.02.17

【GoogleAIリサーチブログ記事】大規模画像認識のためのTransformers

最終更新日:

2020年12月3日に公開されたGoogleAIリサーチ部門のブログ記事『大規模画像認識のためのTransformers』では、画像認識モデル開発の新しい流れの発端となり得る「Vision Transformer(ViT)」が解説されています。

現在主流の画像認識モデルの基礎となっている畳み込みニューラルネットワーク(CNN)は、画像認識のために設計されたことにより、高い精度を実現しました。その反面、計算量が多くなることがあります。画像認識モデルの学習データの増加やモデル自体の大規模化が予想されるなか、今後は計算効率の向上が大きな課題となります。
以上のような課題に対してGoogleAIリサーチ部門の研究チームは、自然言語処理を革新したTransformerを画像認識に流用したViTを開発しました。テキストデータのようなシーケンシャルなデータを処理するように設計されたTransformerを画像認識タスクに転用するにあたっては、入力画像を格子状のパッチに分割してから文字列のように処理するようにしました。こうして開発されたViTは、最先端の画像認識モデルを凌駕する精度を実現しながら、計算量を(実行条件によっては)4分の1にすることに成功しました。
今後の展開として、ViTを基礎としながら精度と計算効率を両立した画像認識モデルが開発されることでしょう。

なお、この翻訳記事に関しては、Googleジャパン広報部に報告済みです。また、翻訳記事の内容は特定の国や地域を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。

前置き

2020年12月3日(木)

投稿者: Neil Houlsby、Dirk Weissenborn、Google Research研究員

畳み込みニューラルネットワーク(Convolutional Neural Networks、略してCNN)は1980年代からコンピュータビジョンで使用されていたが、2012年にAlexNetが当時最先端の画像認識手法の性能を大差で上回るまでは最前線にはいなかった。このブレークスルーを可能にしたのは、以下の2つの要因による。(i) ImageNetのような訓練セットが利用可能になったことと、(ii) コモディティ化されたGPUハードウェアの使用によって,訓練のための計算資源が大幅に提供されるようになったため。このようにして、2012年以降、CNNはビジョンタスクに最適なモデルとなった。

CNNを使う利点は、手作業で設計された視覚的特徴の必要性を避け、代わりにデータの「端から端まで」を使って直接タスクを実行するための学習を行うことにある。しかし、CNNは手作業による特徴抽出を避ける一方で、アーキテクチャ自体が画像専用に設計されているため、計算量が多くなることがある。次世代のスケーラブルなビジョンモデルを見据えると、このようなドメイン固有の設計が必要なのか、それとももっとドメインにとらわれず、計算効率の高いアーキテクチャを活用して最先端の結果を得ることができるのか、という疑問が湧いてくるかも知れない。

計算効率のより良いビジョンモデル構築という方向への第一歩として、我々はテキストベースのタスクのために設計されたTransformerのアーキテクチャを可能な限り忠実にベースにしたビジョンモデルであるVision Transformer (ViT)を提示する。ViTは、テキストにTransformerを適用する際に使用される単語埋め込み(word embeddings )のシーケンスと同様に、入力画像を画像パッチのシーケンスとして表現し、画像の分類ラベルを直接予測する。ViTは十分なデータで学習した場合に優れた性能を発揮し、4分の1の計算資源で同等の最先端CNNを上回る性能を発揮する。この分野でのさらなる研究を促進するために、コードとモデルの両方をオープンソース化した。

Vision Transformerは、Transformerの自然言語処理によって生成された一連の単語埋め込みに類似した一連のパッチシーケンスとして画像を処理する。

Vision Transfoermer

オリジナルのテキスト用Transformerは、入力として単語のシーケンスを受け取り、それを分類翻訳、またはその他の自然言語処理タスクに使用する。ViTに関しては、Transformerの設計にできるだけ少ない変更を加えて、単語ではなく画像で直接動作するようにし、画像構造についてモデルがどの程度学習できるかを観察した。

ViTは、画像を正方形のパッチのグリッドに分割する。各パッチは、パッチ内のすべてのピクセルのチャネルを連結し、それを所望の入力次元に線形投影することにより、単一のベクトルに平坦化される。Transformerは入力要素の構造を事前に知らないため、各パッチに学習可能な位置埋め込み(position embeddings)を追加し、モデルが画像の構造を学習できるようにする。学習に先立って、ViTは画像内のパッチの相対的な位置や、画像が2D構造を持っていることさえ知らない。ViTは相対的な位置に関する情報を学習データから学び、位置埋め込みにある構造情報をエンコードしなければならないのだ。

スケールアップ

我々は最初にImageNet上でViTを学習したが,その際の最高スコアは77.9%がトップ1精度であった。このスコアは最初の試みとしては悪くないものだが,現在最高のCNNはImageNetに特別なデータを加えなくても、精度が85.8%に達する。(正則化などの)緩和戦略にもかかわらず,ViTは画像に関する知識が事前にないために、ImageNetタスクにオーバーフィットしてしまう。

データセットのサイズがモデル性能に与える影響を調べるために、ImageNet-21k(14M画像、21k分類クラス)とJFT(3億画像、18k分類クラス)でViTを学習し、同じデータセットで学習した最先端のCNNであるBig Transfer(BiT)(※訳註1)と結果を比較した。以前に観察されたように,ImageNet (1M画像)で学習した場合,ViTは同等のCNN (BiT)よりも有意に悪い性能を示した。しかし,ImageNet-21k (14M画像)では同等の性能を示し,JFT (300M画像)ではBiTを上回る性能を示した。

最後に、モデルを訓練する際の計算量の影響を調べた。このために、いくつかの異なるViTモデルとCNNをJFT上で訓練した。これらのモデルは、様々なモデルサイズと学習期間にわたっている。その結果、学習に必要な計算量は様々だった。同じ計算量が与えられた場合には、ViTの方が同等のCNNよりも優れた性能を発揮することがわかった。

左側:異なるデータセットで事前学習した場合のViTの性能。右側:ViTはパフォーマンスと計算量のトレードオフを実現する(※訳註2)。

(※訳註1)Big Transfer(BiT)とは、GoogleAIリサーチ部門が開発した画像認識モデルのこと。大量の学習データを事前学習することで、新規の画像認識タスクに関する学習量を減らすことに成功した。こうした「事前学習したモデルを特定のタスクのためにファインチューニングする」というアプローチは、BERTの成功から着想した。BiTに関する詳しい解説は、GoogleAIリサーチブログ記事『オープンソースBiT:コンピュータビジョンのための大規模な事前学習に関する調査』を参照。
(※訳註2)上の右側のグラフでは、横軸を計算量、縦軸を精度とした散布図にプロットされた測定点がパレートフロンティア状に分布しているのがわかる。パレートフロンティアは、ふたつの測定値のあいだでトレードオフの関係が成立している時に見られる。パレートフロンティアの解釈については、AINOW翻訳記事『研究から製品化まで:最先端の機械学習システムをスケーリングする』を参照。

高性能大規模画像認識

我々の実験データは、(1)十分な訓練を行えば、ViTは非常に優れた性能を発揮できること、(2)ViTは小さい計算スケールと大きい計算スケールの両方で、優れた性能と計算量のトレードオフをもたらすことを示唆している。したがって、性能向上がより大きなスケールでも継続するかどうかを確認するために、我々は600MパラメータのViTモデルを訓練した。

この大規模なViTモデルは、ImageNetで88.55%のトップ1精度、CIFAR-10で99.50%のトップ1精度など、複数の一般的なベンチマークで最先端の性能を発揮した。ViTは、ImageNet評価セットのクリーンアップ版「ImageNet-Real」でも良好な性能を発揮し、90.72%のトップ1精度を達成した。最後に、ViTは、学習データポイントが少ない場合でも、多様なタスクで良好に動作した。例えば、VTAB-1kスイート(各1,000データポイントの19タスク)(※訳註3)では、ViTは77.63%を達成し、最先端シングルモデル(SOTA)(76.3%)を大幅に上回り、複数モデルのアンサンブルで達成された最先端の精度(77.6%)にも匹敵した。最も重要なことは、これらの結果は以前の最先端CNNと比較して少ない計算資源で得られていることだ。例えば、事前学習したBiTモデルの計算量は最先端CNNの4分の1だ。

Vision Transformerは、一般的なベンチマークで最先端のCNNと一致、またはそれを上回る性能を発揮する。左側:一般的な画像分類タスク(新しい検証ラベルReaLを含むImageNet、、CIFARPetsFlowers)。右側: VTAB分類スイートの19のタスクに関する平均。

(※訳註3)VTAB(Visual Task Adaptation Benchmark)とは、GoogleAIリサーチ部門が考案した画像認識に関するベンチマーク。事前学習なしでさまざまな画像認識タスクの精度を評価できるように設計されている。同ベンチマークに含まれるタスクには、現実世界に存在する一般的なオブジェクトを認識する自然タスク、医療画像などの特殊な分野における画像を認識する特殊タスク、そしてオブジェクト間の距離やオブジェクト数を計測する構造化タスクが含まれている。同ベンチマークに関するリーダーズボードも公開されている。VTABの詳細は、GoogleAIリサーチブログ記事『視覚的タスクに適合したベンチマーク』を参照。

可視化

モデルが何を学習するのかを直感的に理解するために、モデルの内部動作のいくつかを可視化する。まず、パッチの相対的な位置を符号化するためにモデルが学習するパラメータである位置の埋め込みを見てみると、ViTが直感的なイメージ構造を再現できることがわかる。各位置埋め込みは、同じ行と列の中で最も類似しており、モデルが元の画像のグリッド構造を取り戻していることを示している。第二に、各Transformerのブロックについて、別のブロックにアテンション(attention)している任意の要素間の平均空間距離を調べた。より高い層(深さ10 – 20)ではグローバルな特徴のみが使用される(すなわち、注目距離が大きい)が、より低い層(深さ0-5)では、平均注目距離が大きな範囲にわたっていることに示されるように、グローバルな特徴とローカルな特徴の両方が捕捉されている。対照的に、CNNの下層では局所的な特徴のみが示される。これらの実験は、ViTが(グリッド構造の認識などのような)CNNにハードコードされた特徴を学習できることを示しているが、より一般的なパターン、例えば下層におけるローカルな特徴とグローバルなそれの混合など、一般化を助けるようなパターンを自由に学習できることも示している。

左側:ViTは、その位置埋め込みを介して、画像パッチのグリッドのような構造を学習する。右側:ViTの下層にはグローバル特徴とローカル特徴の両方が含まれている。ViTの下層にはグローバル特徴とローカル特徴の両方が含まれ、上層にはグローバル特徴のみが含まれる。

(※訳註4)ViTを論じたプレプリント論文『画像は16 x 16の単語と等価:大規模画像認識のためのTransformers』の付録には、ハイパーパラメータを変えた時の位置埋め込みの学習結果を可視化している。以下に引用する3つの画像は、16層のViTを以下のような異なった学習条件で訓練した場合の各パッチ相互のコサイン類似度の分布を可視化している。各パッチ相互の相対的な位置関係は、コサイン類似度の分布から視覚的に再構成できる。
  • 左側:エポック7、学習率0.0002、重み減衰(Weight Decay)0.01
  • 中央:エポック7、学習率0.0004、重み減衰(Weight Decay)0.1
  • 右側:エポック7、学習率0.0004、重み減衰(Weight Decay)0.1

学習に関するハイパーパラメータを変えると、コサイン類似度の分布が異なることがわかる。

付録には、ViTのattentionした領域をハイライトした画像も掲載されている。この画像を見れば、ViTが画像のどの箇所に注目して分類を実行したかがわかる。以下では、そうした画像の一部を引用する。

まとめ

CNNはコンピュータビジョンに革命をもたらしたが、我々の結果は、画像タスクに特化したモデルは不要であるか、あるいは最適でない可能性があることを示している。データセットのサイズがますます大きくなり、教師なし・半教師ありの手法が開発され続けるなか、これらのデータセットでより効率的に学習する新しいビジョンアーキテクチャの開発がますます重要になってきている。ViT は多くのビジョンタスク、あるいは多くのドメインのタスクを解決できる汎用的でスケーラブルなアーキテクチャへの第一歩であり、今後の開発が期待される。

研究成果のプレプリント論文、およびコードとモデルは公開されている。

謝意

次のベルリン、チューリッヒ、そしてアムステルダムの共著者に謝意を捧げる。Alexey Dosovitskiy、Lucas Beyer、Alexander Kolesnikov、Xiaohua Zhai、Thomas Unterthiner、Mostafa Dehghani、Matthias Minderer、Georg Heigold、Sylvain Gelly、そしてJakob Uszkoreit。インフラストラクチャとオープンソースに関して助力してくれAndreas SteinerJoanにも感謝する。大規模な学習のインフラストラクチャのために働いてくれたJoan Puigcerverと Maxim Neumannand、有益な議論をしてくれたDmitry Lepikhin、Aravindh Mahendran、Daniel Keysers、Mario Lučić、Noam Shazeer、Colin Raffelにも感謝する。そして、Colin Raffelとの有益な議論にも謝意を捧げる。最後に、この投稿記事のVisual Transformerのアニメーションを制作していくれたTom Smallにも感謝する。


原文
『Transformers for Image Recognition at Scale』

著者
Google AI

翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)

編集
おざけん

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

生成AIで“ウラから”イノベーションを|学生起業家が描く、AIを活用した未来

特許技術×AIでFAQを次のステージへ|Helpfeel

GPUの革新からAI時代の主役へ|NVIDIA

あなたにおすすめの記事

生成AIで“ウラから”イノベーションを|学生起業家が描く、AIを活用した未来

特許技術×AIでFAQを次のステージへ|Helpfeel

GPUの革新からAI時代の主役へ|NVIDIA