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

SSII2024 [TS3] 画像認識におけるマルチモーダル基盤モデル ~基盤モデル、あなた...

SSII2024 [TS3] 画像認識におけるマルチモーダル基盤モデル ~基盤モデル、あなたのタスクに役立つかも?~

More Decks by 画像センシングシンポジウム

Other Decks in Research

Transcript

  1. 画像認識、Vision-Language研究の歩み 4 CLIP爆誕︕ AlexNet 爆誕 ! 物体 検出 説明⽂ ⽣成

    猫と⽝が2匹ずつ ピンクの背景の前にいます。 識別 猫、⽝ 基盤モデル 猫と⽝が2匹ずつ ピンクの背景の前にいます。 猫、⽝ 多様なタスク それぞれに対するモデル ⼤規模⾔語モデルの合流 2021 2012 2024
  2. 学習データセット • Common Crawlの<alt text>のテキストと対応する画像 • 400Mのペア • ドメインが多様 •

    多分LAIONデータ(CLIP論⽂に明確にそうとは書いてない) 7 https://laion.ai/blog/laion-400-open-dataset/
  3. 8 Unified Contrastive Learning in Image-Text-Label Space, CVPR2022 画像 エンコーダ

    テキスト エンコーダ オレンジと灰⾊の⿃ 共通空間 Objective ペアの類似度を上げたい。 ⾮ペアは類似度を下げたい。 ペアが近くに配置されるような埋め込みを学習したい 学習対象︓400Mの画像テキストペア 説明⽂(キャプション)
  4. 12 バッチサイズが⼀つの鍵! ・Negative サンプルを増やすことができる ・CLIPでは32,768 ・異なるGPUから特徴を集めて計算 ・256 V100, 12 days,

    ViT-L/14 ペアの類似度を上げたい。 ⾮ペアは類似度を下げたい。 画像とテキスト間のContrastive Loss 1. 画像からテキストを持ってこれるか 2. テキストから画像を持ってこれるか
  5. 識別タスクへの応⽤ 13 画像 エンコーダ テキスト エンコーダ Bird Dog Cat Horse

    Human A photo of a {class name}. T1 T2 T3 T4 T5 I A photo of a bird. クラス 候補 類似度 テンプレートで ⽂章化 特定のデータに対する学習を⾏わない中で、識別を⾏う。 -> Zero-shotな識別 プロンプト 0.8 0.3 0.2 0.1 0.05
  6. 14 線形識別器を教師ありで学習した場合より Zero-shotで強い! 弱いドメインの例 Learning Transferable Visual Models From Natural

    Language Supervision CLIPのZero-shot識別 vs. ResNet50の線形層教師あり学習 多様なデータに対して識別が可能︕ RESISC45 PatchCamelyon EuroSAT DTD
  7. ロバストなZero-shot識別器 15 Learning Transferable Visual Models From Natural Language Supervision

    CLIPは多様なドメインに強い! 従来のモデルは異なるドメイン への汎化性能が低かった
  8. CLIPが⽕をつけた研究 17 ・精度向上 ・データ効率 ・計算効率 VLアプリケーションの進化 ・Open-Vocabulary 認識 ・⾔語と画像に関する拘束 ・ロバストなモデル実現

    ・パラメータ効率 基盤モデルのチューニング 発展的なVLモデルの提案 ・⾔語モデルとの組み合わせ ・タスクの統合 CLIPの改善, 理解
  9. CLIPが⽕をつけた研究 18 ・精度向上 ・データ効率 ・計算効率 CLIPの改善, 理解 VLアプリケーションの進化 ・Open-Vocabulary 認識

    ・⾔語と画像に関する拘束 ・ロバストなモデル実現 ・パラメータ効率 基盤モデルのチューニング 発展的なVLモデルの提案 スライドの最後を参照ください! ・⾔語モデルとの組み合わせ ・タスクの統合
  10. 20 Data Determines Distributional Robustness in Contrastive Language Image Pre-training

    (CLIP), 2022 ImageNet vs. ImageNet-Captions ⾔語でロバストネスは向上しなかった。 YFCC-classification vs. YFCC-Caption ⾔語を使わなくてもロバストだった。 画像データの分布が⼤事! ⾔語によるSupervisionではない。 画像特徴について︓ロバストさは何に⽀えられているのか︖ 検証: ⾔語を画像のSupervisionにすることで、ロバストになっているという意⾒
  11. Locked Image Tuning: 画像側の学習を⾏わない 21 LiT : Zero-Shot Transfer with

    Locked-image text Tuning, CVPR2022 仮説: ある程度強い学習済みの画像モデルがあれば、画像側の学習必要ないのでは︖ Image Encoder 事前学習なし Text Encoder 1. どちらもFull Scratch: CLIP Image Encoder 事前学習済み Text Encoder 2. 画像側 Unlock Image Encoder 事前学習済み Text Encoder 3. 画像側をLock
  12. 22 画像側Lock 画像側Unlock スクラッチ 画像側Lock 画像側Unlock スクラッチ 画像側の学習しなくても良さそう。 4Bのペアデータセットに対する結果。 Locked

    Image Tuning: 画像側の学習を⾏わない LiT : Zero-Shot Transfer with Locked-image text Tuning, CVPR2022 仮説: ある程度強い学習済みの画像モデルがあれば、画像側の学習必要ないのでは︖ 15Mペアでの学習
  13. なぜなのか 23 画像側Lock 画像側Unlock スクラッチ 画像側Lockは Lossが⼤きい 画像側Lockが⼀番良い! LiT :

    Zero-Shot Transfer with Locked-image text Tuning, CVPR2022 テストデータにおけるloss 学習データにおけるloss
  14. 画像特徴量の改善:画像に対する⾃⼰教師学習を取り⼊れる 24 SLIP: Self-supervision meets Language-Image Pre-training, 2021 SLIP: 画像に対するSelf-supervisionを組み合わせる

    DeCLIP: SUPERVISION EXISTS EVERYWHERE: A DATA EFFICIENT CONTRASTIVE LANGUAGE-IMAGE PRE-TRAINING PARADIGM, ICLR2022 DeCLIP: 画像と⾔語両⽅のデータ拡張 データ 拡張 データ 拡張
  15. ⾔語特徴に対する検証︓どこまで⾔語を理解できているのか︖ 25 Winoground: Probing Vision and Language Models for Visio-Linguistic

    Compositionality, CVPR2022 物体の⼊れ替え 関係性⼊れ替え 全然理解できていない。 Bag-of-wordsのように捉えているらしい.. Contrastive Learning最⼩化において、 関係性を理解しなければならないケースが少ない ー>Bag-of-words的な理解で⼗分
  16. 画像⽣成モデルを通した⾔語エンコーダについての解析 26 Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding,

    2022 Imagenの結果 Human Rating ・⾔語モデルに負ける ・関係性等を捉えられないからでは
  17. 28 効率の良い学習: データを減らす SemDeDup: Data-efficient learning at web-scale through semantic

    deduplication, 2023 ⾒た⽬が酷似 ⾒た⽬は違うが、 意味的には似ている 仮説: ⼤規模データセット内(LAION400M)のデータ全てが有益であるとは限らないのでは︖
  18. 29 SemDeDup: Data-efficient learning at web-scale through semantic deduplication, 2023

    仮説: ⼤規模データセット内(LAION440M)のデータ全てが有益であるとは限らないのでは︖ 画像の埋め込みに基づいて、 代表的な点のみをピックアップ 50%程度に減らしても精度をキープできる+ 冗⻑なサンプルを減らし、学習が早く進む。 効率の良い学習: データを減らす
  19. 効率の良い学習: 損失を変える 30 Sigmoid Loss for Language Image Pre-Training, ICCV2023

    Contrastive Loss ・他のGPUから特徴を集める必要がある(all gather) ・Bg * Bg の計算を⾏う必要があり ・サンプルごとに独⽴に計算できない Sigmoid Loss ・各サンプル独⽴にlossを計算 ・ペアは1, ⾮ペアは0にする ・ Bg * Bg のMatrixは必要無い。 =>バッチサイズを効率よく⼤きくできる
  20. 効率の良い学習: トークン数を減らす 32 An Inverse Scaling Law for CLIP Training,

    NeurIPS2024 Transformerモデルの計算量はトークン数に⼤きく依存する。 画像: ResizeまたはMaskingによって減らす テキスト: Masking、truncation
  21. Open-Vocabulary Object Detection: ⾔語をクエリにした物体検出 36 OPEN-VOCABULARY OBJECT DETECTION VIA VISION

    AND LANGUAGE KNOWLEDGE DISTILLATION, ICLR2022 領域を切り取って、CLIPにいれるだけで、 それなりに上⼿くは⾏くが、 速度等を考えると、物体検出モデル化したい。
  22. 37 CLIP テキスト エンコーダ Stop Sign Dice ・ ・ ・

    Horse Car A photo of a {class name}. T1 T2 T3 T4 T5 R1 R2 Cross-Entropy ⾔語ー領域間の アラインメント 領域ごと特徴 ⽬的: 領域毎の画像特徴量とテキスト特徴量を揃える データセット: 物体検出データセット 物体検出器 ・学習する物体検出データセットにないカテゴリーに対しても⾼い性能を出したい。 ・CLIP画像テキストエンコーダのペアは⾼い性能を出すはず。その性能を引き継ぎたい。 ・CLIP画像特徴っぽい特徴を領域特徴にしてあげれば、良いのでは︖
  23. 38 CLIP 画像 エンコーダ CLIP テキスト エンコーダ Stop Sign Dice

    ・ ・ ・ Horse Car A photo of a {class name}. T1 T2 T3 T4 T5 R1 R2 Cross-Entropy Cropされた領域 R1 R2 L1 distillation ⾔語ー領域間の アラインメント CLIP画像特徴に 領域特徴量を揃える 領域ごと特徴 ⽬的: 領域毎の画像特徴量とテキスト特徴量を揃える データセット: 物体検出データセット 物体検出器
  24. 39

  25. Open-Vocabulary Semantic Segmentation : ⾔語クエリSemantic Segmentation 40 Scaling Open-Vocabulary Image

    Segmentation with Image-Level Labels, ECCV2022 ALIGN OpenSeg ・CLIP等のモデルをピクセル毎に適⽤しても あまり上⼿くいかない。 ・データを作るにはコストが⾼い。 -> Image-Captionデータを⽤いて学習する︕ どの領域と、どの単語が対応しているのかが 分からない。 画像特徴量 = 領域毎の特徴量の組み合わせ 説明⽂特徴量 = 単語毎の特徴量の組み合わせ
  26. 41 Scaling Open-Vocabulary Image Segmentation with Image-Level Labels, ECCV2022 各物体に対するマスク

    各物体に対応する特徴量 ・画像をN個の領域(マスク内)特徴で表現 ・CaptionをK個の単語特徴で表現 画像 x Captionの類似度を NxKの類似度の総和のようなもので表現 得られた類似度を⽤いて バッチ内の画像CaptionでContrastive Learning 単語特徴 領域特徴 x 説明⽂ 画像 x 単語毎の特徴量
  27. 43 Image Encoder SAMデータセットには、 テキストの情報は無い. SAM CLIP 学習時 Text Encoder

    SAM テスト テキスト 特徴として 使う オレンジの⿃ テキスト特徴と画像特徴を 等価に扱えるような空間を CLIPは学習していた!
  28. Vision-Language 研究の歩み 45 CLIP爆誕︕ ・⾔語モデルとの接続! 2021 2024 Image Encoder Text

    Encoder ・⾔語モデルとはいえ、Captionのみで学習 Image Encoder + LLM Web ・より多様なタスクに適⽤ ・多様なタスクを1モデルで扱う
  29. 46 BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and

    Large Language Models, 2023 ・事前学習済みのLLM, Image Encoderを使⽤ ・画像と説明⽂のペアのみから学習 画像を⾔語トークンに変換するモジュール. Contrastive Loss, Captioning Loss等 画像の説明⽂を復元できるような トークンを推定している。 BLIP-2: ⾔語モデルとVLモデルの接続
  30. Pix2Seq: Visionタスクを⾔語⽣成タスクとみなす 48 A Unified Sequence Interface for Vision Tasks

    PIX2SEQ: A LANGUAGE MODELING FRAMEWORK FOR OBJECT DETECTION 矩形 (x1 , y1 , x2 , y2 )や ポリゴンを ⾔語系列とみなして⽣成
  31. その他の動き 50 UNIFIED-IO: A UNIFIED MODEL FOR VISION, LANGUAGE, AND

    MULTI-MODAL TASKS Unified-IO ・あらゆる出⼒に対応 ・ほぼタスク固有のヘッドを使⽤ VisionLLM VisionLLM: Large Language Model is also an Open-Ended Decoder for Vision-Centric Tasks ・LLMを使⽤したPix2Seq ・物体検出を⾃⼰回帰ではなく、識別タスクとみなす
  32. 56 ⼤規模 データセット 数億, 数10億 なにが基盤モデルを⽀えているのか • ⼤量のデータに関する知識を持つ必要がある=Fitしなければならない 事前学習 •

    個々のドメイン(データセット)に対して簡単にFitしないといけない • 基盤の知識を失いたくはない ダウンストリーム学習
  33. 62 猫は髭を持つ? Yes or No, QAデータセット ⻲は髭を持つ? チーターは髭を持つ Yes ???

    猫は髭を持つ? ⻲は髭を持つ? チューニング 基盤モデルの優秀さとは
  34. 63 猫は髭を持つ? Yes or No, QAデータセット ⻲は髭を持つ? チーターは髭を持つ Yes ???

    猫は髭を持つ? ⻲は髭を持つ? チューニング 基盤モデルの優秀さとは ダウンストリームで学習する データセットに無い知識を カバーできる︕
  35. Taskを切り替えるPrompt学習 65 Transformer I have a pen Prompt Tuning 学習可能プロンプト

    (パラメータ) • 少量パラメータの学習でDownstreamタスクへの学習を可能にする • モデルのタスクを切り替えるためのスイッチとも⾒なせる The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021
  36. Taskを切り替えるPrompt学習 66 Transformer I have a pen Prompt Tuning 学習可能プロンプト

    (パラメータ) The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021
  37. Taskを切り替えるPrompt学習 67 Transformer I have a pen Prompt Tuning 学習可能プロンプト

    (パラメータ) 基盤モデルのパラメータが多けれ ば、Full-tuningと遜⾊ない精度 The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021
  38. 様々なParameter-EfficientなTuning⼿法 69 Neural Prompt Search, Arxiv 2022 Scaling & Shifting

    Your Features: A New Baseline for Efficient Model Tuning, NeurIPS2022 • Prompt Tuning • Input Layer • 低ランクな⾏列アップデート • MLP, Self-Attention層 • スケールパラメータの学習 • 層と層の間 導⼊するモジュールの数(Promptの数等)を変えることで、アップデートをコントロールする。
  39. データセットの知識を統合する学習 81 モデルA モデルB データセットA データセットB モデル データセットA データセットB +

    • モデル間でデータセットAとBの知識は共有されない • AとBの知識を共有したモデルを作りたい • テスト時にタスクの切り替えもしたい
  40. 識別⽤データセットと説明⽂データセットの統合 83 識別データセット 説明⽂データセット + Two brown puppies on grass

    A airplane flying over the shiny clouds Beautiful purple flower is centered ü 多様な画像のドメイン ü 多様な語彙 ü Fine-grainedなクラス ü ラベル分布が均⼀ ⾔語 エンコーダー 画像 エンコーダー Prefix Conditioning Unifies Language and Label Supervision, CVPR2023
  41. 84 ⾔語 エンコーダー 画像 エンコーダー 説明⽂データセット A airplane flying over

    the shiny clouds . Two brown puppies are playing on the grass. Beautiful purple flower centered on the image. Classification (識別) データセット A close-up of a persian cat A photo of a redbone A picture of american robin 損失 (Contrastive Loss)
  42. 85 ⾔語 エンコーダー 画像 エンコーダー 説明⽂データセット A airplane flying over

    the shiny clouds . Two brown puppies are playing on the grass. Beautiful purple flower centered on the image. Classification (識別) データセット A close-up of a persian cat A photo of a redbone A picture of american robin Two brown grass a airplane clouds beautiful purple image … … … a photo redbone a close-up cat a picture robin … … … Tokenize Tokenize 損失 (Contrastive Loss)
  43. 86 ⾔語 エンコーダー 画像 エンコーダー 説明⽂データセット A airplane flying over

    the shiny clouds . Two brown puppies are playing on the grass. Beautiful purple flower centered on the image. Classification (識別) データセット A close-up of a persian cat A photo of a redbone A picture of american robin <説明⽂> Two brown grass a airplane clouds beautiful purple image … … … <識別> <識別> <識別> a photo redbone a close-up cat a picture robin … … … Tokenize Tokenize Prompt Prompt <説明⽂> <説明⽂> 損失 (Contrastive Loss)
  44. 87 ⾔語 エンコーダー 画像 エンコーダー 説明⽂データセット A airplane flying over

    the shiny clouds . Two brown puppies are playing on the grass. Beautiful purple flower centered on the image. Classification (識別) データセット A close-up of a persian cat A photo of a redbone A picture of american robin <説明⽂> Two brown grass a airplane clouds beautiful purple image … … … <識別> <識別> <識別> a photo redbone a close-up cat a picture robin … … … Tokenize Tokenize Prompt Prompt <説明⽂> <説明⽂> 損失 (Contrastive Loss) ・効率よく知識統合できる! ・推論時にスイッチングできる︕
  45. 88 ⾚︓Classification データセットプロンプト ⻘︓Caption データセットプロンプト ⾔語Embeddingの分布 (プロンプトのみをスイッチ) Training Dataset IN21K

    CC12M IN21K + CC12M IN21K + CC12M CLIP UniCL CLIP+ Ours UniCL+ Ours Accuracy (%) on 11 standard zero-shot benchmark 知識統合のメリット+タスクの切り替えを観測
  46. 説明⽂の質を考慮する学習 89 Noise-aware Learning from Web-crawled Image-Text Data for Image

    Captioning, ICCV 2023 画像ー説明⽂ペア データセット 説明⽂ ⽣成モデル
  47. 説明⽂の質を考慮する学習 90 Noise-aware Learning from Web-crawled Image-Text Data for Image

    Captioning, ICCV 2023 画像ー説明⽂ペア データセット 説明⽂ ⽣成モデル 詳細、普通, 雑な説明⽂、全てがデータセットに含まれる。 => ⽣成される⽂の質をうまくコントロールできない。 問題点
  48. 説明⽂の質を考慮する学習 92 説明⽂ ⽣成モデル 画像ー説明⽂ペア データセット Z=1: 雑な説明⽂ Z=2: 普通の説明⽂

    Z=3: 詳細な説明⽂ クラスタID: 1 + 説明⽂a クラスタID: 2 クラスタID: 3 + 説明⽂b + 説明⽂c 学習! 学習可能Prompt キャプションのグループ分け
  49. Parameter Efficientなチューニングのまとめ • Parameter Efficientなチューニング – 精度向上はデータセット依存な部分が⼤きい – 組み合わせのSearch等 •

    タスク切り替えとしてのParameter Efficientなモデル – データセットの違いを考慮しつつ、知識を統合する学習 94
  50. ファインチューニングはドメイン汎化能⼒を落とす︖ 96 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習

    ⼀般的なファインチューニング (FT) ランダムに初期化 線形層 • 学習データに対して、しっかりFitする。 • 事前学習済みモデルは更新されてしまう。 Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022
  51. ファインチューニングはドメイン汎化能⼒を落とす︖ 97 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習

    事前学習済み モデル ランダムに初期化 線形層 線形層のみ学習 (Linear Probing) ⼀般的なファインチューニング (FT) ランダムに初期化 線形層 • 学習データに対して、しっかりFitする。 • 事前学習済みモデルは更新されてしまう。 • 線形層のみでは、しっかりFitできないかも。 • 事前学習済みモデルは完全に保持できる。 Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022
  52. 98 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習 事前学習済み

    モデル 線形層のみ学習 (Linear Probing) 事前学習済み モデル 学習された 線形層 ⼀般的なファインチューニング (FT) 全層学習 全層学習 (FT) ランダムに初期化 線形層 ランダムに初期化 線形層 ?? ファインチューニングはドメイン汎化能⼒を落とす︖ Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022
  53. Model Soup: モデルの重みアンサンブル 100 Model soups: averaging weights of multiple

    fine-tuned models improves accuracy without increasing inference time, ICML2022 ⽝ キツネ キツネ キツネ ⼀般的なアンサンブル: 予測結果を統合する 学習 モデル 学習 モデル 学習 モデル
  54. Model Soup: モデルの重みアンサンブル 101 学習 モデル 学習 モデル 学習 モデル

    平均 モデル Model Soup: 重み空間でアンサンブルをとる しかし, 普通に平均化するのでは、ダメそう.. Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time, ICML2022 重みの平均 ⽝ キツネ キツネ キツネ ⼀般的なアンサンブル: 予測結果を統合する 学習 モデル 学習 モデル 学習 モデル
  55. 102 事前学習済み モデル 線形層 線形層のみ学習 (Linear Probing) 学習 モデル 線形層

    学習 モデル 線形層 学習 モデル 線形層 ・ ・ ・ モデル初期化 各モデルを独⽴に学習
  56. 103 事前学習済み モデル 線形層 線形層のみ学習 (Linear Probing) 学習 モデル 線形層

    学習 モデル 線形層 学習 モデル 線形層 ・ ・ ・ モデル初期化 各モデルを独⽴に学習 平均化 モデル 線形層 重み付け平均