对比表示学习必知的几种训练目标
對(duì)比學(xué)習(xí)的主要思想就是相似的樣本的向量距離要近,不相似的要遠(yuǎn).對(duì)比學(xué)習(xí)在有監(jiān)督/無監(jiān)督場(chǎng)景下都取得了非常亮眼的成績(jī),所以是我們煉丹的必備知識(shí).早期的對(duì)比學(xué)習(xí)是只有一個(gè)正樣本和一個(gè)負(fù)樣本進(jìn)行對(duì)比,最近的訓(xùn)練目標(biāo)變成了一個(gè)batch內(nèi)多個(gè)正/負(fù)樣本進(jìn)行訓(xùn)練.
Contrastive Loss
有一系列樣本{xi},它們的label yi = {1, ..., L}, L類,還有個(gè)函數(shù)f將樣本xi映射成embedding,有著相同yi的樣本有著相似的embedding, 因此對(duì)比學(xué)習(xí)loss定義如下:
Triplet Loss
Triplet loss大家應(yīng)該并不陌生,最早出現(xiàn)在FaceNet的論文里,這篇論文主要學(xué)習(xí)人臉表達(dá),需要同一個(gè)人在不同角度位置的表達(dá)都很相近.
定義一個(gè)錨點(diǎn)(anchor) x,有個(gè)正例x+和一個(gè)負(fù)例x-,所以目標(biāo)函數(shù)就是要最小化x和x+的距離,最大化x和x-的距離,定義如下所示:
Lifted Structured Loss
該loss為了更好的計(jì)算效率,充分利用了一個(gè)batch內(nèi)所有pairwise的邊.
Dij = || f(xi) - f(xj) ||2, Loss函數(shù)定義如下:
紅色部分是為了挖掘hard負(fù)樣本,但是不是很平滑,難收斂,因此可以改為下式:
N-pair Loss
在負(fù)樣本同時(shí)有多個(gè)的時(shí)候,{x,x+, x1-, ..., x(N-1)-},包含1個(gè)正樣本和N-1個(gè)負(fù)樣本,N-pair loss定義如下所示:
NCE
NCE本身是統(tǒng)計(jì)模型做參數(shù)估計(jì)的方法,思想就是用羅杰斯特回歸來區(qū)分?jǐn)?shù)據(jù)和噪聲.非噪聲樣本的概率用P表示,噪聲樣本的概率用q表示,如下所示:
所以NCE的loss函數(shù)定義如下:
我們看到NCE loss只對(duì)一個(gè)正樣本和一個(gè)噪聲樣本生效.
InfoNCE
受到NCE的啟發(fā),InfoNCE使用了交叉熵?fù)p失,用在一個(gè)正樣本和一系列噪聲樣本上.給定一個(gè)上下文環(huán)境c,我們可以得到條件概率p(x|c),N-1的負(fù)樣本直接從概率分布p(x)提取,獨(dú)立于c. 我們有個(gè)樣本集合X = {xi},i=1~N, 其中只有一個(gè)正樣本x_pos, 我們能得到下式
f(x,c)就是模型的打分函數(shù),所以InfoNCE loss優(yōu)化log loss,如下式:
Soft-Nearest Neighbors Loss
該loss擴(kuò)展到包含多個(gè)正樣本,假設(shè)有個(gè)batch {xi, yi} i = 1~B, 該loss會(huì)有個(gè)溫度系數(shù)控制,如下所示:
溫度τ用于調(diào)整特征在表示空間中的集中程度。例如,當(dāng)溫度較低時(shí),損失主要是由小距離造成的,而大范圍分離的表示不能起到很大作用。
總結(jié)
以上是生活随笔為你收集整理的对比表示学习必知的几种训练目标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 召回:是塔,是塔,但不是双塔!
- 下一篇: 对比学习必知要点