---
title: 〇
tags:  #deep learning  
author: [Deep Learning JP](https://www.docswell.com/user/DeepLearning2023)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YE65D546JV.jpg?width=480
description: 2022/7/1 Deep Learning JP http://deeplearning.jp/seminar-2/
published: July 07, 22
canonical: https://www.docswell.com/s/DeepLearning2023/5DE63D-dlhow-much-can-clip-benefit-visionandlanguage-tasks-252137108
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YE65D546JV.jpg)

DEEP LEARNING JP
[DL Papers]
How Much Can CLIP Benefit Vision-and-Language Tasks?
CLIPは画像×言語タスクにどれだけ貢献できるだろうか？（ICLR 2022）
山本 貴之（ヤフー株式会社）
http://deeplearning.jp/
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GE5Y3YQ5E4.jpg)

書誌情報
タイトル： How Much Can CLIP Benefit Vision-and-Language Tasks?
CLIPは画像×言語タスクにどれだけ貢献できるだろうか？
https://openreview.net/pdf?id=zf_Ll3HZWgy
(ICLR 2022 Poster)
著者：
Sheng Shen∗†, Liunian Harold Li∗‡, Hao Tan◦ , Mohit Bansal◦ , Anna Rohrbach† , Kai-Wei Chang‡ , Zhewei Yao† and Kurt Keutzer†
†University of California, Berkeley, ‡University of California, Los Angeles ◦University of North Carolina at Chapel Hill
概要： 先行研究CLIPは優れた画像×言語エンコーダーという仮定の下、CLIPを下流タスクと統合する事で、
従来の下流タスクでSotAを出せるはずという仮説。多数の実験を行い検証。手法を提案
選定理由： 1) マルチモーダル大規模基盤モデルが、シングルモーダルタスクの性能を上げる（ここへの興味）
2) 言語込でマルチモーダル学習すると、人の知恵の記録である言語の力を活かせるのでは（仮説）
公式実装：
https://github.com/clip-vil/CLIP-ViL
※出典記載の無い図表は本論文からの引用
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/972GZGPG7R.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/DJYVRV5GJM.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/V7NMDMN8E8.jpg)

１. 導入
背景
 画像に対するQ&amp;Aタスク(VQA)では、画像エンコーダーの性能がボトルネックと言われている
モチベー
ション  CLIPだけでVQAタスクは性能が出ない。CLIPと既存VQAモデルを統合すると性能が出るのでは？
実験
 CLIPを独立した画像エンコーダーとして利用。既存研究のVQAモデルに画像表現として入力
 CLIPとVQAモデルを統合しEndToEndで学習
結論
 CLIPをうまく使う事で、既存VQAタスクに比べ大幅な精度向上（SotA）
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/YJ9NGNRXJ3.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GJ8KVKW9ED.jpg)

２. 先行研究 CLIP
何を推論するモデルか？
学習済CLIPモデルの推論
テキスト入力
テキストの表現ベクトル
バッチ内の
対応するペアは近くに
対応する４億ペア
それ以外は遠くなるように
で学習している
学習したモデル
画像入力
下記論文の図をベースに輪読者加筆
Alec Radford, et al. 2021. Learning transferable visual models from natural language supervision.
バッチ内の
対応するペアは近くに
対照推定
それ以外は遠くなるように
学習したモデル
画像の表現ベクトル
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LJLZ5ZNM7R.jpg)

２. 先行研究 CLIP
モデル構造
エンコーダー部の構造
テキスト用モデル
✓
Transformer
8アテンションヘッド 6,300万パラメータ
12層512次元 49,152ボキャブサイズ
本論文では
両モデルで比較
✓
画像用モデル
ResNet
5種類：ResNet 50･ResNet 101･RN50x4･RN50x16･RN50x64
✓
VisionTransformer
3種類：ViT B/32･ViT B/16･ViT L/14
下記論文の図をベースに輪読者加筆
Alec Radford, et al. 2021. Learning transferable visual models from natural language supervision.
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/47MV3VX67W.jpg)

２. 先行研究 CLIP
ゼロショット分類の利用手法
“A photo of a”をプロンプトとして付ける理由は、
１枚の画像には複数の被写体や要素があり、学習時の説明文は
これらを説明する「完全な文章」である為、分類したい被写体(犬)を
精度高く分類するために付けている。
これにより精度が1.3%向上する
入力：分類候補
入力：分類したい画像
下記論文の図をベースに輪読者加筆
Alec Radford, et al. 2021. Learning transferable visual models from natural language supervision.
出力：分類候補の中で最も
類似度が高いものを正解とする
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/P7R2Q2NNJ9.jpg)

