著者陣の視点からVision Transformer入門の執筆の背景と書評を書きます

こんにちは、品川です。Vision Transformer入門という本の執筆に参加しました。いよいよ本格的な販売がはじまります。どんな本なのか注目してくださってる方もいらっしゃると思うので、著者陣の一人の視点から執筆の背景と書評を少しだけ書こうと思います。

gihyo.jp

執筆の背景

著者陣のうち、山本さん、Qiuさん、私はcvpaper.challlengeで2021年4月にTransformerメタサーベイを行ったメンバーでして、cvpaper.challlengeのボスである片岡さんからお声がけいただきました。

www.slideshare.net

Vision Transformer入門の一部は、このメタサーベイVision Transformerに合わせて大幅に加筆・再編した版的な位置づけにあるとも言えます。もっとも、上記のメタサーベイを公開してからのVision Transformerの進展はめざましく、継続的にサーベイをして加筆する羽目になったのでほぼ別物です。

過去のスケジュールを確認したところ、執筆のお話をいただいたのは2021年の12月ごろだったようです。正直私よりもっと適任者がいるのでは・・・という気持ちがあったので少々迷ったのですが、メタサーベイで乗りかかった舟ではありましたし、私自身研究でVision Transformerを使っていて、当時思ったように性能が出ないことが多かったのと、学生さんを適切に指導するためにも一度本格的に知見をまとめる必要性があったことから著者陣として参加させていただいた次第です。(実際、ものすごく勉強にもなりました。執筆はイイぞ)

私の担当した7章8章はTransformer、Vision Transformerのメタ分析*1的な章になっています。執筆に参加する前からある程度覚悟はしていたのですが、こんなに短期間に論文が大量に出て知見も混沌としている分野を把握してまとめるというのは結構な苦行でした。この苦行を同じように経験する人が少しでも減るといいな、私はそんな気持ちを込めて本書の執筆に携わりました。日本の皆様がVision Transformer周りで消耗しなくて済むように少しでも貢献できたならば幸いです。

書評

私から見た、各章の見どころについて紹介します。

第1章 TransformerからVision Transformerへの進化

自然言語処理から始まったTransformerからVision Transformerの最近の展開(動画や基盤モデルなど)までの進展を総括して紹介している章です。時事的なニュースなども盛り込まれていて、Transformerがどのように発展し、影響を与えてきたのかが概観できます。執筆担当者は早稲田大森島研で博士を取られた山本さんです。

第2章 Vision Transformerの基礎と実装

Vision Transformerの中身についての詳細な実装付き解説が行われている章です。見どころはその説明の丁寧さで、ゼロから作るVision Transformerと言っても過言ではないです。執筆担当者はomiitaさんこと徳永さんです。Qiitaの論文解説記事にお世話になっている方も多いのではないでしょうか。

第3章 実験と可視化によるVision Transformerの探求

Vision Transformerを実際に様々な条件で学習させて評価するところまでサポートしているチュートリアル的な章です。実際に手を動かして追試しているんですよ、ヤバいですね(語彙力喪失)。これは本書でないとお目にかかれない見どころなので、ぜひ手にとって結果を確かめてみてください。実験設計から位置埋め込みや判断根拠の可視化まで一通りの実験プロセスが丁寧に説明されてるので、研究室に配属されたばかりでこれからVision Transformerを使い始める学生さんは必見です。執筆担当者は中部大藤吉研の博士課程でVision Transformerをごりごり使って活躍されている箕浦さんです。

第4章 コンピュータビジョンタスクへの応用

画像認識や物体検出などの代表的なコンピュータビジョンタスクにおいて、Transformerをどのように応用するか紹介している章です。見どころは、Transformer以前の手法と比較しながら網羅的に説明されているところで、コンピュータビジョン分野の入門にもオススメです。執筆担当者は産総研のQiuさんです。

第5章 Vision and Languageタスクへの応用

