読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】CLIPって何がすごいん?学習してない分類がなんでできるん?【AI】

21レスカテゴリ:AI・機械学習
1: 名無しさん

CLIP ってよく出てくるけど
画像と文章を結びつけるモデル、くらいしか知らん

2: 名無しさん

>>1
Radford らの論文(2021年)で出たモデル。名前は Contrastive Language-Image Pre-training(対照的な画像と言語の事前学習)
インターネットから集めた約4億組の「画像と文章のペア」で学習してる

3: 名無しさん

>>2
対照的ってどういうこと

4: 名無しさん

>>3
画像を数字の並び(ベクトル)にする部品と、文章をベクトルにする部品を用意する
1回の学習で 組のペアを並べて、 通りの組み合わせを全部比べる
本物のペア 組はベクトルの向きを近づけて、残りの 組は遠ざける

5: 名無しさん

>>4
はどのくらいなん

6: 名無しさん

>>5
論文では32,768

1回で約10億7千万組の「間違ったペア」と見比べてることになる

7: 名無しさん

>>6
なんでキャプションをそのまま当てさせへんの?そのほうが自然やろ

8: 名無しさん

>>7
論文でも最初はそれを試してる。でも文章を一語一語当てさせる方式は学習の効率が悪かった
ImageNet でのゼロショット性能(その分類用に学習せずに解いた性能)で比べると、語順を無視して単語だけ当てさせる方式よりも、どの文章がどの画像と組か当てるだけの対照学習のほうが、同じ精度に4倍速く届いた

9: 名無しさん

ゼロショット分類ってどうやるん

10: 名無しさん

>>9
クラス名を文章にして、画像に一番近い文章を選ぶ
例えば犬・猫・鳥の3クラスなら
「A photo of a dog.」「A photo of a cat.」「A photo of a bird.」をベクトルにする
画像のベクトルとのコサイン類似度(向きのそろい具合)が0.30、0.25、0.20 やったら、倍率をかけてソフトマックス(数値を確率に変える関数)に通す

11: 名無しさん

>>10
倍率っていくつ?

12: 名無しさん

>>11
論文では温度パラメータとして学習させてて、倍率は最大100に抑えてある。100倍すると

類似度の差は0.05ずつやのに、確率ではほぼ犬に決まる

13: 名無しさん

>>12
で、精度はどのくらいなん

14: 名無しさん

>>13
ImageNet(1000クラスの画像分類データ)でゼロショット76.2%
ImageNet の訓練データ128万枚を1枚も使わずに、それで学習した元の ResNet-50 と同じくらいの精度

15: 名無しさん

>>14
プロンプトの書き方でも変わるん?

16: 名無しさん

>>15
変わる。クラス名だけより「A photo of a {label}.」にしたほうが ImageNet で1.3%上がる
さらに80種類の言い回しを平均すると3.5%上がって、合わせて5%近く

17: 名無しさん

>>16
じゃあ CLIP があれば、どんな分類も学習なしでいけるんやな

18: 名無しさん

>>17
いけん。論文自身が弱点を書いてる
手書き数字の MNIST はゼロショットで88%で、画素に直接ロジスティック回帰(単純な線形の分類器)をかけたほうが上
物の数を数える、車までの距離を当てる、みたいな課題もかなり苦手

19: 名無しさん

>>18
「ゼロショット」って、似た画像を一度も見てないって意味ちゃうの?

20: 名無しさん

>>19
違う。その評価データ用に学習してない、って意味
4億組のどこかに評価データとよく似た画像が混ざってる可能性はあって、論文でも重なりを調べてる。重なりの割合は中央値2.2%で、精度への影響はほとんどなかった、という結果

21: 名無しさん

>>20
画像と文章を同じ空間に置いて、近さで選ぶ。仕組み自体は単純なんやな

管理人のひとこと