Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vision Transformer入門をもっと楽しむために

Vision Transformer入門をもっと楽しむために

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

Seitaro Shinagawa

December 13, 2022
Tweet

More Decks by Seitaro Shinagawa

Other Decks in Technology

Transcript

  1. Vision Transformer入門をもっと
    楽しむために
    2022.12.13
    品川 政太朗 (NAIST)
    cvpaper.challenge conference Winter 2022
    1/23

    View Slide

  2. 自己紹介
    品川 政太朗(しながわ せいたろう)
    奈良先端科学技術大学院大学 先端科学技術研究科
    知能コミュニケーション研究室 助教
    好物:
    • Vision and Language(画像と言語の融合領域)
    • 対話システム
    • 深層学習
    HP:https://sites.google.com/view/seitaro-shinagawa/
    twitter: (@sei_shinagawa)
    2/24

    View Slide

  3. 本日は、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

    View Slide

  4. 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

    View Slide

  5. ViT本はどんな本?
    本書が対象としている方
    • 目的関数や誤差逆伝搬などの機械学習の基礎的な仕組みを知っ
    ている
    • Multi-layer perceptron (MLP)やConvolutional Neural Network
    (CNN)を知っている
    • でもTransformerやVision Transformerは興味あるがよく知らない
    • これから基礎から応用まで最新情報に最速で追いつきたい方向け
    5/24

    View Slide

  6. 第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

    View Slide

  7. 目指した立ち位置はViTの教科書
    編集者の高屋さん
    • 幅広い層の方に読んでいただける本にしたい
    • 最新動向よりは教科書として色あせない基礎を
    知識の解説
    ライブラリの使い方を解説した本
    コード付きの実装解説はあります
    (一応)ライブラリはHugging Faceが有名
    https://huggingface.co/docs/transformers/index
    7/24

    View Slide

  8. Q. 本書を読むのに最低限の知識をつけるには
    何から始めれば?
    瀧雅人著 『これならわかる深層学習入門』
    の8章までだいたい把握できていればOKです
    1 はじめに
    2 機械学習と深層学習
    3 ニューラルネット
    4 勾配降下法による学習
    5 深層学習の正則化
    6 誤差逆伝播法
    7 自己符号化器
    8 畳み込みニューラルネット
    9 再帰型ニューラルネット
    10 ボルツマンマシン
    11 深層強化学習
    8/24

    View Slide

  9. 各章の見どころ
    9/24

    View Slide

  10. 第1章 TransformerからVision Transformerへの
    進化
    TransformerからViT、そして近年の新展開について、歴史的
    経緯を踏まえて概観できる!
    TransformerやViTをまず俯瞰から把握したい方におススメ
    初学者向け
    10/24

    View Slide

  11. 第2章 Vision Transformerの基礎と実装
    https://github.com/ghmagazine/
    vit_book/tree/main/ch2
    ゼロから作るVision Transformer
    Vision Transformerの仕組みが
    図付きで丁寧に解説されてます
    PyTorch実装のコードも解説付
    きでついているので試せる!
    Vision Transformerの仕組みを
    一から丁寧に把握したい方におススメ
    初学者向け
    11/24

    View Slide

  12. 第3章 実験と可視化によるVision Transformer
    の探求
    本書オリジナルでViTの追試を行い、
    実験設計から分析までの実験手続きも学べる
    データセットは以下をサポート
    • ImageNet-1k
    • Fractal DataBase-1k(FractalDB-1k)
    特に学んでおくと役に立つこと
    • 画像認識を行う際に考慮すべきデータ拡張の方法
    • ハイパーパラメータの設定方法
    • 位置埋め込みや判断根拠の可視化方法
    ViTの理解だけでなく、ViTを研究に使うために自分で手を
    動かしたい方の最初のチュートリアルとしておススメ
    初学者向け
    Colabのリンク:https://colab.research.google.com/drive/12560QE3okNuXHxy0GLp3nv74S1ildHEF?usp=sharing
    12/24

    View Slide

  13. 第4章 コンピュータビジョンタスクへの応用
    Transformerで学ぶコンピュータビジョン(CV)
    CVタスクの概要と、
    Transformerの応用が学べる
    • 画像認識
    • 物体検出
    • セマンティックセグメンテー
    ション
    • 動画認識
    • オブジェクトトラッキング
    • 3Dビジョン
    CVタスクの各論と
    Transformerの応用につい
    て知りたい方におススメ
    初学者向け
    13/24

    View Slide

  14. 第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

    View Slide

  15. 第6章 Vision Transformerの派生手法
    Vision Transformerの系統樹をご覧あれ!
    SWin TransformerやDeiTなど、
    Vision Transformerの代表的な派生
    手法について紹介している章
    Vision Transformerを理解して物足り
    なくなってきたら読んでみましょう
    玄人向け
    ViTの発展系を網羅的に把握しておき
    たい方におススメ
    15/24

    View Slide

  16. 第7章 Transformerの謎を読み解く
    玄人向け
    Transformerで引っ掛かりがちな謎を丁寧に解説しました
    Transformerをよりディープに理解したい方におススメ
    16/24

    View Slide

  17. 例えばこういうことがわかります
    色々な位置埋め込みの作り方と入力の仕方の違い
    • 学習するのかしないのか
    • 入力に入れるのかAttentionのbiasとして入れるのか
    • 絶対位置か相対位置か
    • 自然言語処理とコンピュータビジョンでどのモデルが該当するか
    17/24

    View Slide

  18. 第8章 Vision Transformerの謎を読み解く
    玄人向け
    Vision Transformers vs CNNs (ResNet) vs MLP-Mixers
    の三国時代の決着やいかに?
    三国時代によって見えてきたViTの現在に興味がある方におススメ
    18/24

    View Slide

  19. 例えばこういうことがわかります
    • ViTとCNNは似たもの同士
    • 大規模にすると入力への反応(activation map)も似てくる
    • しかし、違いはやはりありそう→組み合わせるのが大事かも?
    19/24

    View Slide

  20. 執筆背景
    Transformerメタサーベイ
    • 2021年2月~4月に実施
    • 目的はTransformerの分野横断的把握
    • 著者のうち、山本、Qiu、品川はここか
    らのつながりがきっかけ
    https://www.slideshare.net/cvpaperchalleng
    e/transformer-247407256
    色々な発表機会にも恵まれ
    たくさんの反響とフィード
    バックをいただきました
    ありがとうございます
    20/24

    View Slide

  21. TransformerメタサーベイからViT bookへ
    メタサーベイが終わった時の私(2021年4月末)
    やった・・・この地獄からようやく解放される
    (Vision) Transformerで本を書きませんか!
    (2021年12月ごろ?)
    片岡さん
    うおお・・・まあでもTransformerで学生さんに
    同じ苦しみを味わってほしくないしな・・・
    わかりました、 (人柱を)やりましょう!
    21/24

    View Slide

  22. Vision Transformer本執筆、始動
    著者陣の分担はあっさり決まりました
    • 品川はTransformerとVision Transformerの分析的な話につい
    て後半の2章分を担当
    書く内容には最初からだいたい目途をつけていました
    • 基準は、「TransformerやViTをこれから使い始める・使っている
    人が最低限知っておくと全体の見通しがよくなりそうなこと」
    • 効果は絶大。自分の学生さんの質問にもよく使っています
    「謎を読み解く」 に落ち着いたのは、「CV最前線と被る」
    「教科書的な立ち位置を目指したい」という理由から
    • Transformer、ViTの謎に迫る!---分析と改善の最前線(Transformer編)
    • Transformer、ViTの謎に迫る!---分析と改善の最前線(ViT編)
    余談:品川担当分は現在進行形な話も入るので最初の章題は下記
    でした
    22/24

    View Slide

  23. Vision Transformer本執筆、つらい
    特に手を焼いたのはViTとCNNの敵対的摂動への頑健性の話
    とんでもないところに手を突っ込んでしまった感
    • 日々更新されていくSoTA
    • 沢山出てくる新規論文>>読める量
    • 執筆途中でひっくり返る前説・・・
    • 執筆初期:ぱっと見ViTの方がCNNより強いやろ
    • 執筆中期:あれ、意外とViTの頑健性に否定的な報告も出てきて
    るな・・・わからなくなってきた・・・
    • 執筆後期:モデルの規模もデータセットも揃ってなくてめちゃく
    ちゃやんけ・・・サーベイ論文もないし自分でまとめるしかないか
    • 執筆終盤:ViT vs CNNで頑健性を考えるのは不毛、お互い仲良
    く生きていこうな・・・という結論に到達 23/24

    View Slide

  24. それでも学びも多かった
    やはり執筆した当人が一番勉強になる
    • 最高精度のモデルは大規模化が進んでいる
    • 一方で、小規模で高性能なViTの研究も進んでいる動きがある
    • ViTは帰納バイアスが小さいので、iPS細胞のようにCNNのよ
    うな役割やプーリングの役割をしているところがある
    • CNNとプーリングをViTに適切に組み合わせれば必要サンプ
    ルサイズを小さくすることが可能
    • 一方で、ViTでないとできないこと、というものは少ない
    • 訓練方法の工夫で、CNNも性能が向上する
    • 現状ViTがCNNよりも優れていそうなのは、形状認識くらい?
    詳しくはVision Transformer入門で!
    24/24

    View Slide