問題來源于知乎
為什么在對比學(xué)習(xí)的損失函數(shù)中,分母里沒有正樣本柄错??
在很多對比學(xué)習(xí)的論文中,都聲稱自己使用了cross-entropy的loss函數(shù)。然而,如果按照cross-entropy的方法來計算氧映,分母中應(yīng)當(dāng)存在正樣本的相似度值。
舉個例子:用分類的思想做對比學(xué)習(xí)脱货,那么岛都,正樣本可以得到一個相似度,負樣本得到一個相似度?振峻。然后臼疫,再用softmax進行歸一化,再做cross-entropy的loss扣孟。如果要預(yù)測正樣本為真多矮,那對應(yīng)的loss自然就是:
然而,在很多高引論文中哈打,使用的卻不是這種loss(同時他們也聲稱使用了cross entropy與分類的思想)。例如:
在Representation Learning with Contrastive Predictive Coding(CPC)中讯壶,它們使用的loss是:
同時料仗,論文中也這樣寫道:
The loss in Equation 4 is the categorical cross-entropy of classifying the positive sample correctly.
(式4中的損失為正確分類正樣本的類別交叉熵。)
在A Simple Framework for Contrastive Learning of Visual Representations文中伏蚊,loss也是如此:
(latex小貼士立轧,此處的l并非是手寫體的l,是latex中為了區(qū)分l與1而設(shè)置的小寫l,\ell氛改。)
然而帐萎,論文中還是聲稱使用了cross-entropy的loss:
for convenience, we term it?NT-Xent?(the normalized temperature-scaled cross entropy loss).
高贊回答:
第一個例子:InfoNCE的分母就是對包括正例和負例在內(nèi)的N個樣本求和,沒有排除正例胜卤。這里正樣本對由當(dāng)前上下文和基于上下文的預(yù)測組成疆导,負樣本對由當(dāng)前上下文和從噪聲分布中采樣的噪聲樣本組成,共有N-1個 負樣本對葛躏。
第二個例子:SimCLR分母中?排除的是樣本和自身的相似度澈段,仍然沒有排除正例(正例是樣本及其增廣)。負樣本對由樣本和任意其他樣本和樣本變換組成锌介,共有2N-2個負樣本對脚仔。
負樣本數(shù)量越大越好兔甘。