２. 先行研究 LXMERT: Learning Cross-Modality Encoder Representations from Transformers
 既存VQAモデル。SotA（論文執筆時点）
 構造はTransformerベース
 本論文の下流タスクVQAモデルとして、CLIPと統合させて利用している
セルフ
アテンション
クロス
アテンション
フィード
フォワード
LXMERT: Learning Cross-Modality Encoder Representations from Transformers (EMNLP,2019)
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PJXD5DN8EX.jpg)

２. 先行研究 LXMERT: Learning Cross-Modality Encoder Representations from Transformers
 クロスアテンション詳細
ソースコードの関連行のみ抜粋
class LXRTXLayer(nn.Module):
def __init__(self, config):
self.visual_attention = BertCrossattLayer(config)
画像から
Query
画像入力
画像出力
言語から
Key, Value
言語出力
言語入力
画像から
Key,Value
def cross_att(self, lang_input, lang_attention_mask, visn_input, visn_attention_mask):
lang_att_output = self.visual_attention(lang_input, visn_input, ctx_att_mask=visn_attention_mask)
画像出力 visn_att_output = self.visual_attention(visn_input, lang_input, ctx_att_mask=lang_attention_mask)
class BertCrossattLayer(nn.Module):
def __init__(self, config):
self.att = BertAttention(config)
言語から
Query
言語から
Query
画像から
Query
言語から
Key,Value
def forward(self, input_tensor, ctx_tensor, ctx_att_mask=None):
output = self.att(input_tensor, ctx_tensor, ctx_att_mask)
画像から
Key, Value
言語出力
class BertAttention(nn.Module):
def forward(self, hidden_states, context, attention_mask=None):
mixed_query_layer = self.query(hidden_states)
mixed_key_layer = self.key(context)
mixed_value_layer = self.value(context)
LXMERT: Learning Cross-Modality Encoder Representations from Transformers (EMNLP,2019)
https://github.com/airsplay/lxmert/blob/0db1182b9030da3ce41f17717cc628e1cd0a95d5/src/lxrt/modeling.py
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/3JKX6XNLED.jpg)

２. 先行研究 LXMERT: Learning Cross-Modality Encoder Representations from Transformers
 ５種類のプレトレーニング実施（→本論文では内３種類を利用）
 パラメータは０から学習（BERT学習済より精度が良かった為）
マスクオブジェクト予測
※本論文では不使用
LXMERT: Learning Cross-Modality Encoder Representations from Transformers (EMNLP,2019)
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/LE3565V6J5.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/8EDDVD8MEG.jpg)

３. 手法
実験タスクは大きく２種類
① 独立利用：CLIP画像エンコーダー → 既存VQAモデルに入力
② 結合学習：CLIPとVQAモデル（LXMERT）を結合 → EndToEndで学習
タスク
独立利用①
結合学習②
画像質問応答
Pythia
MCAN
LXMERT
Visual Question&amp;Answer
画像キャプション
Image Captioning
VL Navigation
全体のポイントを説明する為、
説明分量の観点から輪読省略
Vision&amp;Language Navigation
Pythia : https://arxiv.org/pdf/1807.09956.pdf (2018)
MCAN : https://arxiv.org/pdf/1906.10770.pdf (2019)
LXMERT : https://arxiv.org/pdf/1908.07490.pdf (2019)
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/V7PXVX8QE8.jpg)

３. 手法
モデル構造 結合学習のステップ
３ステップの順で処理
既存VQA
①学習済
CLIP
②V&amp;L プレトレーニング
③タスクに応じた
ファインチューニング
LXMERTの構造
青で囲ったモデルは同一
赤で囲ったモデルは同一
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/2JVLZLNP7Q.jpg)

３. 手法
モデル構造 V&amp;Lプレトレーニング手法
V&amp;L プレトレーニング
LXMERTの構造
V&amp;Lプレトレーニング手順
モデルの出力部
1. Masked Language Modeling
15%のサブワードをマスクして学習
2. テキスト-画像マッチング
50%確率でミスマッチペアを与える
CLIP
3. 質問応答学習
条件等
1. プレトレーニングとファインチューニング時は
CLIPまでEndToEndで学習
2. A100 GPU 8台で約5日間の学習
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/5EGX4XKQJL.jpg)

