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

論文輪読会 第7回 "InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions"

AcademiX
April 08, 2023
890

論文輪読会 第7回 "InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions"

AcademiX が開催した 第7回 論文輪読会 資料

日時:2023/04/08
発表者:藤野倫太郎さん
論文タイトル:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions

<概要>
InternImageと呼ばれるDeformable Convolution v3を核とした新しい大規模CNNベースの基盤モデルを提案し、画像分類、物体検出、セグメンテーションのタスクで大規模データで学習されたViTと同等、または同等以上の精度を得ることを示した。大規模モデルの選択肢としてCNNが大きな可能性を持つと述べられている。

AcademiX

April 08, 2023
Tweet

More Decks by AcademiX

Transcript

  1. https://www.academix.jp/
    AcademiX 論文輪読会
    InternImage: Exploring Large-Scale Vision
    Foundation Models with Deformable
    Convolutions
    東京理科大学社会基盤工学科
    藤野倫太郎
    2023/04/08

    View full-size slide

  2. 書誌情報
    ・題名:InternImage: Exploring Large-Scale Vision Foundation Models with
    Deformable Convolutions
    ・著者:Wenhai Wang, Jifeng Dai, Zhe Chen, Zhenhang Huang, Zhiqi Li, Xizhou
    Zhu, Xiaowei Hu, Tong Lu, Lewei Lu, Hongsheng Li, Xiaogang Wang, Yu Qiao
    ・URL:https://arxiv.org/pdf/2211.05778.pdf
    ・Code:https://github.com/opengvlab/internimage
    ・CVPR 2023に採択
    ※本資料における出典の記載の無い図表は全て上記の論文より引用

    View full-size slide

  3. 概要
    ● 10億以上のパラメータと4億のデータに対応した初めの大規模CNNベースの
    基盤モデル(InternImage)を提案
    ● 変形畳み込みDCNを改良し、basicblockとstacking ruleとScaling rulesを調整
    することでCNNの大規模化に成功
    ● InternImageを様々なタスクで最先端のCNNと大規模ViTと性能を比較、大規
    模データで学習されたViTと同等、または同等以上の精度を得ることを示した。
    *物体検出のタスク(COCOdataset) ではbackbornにInternImage,detectorにDINOを用いて少ないパラメータで最高精度を達成
    *セマンティックセグメンテーションのタスク(ADE20K)でも最高精度達成

    View full-size slide

  4. 目次
    1. 研究背景
    2. DCN
    3. InternImage
    4. 実験
    5. 結果
    6. 結論

    View full-size slide

  5. 研究背景
    ● 近年、モデルの大規模化が精度向上の重要な戦略として注目されている
    ○ NLP分野でモデルの大規模化による精度向上が成功
    ● CV分野でも大規模基盤モデルの研究が活発化
    ○ ViT (20億パラメータに拡張)
    ○ SwinViT (30億パラメータ)
    ○ Conv + ViT
    ○ マルチモーダル
    ● CNNベースの大規模モデルも研究
    ○ 非常に大きなカーネルを用いた畳み込み
    ○ 再帰的ゲートカーネルを用いた畳み込み
    最先端のViTとはまだ相当のギャップが存在
    ⇒CNNベースの大規模基盤モデルが後れを取っている

    View full-size slide

  6. 研究背景
    なぜ大規模ViTは性能が良いのか
    ● Multi-Head-Attentionの特性
    画像内の異なる領域がお互いに関係しながら独立して処理される
    ○ 帰納バイアスが弱い
    ○ 長期の依存関係を学習できる
    ○ 重みが動的であり、入力に対して適切な依存関係を得ることができる
    CNNに、帰納バイアスを抑え、長期的な依存関係を学習でき、重みが動的になる
    仕組みを導入すれば、CNNで大規模なViTと同様な性能を出せるのではないか?
    ⇒DCNを用いた大規模基盤モデルを提案

    View full-size slide

  7. DCNとは
    ● 通常の畳み込みに長距離の依存性と適応的な空間集約を導入することによっ
    て、帰納バイアスを抑えた変形畳み込みといわれる畳み込みの手法
    ● offsetを用いて、フィルタのサンプル領域を動的に動かす
    (a)通常の畳み込み
    (b)変形畳み込み 両図 引用)Deformable Convolutional Networks

    View full-size slide

  8. DCN
    1. Input feature map通常の畳み込みを
    行い各pixelごとのoffsetの情報を取得
    2. オフセット情報をフィルタに戻す
    3. offsetに基づいて、input feature
    mapからサンプリング
    4.変形畳み込み
    point
    各pixelのオフセットをinput feature mapをもと
    に出力される
    ⇒ input feature map(物体のスケール・形状
    に合わせてoffsetが変動する)
    *Active Convolutionはoffset自体がパラメータ
    として学習している
    offsetを出力するconv層
    2Nchanelのoffset fieldを出力
    N :フィルターの要素数
    (それぞれの要素がdx,dyの変化量が必要な
    ため、2倍している)
    オフセットを出力
    するconv層
    (1)
    (2)
    (3)
    (4)
    引用)Deformable Convolutional Networks

    View full-size slide

  9. DCN
    ● 通常の3×3畳み込みは以下のように表現できる
    𝒚 𝒑𝟎
    = σ𝑛=0
    𝑁 𝒘(𝒑𝒏
    ) ∙ 𝒙(𝒑𝟎
    + 𝒑𝒏
    )
    ● Deformable convolutionの場合、offset∆𝑝を用いて、次のように書ける
    𝒚 𝒑𝟎
    = σ𝑛=0
    𝑁 𝒘(𝒑𝒏
    ) ∙ 𝒙(𝒑𝟎
    + 𝒑𝒏
    + ∆𝒑𝒏
    )
    * ∆𝒑𝒏
    は整数ではないので、データはbilinear補完する

    View full-size slide

  10. DCNv2 2018 年 Deformable ConvNets v2: More Deformable, Better Resultsで提案
    𝒚 𝒑𝟎
    = ෍
    𝑛=0
    𝑁
    𝒘(𝒑𝒏
    ) ∙ 𝒙(𝒑𝟎
    + 𝒑𝒏
    + ∆𝒑𝒏
    ) ∙ ∆𝑚𝑛
    ∆𝑚𝑛
    :[0,1]の値を取るmodulation scalrを追加 各ピクセルに対して異なるスカ
    ラー値を掛けることで自由度が向上し、パフォーマンス向上
    引用)https://www.taokong.org/report/DCN_v2_paper_reading.pdf

    View full-size slide

  11. DCN v3
    DCNv2 に以下を追加
    ● sparable convolutionを導入
    ● Multi-group mechanismを導入
    ● サンプルに沿ってmodulation scalarを正規化

    View full-size slide

  12. DCN v3
    ● sparable convolutionを導入
    通常の畳み込みを以下のように空間方向とチャンネル方向に分離
    1. 出力マップのサイズを保ったまま空間方向の畳み込み
    2. その後1×1の畳み込みでチャンネル方向の畳み込み(次元圧縮)
    ⇒大幅にパラメータを削減
    引用)https://ai-scholar.tech/articles/deep-learning/internimage

    View full-size slide

  13. DCN v3
    ● Multi-group mechanismを導入
    Multi-head-self-Attentionから着想
    チャンネルをグループに分けることによってより複雑な表現を獲得
    𝒚 𝒑𝟎
    = ෍
    𝑔=0
    𝐺

    𝑛=0
    𝑁
    𝒘𝒈
    (𝒑𝒏
    ) ∙ 𝒙(𝒑𝟎
    + 𝒑𝒏
    + ∆𝒑𝒈𝒏
    ) ∙ ∆𝑚𝑔𝑛
    ● サンプルに沿ってmodulation scalarを正規化
    問題点
    フィルタ内の重みの和が0~Kまで大きく変化してしまい、学習が不安定になる
    ⇒フィルタ単位で重みの和が1になるようsoftmax関数を採用。これにより
    学習の安定化

    View full-size slide

  14. InternImageとは
    DCNv3を核にCNNベースの基盤モデルを構築する(origin model)
    ● Basic block
    ● Stem, Downsampling
    Origin modelの最適なパラメータ設定
    ● Staking rules
    Origin modelを大規模化
    ● Scaling rules

    View full-size slide

  15. DCNv3を核にCNNベースの基盤モデルを構築する
    ● Basic block
    ViTの構造を模倣している
    ○ DCN
    ○ Layer Normalization
    ○ Feed Forward Networks
    ○ GELU
    ● StemとDownsampling
    feature mapのスケールを変化
    ○ Stem
    入力画像の解像度を1/4
    ○ Downsampling
    特徴量マップの解像度を1/2

    View full-size slide

  16. Origin modelの最適なパラメータ設定
    ● Staking rules
    このモデルは4stageからなり、それぞれのステージにchannel数、group数、
    basic blockの数のハイパーパラメータが存在するため、合計12のパラメータ
    でモデルが決まる⇒探索空間が広すぎる
    先行研究の設計経験をもとに構造に3つの制限をかけて最適なモデルを探索
    する
    ○ 𝐶𝑖
    = 2𝑖−1𝐶1
    𝑖番目のchannel数𝐶𝑖
    ○ 𝐺𝑖
    = 𝐶𝑖
    /𝐶′ DCNv3のgroup数はstageのchannel数𝐶𝑖,groupのchannel数𝐶′
    ○ 𝐿1
    = 𝐿2
    = 𝐿4
    𝐿1
    ≤ 𝐿3
    各stageごとのbasic blockの数𝐿𝑖
    ⇒4つのパラメータ[𝐶1
    , 𝐶′, 𝐿1
    , 𝐿3
    ]のみで構造が決まる

    View full-size slide

  17. Origin modelを大規模化
    ● Scaling rules
    stacking ruleで求めた最適なorigin model [𝐶1
    = 64 , 𝐶′ = 16, 𝐿1
    = 4, 𝐿3
    = 18]
    をcompound scaling methodを用いて深さ、channel数をスケーリングし
    て大規模化する(詳細 Appendix)

    View full-size slide

  18. 実験
    画像分類のタスクについて、InternImageを主要なCNNやViTと分析、比較する
    ● 画像分類タスク
    検証データ:ImageNet validation set
    各モデルの学習方法・事前学習データ
    model Pretraing dataset Finetuning dataset
    InternImage-T/S/B ImageNet1k(約130万)
    Epoch 300
    InternImage-X/L ImageNet22k(約1420万)
    Epoch 90
    ImageNet1k(約130万)
    Epoch 20
    InternImage-H Laion-400M、YFCC-15、CC12M(約4億
    2700万枚)
    *M31Pre-training比較対象であるSwinV2-
    G,CoAtNet-4,Florence-CoSwin-Hはprivatedatasetを
    用いているため、代わりに以上のdatasetをM31Pre-
    training手法を用いて学習している(単純に比較できな
    い)
    Epoch 30
    ImageNet1k(約130万)
    Epoch 20

    View full-size slide

  19. 実験
    物体検出、セマンティックセグメンテーションのタスクについて、backboneをInternImageとし、backboneを主要な
    CNNやViTとしたときの結果を分析、比較する
    ● 物体検出・インスタンスセグメンテーション
    検証データ:COCOval2017
    フレームワーク:Mask R-CNN、Cascade Mask R-CNN
    学習方法:事前に分類タスクで事前学習した重みをbackboneの初期値として、1×(12epoch)、3×(36epoch)
    でfine tuning
    *3×(36epoch) の場合、multi-scale traing(様々な入力サイズで学習)
    ● セマンティックセグメンテーション
    検証データ:ADE20K
    フレームワーク:UperNet
    *InternImage-HについてはBEiT-3やFD-SwinV2-Gと比較するため、より高度なフレームワークMask2Former
    を使用
    学習方法:事前に分類タスクで事前学習した重みをbackboneの初期値として、 160iterationsでfine tuning
    *物体検出に関しては各backboneさまざまな検出器で比較した実験も実施

    View full-size slide

  20. 結果 画像分類タスク
    モデルのスケールごとに結果を見ていくと、
    CNNベースのモ
    デルを上回る
    Pretrainingなし
    ImageNet22k Pretraining 大規模データセット Pretraining
    最先端のViTとの差
    を1pointに縮めた
    • すべてにおいてTransformerベース、CNNベースのモデルと同等かそれ以上に優れている
    • Internimage-Hでは最先端のViTとの差を1pointに縮めた
    *筆者らは事前学習に用いたdatasetが異なることが一因になりうると述べています
    • Internimageが共通のパラメータスケールで公開されたトレーニングデータに対して良好な性能を持つだけでなく、大規模なパラメー
    タとデータに対して効果的に拡張できることを示す

    View full-size slide

  21. 結果 物体検出、インスタンスセグメンテーション
    ● 物体検出、インスタンスセグメンテーションのタスクにおいて、同じスケー
    ル間での比較では、他のモデルを大幅に上回ることが示された
    Object detection Instance segmentationObject detection Instance segmentation

    View full-size slide

  22. 結果 物体検出
    ● 更なる精度向上のために様々な検出
    器を採用し精度比較
    SoTA達成モデル
    Model
    ・composite techniqueにより、
    InternImage-Hを2倍にしてbackbone
    として用いている
    ・Detector DINO
    学習方法
    Pretraining
    ・internImage-Hと同様
    finetuning
    ・Objects 365 26epoch
    COCOdatasets 12epoch 27%少ないパラメータと複雑な蒸留なしでFD-
    SwinV2Gを1.2points上回る

    View full-size slide

  23. 結果 セマンティックセグメンテーション
    ● セマンティックセグメンテーション
    のタスクにおいて、同じスケール間
    での比較では、他のモデルを大幅に
    上回ることが示された

    View full-size slide

  24. 結論
    ● InternImageは画像分類、物体検出、セマンティック(インスタンス)セグメン
    テーションにおいて強力な表現を提供できる
    ● 膨大なデータで学習された大規模ViTと同等、それ以上の性能を得ることが
    でき、CNNが大規模基盤モデルの選択となる可能性が大きいことを示した
    ● 課題として、下流タスクに適応するためにDCNベースの手法は処理が重いこ
    とがあげられる
    ● 大規模なCNNはまだ開発途中であり、InternImageが良い出発点になること
    が期待されている

    View full-size slide

  25. Appendix Ablation Study
    ● Ablation study とは
    機械学習モデルにおいて要素を一つずつ取り除いてどのようにモデルの性能が変化するのか
    を調べ、どの要素が性能に寄与しているのか調べること
    以下の要素について検証
    ● sparable convolutionを導入
    ● Multi-group mechanismを導入
    ● modulation scalarの正規化

    View full-size slide

  26. Appendix 大規模CNN、ViTの紹介
    ● ConvNet
    ViTで用いられている最新の手法を取り入れたConvNet詳細
    ● BiT=Big Transfer
    ResNetv2-151の幅を4倍にしたパラメータ数10億の巨大なモデル詳細
    ● SwinTransformer
    Shifted windowsで計算される階層的Transformer 詳細
    ● BEiT
    MIM(masked image modeling)という自己教師あり学習を用いた、画像版BERT詳細
    ● CoAtNet
    DWConv(=Depthwise畳み込み) と SA(=Self-Attention) の良いとこどりをしたモデル詳細

    View full-size slide

  27. Appendix 帰納バイアスとデータ数の関係
    ● ViTとCNNの帰納バイアス
    ViTは、Attention機構により画像内の異なる領域がお互いに関係
    しながら独立して処理されるため、CNNより帰納バイアスが抑
    えられる
    ● データ数と帰納バイアスの関係
    「データが少ない状況においては、強い帰納バイアスをもつモデ
    ルはデータの仮定をもっているため、弱い帰納バイアスをもつモ
    デルより強い。一方、データが多いと逆にその仮定が邪魔になる
    ため、データが多い状況では帰納バイアスが弱いモデルの方が強
    くなる」論文引用(左図)
    帰納バイアスとは
    学習者 learner がまだ遭遇していない入力に対する出力を予測するために
    用いる前提条件の集合である(wiki引用)
    機械学習の多くの問題では事前知識を用いて構造を設計することで性能を
    上げている。
    その事前知識をもとに仮定した条件が帰納バイアス(inductive bias)
    Ex)
    画像データの構造は局所的に集約されている⇒CNN
    データは直前の時刻と大きく相関している⇒RNN
    引用)AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

    View full-size slide

  28. Appendix
    ・ Sparable convolution
    元論文 Xception: Deep Learning with Depthwise Separable Convolutions
    Inception module の極端な例
    空間方向の相関とチャネル方向の相関は完全
    に分離できると仮定
    Xception :Inception moduleをdepthwise
    sparable convolutionに置き換えたもの
    実験 Inception v3 とXceptionを比較
    (パラメータ数はほとんど同じに設定)
    わずかにXceptionの方が精度が良かった
    ⇒depthwise sparable convolutionの方が効
    率的にパラメータを使えている
    引用)Xception: Deep Learning with Depthwise Separable Convolutions

    View full-size slide

  29. Appendix
    ・Compound scaling method(Efficient net)
    元論文 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
    従来、モデルをスケールアップする際、
    depth(深さ),wide(チャネル数),resolution(解像
    度)単体だけ変化させた
    Compound scaling method
    上記3つのパラメータを一つの𝜙のみを使って
    バランスよくスケーリングする方法
    引用)EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
    単体だけ変化させた場合
    明らかに精度が
    向上している

    View full-size slide