SigLIP

Zhai (Google) 2023 · 論文

一行要約 — SigLIPはCLIPのソフトマックス対照損失を、バッチ全体を見渡す必要のない単純なペアワイズシグモイド損失に置き換えることで、言語画像事前学習が巨大なバッチにスケールし、小さいバッチでもより良く機能し、わずか4基のTPUv4チップで84.5%のゼロショットImageNet精度に到達することを示した。

問題

標準的な対照的言語画像事前学習(CLIP/ALIGN)は、類似度スコアをバッチレベルのソフトマックスで正規化し、これを2回(画像方向とテキスト方向)適用する。これにはすべてのペアワイズ類似度をバッチ全体で見渡す必要があり、コストの高いall-gather操作、B×B|\mathcal{B}| \times |\mathcal{B}|の類似度行列の実体化、バッチに対する追加の安定化処理(最大値減算)が必要になる。これにより損失の質がバッチサイズに結びつき、データセンター規模のクラスタなしではCLIPレベルの事前学習が手の届かないものになっていた。SigLIPは、この大域的な正規化がそもそも必要なのかを問う。

手法とアーキテクチャ

ソフトマックスのベースライン(置き換え対象)。 正規化された埋め込み xi=f(Ii)/f(Ii)2x_i = f(I_i)/\|f(I_i)\|_2yi=g(Ti)/g(Ti)2y_i = g(T_i)/\|g(T_i)\|_2 と学習された温度パラメータ tt を用いて、CLIPは次を最小化する。 12Bi=1B(logetxiyijetxiyj+logetxiyijetxjyi).-\frac{1}{2|\mathcal{B}|} \sum_{i=1}^{|\mathcal{B}|} \left( \log \frac{e^{t\, x_i \cdot y_i}}{\sum_{j} e^{t\, x_i \cdot y_j}} + \log \frac{e^{t\, x_i \cdot y_i}}{\sum_{j} e^{t\, x_j \cdot y_i}} \right).

シグモイド損失。 SigLIPは、すべての画像-テキストペアをB2|\mathcal{B}|^2通りの組み合わせ全体にわたって、独立した二値分類(マッチするか否か)として扱う。 L=1Bi=1Bj=1Blog11+ezij(txiyj+b)\mathcal{L} = -\frac{1}{|\mathcal{B}|} \sum_{i=1}^{|\mathcal{B}|} \sum_{j=1}^{|\mathcal{B}|} \log \frac{1}{1 + e^{z_{ij}\,(-t\, x_i \cdot y_j + b)}} ここで、ラベル zij=1z_{ij} = 1(Ii,Tj)(I_i, T_j) がペアである場合、そうでなければ 1-1 であり、t=exp(t)t = \exp(t') は学習される温度パラメータ、bb は学習されるバイアス項である。バッチの残り部分にわたる正規化は不要である。

バイアスの初期化。 B|\mathcal{B}|個の正例に対してB2B|\mathcal{B}|^2 - |\mathcal{B}|個の負例が存在するため、そのままの損失は初期段階では負例に支配され、大幅な補正ステップを引き起こす。t=log10t' = \log 10b=10b = -10 に初期化することで、ランダムなペアはマッチしないという事前分布に近い状態から学習を開始できる。

チャンク化された分散実装。 DD台のデバイスにわたるデータ並列と、デバイスごとのバッチ b=B/Db = |\mathcal{B}|/D を用いて、損失はブロック単位で計算される。各デバイスがローカルな b×bb \times b ブロックのスコアを計算し、テキスト表現をデバイス間で巡回させることで負例を回転させ、デバイスごとの損失を合計する。all-gatherは不要で、実体化される行列は常に b×bb \times b にとどまる。シグモイド損失は対称であり、1回のパスで済む。

2種類のレシピ。 SigLIP は両方のタワー(ViT画像エンコーダ+Transformerテキストエンコーダ、CLIPから変更なし)をWebLI上で学習する。SigLiT はLocked-image Tuningの手法に従い、凍結した事前学習済み画像エンコーダに対してテキストタワーのみを学習する。バッチサイズと損失の分離により、サンプル数対ペア数のトレードオフの研究や、極端なバッチサイズでの学習も可能になる。

実験結果

SLAMにおける意義

SigLIPはマルチモーダルスタックにおけるデフォルトのCLIP代替品となった。OpenVLAや2024年以降の多くのVLMの中で(しばしばDINOv2と組み合わされる)視覚エンコーダとして使われており、そのテキストと整合した特徴が、現代の多くのロボット知覚システムが実際に「見ている」ものである。SLAMにとって、SigLIPの特徴は、オープン語彙マッピングにおいてCLIPの特徴が果たす役割と同じ役割を果たす — 言語で問い合わせ可能なセマンティクスを3Dマップに埋め込む — しかも計算量当たりの精度が優れており、これはロボットへの搭載展開において重要である。

関連ノート