$30 off During Our Annual Pro Sale. View Details »

[CVPR2023 論文紹介] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

yuukicammy
August 26, 2023

[CVPR2023 論文紹介] InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

第59回 コンピュータビジョン勉強会@関東(後編)の発表資料です。

yuukicammy

August 26, 2023
Tweet

Other Decks in Research

Transcript

  1. InternImage: Exploring Large-Scale
    Vision Foundation Models with
    Deformable Convolutions
    Wenhai Wang1∗, Jifeng Dai2,1∗, Zhe Chen3,1∗, Zhenhang Huang1∗, Zhiqi Li3,1∗, Xizhou Zhu4∗, Xiaowei Hu1, Tong
    Lu3, Lewei Lu4, Hongsheng Li5, Xiaogang Wang4,5, Yu Qiao1
    1Shanghai AI Laboratory 2Tsinghua University
    3Nanjing University 4SenseTime Research 5The Chinese University of Hong Kong
    *equal contribution
    発表者 @yuukicammy
    第59回 コンピュータビジョン勉強会@関東(後編)
    Aug. 26, 2023

    View Slide

  2. はじめに – Conference Projector の紹介 –
    Conference Projector は CVPR 2023 に採択された論文全体の概要把握を支援する
    ツールです(趣味開発)
    https://yuukicammy--conference-projector-wrapper.modal.run/
    Blog: https://irohalog.hatenablog.com/entry/2023/07/09/214323
    2

    View Slide

  3. 今回紹介する論文
    Good
    Bad
    “InternImage: Exploring Large-Scale Vision Foundation Models with
    Deformable Convolutions”
    ● CNN ベースで初めて 1B (10億) 超えサイズ
    で公開されたオープンソース大規模基盤モデル
    ● 複数ベンチマークでViTベースモデルを
    超えてSoTAを達成
    ● サイズ-精度の観点で効率が良い
    ● 上海AI Lab とSense Time等が研究開発
    CVPR 2023 Open Access
    GitHub

    View Slide

  4. InternImage は強力な Image Backbone
    https://paperswithcode.com/paper/internimage-exploring-large-scale-vision
    Paper with Codeの複数タスク(物体検出・セグメンテーション等)で現在も首位
    を維持している 
    データ取得日: 2023年8月22日
    4

    View Slide

  5. ソースコード・学習済みモデル
    InternImage のソースコード及び学習済みモデルがMITライセンスで公開された
    “Open Source” 大規模基盤モデル (Large-Scale Vision Foundation Model) である
    ソースコード 学習済みモデル
    ライセンス MIT MIT (?)
    URL https://github.com/OpenGV
    Lab/InternImage
    https://huggingface.co/Open
    GVLab/InternImage
    5

    View Slide

  6. ViTベースモデルとCNNベースモデルの比較
    https://www.youtube.com/watch?v=_LEitBd5Tfs
    ● CNNとTransformerは、どちらもパラ
    メータ数を増やすと精度が向上する
    ● CNNをどう効率的に大規模化できる
    か?は自明でない
    6
    CNNベースモデルがViTベースモデルに劣るのではなく、モデルサイズを大きくす
    ればCNNベースモデルも精度向上する

    View Slide

  7. コアオペレータの比較による提案手法の位置付け
    core operators (a) global attention (b) local attention (c) large kernel (d) dynamic sparse
    kernel
    具体的な手法
    Transformerにおけるア
    テンション機構
    Swin transformerにおけ
    るlocal window
    CNNへの大きなカーネ
    ルサイズの適用
    CNNへのdynamic
    sparse kernelの適用
    (提案手法)
    広範囲な依存関係の
    反映
    ○ × ○ ○
    適応的な空間集約 ○ ○ × ○
    演算・メモリ効率 × ○ ○ ○
    提案手法は dynamic sparse kernel を用いることでCNNを効率的に大規模化する
    7

    View Slide

  8. CNNを効率的に大規模化するための工夫
    Deformable ConvNet (DCN) を発展させる
    工夫点
    (1) Separable Convolution を取り入れ計算コストを削減
    (2) Multi-Group Mechanism により適応的な空間集約を実現
    (3) Softmax で modulation 値の合計が1になるよう正規化し学習を安定化
    8

    View Slide

  9. InternImage は Deformable ConvNets の進化系
    InternImage は Deformable ConvNets (DCN) 著者 Jifeng Dai さんチームによ
    る大規模基盤モデルへの進化系研究である
    DCNの歴史
    ● DCN v1 [1]: CNNカーネルに学習可能なオフセットを導入
    ● DCN v2 [2]: カーネル位置ごとに学習可能な modulation を導入
    ● DCN v3 (本提案): Separable Convolution、Multi-Group Mechanism、
    Softmaxを導入
    [1] https://arxiv.org/abs/1703.06211 [2] https://arxiv.org/abs/2008.13535v2
    9

    View Slide

  10. Deformable ConvNets v2 までのおさらい
    注目画素ごとにオフセットと modulation を適用したカーネルで畳み込む
    https://www.researchgate.net/publication/357181145_An_Efficient_Lightweight_Ne
    ural_Network_for_Remote_Sensing_Image_Change_Detection
    各画素に対応するカーネルのオフセットと
    modulation を求める Conv層 も同時に学習する
    10

    View Slide

  11. 発展 (1): Separable Convolution で計算コスト削減
    Separable Convolution を取り入れ、Depthwise Convolution と Pointwise
    Convolution に分離することで計算コストを削減する
    An Efficient Multi-Level Convolutional Neural Network Approach for White Blood Cells Classification
    わかりやすい解説記事
    https://towardsdatascience.com/a-basic-introduction-to-separable-convolutions-b99ec3102728
    カーネルサイズ: 3 x 3
    入力チャネル数: 3
    出力チャネル数: 64
    各画素ごとの乗算回数
    Normal Convolution: 3x3x3x64 =1728
    Separable Convolution: 3x3x3+3x64 =219
    Separable Convolutionのイメージ
    11

    View Slide

  12. 発展 (2): Multi-Group Mechanism で適応的空間集約
    出力チャネルをグループ化し、グループごとにオフセットと modulation を生成
    するパラメータを学習する
    この畳み込みカーネルをチャネルグルー
    プごとに用意する。
    これにより、チャネルグループごとに異な
    る空間集約のパタンを反映する。
    → 適応的な空間集約
    Multi-Head Self-Attention (MHSA) から
    着想を得てるらしい。
    × G
    × G
    G : グループ数
    12

    View Slide

  13. 発展 (3): Modulation への Softmax 適用で学習安定化
    カーネル内の modulation 値合計を 1 に正規化することで、大規模化しても学
    習を安定させる
    ● [DCN v2]
    Sigmoid で各 modulation 値を [0, 1] に正規化
    → カーネルの要素数がKの時、カーネル内合計値
     は [0, K] になる
    ● [DCN v3]
    Softmax でカーネル内の合計値を 1 に正規化
    13

    View Slide

  14. 実装レベルでの変更: Conv2D から Linear に
    論文内では言及されていないが、オフセットと modulation の生成に使うパラメータの
    学習は Conv2D から Linearに変更されていた → パラメータ数微減
    https://github.com/OpenGVLab/InternImage
    Conv2D + Sigmoid
    から
    Linear + Softmax
    に変更
    14

    View Slide

  15. コアオペレータの比較による提案手法の位置付けおさらい
    core operators (a) global
    attention
    (b) local attention (c) large kernel (d) dynamic
    sparse
    kernel
    具体的な手法 Transformerにおける
    アテンション機構
    Swin transformerにお
    けるlocal window
    大きなカーネルサイ
    ズの CNN
    CNNへのdynamic
    sparse kernelの適用
    広範囲な依存
    関係の反映
    ○ × ○ ○
    適応的な空間
    集約
    ○ ○ × ○
    演算・メモリ効

    × ○ ○ ○
    効率的な大規模化を目指した dynamic sparse kernel (DCN v3) を提案
    → 従来の DCN
    →(2) Multi-Group 導入
    → (1) Separable Convolution 導入
    さらに (3) Softmax 導入で学習安定化
    15

    View Slide

  16. CNN の効率的な大規模化手法の模索
    DCN v3 をコアオペレータとして、どう全体を設計したら効果的に CNN をス
    ケールアップできるか?
    スケールアップのポイント
    ● 効果的にスケールさせられるネットワークの全体設計
    ● ハイパーパラメータの探索空間設計
    16

    View Slide

  17. 大規模基盤モデル InternImage のネットワーク設計
    Transformer 風のブロック構造で全体を設計する
    stem stage i
    downsampling
    G
    17

    View Slide

  18. ハイパーパラメータ探索空間設計 ① – Stacking Rules –
    各ステージのハイパーパラメータ
    ステージ数 を 4 に固定すると、
    ハイパーパラメータ数は 12 (=4 x 3)
    C’ はグループ内チャネル数 (=Ci/Gi)
    ステージ数を4に固定し、“AABA” パタンをベースとした Stacking Rules を適
    用することで構造に関するハイパーパラメータを4つに限定する
    ( “AABA” パタン)
    ハイパーパラメータは       の 4 つの

    18

    View Slide

  19. ハイパーパラメータ探索空間設計 ② – Scaling Rules –
    1組の最適なハイパーパラメータへ compound scaling method [1] ベースの
    Scaling Rules を適用し、別スケールのハイパーパラメータを決定する
    [1] EfficientNet https://arxiv.org/pdf/1905.11946.pdf
    origin model へ実験的に求めた α = 1.09,
    β = 1.36 とφを用いて下記のようにスケー
    ルさせる
    参考: 2019年最強の画像認識モデル EfficientNet解説
    https://qiita.com/omiita/items/83643f78baabfa210ab1 19

    View Slide

  20. InternImage のポイントまとめ
    ● Deformable ConvNet を発展させた DCN v3 をコアオペレータとする
    ○ Separable Convolution で計算コストを削減
    ○ Multi-Group Mechanism により適応的な空間集約を実現
    ○ Modulation にSoftmax を適用し学習を安定化
    ● Transformer風のBlock 構造
    ● Stacking rule と scaling rule を適用してハイパーパラメータの
    探索空間を効率的に減らす
    20

    View Slide

  21. 実験 – Image Classification –
    従来のCNNベースモデルより高精度。大規模な ViTベースモデルのとの差も
    1.0ptまで縮めた
    21

    View Slide

  22. 実験 – Object Detectionのバックボーン精度比較 –
    物体検出器を Mask R-CNN と Casade Mask R-CNN で共通化し、バックボーンご
    との精度を比較したところ、モデルスケールごとに最高精度を達成した
    22

    View Slide

  23. 実験 – Object Detection SoTA比較 –
    InternImage-H と物体検出器 DINO の組合せで、ViTベースのFD-SwinV2-Gを
    1.2pt 超えた(パラメータは27%少ない)
    ←すごい
    23

    View Slide

  24. 実験 – Semantic Segmentation 精度比較 –
    ● UperNet のバックボーンを変えて精度比較
    をしたところ、モデルスケールごとに
    InternImage が最高精度を達成
    ● Mask2Former + InternImage-Hの組合せ
    で SoTA を達成
    ○ mIoU (single-scale): 62.5
    ○ mIoU(multi-scale): 62.9
    24

    View Slide

  25. Separable Convolution の効果検証
    Separable Convolution を導入するこ
    とで モデルのパラメータ数とGPU メモ
    リを大幅に削減できる
    25

    View Slide

  26. DCN v3 の効果検証
    画像分類と物体検出の実験から、DCN v3 で取られた 3 つの工夫の妥当性が示された
    ● Separable Convolution でパラメータ数を削減する影響は大きくはない (画像分類精度
    で0.1pt減程度 )
    ● Multi-Group Mechanism と Modulation への Softmax 適用は精度を高める
    (1) Separable Convolution
    (2) Multi-Group Mechanism
    (3) ModulationのSoftmax正規化
    (1) (2) (3)
    26

    View Slide

  27. InternImage のまとめ
    ● CNNベースも効率的にデカくすれば ViT 相当 (以上) の大規模基盤モデル
    になることを示した
    ● CNN ベースで初めて 1B (10億) 超えのオープンソース大規模基盤モデル
    を公開した
    ● Deformable ConvNet を発展させた DCN v3 をコアオペレータとした ス
    ケーラブルなモデル設計と効率的なマルチスケールモデルの学習手法を
    提案した
    27

    View Slide

  28. 所感
    Positive
    ● 複数ベンチマークでSoTAを出したというのが最大のポイントだと感じた
    ● 実験戦略が細かく書かれており参考になった
    ● 補足資料含めて膨大な実験エフォートに感服した
    Negative
    ● ストーリーに疑問が残る
    ○ 純粋な精度向上なら他のCNNベースを巨大化したらどうなのか
    ○ 大規模化のコスパを目指すのに複雑な
    Deformable ConvNetありき?
    ● Deformable ConvNet で気になるのは、FLOPs とパラメータ数よりレイテンシー
    ○ あの複雑なConvでGPUを効率的に使える方法があるのか
    ○ 著者も、レイテンシーが課題だと言っていた
    28

    View Slide

  29. ご清聴ありがとうございました

    View Slide

  30. 研究チームにおけるInternImageの位置付け
    Generic Decoder
    上海AI研究所とSenseTime共同でマルチモーダルマルチタスク汎用モデル
    (Multimodal Multitask General Model) を開発しており、InternImageはその
    ImageBackboneの位置付けである
    30

    View Slide

  31. 研究チームはInternImage以外にも注目研究が多い
    Generic Decoder
    大規模基盤モデル構築から自動運転応用まで多様な切り口で研究開発がなさ
    れ、CVPR 2023 だけでも6件の発表がされた(うち1件はベスト賞)
    事前学習手
    法:[CVPR2023]
    M3I-Pretraining
    言語-Vision モデル:
    [CVPR2023]
    Uni-Perceiver v2
    自動運転:
    [CVPR2023] 
    BEVFormer
    UniAD
    Vision モデル:
    [CVPR2023]
    InternImage
    31

    View Slide

  32. Deformable ConvNet v2
    (C, H, W) (2K, H, W)
    (C, H, W) (K, H, W)
    (C, H, W)
    (C’, H, W)
    32

    View Slide

  33. 畳み込みカーネルのサンプリング位置
    33

    View Slide