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

INTERN 2.5のまとめ&関連論文

INTERN 2.5のまとめ&関連論文

SSII2023, MIRU2023の企業展示ポスター「大規模画像認識モデルとその応用」の補助資料です。

GitHub:https://github.com/OpenGVLab/InternImage

SSII2023:「大規模画像認識モデルとその応用」 https://confit.atlas.jp/guide/event/ssii2023/static/sponsorbooth#sensetime
MIRU2023:「企業展示 EX-G3:株式会社センスタイムジャパン」 http://cvim.ipsj.or.jp/MIRU2023/program/

SenseTime Japan

July 21, 2023
Tweet

More Decks by SenseTime Japan

Other Decks in Research

Transcript

  1. INTERN 2.5のまとめ&関連論文
    株式会社センスタイムジャパン
    車載BU 先行開発部 研究開発課 飯田啄巳
    2023/07/20

    View Slide

  2. ©2023 SenseTime Japan Ltd. All Rights Reserved. 1
    INTERN 2.5
    InternImage
    Text Encoder
    Uni-Perceiver
    image
    text
    様々なタスク
    INTERN 2.5とは
    つよつよななんでも認識タスクモデル
    つよつよな画像エンコーダ+認識タスクなんでもなOKデコーダ
    つよつよエンコーダ
    Task-Agnostic Decoder
    ヘッドまで使い回せるよ!
    Uni-Perceiverの論文だとRoBERTa

    View Slide

  3. ©2023 SenseTime Japan Ltd. All Rights Reserved. 2
    Image Encoder (InternImage)
    貢献点
    • Deformable Convolution v3 (DCNv3)
    • 全体的なモデル構造のチューニング
    Wang+, “InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions”, CVPR(Highlight), 2023

    View Slide

  4. ©2023 SenseTime Japan Ltd. All Rights Reserved. 3
    Image Encoder (InternImage)
    なぜDCNにしたか
    Deformable Convolution v3 (DCNv3)
    Wang+, “InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions”, CVPR(Highlight), 2023
    Wang+, “InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions”, CVPR(Highlight), 2023

    View Slide

  5. ©2023 SenseTime Japan Ltd. All Rights Reserved. 4
    Image Encoder (InternImage)
    Stacking Rules
    Scaling Rules
    最初のレイヤのチャネル数が後続レイヤのチャネル数を決める
    チャネル番号とグループ番号を対応付ける
    30Mパラにするために候補を絞ってグリッドサーチ
    深さ (3𝐿1
    + 𝐿3
    ) と幅(カーネル枚数𝐶1
    )で
    Compound Model Scalingファクタを探索
    IntenImageでは𝛼 = 1.09, 𝛽 = 1.36と設定
    ※ 𝜙 = 1として探索していると予想
    全体的なモデル構造のチューニング
    Basic Blockの中のチューニング
    EfficientNetの知見を活用
    Wang+, “InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions”, CVPR(Highlight), 2023

    View Slide

  6. ©2023 SenseTime Japan Ltd. All Rights Reserved. 5
    事前学習(分類データ)
    https://speakerdeck.com/academix/lun-wen-lun-du-hui-di-7hui-internimage-exploring-large-scale-vision-foundation-models-with-deformable-convolutions より引用

    View Slide

  7. ©2023 SenseTime Japan Ltd. All Rights Reserved. 6
    Uni-Perceiver v1
    異なるモダリティの入力&出力を任意に組み合わせられる。しかもモデル(ヘッド含む)共通
    各モダリティ専用の軽量トークナイザ
    異なるモダリティのトークンを無造作にならべる
    対照学習
    各タスクを解く場合の入出力の設定
    Zhu+, “Uni-Perceiver: Pre-training Unified Architecture for Generic Perception for Zero-shot and Few-shot Tasks”, CVPR, 2022
    Zhu+, “Uni-Perceiver: Pre-training Unified Architecture for Generic Perception for Zero-shot and Few-shot Tasks”, CVPR, 2022

    View Slide

  8. ©2023 SenseTime Japan Ltd. All Rights Reserved. 7
    Uni-Perceiver v1
    異なるモダリティの入力&出力を任意に組み合わせられる。しかもモデル(ヘッド含む)共通
    各モダリティ専用の軽量トークナイザ
    異なるモダリティのトークンを無造作にならべる
    対照学習
    各タスクを解く場合の入出力の設定
    問題点:タスク専用のモデルに比べると少し劣化する(統合モデルにしたことで互いのタスクが干渉し合う)
    Zhu+, “Uni-Perceiver: Pre-training Unified Architecture for Generic Perception for Zero-shot and Few-shot Tasks”, CVPR, 2022
    Zhu+, “Uni-Perceiver: Pre-training Unified Architecture for Generic Perception for Zero-shot and Few-shot Tasks”, CVPR, 2022

    View Slide

  9. ©2023 SenseTime Japan Ltd. All Rights Reserved. 8
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  10. ©2023 SenseTime Japan Ltd. All Rights Reserved. 9
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  11. ©2023 SenseTime Japan Ltd. All Rights Reserved. 10
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    専門モデルを内部に保持、
    勾配が干渉しあわないように調整
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  12. ©2023 SenseTime Japan Ltd. All Rights Reserved. 11
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    まんべんなく選ばれる モダリティごとに選ばれる
    (図形の形で選ばれている)
    タスクで選ばれる
    (色で選ばれる)
    エキスパートの選び方
    (ルーティング)
    モダリティとタスクで選ばれる
    スパースなルーティングなため計算効率が良い
    Attribute Routingでは、タスクやモダリティに細かく対応できるようにしている。
    右表のようなラベルを用意して、Yes/Noを含む8信号に変換する。
    例えば、「画像分類タスク」の場合 [1, 0, 0, 1, 1, 0, 1]の様になる。
    専門モデルを内部に保持、
    勾配が干渉しあわないように調整
    どうやって?
    「干渉しあわないように調整」
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  13. ©2023 SenseTime Japan Ltd. All Rights Reserved. 12
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    まんべんなく選ばれる モダリティごとに選ばれる
    (図形の形で選ばれている)
    タスクで選ばれる
    (色で選ばれる)
    エキスパートの選び方
    (ルーティング)
    モダリティとタスクで選ばれる
    スパースなルーティングなため計算効率が良い
    Attribute Routingでは、タスクやモダリティに細かく対応できるようにしている。
    右表のようなラベルを用意して、Yes/Noを含む8信号に変換する。
    例えば、「画像分類タスク」の場合 [1, 0, 0, 1, 1, 0, 1]の様になる。
    専門モデルを内部に保持、
    勾配が干渉しあわないように調整
    どうやって?
    「干渉しあわないように調整」
    入力バッチとそのとき更新する
    Expert Modelを調整する
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  14. ©2023 SenseTime Japan Ltd. All Rights Reserved. 13
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    まんべんなく選ばれる モダリティごとに選ばれる
    (図形の形で選ばれている)
    タスクで選ばれる
    (色で選ばれる)
    エキスパートの選び方
    (ルーティング)
    モダリティとタスクで選ばれる
    スパースなルーティングなため計算効率が良い
    Attribute Routingでは、タスクやモダリティに細かく対応できるようにしている。
    右表のようなラベルを用意して、Yes/Noを含む8信号に変換する。
    例えば、「画像分類タスク」の場合 [1, 0, 0, 1, 1, 0, 1]の様になる。
    専門モデルを内部に保持、
    勾配が干渉しあわないように調整
    どうやって?
    「干渉しあわないように調整」
    入力バッチとそのとき更新する
    Expert Modelを調整する
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022
    問題点:Uni-Perceiver v1, Uni-Perceiver-MoEは生成タスクはできるが、検出・セグメンテーションはできない。 → v2で解決

    View Slide

  15. ©2023 SenseTime Japan Ltd. All Rights Reserved. 14
    Uni-Perceiver v2
    1. 画像を「領域提案」(BBox, Seg)としてエンコード
    → ローカリゼーションの情報を明示的に与える
    位置推定が正確になる
    リッチな特徴を獲得できる
    2. マルチタスク学習を安定化するオプティマイザ=MT-AdamW
    1イテレーションにおいて1つのGPUに対して1つのタスクのみサンプリング
    時刻tのタスクkの損失
    AdamW MT-AdamW
    重み減衰&バイアス項は割愛
    タスクkの損失重み
    タスク データセット
    Classification ImageNet-1K
    Detection, Instance Segmentation COCO
    Image Captioning/ Image-Text Retrieval SBU Captions, Visual Genome, COCO Caption, CC3M, CC12M, YFCC
    Language Modeling BookCorpus, English Wikipedia
    学習データ
    各提案に対して3つの表現
    RPN=MaskDINOの𝑓𝑔分類のみ版
    28x28
    28x28
    𝐹𝐿
    BPE
    tokenizer
    RoBERTa
    ローカリゼーションタスクで利用。
    各提案埋め込みと正解ラベル
    の埋め込みで比較して分類
    ResNet50 (IM1K)
    Swin-Base (IM-21k)
    Swin-Large (IM-21→Object365)
    Attribute-Level MoE
    下線のあるタスクを検証
    (計算リソースのため画像生成はやってない)
    追加
    ローカリゼーションタスク&非ローカリゼーションタスクを一緒に学習可能
    Li+, “Uni-Perceiver v2: A Generalist Model for Large-Scale Vision and Vision-Language Tasks”, CVPR, 2023
    Li+, “Uni-Perceiver v2: A Generalist Model for Large-Scale Vision and Vision-Language Tasks”, CVPR, 2023
    Li+, “Uni-Perceiver v2: A Generalist Model for Large-Scale Vision and Vision-Language Tasks”, CVPR, 2023

    View Slide

  16. ©2023 SenseTime Japan Ltd. All Rights Reserved. 15
    学習2
    全体おさらい
    InternImage
    Text Encoder
    Uni-Perceiver
    image
    text
    様々なタスク
    つよつよエンコーダ
    Task-Agnostic Decoder
    Uni-Perceiverの論文だとRoBERTa
    • DCNv3
    • 全体アーキ設計
    • Uni-Perceiver :タスク統一デコーダ
    • Uni-Perceiver MOE :タスクの勾配干渉問題解消
    • Uni-Perceiver v2 :ローカリゼーションタスク対応
    タスク データセット
    Classification ImageNet-1K
    Detection, Instance Segmentation COCO
    Image Captioning/ Image-Text Retrieval SBU Captions, Visual Genome, COCO Caption, CC3M, CC12M, YFCC
    Language Modeling BookCorpus, English Wikipedia
    (事前)学習1
    https://speakerdeck.com/academix/lun-wen-lun-du-hui-di-7hui-internimage-exploring-large-scale-vision-foundation-models-with-
    deformable-convolutions より引用

    View Slide

  17. ©2023 SenseTime Japan Ltd. All Rights Reserved. 16
    性能
    • Image-to-Text
    https://github.com/opengvlab/internimage より引用

    View Slide

  18. ©2023 SenseTime Japan Ltd. All Rights Reserved. 17

    View Slide

  19. ©2023 SenseTime Japan Ltd. All Rights Reserved. 18
    補足情報
    1 paper 1 slide

    View Slide

  20. ©2023 SenseTime Japan Ltd. All Rights Reserved. 19
    InternImage
    Deformable Convolution (DCN) を使った大規模な画像認識バックボーン
    なぜDCNv3を使うか
    ViT
    CNN
    広い受容野+適応的重み
    弱い畳み込みの帰納バイアス → 学習時間削減
    計算量少なめ
    DCNv2:
    カーネル重み 正規化重み
    (sigmoidで要素ごとに正規化)
    畳み込み位置オフセット
    入力特徴 ℝ𝐶×𝐻×𝑊
    アテンション位置を決める(=QK=Attention map)
    DCNv3:
    Separable Convolution
    グルーピング(疑似マルチヘッド化)
    サンプリング点に基づいた正規化
    G:G個グループ(ヘッド)に分割。重みをシェアする。
    𝒘𝑔
    : 𝒘𝑔𝑘
    ∈ ℝ 𝐶×𝐶′
    , 𝐶′ = 𝐶/𝐺 Cチャンネルを𝐶′チャンネルに分割 (Depth-wise)
    𝒎𝑔𝑘
    : カーネルがK点あると、和が[0, K]の範囲 → 学習不安定 → softmax正規化にして[0, 1]に収める
    DCNv3
    InternImageの全体設計
    Stacking Rules Scaling Rules
    最初のレイヤのチャネル数が
    後続レイヤのチャネル数を決める
    チャネル番号とグループ番号を対応付ける
    30Mパラにするために候補を絞ってグリッドサーチ
    深さ (3𝐿1
    + 𝐿3
    ) と幅(カーネル枚数𝐶1
    )で
    Compound Model Scalingファクタを探索
    𝜙はスケーリングファクタ(ハイパラ)
    𝛼, 𝛽はグリッドサーチで探索
    IntenImageでは𝛼 = 1.09, 𝛽 = 1.36と設定
    ※ 𝜙 = 1として探索していると予想
    Compound Model ScalingはEfficientNetのNAS手法
    ImageNetやLAIONで事前学習。
    Headの構成は明示されていない。
    LAIONの場合はM3Iという方法弱教師アルゴで学習されている
    特徴点:
    1. DCNv3の提案
    2. 知見に基づいた全体アーキ設計
    Wang+, “InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions”, CVPR(Highlight), 2023

    View Slide

  21. ©2023 SenseTime Japan Ltd. All Rights Reserved. 20
    Uni-Perceiver v1
    異なるモダリティの入力&出力を任意に組み合わせられる。しかもモデル(ヘッド含む)共通
    各モダリティ専用の軽量トークナイザ
    異なるモダリティのトークンを無造作にならべる
    対照学習
    各タスクを解く場合の入出力の設定
    問題点:タスク専用のモデルに比べると少し劣化する(統合モデルにしたことで互いのタスクが干渉し合う)
    Zhu+, “Uni-Perceiver: Pre-training Unified Architecture for Generic Perception for Zero-shot and Few-shot Tasks”, CVPR, 2022

    View Slide

  22. ©2023 SenseTime Japan Ltd. All Rights Reserved. 21
    Uni-Perceiver-MoE
    Uni-Perceiverの「タスク間で干渉しあって性能がでない」原因をもっと調査
    あるタスク𝑖, 𝑗に対する損失𝐿𝑖
    , 𝐿𝑗
    との勾配が同じ方向を向いているか。
    勾配方向が同じ=お互いに良い影響を及ぼしている
    〃 が反対=負の影響を及ぼしている
    タスクごとにアテンションを設計
    しかし、メモリ効率が悪い
    専用モデルを持っているが、メモリ効率が良い
    ルーティング(いろいろある、右図)
    k個のエキスパートが選ばれる
    まんべんなく選ばれる モダリティごとに選ばれる
    (図形の形で選ばれている)
    タスクで選ばれる
    (色で選ばれる)
    エキスパートの選び方
    (ルーティング)
    モダリティとタスクで選ばれる
    スパースなルーティングなため計算効率が良い
    Attribute Routingでは、タスクやモダリティに細かく対応できるようにしている。
    右表のようなラベルを用意して、Yes/Noを含む8信号に変換する。
    例えば、「画像分類タスク」の場合 [1, 0, 0, 1, 1, 0, 1]の様になる。
    問題点:Uni-Perceiver v1, Uni-Perceiver-MoEは生成タスクはできるが、検出・セグメンテーションはできない。 → v2で解決
    Zhu+, “Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs”, NeurIPS, 2022

    View Slide

  23. ©2023 SenseTime Japan Ltd. All Rights Reserved. 22
    Uni-Perceiver v2
    Uni-Perceiver v2と既存アプローチの比較
    Image Encoder
    ローカリゼーションタスク&非ローカリゼーションタスクを一緒に学習可能
    1. 画像を「領域提案」(BBox, Seg)としてエンコード
    → ローカリゼーションの情報を明示的に与える
    位置推定が正確になる
    リッチな特徴を獲得できる
    下線のあるタスクを検証
    (計算リソースのため画像生成はやってない)
    各提案に対して3つの表現
    RPN=MaskDINOの𝑓𝑔分類のみ版
    28x28
    28x28
    𝐹𝐿
    BPE
    tokenizer
    RoBERTa
    損失計算はv1と同じ ローカリゼーションタスクで利用。
    各提案埋め込みと正解ラベル
    の埋め込みで比較して分類
    2. マルチタスク学習を安定化するオプティマイザ=MT-AdamW
    1イテレーションにおいて1つのGPUに対して1つのタスクのみサンプリング
    時刻tのタスクkの損失
    AdamW MT-AdamW
    重み減衰&バイアス項は割愛
    タスクkの損失重み
    ResNet50 (IM1K)
    Swin-Base (IM-21k)
    Swin-Large (IM-21→Object365)
    タスク データセット
    Classification ImageNet-1K
    Detection, Instance Segmentation COCO
    Image Captioning/ Image-Text Retrieval SBU Captions, Visual Genome, COCO Caption, CC3M, CC12M, YFCC
    Language Modeling BookCorpus, English Wikipedia
    学習データ
    Attribute-Level MoE
    Li+, “Uni-Perceiver v2: A Generalist Model for Large-Scale Vision and Vision-Language Tasks”, CVPR, 2023

    View Slide

  24. ©2023 SenseTime Japan Ltd. All Rights Reserved. 23
    BEVFormer v1
    空間的時間的なトランスフォーマーエンコーダによりマルチカメラ+そのタイムスタンプをBEV特徴に埋め込む。
    BEV特徴に統合することで複数の自動運転タスクに補助情報を与えられる。
    BEV Queries Q ∈ ℝH×W×C、BEV平面のグリッド
    学習可能なグリッドパラメータ
    空間的アテンション=マルチカメラ画像へのアテンション
    時間的アテンション=過去のBEV特徴へのアテンション
    ResNet101 (FCOS3D)
    VoVNet (DD3D)
    マルチビューあるので計算量が多い
    → 計算コスト削減のためDeformable-Attention利用
    Deformable-Attentionをpillar-like query で3D拡張
    ピラーから3D参照ポイントをサンプリング 𝑁𝑟𝑒𝑓
    BEV特徴からワールド座標への変換
    3Dピラー点 を変換
    動いている物体の速度や静的物体の見えない部分に対処
    エゴモーション(実世界一位置にグリッド特徴が合わさるところ)をもとにBt−1
    をQに合わせる
    ただ、動的オブジェクトは単純に整合できないのでTSAを使って紐づけ
    Deform-AttentionのオフセットΔpはQとB𝑡−1
    ′ の連結で予測される
    一番最初は、タイムスタンプなしのセルフアテンション {Q,B𝑡−1
    ′ }で初期化
    Deformable-DETR (3D version)
    Panoptic SegFormer
    縦横 [-51.2, 51.2]で0.512m刻みのBEV特徴
    3D点 → 2Dに変換
    現在フレームt+2秒間の連続シーケンスから3フレームランダムにサンプリングして学習
    Li+, “BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers”, ECCV, 2022

    View Slide

  25. ©2023 SenseTime Japan Ltd. All Rights Reserved. 24
    BEVFormer v2
    Perspective SupervisionをBEVFormerに導入
    1st stage
    2nd stage
    BEVFormerでいうBEV Queryにマージ
    VoVNetなど深度推定事前学習されたものではなくても、何でもOK
    (BEVFormer v1)
    問題点:
    • 画像特徴についての学習・損失が暗黙的
    • 画像特徴についての学習がスパース
    少数のBEVグリッド(クエリ)のみが損失に貢献
    → 2D参照点周りのスパースな点しか使われない
    3D→2D投影と画像
    特徴のサンプリング後、
    損失に対して間接的
    になる
    バックボーンに十分にフィードバックできない
    画素ごとの”密な”検出を行う
    → 十分なシグナルをバックボーンに遅れる
    FCOS3D
    現在フレームと過去のあるフレームkのBEV特徴𝐵𝑡
    と𝐵𝑘
    の間をバイリニア補間でワープ T = [R|t]
    それらをチャネル次元に連結してチャネル削減を行う残差ブロックで処理。
    → サンプリング周期をv1より長くした
    オブジェクトクエリで物体のありそうな場所を学習
    → 問題点:
    1. ランダム初期化のクエリは長時間学習必要
    2. 推論時はすべての画像に対して固定
    → 解決策:
    検出結果をクエリとして組み込む (Hybrid Object Queries)
    サンプリングオフセットとアテンション重みを作るためのクエリ
    各クエリのサンプリング基準となるValue Featureの2D点
    Yang+, “BEVFormer v2: Adapting Modern Image Backbones to Bird's-Eye-View Recognition via Perspective Supervision”, CVPR, 2023

    View Slide

  26. ©2023 SenseTime Japan Ltd. All Rights Reserved. 25
    Deformable Attention (Deformable DETR) (1/2)
    https://www.weijiesu.com/research/Deformable-DETR/deformable_detr_iclr_presentation.pdf

    View Slide

  27. ©2023 SenseTime Japan Ltd. All Rights Reserved. 26
    Deformable Attention (Deformable DETR) (2/2)
    inputs
    bilinear sampling of sparse values
    values sampling offset
    aggregate by attention weights
    https://www.weijiesu.com/research/Deformable-DETR/deformable_detr_iclr_presentation.pdf のスライドを集約して作成

    View Slide