Image-captioningやVisual Question Answeringなどの代表的なVision and Languageタスクにおいて、Transformerをどのように応用するか紹介している章です。基本的に第4章と同じ構成なので、Vision and Languageの入門にもオススメです。執筆担当者は第4章と同じく産総研のQiuさんです。

第6章 Vision Transformerの派生手法

SWin TransformerやDeiTなど、Vision Transformerの代表的な派生手法について紹介している章です。Vision Transformerを賢く使うために押さえておくべき基礎技術が厳選されて紹介されています。6章の最初のページにある派生手法の網羅的な分類図は網羅的過ぎてドン引きするレベル(褒めてる)なので、ぜひご覧ください。執筆担当者は3章を担当されている箕浦さんです。

第7章 Transformerの謎を読み解く

Transformerの各モジュールについて、第2章の復習も兼ねて一つ一つ振り返りながら、近年どのような議論や知見があったのかを紹介している章です。Vision Transformerに限らずTransformer全般で得られている知見を紹介するようにしました。まだVision Transformerに応用されていない技術もあるため、Vision Transformerの今後の改善のヒントにしていただけたらと思いながら書きました。執筆担当者は私です。

第8章 Vision Transformerの謎を読み解く

Vision Transformers vs CNNs (ResNet) vs MLP-Mixersという図式で三国時代に突入した後、現在の情勢がどうなったか、Vision Transformerの良さとは何か、結局CNNやMLPとはどう差別化されるのか、そこから見えてくる新しいモデル構造はあるのか、ということについて紹介している章です。執筆担当者は私です。

手薄になっている内容

本書(というか7章)で扱いが手薄になっている内容についても触れておきます。ずばり、Attentionの計算量の効率化の部分です。メタサーベイの資料だとP.95-P.110が該当します。本書では、第6章の最初にある派生手法の網羅的な分類図を見ると、Vision Transformer関連でどのような研究があるのか見当をつけることができます。具体例としてはSWin TransformerやTimeSformerを取り上げています。

しかし、Attentionの計算量の効率化はTransformerが抱える課題の花形的存在です。もう少し自然言語処理のTransformerとも絡めて紹介してみても良い気はしていました。入れるとすれば私が担当した第7章なのですが、入れるのを意図的に避けてました。主な理由は、Attentionの計算量の効率化というの話を真面目に入れるとボリュームがヤバそうという点、私の時間的余裕が限界だった点、そして巷に良い解説記事が既に結構あるという点でした。

Transformerの計算量効率化の話題に触れたいのであれば、下記のサーベイ論文(Efficient Transformers: A Survey)を読むのが一番手っ取り早いです。

arxiv.org

Vision Transformerにおける計算量効率化手法の多くは、ここで紹介されている手法の派生としてみなすことができます。例えば、CSWin Transformer (CVPR2022)Longformerのように局所的なAttentionのみに計算を絞ることで計算量を落としています。また、Pyramid Vision Transformer (PVT) (ICCV2021), PVT v2 (CVMJ2022)では、LinformerのようにSelf-attentionのKeyとValueを小さい次元のベクトルに写像してから計算することで計算量を落としています。(PVTはLinformerを引用してないみたいですけど・・・)

Vision Transformerの計算量効率化関連の良資料としては、特に内田さんの記事が参考になるかと思います。

www.slideshare.net

画像では、大きな画像に対して小さいパッチを使おうとしたり、動画を使おうとすると計算量が爆発的に増える点があるので、やはり計算量の効率化手法は重要で、7章でも取り上げた方が良かったのでしょうね。この辺は力不足で少々悔やまれるところです。とはいえ、本書のメインコンテンツはTransformerではなくVision Transformerですし、そのVision Transformer関連の計算量効率化手法の基礎技術は箕浦さんが第6章でしっかりサポートしてくださっているので、Vision Transformer入門としては十分な内容を備えた本になっているかと思います。

本書が皆様のお役に立てば幸いです。

*1:複数の研究の結果を統合してメタ的な視点から分析を行うこと