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

SSII2023 [TS1] Vision Transformerの歩みとこれから

SSII2023 [TS1] Vision Transformerの歩みとこれから

More Decks by 画像センシングシンポジウム

Other Decks in Science

Transcript

  1. Vision Transformerの歩みと
    これから
    2023.6.14
    品川 政太朗(奈良先端大)

    View Slide

  2. © Seitaro Shinagawa, NAIST
    品川 政太朗(しながわ せいたろう)と申します
    奈良先端科学技術大学院大学
    先端科学技術研究科
    知能コミュニケーション研究室 助教
    • Vision and Language(画像と言語の融合領域)
    • 対話システム
    CV最前線Winter2021
    CVIMチュートリアル1
    「ニュウモンVision and Language」
    CV最前線Summer2023
    「フカヨミCLIP」
    Vision Transformer入門
    7章8章を担当
    1/59

    View Slide

  3. © Seitaro Shinagawa, NAIST
    最初にアンケート①
    Vision Transformer (ViT)
    どれくらいご存じですか?
    • 自分の研究・開発にガンガン使っている
    • 使っているが詳細は知らない
    • 使ったことがある
    • 名前は知っているが使ったことはない
    • 初めて知った
    2/59

    View Slide

  4. © Seitaro Shinagawa, NAIST
    最初にアンケート②
    Convolutional Neural Network (CNN)
    どれくらいご存じですか?
    • 自分の研究・開発にガンガン使っている
    • 使っているが詳細は知らない
    • 使ったことがある
    • 名前は知っているが使ったことはない
    • 初めて知った
    3/59

    View Slide

  5. © Seitaro Shinagawa, NAIST
    本日の目標
    想定聴衆:Vision Transformer初心者の方
    話すこと
    • Vision Transformerの概要
    • Vision Transformerの仕組み
    • Vision Transformerの歩み
    • Vision Transformerのこれから
    あまり話さないこと
    • 最新のViTの手法
    • 画像認識以外のタスク(物体検出や意味的領域分割でのViTの話)
    なんか聞いたこと
    ある!
    Vision Transformer
    全然怖くないじゃん
    4/59

    View Slide

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

    View Slide

  7. © Seitaro Shinagawa, NAIST
    ViTまとめチートシート
    1. Vision Transformerの概要
    最後にこんな感じのマインドマップができたらOK!
    (触れないものもあります)
    6/59

    View Slide

  8. Vision Transformerの歩みとこれから
    © Seitaro Shinagawa, NAIST
    1. Vision Transformerの概要
    2. Vision Transformerの仕組み
    3. Vision Transformerの歩み
    3-1. Vision Transformerの学習に関する歩み
    4. Vision Transformerのこれから
    7/59

    View Slide

  9. 1. Vision Transformerの概要
    © Seitaro Shinagawa, NAIST 8/59

    View Slide

  10. © Seitaro Shinagawa, NAIST
    Vision Transfomer (ViT)とは?
    1. Vision Transformerの概要
    自然言語処理で使われていたTransformerというモデルを
    画像認識に応用したモデル
    Vision Transformer [Dosovitskiy+,2021]
    [Dosovitskiy+,2021] Dosovitskiy et al. An Image Is Worth 16x16
    Words: Transformers for Image Recognition at Scale. ICLR. 2021.
    https://openreview.net/forum?id=YicbFdNTTy
    9/59

    View Slide

  11. © Seitaro Shinagawa, NAIST
    Transformerとは?
    1. Vision Transformerの概要
    2017年に自然言語処理用に提案されたモデル
    • 自己注意機構(self-attention)による強力な非線形変換
    • テキスト(時系列データ)でも大規模並列な訓練が可能に
    RNN(LSTM, GRU)
    系列の長さに応じて処理に時間がかかる
    Transformer
    全ての時刻を並列に一発で計算できる
    大規模データでの学習時代の立役者
    →今日のChatGPTなどの汎用的なモデルもTransformerがベース
    10/59

    View Slide

  12. © Seitaro Shinagawa, NAIST
    なぜViTが注目されてきたのか?
    1. Vision Transformerの概要
    説1:ViTによって画像認識の性能がさらに向上したから
    • CNNの見直しやViTとの組み合わせが検討された
    • むしろViTから学ぼうとする研究も多い
    説2:画像と言語を共通の枠組みで扱えるようになった
    • マルチモーダルへの拡張
    • 大規模訓練による汎用的なモデル(基盤モデル)への拡張
    • Transformer専用チップの意義
    11/59

    View Slide

  13. © Seitaro Shinagawa, NAIST
    ViTの良さ
    1. Vision Transformerの概要
    CNNは局所結合を重ねた構造
    大域的な関係性を見るのは苦手
    Transformer block
    Transformerは領域同士の
    関係性を大域的に見ることが可能
    • ViTはCNNのような局所結合による帰納バイアスが無い
    • データが大規模ならCNNより性能が高くなる(だろう)
    12/59

    View Slide

  14. © Seitaro Shinagawa, NAIST
    ViTの現状
    1. Vision Transformerの概要
    Paper with codeというサイトでぜひ見てみてください
    画像認識:https://paperswithcode.com/sota/image-classification-on-imagenet
    物体検出:https://paperswithcode.com/sota/object-detection-on-coco
    ImageNet-1kによる画像認識のtop 1 accuracy 91.1%
    ※ViTそのままではなく、畳み込み層などを組み合わせた最良手法
    13/59

    View Slide

  15. © Seitaro Shinagawa, NAIST
    基盤モデルの中にもViT
    1. Vision Transformerの概要
    Stable Diffusion [Rombach+, 2022]
    CLIP [Radford+, 2021]
    基盤モデル:
    様々なデータ・タスクで学習されており、様々な用途に利用できる
    モデルのこと(GPT-3,4やCLIP、Stable Diffusionなどを指す)
    • ViTはCLIPの画像エンコーダに使われている
    • Stable DiffusionはCLIPのテキストエンコーダを使っている(間
    接的にViTを使っている)
    14/59

    View Slide

  16. 2. Vision Transformerの仕組み
    © Seitaro Shinagawa, NAIST 15/59

    View Slide

  17. © Seitaro Shinagawa, NAIST
    ViTによる画像認識の仕組み
    2. Vision Transformerの仕組み
    [CLS]
    ViT

    Transformer block
    Transformer block
    Transformer block
    線形層
    クラスラベル
    2.Transformer blockによる非線形変換
    (メインの処理)
    3.線形層で変換、クラスラベルを予測
    ※出力の次元をクラスラベルに合わせるため
    1.入力画像の処理(パッチトークン化)
    16/59

    View Slide

  18. © Seitaro Shinagawa, NAIST
    入力画像の処理(パッチトークン化)
    2. Vision Transformerの仕組み
    Transformerはトークンという処理単位で入力を扱う
    • ViTの場合は画像の一部分のパッチをトークンとする
    線形層
    +
    処理の手順:
    1. 画像をある大きさのパッチに分割
    2. 各パッチを同じ線形層で変換
    3. 位置埋め込みを作成
    ViTでは通常学習パラメータ
    4. 位置埋め込みを加算
    17/59

    View Slide

  19. © Seitaro Shinagawa, NAIST
    位置埋め込みの追加(position encoding)
    2. Vision Transformerの仕組み
    Transformerはトークン間の位置関係を考慮しない(後述)
    位置情報を別途入力(position encoding)する必要がある
    線形層
    処理の手順:
    1. 画像をある大きさのパッチに分割
    2. 各パッチを同じ線形層で変換
    3. 位置埋め込みを作成
    ViTでは通常学習パラメータ
    4. 位置埋め込みを加算
    位置埋め込み
    +
    ViTの入力
    18/59

    View Slide

  20. © Seitaro Shinagawa, NAIST
    よくある質問
    Q1. そもそもパッチに分割するって大胆過ぎない?それで動くの?
    Q2. 位置埋め込みは常に作成する方が良いのか?自然言語処理の
    Transformerの元論文ではsin, cosで表現する方法を使っていたが、
    ViTでも使った方が良いのか?
    Q3. 位置埋め込みを「入力時に加算」するのはベストなのか?他に
    も方法がありそうだが?
    19/59

    View Slide

  21. © Seitaro Shinagawa, NAIST
    よくある質問
    Q1. そもそもパッチに分割するって大胆過ぎない?それで動くの?
    A. CNNによる畳み込み層の特殊な場合として見ることができます。
    自己教師あり学習にちょっとしたメリットもあります。
    Q2. 位置埋め込みは常に作成する方が良いのか?自然言語処理の
    Transformerの元論文ではsin, cosで表現する方法を使っていたが、
    ViTでも使った方が良いのか?
    A. 物体検出のDETRなどでsin, cosを使った方が良い場合はありま
    すが、現状で大きな差は無いです。絶対位置の他に相対位置を使う
    という方法もあります。
    Q3. 位置埋め込みを「入力時に加算」するのはベストなのか?他に
    も方法がありそうだが?
    A. 色々なバリエーションがあります。concatにすれば重みづけ和
    になります。入力時だけでなく、各transformer blockで入れても
    良いはずです。
    20/59

    View Slide

  22. © Seitaro Shinagawa, NAIST
    ViTの入力処理はCNN(畳み込み層)の特殊な場合
    2. Vision Transformerの仕組み
    線形層
    線形層
    (カーネル)
    gif:
    https://github.com/vdumoulin/conv_arithmetic
    畳み込み層 ViT
    局所領域ごとにカーネルを適用 局所領域ごとに線形層を適用
    ストライド(カーネルの移動
    幅)は任意
    ストライドはカーネルと同じサ
    イズ
    パディング(計算上生じる外側
    埋め)が生じることがある
    パディングは通常なし(設定し
    ようと思えばできる)
    21/59

    View Slide

  23. Q. 局所領域が重ならないことのメリットはある?
    © Seitaro Shinagawa, NAIST
    [He+, 2022] He et al. Masked autoencoders are scalable vision
    learners. CVPR. 2022.
    A. ある。パッチでマスクした領域を予測する自己教師あり学習に向く
    (CNNは局所領域が重なっていることでリークが起きる)
    ImageNetによる事前学習
    では、教師あり学習
    よりもMAEが良い
    Masked Auto-encoder [He+, 2022]
    ※自己教師あり学習:
    自分自身を教師として予測する。ラベル
    付きデータなしに良い表現を学習できる
    22

    View Slide

  24. Q. パッチトークン化に通常の畳み込み層を使うのはあり?
    © Seitaro Shinagawa, NAIST
    A. あり。入力に畳み込み層を使うとCNNの帰納バイアスが
    活きるので学習に必要なデータサイズを減らせる
    ResNet
    画像特徴
    [CLS]
    Multi-head Attention
    CLIP-ResNet
    平均
    • 基盤モデルのCLIPにはCNN
    (ResNet)をバックボーンとするもの
    がある
    • ViTよりも局所特徴が重要なタスク
    (物体検出や画像付き質問応答)に
    向く
    23
    CLIP-ResNet (図はCV最前線Summer2023
    「フカヨミCLIP」より引用)

    View Slide

  25. © Seitaro Shinagawa, NAIST
    Transformer block
    2. Vision Transformerの仕組み
    層正規化
    2層の線形層
    層正規化
    多頭注意
    空間方向
    チャンネル方向
    Transformer block
    ViTの中心となる基本処理単位
    • Transformerベースのモデルに共通
    • 主に空間方向とチャンネル方向の変
    換をしている
    D次元のトークン5コの場合
    基本的に覚える要素技術は3種類
    • 自己注意と多頭注意
    • 層正規化
    • 残差接続
    +
    +
    24/59

    View Slide

  26. © Seitaro Shinagawa, NAIST
    自己注意 (Self-Attention)
    2. Vision Transformerの仕組み
    Transformerの顔ともいえる処理
    • Query, Key, Valueによる強力な非線形変換を行う
    Query
    Key
    線形層𝑊
    𝑞
    線形層𝑊𝑘
    線形層𝑊
    𝑣
    入力ベクトルの組
    (4xD)
    注意重み
    マップ
    Value
    重み付き和の計算
    出力ベクトルの組
    (4xD)
    転置して
    縦横交換
    𝑜𝑢𝑡𝑝𝑢𝑡 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥
    𝑄 ⋅ 𝐾𝑇
    𝑑
    ⋅ 𝑉
    𝑑は内積のスケーリング(ノルムの正規化の役割)
    25/59

    View Slide

  27. © Seitaro Shinagawa, NAIST
    多頭注意 (Multi-head Attention)
    2. Vision Transformerの仕組み
    自己注意はチャンネル中の内積が強い成分に結果が引っ張られる
    • チャンネル方向に分割することで小さい相関を拾える
    head 1 (𝑄1
    , K1
    )
    head 2 (𝑄2
    , K2
    )
    head 3 (𝑄3
    , K3
    )
    Query
    Key
    注意重みマップ
    Valueの
    重み付き和
    出力ベクトルの組
    を再連結して
    最終的な出力に
    head3つだと
    4×(D/3)
    26/59

    View Slide

  28. © Seitaro Shinagawa, NAIST
    層正規化 (Layer Normalization; LayerNorm)
    2. Vision Transformerの仕組み
    𝐿𝑎𝑦𝑒𝑟𝑛𝑜𝑟𝑚 𝑥 =
    𝑥 − 𝐸 𝑥
    𝑉𝑎𝑟 𝑥 + 𝜖
    ∗ 𝛾 + 𝛽
    入力系列をトークンごとに正規化する操作
    目的は学習の安定化のため
    𝑛 × 𝑑
    Layernorm
    Layernorm
    Layernorm
    Layernorm
    𝑛 × 𝑑
    嬉しい特徴
    Batch accumulationができる
    ※バッチ正規化(Batch Normalization)だと統計量が変わってしまう
    𝛾, 𝛽は学習パラメータ
    27/59
    [Ba+, 2016]

    View Slide

  29. 補足①:バッチ正規化と層正規化のちがい
    © Seitaro Shinagawa, NAIST 28

    View Slide

  30. 補足②:Batch accumulation (Gradient accumulation)
    © Seitaro Shinagawa, NAIST
    小さいミニバッチしかGPUに載せられない場合でも、
    擬似的に大きなミニバッチで計算する方法
    DNN
    誤差逆伝播
    入力 出力&
    損失計算
    各パラメータの勾配情報は
    誤差逆伝播ごとに加算される
    DNN
    誤差逆伝播
    入力2 出力2&
    損失計算
    Batch accumulation:
    誤差逆伝播までを規定
    回数繰り返してから
    パラメータを更新
    通常の学習:
    入力から誤差逆伝播ま
    で1回終わるごとに
    パラメータを更新
    29

    View Slide

  31. © Seitaro Shinagawa, NAIST
    残差接続(Residual Connection)[He et al., 2016]
    2. Vision Transformerの仕組み
    ※スキップ接続(Skip Connection)とも呼ばれる
    層正規化
    2層の線形層
    層正規化
    多頭注意
    +
    +
    入力𝑥と変換𝑓𝑤
    𝑥 の和をとる構造のこと
    直感的には差分情報が学習される
    • 学習する必要がないなら𝑓𝑤
    𝑥 = 0 と
    なる
    • 層をより多く積み重ねても勾配消失
    などの問題が起きにくい
    ℎ = 𝑥 + 𝑓𝑤
    𝑥
    [He et al., 2016] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual
    learning for image recognition. CVPR. 2016.
    30/59

    View Slide

  32. 補足:PreNormとPostNorm
    © Seitaro Shinagawa, NAIST
    残差接続と層正規化層の位置関係は重要
    図はコンピュータビジョン最前線 Winter 2021,ニュウモンVision & Languageより引用
    最近はPreNormが主流
    • 学習が安定的
    31

    View Slide

  33. 3. Vision Transformerの歩み
    © Seitaro Shinagawa, NAIST 32/59

    View Slide

  34. © Seitaro Shinagawa, NAIST
    2021, 2022年はViTの謎を追いかける時代だった
    3. Vision Transformerの歩み
    ViTの性能が高いのは分かった。しかし・・・
    • ViTはCNNの上位互換なのか?棲み分けはあるのか?
    • ViTの何が性能向上に本質的に効いているのか?
    • 何かの構造?
    • 学習方法?
    • 大規模な学習?
    なにもわからん・・・
    そうだ、比較して確かめてみよう
    →ViT vs CNN vs MLP三国時代の到来
    33/59

    View Slide

  35. © Seitaro Shinagawa, NAIST
    登場ネットワーク3種
    3. Vision Transformerの歩み
    バッチ正規化
    Conv 3x3
    バッチ正規化
    Conv 1x1
    バッチ正規化
    Conv 1x1
    層正規化
    2層 線形層
    層正規化
    2層 線形層
    (spatial mixing)
    層正規化
    2層 線形層
    層正規化
    Multi-head
    attention
    ResNet
    (CNNベース)
    Vision Transformer
    (Transformerベース)
    MLP-Mixer
    (MLPベース)
    空間方向
    チャンネル方向
    チャンネル方向、空間方向の計算がある点は共通
    34/59

    View Slide

  36. © Seitaro Shinagawa, NAIST
    MLP-Mixerについて
    3. Vision Transformerの歩み
    層正規化
    2層 線形層
    層正規化
    2層 線形層
    (Spatial Mixing)
    空間方向
    チャンネル方向
    ViTのアンチテーゼ的存在として登場[Tolstikhin+, arXiv2021]
    Spatial Mixingによる空間方向計算
    「多頭注意が大域を見るのが目的なだけなら、
    代わりに、単純に転置してMLPに通すだけで
    もよいのでは?」という発想の手法
    転置
    転置
    MLP
    転置
    位置ごとにMLPに通す操作
    次元方向
    空間方向
    35/59

    View Slide

  37. © Seitaro Shinagawa, NAIST
    MLP-Mixer vs ViT
    3. Vision Transformerの歩み
    無差別級 ImageNet top 1 accuracyではあまり差はない
    【JFT-300Mで事前訓練】
    • ViT-H/14 (632M param) 88.55%
    • Mixer-H/14 87.94%
    【ImageNetのみ】
    • PeCo (ViT-H, 656M param): 88.3%
    • ResMLP-B24/8 (Mixer系, 116M param): 83.6%
    © Seitaro Shinagawa, NAIST
    図は[Raghu+, 2021]から引用
    Mixer系は規模が大きくなると
    同じ画像に対してViTやCNNと
    似た反応を示す
    ←CKA (Centered kernel alignment)
    analysisで層ごとの反応の類似性を可視
    化 [Raghu+, 2021]
    ベストではなく
    同規模の比較
    36/59

    View Slide

  38. 補足:PeCo: Perceptual Codebook for BERT Pre-training of
    Vision Transformers [Dong+, 2023]
    © Seitaro Shinagawa, NAIST
    コードブック(離散化された画像トークン)を学習
    パッチごとに画像をマスクしてコードブックのどのトークンか予測
    37

    View Slide

  39. 補足:CKA (Centered kernel alignment)
    © Seitaro Shinagawa, NAIST
    [S. Kornblith+, 2019]
    𝐻𝑆𝐼𝐶 𝐾, 𝐿 =
    1
    𝑚 − 1 2
    𝑡𝑟 𝐾𝐻𝐿𝐻
    モデルA
    モデルB
    𝑋
    𝑌
    HSICによる
    CKA
    類似度
    入力
    1. m個のサンプルについて、 activation 𝑋, 𝑌 ∈ ℝ𝑚×𝑑𝑖𝑚を抽出
    2. 相関行列(グラム行列) K = 𝑋𝑋𝑇, 𝐿 = 𝑌𝑌𝑇 ∈ ℝ𝑚×𝑚を計算
    3. 相関行列間の類似度をHSIC (Hilbert-Schmidt
    independence criterion)で計算
    𝐶𝐾𝐴 𝐾, 𝐿 =
    𝐻𝑆𝐼𝐶 𝐾, 𝐿
    𝐻𝑆𝐼𝐶 𝐾, 𝐾 𝐻𝑆𝐼𝐶 𝐿, 𝐿
    𝐻 = 𝐼𝑚

    1
    𝑚
    𝐽𝑚
    𝐼𝑚
    : 恒等行列
    𝐽𝑚
    :要素がすべて
    1のmxm行列
    ネットワークの層毎のactivationの類似度を計算する
    正準相関分析よりも類似度をうまく捉える[Ding+, arXiv2021]
    38

    View Slide

  40. © Seitaro Shinagawa, NAIST
    大規模でない場合はViTがMixerより優勢
    3. Vision Transformerの歩み
    [Zhao+, 2021]より引用
    ImageNet-1k, 40M程度のパラメータ
    規模で比較すると、MLPは過学習気味
    • MLP (41M) : 78.6%
    • ViT (33M): 81.7%
    [Zhao+, 2021]
    多頭注意には空間方向のスムージング効果がある[Park+,2022]
    • ヘッドが複数あることで様々な注意重みマップが生まれる
    →確率的なアンサンブル(平均化)だと捉えられる
    • つまりローパスフィルタ(高周波のノイズに強いぼかし)として
    機能している
    39/59

    View Slide

  41. 多頭注意は「ぼかし」フィルタで置き換えられる?
    © Seitaro Shinagawa, NAIST
    • 多頭注意を平均Poolingで置き換えると、省パラメータで
    も高いImageNet1kのtop1 accuracy 82.5%
    • ただし、上層は多頭注意にする方がさらに良い模様
    Multiply-Accumulates
    積和演算回数
    PoolFormer (MetaFormer) [Yu+, 2022]
    40

    View Slide

  42. © Seitaro Shinagawa, NAIST
    CNN vs ViT
    3. Vision Transformerの歩み
    Mixer vs ViT 同様、数値では比較しがたい
    © Seitaro Shinagawa, NAIST
    • 画像認識 (ImageNet-1k)ではViT, ViT+conv系が多いが、
    90%台に到達してしのぎを削っている
    • 物体検出 (COCO test-dev)ではInternImage-H [Wang+,
    2023] (Deformable CNN+DINO)が一位
    ViTはCNNよりも物体の形状に注目しており、人間の認識と相関
    する [Tuli+, CogSci2021]
    テクスチャをStyle Transferで変換し、どの
    ように予測されるかで判定
    • CNNは局所的な受容野の帰納バイアスの
    影響でテクスチャに引っ張られやすい
    • ViTは相対的に影響されにくい
    元画像(左図)と「象」のテクスチャの猫
    画像(右図) [Tuli+, CogSci2021]より引用
    ViTはローパスフィルタ
    41/59

    View Slide

  43. © Seitaro Shinagawa, NAIST
    CNN vs ViT
    CNNは近い層同士が類似する。ViTは全層に渡ってより均一的に
    類似する [Raghu+, 2021]
    CNNやMLP-Mixerでも大規模化するとViTに近づく
    ViT(左)とResNet(右)の層の類似性(明るいほど類似)
    [Raghu+, 2021]
    42/59

    View Slide

  44. © Seitaro Shinagawa, NAIST
    ViTがCNNと類似する点:局所特徴も学習する
    CKA (Centered kernel alignment) によ
    る分析 [Raghu+, 2021]
    • ResNetの下中層とViTの下層は類似
    →ViTは局所的な情報も見ている
    [Raghu+, 2021] 図2より引用
    ViT+relative positional encodingでConvを表現でき、実験的
    にもconvと似たフィルターが得られる [Cordonnier+, 2020]
    ViTの下層にConvを入れると性能が向上しやすい
    • パッチ化に3x3 Convを使うと性能向上 [Zhao+, arXiv2021]
    • 下層は局所を見るCNN、上層は大域を見る自己注意が良い
    [Ramachandran+, 2019]
    3. Vision Transformerの歩み
    Mixerも大規模化で同様の傾向
    43/59

    View Slide

  45. 3-1. Vision Transformerの学習に関する歩み
    © Seitaro Shinagawa, NAIST 44/59

    View Slide

  46. © Seitaro Shinagawa, NAIST
    ViTで代表的な学習方法
    3-1. Vision Transformerの学習に関する歩み
    教師あり学習以外では以下の二種類に要注目
    • 数式ドリブン教師あり学習
    • 自己教師あり学習
    45/59

    View Slide

  47. © Seitaro Shinagawa, NAIST
    数式ドリブン教師あり学習
    幾何学的な図形の集合による画像データセットによる教師あり学習
    [Nakashima+, 2022][Kataoka+, 2022]
    利点:
    • 自動的に生成するので画像の著作権等を気にしなくて良い
    • 無限に生成することが可能でViTの事前学習に使える
    • テクスチャよりも図形の輪郭を複雑化することでViTを強化できる
    46/59
    3-1. Vision Transformerの学習に関する歩み

    View Slide

  48. © Seitaro Shinagawa, NAIST
    自己教師あり学習
    • データ自身のみから得られる情報を教師として学習する方法
    • ラベルがないデータも学習に使える
    図はVision Transformer入門 図6.22より引用
    47/59
    3-1. Vision Transformerの学習に関する歩み

    View Slide

  49. © Seitaro Shinagawa, NAIST
    ViTとCNNの、学習設定との相性の差異
    自己教師あり学習の設定ではMoCov3,
    SimCLRがViTと好相性で性能が上がり
    やすい傾向にある [Chen+, 2021]
    図は[Chen+, 2021]より引用
    48/59
    3-1. Vision Transformerの学習に関する歩み

    View Slide

  50. © Seitaro Shinagawa, NAIST
    学習にはどれくらいのデータが必要?
    モデル(数字は
    パッチサイズ)
    モデル規模 ImageNet
    (1.2M)
    事前学習無し
    JFT-300M
    (300M)
    事前学習あり
    ViT-B/32 86M 〇 〇
    ViT-L/16 307M △ 〇
    ViT-H/14 632M △ 〇
    • 大きなViTを大きなデータセットで事前訓練すると、精度向
    上+Few-shot学習でも高性能 [X. Zhai+, 2021]
    • しかし、ImageNetを事前学習無しで何も工夫なく学習する
    のは厳しい [Raghu+, 2021]
    多くの場合は、事前学習済みモデルからfine-tuningすることが前提
    49/59
    3-1. Vision Transformerの学習に関する歩み

    View Slide

  51. © Seitaro Shinagawa, NAIST
    小さなデータセットでは絶対学習できない?
    モデルを小さくし、局所特徴を学習する工夫があれば、
    小さいデータセットのスクラッチでの学習も可能
    Compact Convolutional
    Transformer [Hassani+, 2021]
    • 局所特徴の学習をCNNに任せた小さ
    なCNN+ViTモデル (3.76M)
    • CIFAR10でacc 98%
    NesT [Zhang+, 2022]
    • 局所領域の集約を階層的に行う
    • 6MのモデルでCIFAR10 acc 96%
    • 68Mのモデルで、ImageNet acc
    83.8%
    50/59
    3-1. Vision Transformerの学習に関する歩み

    View Slide

  52. 4. Vision Transformerのこれから
    © Seitaro Shinagawa, NAIST 51/59

    View Slide

  53. © Seitaro Shinagawa, NAIST
    コンパクトで高性能なViTはつくれるか?
    4. Vision Transformerのこれから
    「畳み込み層」や「プーリング」を混ぜるのがコツ
    PoolFormerの知見
    ViTも局所領域を見る
    上記を守ると、
    敵対的攻撃やノイズへの頑健性も
    向上する [Mao+, 2022]
    • パッチ埋め込みに畳み込み層を使う
    • 段階的な空間方向へのプーリングを使う
    • Multi-Head Attentionのヘッド数は8以上用意する
    • ViT内のMLP部分に畳み込み層を追加し、局所情報を取り込むと頑健
    性が向上(新情報)
    • ViTの予測にクラストークンを使うのではなく、クラストークン以外
    の各トークンの平均プーリング(Global Average Pooling)を用いる
    52/59

    View Slide

  54. © Seitaro Shinagawa, NAIST
    最近は自然言語と組み合わせる流れが来ている
    4. Vision Transformerのこれから
    CoCa: Contrastive Captioners are Image-Text Foundation Models [Yu+, 2022]
    人間が付けたラベルよりリッチな情報を利用したい?
    • 画像についているalt-textのデータを利用したノイジーなデータセット
    (ALIGN [Jia+, 2021])とJFT-3Bを利用
    • ImageNet-1kの画像認識性能はゼロショットで86.3%, fine-tuningして91%
    • モデルはテキストのデコーダがエンコーダにも分割できるような形
    53/59

    View Slide

  55. © Seitaro Shinagawa, NAIST
    Fine-tuningを手軽にするには・・・?
    4. Vision Transformerのこれから
    モデルを固定して学習できる方法が利用可能
    • Locked Image Tuning [Zhai+, 2022]:画像-テキスト組が必要
    • 画像エンコーダを固定された事前学習済みモデルとして、
    テキストエンコーダのみを学習する→CLIPと同じような方
    法で予測が可能
    • Adapter:モデル
    • LoRA: Low-Rank Adaptation of Large Language
    Models [Hu+, 2022]
    • 固定したモデルに学習可能な線形層を並列に挿入
    • Visual Prompt Tuning [Jia+, 2022]:学習可能なトーク
    ンを追加してヘッドと追加トークンだけ微調整
    54/59

    View Slide

  56. © Seitaro Shinagawa, NAIST
    まとめ
    • ViT自体はコンピュータビジョンでもおなじみの方法となっている
    • ただし、CNNより優れているわけでもない
    • Deformable CNNは帰納バイアスを低減してViT並に性能が良い
    • Vision and Languageなど、他モダリティと一緒に画像を扱う場合に
    はViTであることが有利になる可能性はある(例:Transformer専用
    チップの開発)
    • MLP-Mixerについては、物体検出など他タスクでの応用が少ない点が気
    にかかる
    今後の方向性?
    • 全体的には大規模学習による性能向上や基盤モデル的な方向性に重心があ
    る?
    • コンパクトなモデルの検討はたまに出てきている
    • が、事前学習済みモデルの利活用の方ができることはおそらく多い
    • LoRAなどの方法の方が今後盛んになる可能性は高い
    55/59

    View Slide

  57. © Seitaro Shinagawa, NAIST
    参考文献
    56/59
    P.10
    [Dosovitskiy+,2021] Dosovitskiy et al. An Image Is Worth 16x16 Words:
    Transformers for Image Recognition at Scale. ICLR. 2021.
    https://openreview.net/forum?id=YicbFdNTTy
    P.15
    [Radford+, 2021] Radford et al. Learning Transferable Visual Models From
    Natural Language Supervision.” ICML2021.
    [Rombach+, 2022] Rombach et al. High-Resolution Image Synthesis with
    Latent Diffusion Models, CVPR2022.
    P.16
    [He+, 2022] He et al. Masked autoencoders are scalable vision learners. CVPR.
    2022.
    P.28
    [Ba+, 2016] Ba, J. L., Kiros, J. R. & Hinton, G. E. Layer Normalization. arXiv.
    2016.
    P.29
    [He+, 2016] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for
    image recognition. CVPR. 2016.
    P.36
    [Tolstikhin+, 2021] Tolstikhin, I. O. et al. MLP-Mixer: An all-MLP Architecture
    for Vision. NeurIPS. 2021.

    View Slide

  58. © Seitaro Shinagawa, NAIST
    参考文献
    57/59
    P.37
    [Raghu+, 2021] Raghu, M. Do Vision Transformers See Like Convolutional
    Neural Networks? NeurIPS. 2021.
    P.38
    [Dong+, 2023] Dong, Xiaoyi et al. PeCo: Perceptual Codebook for BERT Pre-
    Training of Vision Transformers. AAAI, 2023.
    P.39
    [Kornblith+, 2019] Kornblith, S. et al. Similarity of Neural Network
    Representations Revisited. ICML2019
    P.40
    [Zhao+, 2021] Zhao, Y. et al. A Battle of Network Structures: An Empirical
    Study of CNN, Transformer, and MLP. arXiv. 2021.
    [Park+, 2022] Park, N. & Kim, S. How Do Vision Transformers Work? ICLR.
    2022.
    P.41
    [Yu+, 2022] Yu, W. et al. MetaFormer is Actually What You Need for Vision.
    CVPR2022.

    View Slide

  59. © Seitaro Shinagawa, NAIST
    参考文献
    58/59
    P.41
    [Wang+, 2023] Wang, Wenhai et al. InternImage: Exploring Large-Scale Vision
    Foundation Models With Deformable Convolutions. CVPR. 2023.
    [Tuli+, 2021] Tuli, Shikhar. Are Convolutional Neural Networks or Transformers
    More like Human Vision?” arXiv. 2021.
    P.43
    [Cordonnier+, 2020] Cordonnier, J.-B et al. On the Relationship between Self-
    Attention and Convolutional Layers. ICLR. 2020.
    [Ramachandran+, 2019] Ramachandran, P. et al. Stand-Alone Self-Attention in
    Vision Models. NeurIPS. 2019.
    P.46
    [Nakashima+, 2022] Nakashima, K. et al. Can Vision Transformers Learn
    without Natural Images? AAAI. 2022.
    [KKataoka+, 2022] Kataoka, H. et al. Replacing Labeled Real-Image Datasets
    With Auto-Generated Contours. CVPR. 2022.
    P.48
    [Chen+, 2021] Chen, Xinlei et al. An Empirical Study of Training Self-
    Supervised Vision Transformers. ICCV. 2021.
    P.49
    [Zhai+, 2021] X. Zhai et al. Scaling vision transformers. CVPR 2022.

    View Slide

  60. © Seitaro Shinagawa, NAIST
    参考文献
    59/59
    P.50
    [Hassani+, 2021] A. Hassani et al. Escaping the big data paradigm with
    compact transformers. arXiv. 2021.
    [Zhang+, 2022] Z. Zhang et al. Aggregating nested transformers. AAAI, 2022.
    P.52
    [Mao+, 2021] Mao, X. et al. Towards Robust Vision Transformer. CVPR2022.
    P.53
    [Jia+, 2021] Chao Jia et al. Scaling up visual and vision-language
    representation learning with noisy text supervision. ICML. 2021.
    [Yu+, 2022] Yu, Jiahui et al. CoCa: Contrastive Captioners Are Image-Text
    Foundation Models. arXiv. 2022.
    P.54
    [Zhai+, 2022] Xiaohua Zhai et al. LiT: Zero-Shot Transfer With Locked-Image
    Text Tuning. CVPR. 2022.
    [Hu+, 2021] Hu, Edward J. et al. LoRA: Low-Rank Adaptation of Large
    Language Models. ICLR. 2021.
    [Jia+, 2022] Menglin Jia et al. Visual Prompt Tuning. ECCV. 2022.

    View Slide

  61. 本スライドは「プレゼンデザイン」のデザイン・テンプレート
    (https://ppt.design4u.jp/template/)を使用して作成しています。

    View Slide