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
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Making Projects Easy
brettharned
118
6.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
It's Worth the Effort
3n
187
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
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値が 上がった。すごい