Share
Embed
Transcript
103 slides
-
画像認識、Vision-Language研究の歩み 4 CLIP爆誕︕ AlexNet 爆誕 ! 物体 検出 説明⽂ ⽣成
猫と⽝が2匹ずつ ピンクの背景の前にいます。 識別 猫、⽝ 基盤モデル 猫と⽝が2匹ずつ ピンクの背景の前にいます。 猫、⽝ 多様なタスク それぞれに対するモデル ⼤規模⾔語モデルの合流 2021 2012 2024 -
学習データセット • Common Crawlの<alt text>のテキストと対応する画像 • 400Mのペア • ドメインが多様 •
多分LAIONデータ(CLIP論⽂に明確にそうとは書いてない) 7 https://laion.ai/blog/laion-400-open-dataset/ -
8 Unified Contrastive Learning in Image-Text-Label Space, CVPR2022 画像 エンコーダ
テキスト エンコーダ オレンジと灰⾊の⿃ 共通空間 Objective ペアの類似度を上げたい。 ⾮ペアは類似度を下げたい。 ペアが近くに配置されるような埋め込みを学習したい 学習対象︓400Mの画像テキストペア 説明⽂(キャプション) -
12 バッチサイズが⼀つの鍵! ・Negative サンプルを増やすことができる ・CLIPでは32,768 ・異なるGPUから特徴を集めて計算 ・256 V100, 12 days,
ViT-L/14 ペアの類似度を上げたい。 ⾮ペアは類似度を下げたい。 画像とテキスト間のContrastive Loss 1. 画像からテキストを持ってこれるか 2. テキストから画像を持ってこれるか -
識別タスクへの応⽤ 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 -
14 線形識別器を教師ありで学習した場合より Zero-shotで強い! 弱いドメインの例 Learning Transferable Visual Models From Natural
Language Supervision CLIPのZero-shot識別 vs. ResNet50の線形層教師あり学習 多様なデータに対して識別が可能︕ RESISC45 PatchCamelyon EuroSAT DTD -
ロバストなZero-shot識別器 15 Learning Transferable Visual Models From Natural Language Supervision
CLIPは多様なドメインに強い! 従来のモデルは異なるドメイン への汎化性能が低かった -
CLIPが⽕をつけた研究 17 ・精度向上 ・データ効率 ・計算効率 VLアプリケーションの進化 ・Open-Vocabulary 認識 ・⾔語と画像に関する拘束 ・ロバストなモデル実現
・パラメータ効率 基盤モデルのチューニング 発展的なVLモデルの提案 ・⾔語モデルとの組み合わせ ・タスクの統合 CLIPの改善, 理解 -
CLIPが⽕をつけた研究 18 ・精度向上 ・データ効率 ・計算効率 CLIPの改善, 理解 VLアプリケーションの進化 ・Open-Vocabulary 認識
・⾔語と画像に関する拘束 ・ロバストなモデル実現 ・パラメータ効率 基盤モデルのチューニング 発展的なVLモデルの提案 スライドの最後を参照ください! ・⾔語モデルとの組み合わせ ・タスクの統合 -
20 Data Determines Distributional Robustness in Contrastive Language Image Pre-training
(CLIP), 2022 ImageNet vs. ImageNet-Captions ⾔語でロバストネスは向上しなかった。 YFCC-classification vs. YFCC-Caption ⾔語を使わなくてもロバストだった。 画像データの分布が⼤事! ⾔語によるSupervisionではない。 画像特徴について︓ロバストさは何に⽀えられているのか︖ 検証: ⾔語を画像のSupervisionにすることで、ロバストになっているという意⾒ -
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 -
22 画像側Lock 画像側Unlock スクラッチ 画像側Lock 画像側Unlock スクラッチ 画像側の学習しなくても良さそう。 4Bのペアデータセットに対する結果。 Locked
Image Tuning: 画像側の学習を⾏わない LiT : Zero-Shot Transfer with Locked-image text Tuning, CVPR2022 仮説: ある程度強い学習済みの画像モデルがあれば、画像側の学習必要ないのでは︖ 15Mペアでの学習 -
なぜなのか 23 画像側Lock 画像側Unlock スクラッチ 画像側Lockは Lossが⼤きい 画像側Lockが⼀番良い! LiT :
Zero-Shot Transfer with Locked-image text Tuning, CVPR2022 テストデータにおけるloss 学習データにおけるloss -
画像特徴量の改善:画像に対する⾃⼰教師学習を取り⼊れる 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: 画像と⾔語両⽅のデータ拡張 データ 拡張 データ 拡張 -
⾔語特徴に対する検証︓どこまで⾔語を理解できているのか︖ 25 Winoground: Probing Vision and Language Models for Visio-Linguistic
Compositionality, CVPR2022 物体の⼊れ替え 関係性⼊れ替え 全然理解できていない。 Bag-of-wordsのように捉えているらしい.. Contrastive Learning最⼩化において、 関係性を理解しなければならないケースが少ない ー>Bag-of-words的な理解で⼗分 -
画像⽣成モデルを通した⾔語エンコーダについての解析 26 Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding,
2022 Imagenの結果 Human Rating ・⾔語モデルに負ける ・関係性等を捉えられないからでは -
28 効率の良い学習: データを減らす SemDeDup: Data-efficient learning at web-scale through semantic
deduplication, 2023 ⾒た⽬が酷似 ⾒た⽬は違うが、 意味的には似ている 仮説: ⼤規模データセット内(LAION400M)のデータ全てが有益であるとは限らないのでは︖ -
29 SemDeDup: Data-efficient learning at web-scale through semantic deduplication, 2023
仮説: ⼤規模データセット内(LAION440M)のデータ全てが有益であるとは限らないのでは︖ 画像の埋め込みに基づいて、 代表的な点のみをピックアップ 50%程度に減らしても精度をキープできる+ 冗⻑なサンプルを減らし、学習が早く進む。 効率の良い学習: データを減らす -
効率の良い学習: 損失を変える 30 Sigmoid Loss for Language Image Pre-Training, ICCV2023
Contrastive Loss ・他のGPUから特徴を集める必要がある(all gather) ・Bg * Bg の計算を⾏う必要があり ・サンプルごとに独⽴に計算できない Sigmoid Loss ・各サンプル独⽴にlossを計算 ・ペアは1, ⾮ペアは0にする ・ Bg * Bg のMatrixは必要無い。 =>バッチサイズを効率よく⼤きくできる -
効率の良い学習: トークン数を減らす 32 An Inverse Scaling Law for CLIP Training,
NeurIPS2024 Transformerモデルの計算量はトークン数に⼤きく依存する。 画像: ResizeまたはMaskingによって減らす テキスト: Masking、truncation -
Open-Vocabulary Object Detection: ⾔語をクエリにした物体検出 36 OPEN-VOCABULARY OBJECT DETECTION VIA VISION
AND LANGUAGE KNOWLEDGE DISTILLATION, ICLR2022 領域を切り取って、CLIPにいれるだけで、 それなりに上⼿くは⾏くが、 速度等を考えると、物体検出モデル化したい。 -
37 CLIP テキスト エンコーダ Stop Sign Dice ・ ・ ・
Horse Car A photo of a {class name}. T1 T2 T3 T4 T5 R1 R2 Cross-Entropy ⾔語ー領域間の アラインメント 領域ごと特徴 ⽬的: 領域毎の画像特徴量とテキスト特徴量を揃える データセット: 物体検出データセット 物体検出器 ・学習する物体検出データセットにないカテゴリーに対しても⾼い性能を出したい。 ・CLIP画像テキストエンコーダのペアは⾼い性能を出すはず。その性能を引き継ぎたい。 ・CLIP画像特徴っぽい特徴を領域特徴にしてあげれば、良いのでは︖ -
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画像特徴に 領域特徴量を揃える 領域ごと特徴 ⽬的: 領域毎の画像特徴量とテキスト特徴量を揃える データセット: 物体検出データセット 物体検出器 -
Open-Vocabulary Semantic Segmentation : ⾔語クエリSemantic Segmentation 40 Scaling Open-Vocabulary Image
Segmentation with Image-Level Labels, ECCV2022 ALIGN OpenSeg ・CLIP等のモデルをピクセル毎に適⽤しても あまり上⼿くいかない。 ・データを作るにはコストが⾼い。 -> Image-Captionデータを⽤いて学習する︕ どの領域と、どの単語が対応しているのかが 分からない。 画像特徴量 = 領域毎の特徴量の組み合わせ 説明⽂特徴量 = 単語毎の特徴量の組み合わせ -
41 Scaling Open-Vocabulary Image Segmentation with Image-Level Labels, ECCV2022 各物体に対するマスク
各物体に対応する特徴量 ・画像をN個の領域(マスク内)特徴で表現 ・CaptionをK個の単語特徴で表現 画像 x Captionの類似度を NxKの類似度の総和のようなもので表現 得られた類似度を⽤いて バッチ内の画像CaptionでContrastive Learning 単語特徴 領域特徴 x 説明⽂ 画像 x 単語毎の特徴量 -
43 Image Encoder SAMデータセットには、 テキストの情報は無い. SAM CLIP 学習時 Text Encoder
SAM テスト テキスト 特徴として 使う オレンジの⿃ テキスト特徴と画像特徴を 等価に扱えるような空間を CLIPは学習していた! -
Vision-Language 研究の歩み 45 CLIP爆誕︕ ・⾔語モデルとの接続! 2021 2024 Image Encoder Text
Encoder ・⾔語モデルとはいえ、Captionのみで学習 Image Encoder + LLM Web ・より多様なタスクに適⽤ ・多様なタスクを1モデルで扱う -
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モデルの接続 -
Pix2Seq: Visionタスクを⾔語⽣成タスクとみなす 48 A Unified Sequence Interface for Vision Tasks
PIX2SEQ: A LANGUAGE MODELING FRAMEWORK FOR OBJECT DETECTION 矩形 (x1 , y1 , x2 , y2 )や ポリゴンを ⾔語系列とみなして⽣成 -
その他の動き 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 ・物体検出を⾃⼰回帰ではなく、識別タスクとみなす -
まとめ • CLIP: ロバストで多様なアプリケーションを持つFramework – データがCLIPを⽀える – 改善案を通して理解するCLIPの性質 • 画像モデルと⾔語モデルの接続
– ⼤規模⾔語モデルの知識との合流 – 単⼀モデルの多様なタスクへの適⽤ 51 -
56 ⼤規模 データセット 数億, 数10億 なにが基盤モデルを⽀えているのか • ⼤量のデータに関する知識を持つ必要がある=Fitしなければならない 事前学習 •
個々のドメイン(データセット)に対して簡単にFitしないといけない • 基盤の知識を失いたくはない ダウンストリーム学習 -
62 猫は髭を持つ? Yes or No, QAデータセット ⻲は髭を持つ? チーターは髭を持つ Yes ???
猫は髭を持つ? ⻲は髭を持つ? チューニング 基盤モデルの優秀さとは -
63 猫は髭を持つ? Yes or No, QAデータセット ⻲は髭を持つ? チーターは髭を持つ Yes ???
猫は髭を持つ? ⻲は髭を持つ? チューニング 基盤モデルの優秀さとは ダウンストリームで学習する データセットに無い知識を カバーできる︕ -
Taskを切り替えるPrompt学習 65 Transformer I have a pen Prompt Tuning 学習可能プロンプト
(パラメータ) • 少量パラメータの学習でDownstreamタスクへの学習を可能にする • モデルのタスクを切り替えるためのスイッチとも⾒なせる The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021 -
Taskを切り替えるPrompt学習 66 Transformer I have a pen Prompt Tuning 学習可能プロンプト
(パラメータ) The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021 -
Taskを切り替えるPrompt学習 67 Transformer I have a pen Prompt Tuning 学習可能プロンプト
(パラメータ) 基盤モデルのパラメータが多けれ ば、Full-tuningと遜⾊ない精度 The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021 -
様々な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の数等)を変えることで、アップデートをコントロールする。 -
結局どれが⼀番いいのか • パラメータ効率 – 少ないParameter量でどれだけ精度があがるのか • 学習効率 – 少ない学習コストでどれだけ精度があがるのか 70
データセット, 事前学習モデル依存である。 -
なぜなのか 77 • 知識アップデート能⼒は⼿法固有であるはず – 能⼒⼤︕ => アップデートしすぎる可能性がある (Over Fitting)
– 能⼒⼩ ! => アップデートしきれない (Under Fitting) -
データセットの知識を統合する学習 81 モデルA モデルB データセットA データセットB モデル データセットA データセットB +
• モデル間でデータセットAとBの知識は共有されない • AとBの知識を共有したモデルを作りたい • テスト時にタスクの切り替えもしたい -
データセットによる違い 82 Captionの詳細さにおける違い りんご 3つの⾚いりんごが ⽊⽬の板の上にある ⿃ オレンジと⽩の⿃ 猫 シャム猫が
こっちをみている 画像のドメインに関する違い -
識別⽤データセットと説明⽂データセットの統合 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 -
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) -
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) -
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) -
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) ・効率よく知識統合できる! ・推論時にスイッチングできる︕ -
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 知識統合のメリット+タスクの切り替えを観測 -
説明⽂の質を考慮する学習 89 Noise-aware Learning from Web-crawled Image-Text Data for Image
Captioning, ICCV 2023 画像ー説明⽂ペア データセット 説明⽂ ⽣成モデル -
説明⽂の質を考慮する学習 90 Noise-aware Learning from Web-crawled Image-Text Data for Image
Captioning, ICCV 2023 画像ー説明⽂ペア データセット 説明⽂ ⽣成モデル 詳細、普通, 雑な説明⽂、全てがデータセットに含まれる。 => ⽣成される⽂の質をうまくコントロールできない。 問題点 -
説明⽂の質を考慮する学習 92 説明⽂ ⽣成モデル 画像ー説明⽂ペア データセット Z=1: 雑な説明⽂ Z=2: 普通の説明⽂
Z=3: 詳細な説明⽂ クラスタID: 1 + 説明⽂a クラスタID: 2 クラスタID: 3 + 説明⽂b + 説明⽂c 学習! 学習可能Prompt キャプションのグループ分け -
説明⽂の質を考慮する学習 93 Noise-aware Learning from Web-crawled Image-Text Data for Image
Captioning, ICCV 2023 -
Parameter Efficientなチューニングのまとめ • Parameter Efficientなチューニング – 精度向上はデータセット依存な部分が⼤きい – 組み合わせのSearch等 •
タスク切り替えとしてのParameter Efficientなモデル – データセットの違いを考慮しつつ、知識を統合する学習 94 -
ファインチューニングはドメイン汎化能⼒を落とす︖ 96 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習
⼀般的なファインチューニング (FT) ランダムに初期化 線形層 • 学習データに対して、しっかりFitする。 • 事前学習済みモデルは更新されてしまう。 Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022 -
ファインチューニングはドメイン汎化能⼒を落とす︖ 97 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習
事前学習済み モデル ランダムに初期化 線形層 線形層のみ学習 (Linear Probing) ⼀般的なファインチューニング (FT) ランダムに初期化 線形層 • 学習データに対して、しっかりFitする。 • 事前学習済みモデルは更新されてしまう。 • 線形層のみでは、しっかりFitできないかも。 • 事前学習済みモデルは完全に保持できる。 Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022 -
98 事前学習済み モデル 事前学習に使った 識別器 (線形層) 事前学習済み モデル 全層学習 事前学習済み
モデル 線形層のみ学習 (Linear Probing) 事前学習済み モデル 学習された 線形層 ⼀般的なファインチューニング (FT) 全層学習 全層学習 (FT) ランダムに初期化 線形層 ランダムに初期化 線形層 ?? ファインチューニングはドメイン汎化能⼒を落とす︖ Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution, ICLR2022 -
Model Soup: モデルの重みアンサンブル 100 Model soups: averaging weights of multiple
fine-tuned models improves accuracy without increasing inference time, ICML2022 ⽝ キツネ キツネ キツネ ⼀般的なアンサンブル: 予測結果を統合する 学習 モデル 学習 モデル 学習 モデル -
Model Soup: モデルの重みアンサンブル 101 学習 モデル 学習 モデル 学習 モデル
平均 モデル Model Soup: 重み空間でアンサンブルをとる しかし, 普通に平均化するのでは、ダメそう.. Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time, ICML2022 重みの平均 ⽝ キツネ キツネ キツネ ⼀般的なアンサンブル: 予測結果を統合する 学習 モデル 学習 モデル 学習 モデル -
102 事前学習済み モデル 線形層 線形層のみ学習 (Linear Probing) 学習 モデル 線形層
学習 モデル 線形層 学習 モデル 線形層 ・ ・ ・ モデル初期化 各モデルを独⽴に学習 -
103 事前学習済み モデル 線形層 線形層のみ学習 (Linear Probing) 学習 モデル 線形層
学習 モデル 線形層 学習 モデル 線形層 ・ ・ ・ モデル初期化 各モデルを独⽴に学習 平均化 モデル 線形層 重み付け平均 -
様々なドメインで汎化する! 104 普通に学習した場合 と⽐べて精度が⾼い 72 Modelからの Soup 学習ドメインにおける精度 (横軸)vs 異なるドメインにおける精度
(縦軸) Uniform: 全モデル⾜し合わせる Greedy: ⾜し合わせて精度が上がるかどうかで、取捨選択