Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SigLIP
Search
SuperHotDog
May 14, 2025
1
89
SigLIP
SuperHotDog
May 14, 2025
Tweet
Share
More Decks by SuperHotDog
See All by SuperHotDog
Dockerの裏側を攻める
superhotdogcat
0
4
post-training
superhotdogcat
3
590
研究室紹介用スライド: Unified Memoryを活⽤した効率的な計算⽅法を考えよう
superhotdogcat
0
93
大規模モデル計算の裏に潜む 並列分散処理について
superhotdogcat
1
56
オンプレソロプレイ
superhotdogcat
0
78
CUDAを触ろう
superhotdogcat
0
110
GemmaでRAG を作ろう
superhotdogcat
1
610
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Faster Mobile Websites
deanohume
310
31k
Writing Fast Ruby
sferik
629
62k
The Invisible Side of Design
smashingmag
301
51k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Mobile First: as difficult as doing things right
swwweet
224
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
How to Think Like a Performance Engineer
csswizardry
27
2k
Typedesign – Prime Four
hannesfritz
42
2.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Transcript
SigLIP 2025/05/14 犬 この資料は大学で発表したのを公開用に調整したもの
ちょっと宣伝 ・NeurIPS出します。
Contrastive Learning ・似ているものと似ていないものの対応関係を学習する方法 →もうちょい話すと, ある1つのEncoderから取り出されるベクトルともう1つのEncoderか ら取り出されるベクトルの対応関係のあるところのコサイン類似度を近づけて, 対応関係 のないところのコサイン類似度を遠ざける方法
どうやる?(数式面) ・まずはCLIPから解説する ・同じ対応関係のcosine類似度の確 率が最大となるように計算をする
どうやる?(コード面) ここのlogitsが各データの同一 batch内でのtextとimageの類似 度を示す n番目のデータはn番目に似るべ きだというラベル
図で解説 これがlogits これがラベル, 対角線 上のデータが似るべき だという対応関係
推論 ・推論の時はImage一つに対してTextが複 数, その中で1番確率の高いものを採用す るという推論を行う ・TextのEmbeddingが近いものなら学習時 に無くてもZero-Shot可能というのがCLIP の嬉しいところ ・既存のDeepLearningとは違うところ
CLIPのちょっと不便なところ ・NeurIPSで発表した時にも突っ込まれたが , CLIPは1つの データに対して1つの推論しかできない ・例えば右の画像はなんと推論すべき ?きゅうり?卵?生姜? みかん?にんじん? ・その組み合わせ? ・あとは勘の良い方は気付かれたかもしれないが
,Batch Sizeに応じて相対確率の値が変化するので Batch Sizeに よってもよく変動する
SigLIP ・Google系Multimodalでよく採用されるアーキテクチャ ・CLIPとの変更箇所は単純, 損失関数部分をSoftmaxではなくSigmoidに変えただけ, そこで登場するのが以下の難解コード
SigLIP ・実はこう見えてコードはSigmoid BasedなContrastive Lossを計算している ・手元で計算してみよう(算数ができる人なら30秒ぐらいで気づくはず)(ヒント: 数式のz_ij は対応関係の時1, 対応関係じゃない時-1)
SigLIP
SigLIP 1 -1 -1 -1 -1 1 -1 -1 -1
-1 1 -1 -1 -1 -1 1 こういう感じの行列になる, 対角成分 が対応関係としているのはCLIPと同じ
SigLIP 各成分がこれのn×n行列ができる これを全成分で合計してnで割ると この式ができる
推論 ・推論の時はImage一つに対してTextが複 数, その中でSigmoid演算を通して確率が 0.5を超えているものを全て選ぶ
マルチラベルのSigLIPの場合 1 -1 -1 -1 -1 1 -1 -1 -1
-1 1 -1 -1 -1 -1 1 こういう感じの行列になる, 対角成分 が対応関係としているのはCLIPと同じ ・対角成分を対応関係とすると精度が 下がってダメな場合がある ・例えば, Batch内に同じ所見が含まれ ている場合である。 ・ImageNetなどはラベル数が1000もあ るのでBatchが小さい時は同じラベル が含まれる可能性は小さいが, 心電図 初見は多くても100なのでBatchが100 を超えてくると鳩の巣原理的に不正な 対応関係が必ず存在することになる
マルチラベルのSigLIPの場合 1 -1 1 -1 -1 1 -1 -1 1
-1 1 1 -1 -1 1 1 こういう感じ ・そこでラベルのうち同じものが含まれ ているものは1として追加した(もう少し いい方法がある気がしなくもない) ・これだけでマルチラベルでのF1値が 上がった。すごい