cvpaper.challenge conference Winter 2022 での講演資料です
ViT本2章,3章のコードへのリンクhttps://github.com/ghmagazine/vit_book
ViT本3章のColab実装へのリンク https://colab.research.google.com/drive/12560QE3okNuXHxy0GLp3nv74S1ildHEF?usp=sharing
Vision Transformer入門をもっと楽しむために2022.12.13品川 政太朗 (NAIST)cvpaper.challenge conference Winter 20221/23
View Slide
自己紹介品川 政太朗(しながわ せいたろう)奈良先端科学技術大学院大学 先端科学技術研究科知能コミュニケーション研究室 助教好物:• Vision and Language(画像と言語の融合領域)• 対話システム• 深層学習HP:https://sites.google.com/view/seitaro-shinagawa/twitter: (@sei_shinagawa)2/24
本日は、Vision Transformer入門 (ViT本)の見どころを中心に紹介します第1章 TransformerからVision Transformerへの進化第2章 Vision Transformerの基礎と実装第3章 実験と可視化によるVision Transformerの探求第4章 コンピュータビジョンタスクへの応用第5章 Vision and Languageタスクへの応用第6章 Vision Transformerの派生手法第7章 Transformerの謎を読み解く第8章 Vision Transformerの謎を読み解く3/24
Amazonでいただいたコメントhttps://www.amazon.co.jp/Vision-Transformer%E5%85%A5%E9%96%80-Computer-Library/dp/4297130580/Vision Transformer(ViT)について、前半は余り数式もなく、平易に書かれているので、何周かすれば段々理解が深まると思います。…一方で、後半は数式が増えて来て、数学が苦手な人には苦しい内容となっています。この本を読んだ一番の収穫は、Vision Transformerが何をやっているのかを概ね理解出来た点と、何故上手く行くのかはまだ誰もよく分かっていないという事が分かった点(笑)。「最近Vision Transformer系のモデルの名前をよく聞く。でも一から勉強するのも大変だし、今やっている仕事はResnetでそこそこ上手くいっているし、後回しで良いか」といったレベル感の人に最適だと思う。ViTの概念的な説明から実装、応用まで幅広くポイントを抑えている。特にCNNとの対比や各論文のモチベーションについては簡潔ながら丁寧に書かれている。4/24
ViT本はどんな本?本書が対象としている方• 目的関数や誤差逆伝搬などの機械学習の基礎的な仕組みを知っている• Multi-layer perceptron (MLP)やConvolutional Neural Network(CNN)を知っている• でもTransformerやVision Transformerは興味あるがよく知らない• これから基礎から応用まで最新情報に最速で追いつきたい方向け5/24
第1章 TransformerからVision Transformerへの進化• 概要と歴史第2章 Vision Transformerの基礎と実装第3章 実験と可視化によるVision Transformerの探求• 基礎と実装第4章 コンピュータビジョンタスクへの応用第5章 Vision and Languageタスクへの応用• 応用先の事例と展望第6章 Vision Transformerの派生手法第7章 Transformerの謎を読み解く第8章 Vision Transformerの謎を読み解く• Advancedな内容(ある程度知っている人向け)各章の立ち位置(ざっくり)初学者向け玄人向け?6/24
目指した立ち位置はViTの教科書編集者の高屋さん• 幅広い層の方に読んでいただける本にしたい• 最新動向よりは教科書として色あせない基礎を知識の解説ライブラリの使い方を解説した本コード付きの実装解説はあります(一応)ライブラリはHugging Faceが有名https://huggingface.co/docs/transformers/index7/24
Q. 本書を読むのに最低限の知識をつけるには何から始めれば?瀧雅人著 『これならわかる深層学習入門』の8章までだいたい把握できていればOKです1 はじめに2 機械学習と深層学習3 ニューラルネット4 勾配降下法による学習5 深層学習の正則化6 誤差逆伝播法7 自己符号化器8 畳み込みニューラルネット9 再帰型ニューラルネット10 ボルツマンマシン11 深層強化学習8/24
各章の見どころ9/24
第1章 TransformerからVision Transformerへの進化TransformerからViT、そして近年の新展開について、歴史的経緯を踏まえて概観できる!TransformerやViTをまず俯瞰から把握したい方におススメ初学者向け10/24
第2章 Vision Transformerの基礎と実装https://github.com/ghmagazine/vit_book/tree/main/ch2ゼロから作るVision TransformerVision Transformerの仕組みが図付きで丁寧に解説されてますPyTorch実装のコードも解説付きでついているので試せる!Vision Transformerの仕組みを一から丁寧に把握したい方におススメ初学者向け11/24
第3章 実験と可視化によるVision Transformerの探求本書オリジナルでViTの追試を行い、実験設計から分析までの実験手続きも学べるデータセットは以下をサポート• ImageNet-1k• Fractal DataBase-1k(FractalDB-1k)特に学んでおくと役に立つこと• 画像認識を行う際に考慮すべきデータ拡張の方法• ハイパーパラメータの設定方法• 位置埋め込みや判断根拠の可視化方法ViTの理解だけでなく、ViTを研究に使うために自分で手を動かしたい方の最初のチュートリアルとしておススメ初学者向けColabのリンク:https://colab.research.google.com/drive/12560QE3okNuXHxy0GLp3nv74S1ildHEF?usp=sharing12/24
第4章 コンピュータビジョンタスクへの応用Transformerで学ぶコンピュータビジョン(CV)CVタスクの概要と、Transformerの応用が学べる• 画像認識• 物体検出• セマンティックセグメンテーション• 動画認識• オブジェクトトラッキング• 3DビジョンCVタスクの各論とTransformerの応用について知りたい方におススメ初学者向け13/24
第5章 Vision and Languageタスクへの応用Transformerで学ぶVision and Language (V&L)V&Lタスクの概要と、Transformerの応用が学べる• VQA• Image Captioning• Embodied AI• etc.V&Lタスクの各論とTransformerの応用について知りたい方におススメ特にEmbodied AIは詳しいです初学者向け14/24
第6章 Vision Transformerの派生手法Vision Transformerの系統樹をご覧あれ!SWin TransformerやDeiTなど、Vision Transformerの代表的な派生手法について紹介している章Vision Transformerを理解して物足りなくなってきたら読んでみましょう玄人向けViTの発展系を網羅的に把握しておきたい方におススメ15/24
第7章 Transformerの謎を読み解く玄人向けTransformerで引っ掛かりがちな謎を丁寧に解説しましたTransformerをよりディープに理解したい方におススメ16/24
例えばこういうことがわかります色々な位置埋め込みの作り方と入力の仕方の違い• 学習するのかしないのか• 入力に入れるのかAttentionのbiasとして入れるのか• 絶対位置か相対位置か• 自然言語処理とコンピュータビジョンでどのモデルが該当するか17/24
第8章 Vision Transformerの謎を読み解く玄人向けVision Transformers vs CNNs (ResNet) vs MLP-Mixersの三国時代の決着やいかに?三国時代によって見えてきたViTの現在に興味がある方におススメ18/24
例えばこういうことがわかります• ViTとCNNは似たもの同士• 大規模にすると入力への反応(activation map)も似てくる• しかし、違いはやはりありそう→組み合わせるのが大事かも?19/24
執筆背景Transformerメタサーベイ• 2021年2月~4月に実施• 目的はTransformerの分野横断的把握• 著者のうち、山本、Qiu、品川はここからのつながりがきっかけhttps://www.slideshare.net/cvpaperchallenge/transformer-247407256色々な発表機会にも恵まれたくさんの反響とフィードバックをいただきましたありがとうございます20/24
TransformerメタサーベイからViT bookへメタサーベイが終わった時の私(2021年4月末)やった・・・この地獄からようやく解放される(Vision) Transformerで本を書きませんか!(2021年12月ごろ?)片岡さんうおお・・・まあでもTransformerで学生さんに同じ苦しみを味わってほしくないしな・・・わかりました、 (人柱を)やりましょう!21/24
Vision Transformer本執筆、始動著者陣の分担はあっさり決まりました• 品川はTransformerとVision Transformerの分析的な話について後半の2章分を担当書く内容には最初からだいたい目途をつけていました• 基準は、「TransformerやViTをこれから使い始める・使っている人が最低限知っておくと全体の見通しがよくなりそうなこと」• 効果は絶大。自分の学生さんの質問にもよく使っています「謎を読み解く」 に落ち着いたのは、「CV最前線と被る」「教科書的な立ち位置を目指したい」という理由から• Transformer、ViTの謎に迫る!---分析と改善の最前線(Transformer編)• Transformer、ViTの謎に迫る!---分析と改善の最前線(ViT編)余談:品川担当分は現在進行形な話も入るので最初の章題は下記でした22/24
Vision Transformer本執筆、つらい特に手を焼いたのはViTとCNNの敵対的摂動への頑健性の話とんでもないところに手を突っ込んでしまった感• 日々更新されていくSoTA• 沢山出てくる新規論文>>読める量• 執筆途中でひっくり返る前説・・・• 執筆初期:ぱっと見ViTの方がCNNより強いやろ• 執筆中期:あれ、意外とViTの頑健性に否定的な報告も出てきてるな・・・わからなくなってきた・・・• 執筆後期:モデルの規模もデータセットも揃ってなくてめちゃくちゃやんけ・・・サーベイ論文もないし自分でまとめるしかないか• 執筆終盤:ViT vs CNNで頑健性を考えるのは不毛、お互い仲良く生きていこうな・・・という結論に到達 23/24
それでも学びも多かったやはり執筆した当人が一番勉強になる• 最高精度のモデルは大規模化が進んでいる• 一方で、小規模で高性能なViTの研究も進んでいる動きがある• ViTは帰納バイアスが小さいので、iPS細胞のようにCNNのような役割やプーリングの役割をしているところがある• CNNとプーリングをViTに適切に組み合わせれば必要サンプルサイズを小さくすることが可能• 一方で、ViTでないとできないこと、というものは少ない• 訓練方法の工夫で、CNNも性能が向上する• 現状ViTがCNNよりも優れていそうなのは、形状認識くらい?詳しくはVision Transformer入門で!24/24