３. 手法
V&amp;Lプレトレーニングデータの一部
MS COCO
Flickrから収集した30万枚の実世界の写真
MS COCO (Lin et al., 2014)
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/4JQ8G8NW7P.jpg)

３. 手法
V&amp;Lプレトレーニングデータの一部
Visual Genome (Krishna et al., 2017)
Visual Genome
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/K74252G1J1.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/LJ1MWMD5EG.jpg)

４. 実験
結果は大きく２つの実験別に説明
① 独立利用
② 結合学習
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/GJW363YWJ2.jpg)

４. 実験
【①独立利用】の結果
実験内容･条件
 プレトレーニング「なし」
 下図のステップで実行
 各VisualEncoderで精度比較
 Pythia,MCAN論文のVQAタスクを実行
実験結果
VQAタスク結果
 提案手法が最高精度
１
CLIP-ResNet50x4
 ただしCLIPのモデル構造が
３
３
２
VisionTransformer（表中ViTの
記載）は精度が低い ２ 理由後述
 VG-**やBUTD-**はテストデー
タと同一ドメインの学習デー
タを使っている。有利なはず
だが提案手法に及ばず ３
１
３
３
２
１
青で囲ったモデルは同一
※VQA v2 のTest-dev , Test-stdデータセットで評価(Accuracy)
※“†”マークは(Jiang et al., 2020)の結果より引用
Pythia : https://arxiv.org/pdf/1807.09956.pdf
提案手法：CLIPを画像エンコードに使用
MCAN : https://arxiv.org/pdf/1906.10770.pdf
Huaizu Jiang, et al. 2020. In defense of grid features for visual question answering. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/4EZVYVX2J3.jpg)

４. 実験
ResNet50x4とは？
 ResNet50x4とは、SimCLRを使って対照推定で学習させたResNet50の事
教師あり
ResNet-50
SimCLR https://arxiv.org/pdf/2002.05709.pdf
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/Y765D5P6EV.jpg)

４. 実験
②結合学習の結果
① 独立利用
② 結合学習
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/G75Y3YK574.jpg)

４. 実験
【②結合学習】の結果
実験結果
各モデル×画像エンコーダーの結果
 提案手法がSotA
１
 プレトレーニングで同じデータセット同じ
３
２
４
１
Epoch数にも関わらずLXMERTに対しても良
い結果 ２
 PixelBERTは提案手法と類似構造で、
ImageNetで学習されたResNetを用いている。
これに対して提案手法が良い結果 ３
 VinVLはリージョンベース手法を拡張させた
もの。これよりも提案手法が良い結果
 プレトレーニング有無の差分は、SotAの
プレトレーニング有無実験 → 差分
CLIP-Res50x4で+6.57pointである
５
５
提案手法：CLIPを画像エンコードに使用 &amp; V&amp;Lプレトレーニング実施
※単位：Accuracy
４
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/9J2GZGWGJR.jpg)

４. 実験
ViTが精度が悪い理由
 CLIPのVisionTransformer(=ViT)モデルは、物体の位置検知精度の要因で結果が良くない
VQAタスク結果
Grad-CAMによる可視化
左の女性のシャツは何色ですか？
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/DEYVRVLGEM.jpg)

アジェンダ
1. 導入
2. 先行研究
3. 手法
4. 実験
5. まとめ
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/VJNMDM4878.jpg)

５. まとめ
結論
 様々なVision&amp;Languageタスクで画像エンコーダー部にCLIPを使うと精度が向上
 手法は２つ。特に②の精度向上が著しく、手法として提案
①CLIPの表現ベクトル出力を下流タスクに入力（シンプルな手法）
②下流タスクと学習済CLIPモデルを結合しEndToEndでプレトレーニングとファインチューニングを実施
 CLIPのVisionTransformerモデルは物体の位置検知が上手くいかず結果が良くない（ResNet50x4モデル推奨）
感想
 CLIPの下流タスク応用手法として興味深い
 CLIP活用による精度向上は、単に物量で勝ってるので当たり前との批判もありそう
 CLIP-Res50よりCLIP-Res50x4が下流タスク性能が良い。”教師あり”より”自己教師あり対照推定”のメリット
 “億単位の量” × “WEB上などの網羅的データ”によるマルチモーダル大規模基盤モデルは、技術的特異点を一
つ越える気がする。これより、各モーダルに内在する法則（例えば、文章で表現されたロジック）がクロス
モーダルに埋め込まれて、それが下流タスクの性能を上げているのではないか（輪読者の仮説）
27


