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

[Journal Club] Swin Transformer Hierarchical Vision Transformer using Shifted Windows

[Journal Club] Swin Transformer Hierarchical Vision Transformer using Shifted Windows

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. 4XJO 5SBOTGPSNFS
    )JFSBSDIJDBM7JTJPO5SBOTGPSNFSVTJOH4IJGUFE8JOEPXT
    慶應義塾大学 杉浦孔明研究室
    飯田 紡
    Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang,
    Stephen Lin, Baining Guo (Microsoft Research Asia)
    ICCV 2021 Best Paper
    Liu, Z., Lin, Y., Cao, Y., Hu, H., Wei, Y., Zhang, Z., ... & Guo, B. (2021). Swin transformer: Hierarchical vision transformer using shifted windows. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 10012-10022).

    View Slide

  2. എܠɿ൚༻WJTJPO USBOTGPSNFSͷߏங
    1
    バックボーンとなる汎用vision transformerは精度向上に繋がる可能性
    RNN
    LSTM
    transformer
    自然言語処理
    CNN transformer
    画像処理
    ?
    š Segmentation, Detectionなど
    詳細な情報が必要なタスク有
    š CNN (e.g. ResNet) が
    バックボーンとして標準
    š 単語やサブワード単位で扱う
    š transformer (e.g. BERT) が標準
    š 従来モデルより精度向上

    View Slide

  3. ؔ࿈ݚڀɿύοναΠζ͕େ͖͘ɺෆ޲͖ͳλεΫ༗
    2
    パッチ数に対して二乗の計算量 → パッチサイズ大
    Segmentationなど細かい情報を必要とするタスクに不向き
    ViT (Vision transformer)
    [dovitskiy+, ICLR21]
    パッチに分割してtransformerに入力
    DeiT
    [Touvron+, ICML21]
    学習戦略でViTを軽量化, 主に分類タスクに応用
    SeTR
    [Zheng+, CVPR21]
    ViTのSegmentation応用, 分類ほど良い結果ではない

    View Slide

  4. ఏҊख๏ɿ4XJO 5SBOTGPSNFS 4IJGUFE8*/EPX 5SBOTGPSNFS

    š Swin Transformer Block, Patch Mergingにより詳細な情報を抽出
    š 計算量を削減することで、パッチサイズを小さくできる
    ウィンドウ内のパッチのみattentionを計算
    3

    View Slide

  5. ఏҊख๏ɿ4XJO 5SBOTGPSNFS 4IJGUFE8*/EPX 5SBOTGPSNFS

    š Swin Transformer Block, Patch Mergingにより詳細な情報を抽出
    š 計算量を削減することで、パッチサイズを小さくできる
    ウィンドウ内のパッチのみattentionを計算
    4

    View Slide

  6. ఏҊख๏ɿ4XJO 5SBOTGPSNFS#MPDL
    5
    構造はtransformer block × 2 とほぼ同じ
    ウィンドウ分割により、計算量が線形オーダー
    (Shifted) Window based Self-Attention
    1. ウィンドウ内のパッチ間のみattention scoreを計算
    2. ウィンドウを移動させてウィンドウ間の関係も抽出

    View Slide

  7. 6
    構造はtransformer block × 2 とほぼ同じ
    ウィンドウ分割により、計算量が線形オーダー
    (Shifted) Window based Self-Attention
    1. ウィンドウ内のパッチ間のみattention scoreを計算
    2. ウィンドウを移動させてウィンドウ間の関係も抽出
    ఏҊख๏ɿ4XJO 5SBOTGPSNFS#MPDL

    View Slide

  8. 7
    構造はtransformer block × 2 とほぼ同じ
    ウィンドウ分割により、計算量が線形オーダー
    (Shifted) Window based Self-Attention
    1. ウィンドウ内のパッチ間のみattention scoreを計算
    2. ウィンドウを移動させてウィンドウ間の関係も抽出
    ఏҊख๏ɿ4XJO 5SBOTGPSNFS#MPDL

    View Slide

  9. 8
    構造はtransformer block × 2 とほぼ同じ
    ウィンドウ分割により、計算量が線形オーダー
    (Shifted) Window based Self-Attention
    1. ウィンドウ内のパッチ間のみattention scoreを計算
    2. ウィンドウを移動させてウィンドウ間の関係も抽出
    ఏҊख๏ɿ4XJO 5SBOTGPSNFS#MPDL

    View Slide

  10. ఏҊख๏ɿ$ZDMJD4IJGU
    9
    Cyclic Shift
    左図の分割では9ブロック分のattention計算が必要
    左上を右下に移動し元々と同じ4ブロックにして計算
    Masked-MSAを利用して別ウィンドウはマスクする

    View Slide

  11. ఏҊख๏ɿܭࢉྔͷ࡟ݮ
    Cyclic Shiftより、1ウィンドウが常に𝑀 × 𝑀個パッチ
    を含むと仮定できる
    ウィンドウ内は 𝑀!×𝐶, 𝐶×𝑀!行列の積2回で2𝐶𝑀"回計算
    全パッチ数ℎ × 𝑤 のときウィンドウ数は#
    $
    , %
    $
    より
    計算量は
    2𝐶𝑀"×

    𝑀
    ×
    𝑤
    𝑀
    = 2𝐶𝑀!ℎ𝑤 = 𝑂 ℎ𝑤
    10
    パッチ数に線形!

    View Slide

  12. ఏҊख๏ɿ1BUDI.FSHJOH
    11
    パッチを段階的にマージして広範囲の特徴を集約
    各段階で特徴マップが得られる
    1. 周囲2 × 2個のパッチを結合
    𝐻
    4
    ×
    𝑊
    4
    ×𝐶 →
    𝐻
    8
    ×
    𝑊
    8
    ×4𝐶
    2. チャンネル数を半分に線形変換
    𝐻
    8
    ×
    𝑊
    8
    ×4𝐶 →!"#$%&
    𝐻
    8
    ×
    𝑊
    8
    ×2𝐶

    View Slide

  13. ఏҊख๏ɿ3FMBUJWFQPTJUJPOCJBT
    š Relative position bias
    Softmax
    QK'
    𝑑
    + 𝐵 𝑉
    パッチの相対位置関係でポジショナルエンコーディング𝐵を決定
    (𝑥, 𝑦) 離れてるパッチはすべて同じ値を使用
    相対位置のため、translation invariance有
    (ウィンドウを移動させるため特に有効?)
    12

    View Slide

  14. ఆྔ݁ՌɿطଘUSBOTGPSNFSϞσϧΑΓߴਫ਼౓ͳ෼ྨʹ੒ޭ
    š (a) ImageNet-1Kをスクラッチで学習
    同サイズのViT・DeiTを上回る精度
    徹底的なアーキテクチャ探索をしたEfficientNetには負け
    たがSwinはまだ改善の可能性有
    š (b) ImageNet-22Kで事前学習
    Pretrainedによって大きく改善
    既存の画像分類モデルを上回る精度
    13

    View Slide

  15. ఆྔ݁ՌɿPCKFDUEFUFDUJPOͰ405"
    14
    Swin, ResNet50, DeiTをバックボーンとしてdetection
    手法に適用
    š (a) detection手法を変更
    Swinがすべての手法でResNet50を上回った
    š (b) Mask R-CNNに固定してバックボーンを変更
    Swinが全手法で最良、大幅に改善
    2乗の計算コストのDeiTと比べてFPS大幅上昇
    データセット: MS COCO

    View Slide

  16. ఆྔ݁Ռɿ4FNBOUJD4FHNFOUBUJPOͰN*06࠷ྑ
    15
    Swin, DeiT, SETR, ResNetを比較
    Val mIOUでSOTAを達成
    パラメータ数がほぼ等しいTransformer手法のSETRから
    大きく改善
    Test score (pixel accuracyとclass IoUの平均値)でも
    他手法を上回る
    データセット: ADE20K
    (Segmentationの標準)

    View Slide

  17. "CMBUJPO4UVEZɿఏҊख๏͕࠷΋൚༻త
    16
    Shifted Windows (ウィンドウの移動)有無
    なしでImageNet top-1が1.1ポイント低下
    全評価指標で低下している
    Positional Encoding
    相対(rel)のみが全指標最良
    abs+relは分類は良いがdetection /
    segmentationには不向き

    View Slide

  18. ·ͱΊ
    17
    背景
    汎用vision transformerの構築
    提案
    詳細な情報を抽出可能なSwin Transformer
    結果
    分類・物体検出・Segmentationで良好な結果

    View Slide