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
1k

論文輪読会 第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
  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に採択 ※本資料における出典の記載の無い図表は全て上記の論文より引用
  3. 概要 • 10億以上のパラメータと4億のデータに対応した初めの大規模CNNベースの 基盤モデル(InternImage)を提案 • 変形畳み込みDCNを改良し、basicblockとstacking ruleとScaling rulesを調整 することでCNNの大規模化に成功 •

    InternImageを様々なタスクで最先端のCNNと大規模ViTと性能を比較、大規 模データで学習されたViTと同等、または同等以上の精度を得ることを示した。 *物体検出のタスク(COCOdataset) ではbackbornにInternImage,detectorにDINOを用いて少ないパラメータで最高精度を達成 *セマンティックセグメンテーションのタスク(ADE20K)でも最高精度達成
  4. 研究背景 • 近年、モデルの大規模化が精度向上の重要な戦略として注目されている ◦ NLP分野でモデルの大規模化による精度向上が成功 • CV分野でも大規模基盤モデルの研究が活発化 ◦ ViT (20億パラメータに拡張)

    ◦ SwinViT (30億パラメータ) ◦ Conv + ViT ◦ マルチモーダル • CNNベースの大規模モデルも研究 ◦ 非常に大きなカーネルを用いた畳み込み ◦ 再帰的ゲートカーネルを用いた畳み込み 最先端のViTとはまだ相当のギャップが存在 ⇒CNNベースの大規模基盤モデルが後れを取っている
  5. 研究背景 なぜ大規模ViTは性能が良いのか • Multi-Head-Attentionの特性 画像内の異なる領域がお互いに関係しながら独立して処理される ◦ 帰納バイアスが弱い ◦ 長期の依存関係を学習できる ◦

    重みが動的であり、入力に対して適切な依存関係を得ることができる CNNに、帰納バイアスを抑え、長期的な依存関係を学習でき、重みが動的になる 仕組みを導入すれば、CNNで大規模なViTと同様な性能を出せるのではないか? ⇒DCNを用いた大規模基盤モデルを提案
  6. 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
  7. DCN • 通常の3×3畳み込みは以下のように表現できる 𝒚 𝒑𝟎 = σ𝑛=0 𝑁 𝒘(𝒑𝒏 )

    ∙ 𝒙(𝒑𝟎 + 𝒑𝒏 ) • Deformable convolutionの場合、offset∆𝑝を用いて、次のように書ける 𝒚 𝒑𝟎 = σ𝑛=0 𝑁 𝒘(𝒑𝒏 ) ∙ 𝒙(𝒑𝟎 + 𝒑𝒏 + ∆𝒑𝒏 ) * ∆𝒑𝒏 は整数ではないので、データはbilinear補完する
  8. DCNv2 2018 年 Deformable ConvNets v2: More Deformable, Better Resultsで提案

    𝒚 𝒑𝟎 = ෍ 𝑛=0 𝑁 𝒘(𝒑𝒏 ) ∙ 𝒙(𝒑𝟎 + 𝒑𝒏 + ∆𝒑𝒏 ) ∙ ∆𝑚𝑛 ∆𝑚𝑛 :[0,1]の値を取るmodulation scalrを追加 各ピクセルに対して異なるスカ ラー値を掛けることで自由度が向上し、パフォーマンス向上 引用)https://www.taokong.org/report/DCN_v2_paper_reading.pdf
  9. DCN v3 • Multi-group mechanismを導入 Multi-head-self-Attentionから着想 チャンネルをグループに分けることによってより複雑な表現を獲得 𝒚 𝒑𝟎 =

    ෍ 𝑔=0 𝐺 ෍ 𝑛=0 𝑁 𝒘𝒈 (𝒑𝒏 ) ∙ 𝒙(𝒑𝟎 + 𝒑𝒏 + ∆𝒑𝒈𝒏 ) ∙ ∆𝑚𝑔𝑛 • サンプルに沿ってmodulation scalarを正規化 問題点 フィルタ内の重みの和が0~Kまで大きく変化してしまい、学習が不安定になる ⇒フィルタ単位で重みの和が1になるようsoftmax関数を採用。これにより 学習の安定化
  10. InternImageとは DCNv3を核にCNNベースの基盤モデルを構築する(origin model) • Basic block • Stem, Downsampling Origin

    modelの最適なパラメータ設定 • Staking rules Origin modelを大規模化 • Scaling rules
  11. DCNv3を核にCNNベースの基盤モデルを構築する • Basic block ViTの構造を模倣している ◦ DCN ◦ Layer Normalization

    ◦ Feed Forward Networks ◦ GELU • StemとDownsampling feature mapのスケールを変化 ◦ Stem 入力画像の解像度を1/4 ◦ Downsampling 特徴量マップの解像度を1/2
  12. 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 ]のみで構造が決まる
  13. Origin modelを大規模化 • Scaling rules stacking ruleで求めた最適なorigin model [𝐶1 =

    64 , 𝐶′ = 16, 𝐿1 = 4, 𝐿3 = 18] をcompound scaling methodを用いて深さ、channel数をスケーリングし て大規模化する(詳細 Appendix)
  14. 実験 画像分類のタスクについて、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
  15. 実験 物体検出、セマンティックセグメンテーションのタスクについて、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さまざまな検出器で比較した実験も実施
  16. 結果 画像分類タスク モデルのスケールごとに結果を見ていくと、 CNNベースのモ デルを上回る Pretrainingなし ImageNet22k Pretraining 大規模データセット Pretraining

    最先端のViTとの差 を1pointに縮めた • すべてにおいてTransformerベース、CNNベースのモデルと同等かそれ以上に優れている • Internimage-Hでは最先端のViTとの差を1pointに縮めた *筆者らは事前学習に用いたdatasetが異なることが一因になりうると述べています • Internimageが共通のパラメータスケールで公開されたトレーニングデータに対して良好な性能を持つだけでなく、大規模なパラメー タとデータに対して効果的に拡張できることを示す
  17. 結果 物体検出 • 更なる精度向上のために様々な検出 器を採用し精度比較 SoTA達成モデル Model ・composite techniqueにより、 InternImage-Hを2倍にしてbackbone

    として用いている ・Detector DINO 学習方法 Pretraining ・internImage-Hと同様 finetuning ・Objects 365 26epoch COCOdatasets 12epoch 27%少ないパラメータと複雑な蒸留なしでFD- SwinV2Gを1.2points上回る
  18. 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) の良いとこどりをしたモデル詳細
  19. 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
  20. 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
  21. 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 単体だけ変化させた場合 明らかに精度が 向上している