表徵與自監督學習

InfoNCE 損失

InfoNCE 是大多數對比式自監督底下的主力目標——SimCLR、MoCo、CPC 與 CLIP 優化的都是它的某個版本。畫面是一道選擇題:給定一個錨點(一個被編碼的視圖),模型必須從一列包含一個正樣本與許多負樣本的選項中挑出真正的夥伴。一再答對,便逼編碼器把匹配的東西映射到鄰近、把不匹配的映射到遠處。

形式上它是對「相似度分數之 softmax」的類別交叉熵:分子是正樣本對分數的指數,分母則加總正樣本加上 K 個負樣本。它的理論重要性在於:最小化 InfoNCE 等同最大化兩視圖之間互資訊的一個下界,最佳時該下界約為 log(K+1)——這正是為何更多負樣本給出更緊的下界、通常也帶來更好的特徵。分數函數通常是溫度縮放後的餘弦相似度,而溫度控制損失對困難負樣本懲罰的尖銳程度。

互資訊這套說法是有用的直覺,卻是不完美的解釋:更緊的下界不總是意味更好的表徵,後來的分析改以「超球面上的對齊與均勻」來重新詮釋 InfoNCE 的成功。無論如何,它仍是預設的對比損失,穩健且在有充足負樣本時易於實作。

\mathcal{L}_{\mathrm{InfoNCE}} = -\,\mathbb{E}\!\left[\log\frac{\exp(s(q,k^{+})/\tau)}{\exp(s(q,k^{+})/\tau)+\sum_{i=1}^{K}\exp(s(q,k_i^{-})/\tau)}\right]

一個正樣本 k^+ 對上 K 個負樣本;s 為相似度,\tau 為溫度。

它所最大化的下界上限約在 log(K+1),因此負樣本很少時,即使表徵不錯,互資訊保證仍然很弱。

又稱
InfoNCEnoise-contrastive estimationcontrastive loss