Vision Transformer 内部表現の分析

【 Attention の働きを「見える化」する 】

前回に引き続き、Vision Transformer 論文の概要の紹介の二回目です。基本的には、論文の展開にそった説明を行うようにしています。

前回は、「 Vision Transformerの画像embedding 」を取り上げたのですが、今回のセッションでは、「 Vision Transformer 内部表現の分析 」をトピックとして取り上げようと思います。概要の最後に、この論文全体の「結論」を紹介しています。

「 内部表現の分析 」というのは、システムの内部で、入力に与えられたデータが出力に至るまでどのように変化するのかを追いかける分析です。

ディープラーニングのニューラル・ネットワークは、膨大な量のデータが、多数の「層」を通り抜け、かつそれらが相互に作用するので、アーキテクチャーの構成をみただけでは「なぜ、このシステムで、こういう働きが可能になるの?」という疑問の答えは得られません。

一つ一つのデータの動きを追いかけても(実際には、それは無理なのですが)、それぞれの層でのデータを表現する数式を眺めても(それは抽象的すぎます)、システムの「ふるまい」は、さっぱり見えてきません。

でも、いい方法があるのです。それは、複雑なものを一瞬・一瞥で理解・把握する人間の視覚の力を利用することです。

データではなく各層でもっとも活発に呼び出されている「ふるまい」に注目します。そのふるまいが各層でデータをどのように変えているかを、そのふるまいの結果の全部をデータの画像として表示します。

そうすれば、その層のふるまい全部ではないけど、もっとも頻繁に呼び出されているふるまいの結果を画像として可視化することができます。これが、重要な情報を与えてくれることになります。

2013年の Zeiler , Fergusの "Visualizing and Understanding Convolutional Networks"  https://arxiv.org/pdf/1311.2901.pdf は、この分野を切り拓いた画期的な論文です。お時間があったら、ぜひ、お読みください。画像を見るだけでも楽しいです。

今回のセッションの隠れたテーマの一つは、前回も触れた Vision Transformer の「CNNのInductive Biasの排除」という設計デザインについてです。

最初に、CNNが画像認識の上で、画像データの特徴をどのように捉えているかを、簡単に振り返ります。ただ、これらについては、改めてセッションをひとつかふたつやった方がいいと感じています。

「 Vision Transformerの 内部表現の分析 」では、Vision Transformer での Attentionの働きが分析の焦点になります。Transformer = 分散表現+Attentionと考えていいので、このアーキテクチャーで CNNと同じような画像認識の機能を発揮することができるのは何故かという疑問が出てくるのは当然ですから。

その答えの一つは、Vision Transformer も、CNNと同じふるまいを行うことがあることを示すことです。この論文では、見える化によって次のようなことが示唆されています。

⚫️ Vision Transformer の最初の層での画像embedding は、CNNの最下層のフィルターの働きとほとんど同じように見えること。

⚫️ Vision Transformer では、元の画像は異なる位置情報を持つ多数の画像パッチにばらばらにされるのだが、学習の結果、それらの位置関係は学習されること。

⚫️ Vision Transformer での距離の近い画像へのAttentionの集中は、CNNのConvolutionと同じ効果を持つらしいこと。

⚫️ Vision Transformer の「Attentionの距離」は、CNNの「局所的受容野」のサイズに相当するらしいこと。

Attentionを見える化した「Attention マップ」は、以前に紹介した、Bengioたちのグループの画像のキャプション付けに利用した、画像へのAttentionとよく似ています。「全体的に、このモデルは分類に意味的に関連する画像領域に注目することが分かる」のです。

このモデルがオブジェクトの分類に利用できることは、CNNとの対比を通じて、こうして理解できるようになります。

ただ、セミナーの最初の頃に述べたように、画像認識の課題は、オブジェクトの認識だけではありません。この論文の「結論」は、こう述べています。

「多くの課題が残されている。その1つは、位置の検出やセグメンテーションなど、他のコンピュータビジョンタスクにVision Transformer を適用することである。」

この課題は、この「結論」でも紹介されているように、Carion たちの論文 " End-to-End Object Detection with Transformers "  https://arxiv.org/abs/2005.12872 が扱っています。この論文も、いつか紹介したいと思います。(こちらの論文が、発表は先なんですね。)

------------------------------------------------------------

ショートムービー 「 Vision Transformer 内部表現の分析 」を公開しました
https://youtu.be/cl-xzg7Xmkc?list=PLQIrJ0f9gMcNq1c2SNCMXp8BbIn1XK76C

ショートムービー 「 Vision Transformer 内部表現の分析 」のpdf資料
https://drive.google.com/file/d/1_hUImDP-XkqkBheZbFKG_d2gqgC35Oli/view?usp=sharing

blog : 「 Attention の働きを「見える化」する 」
https://maruyama097.blogspot.com/2023/09/vision-transformer_01841053331.html

セミナーに向けたショートムービーの再生リスト
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcNq1c2SNCMXp8BbIn1XK76C

マルレク「大規模言語モデルの展開」のまとめページ

コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について