Contrastive Loss (對比損失)

轉載:https://blog.csdn.net/autocyz/article/details/53149760

Contrastive Loss (對比損失)

在caffe的孿生神經網絡(siamese network)中,其採用的損失函數是contrastive loss,這種損失函數可以有效的處理孿生神經網絡中的paired data的關係。contrastive loss的表達式如下: 

L=12Nn=1Nyd2+(1y)max(margind,0)2L=12N∑n=1Nyd2+(1−y)max(margin−d,0)2
其中d=||anbn||2d=||an−bn||2,代表兩個樣本特徵的歐氏距離,y爲兩個樣本是否匹配的標籤,y=1代表兩個樣本相似或者匹配,y=0則代表不匹配,margin爲設定的閾值。

這種損失函數最初來源於Yann LeCun的Dimensionality Reduction by Learning an Invariant Mapping,主要是用在降維中,即本來相似的樣本,在經過降維(特徵提取)後,在特徵空間中,兩個樣本仍舊相似;而原本不相似的樣本,在經過降維後,在特徵空間中,兩個樣本仍舊不相似。

觀察上述的contrastive loss的表達式可以發現,這種損失函數可以很好的表達成對樣本的匹配程度,也能夠很好用於訓練提取特徵的模型。當y=1(即樣本相似)時,損失函數只剩下yd2∑yd2,即原本相似的樣本,如果在特徵空間的歐式距離較大,則說明當前的模型不好,因此加大損失。而當y=0時(即樣本不相似)時,損失函數爲(1y)max(margind,0)2∑(1−y)max(margin−d,0)2,即當樣本不相似時,其特徵空間的歐式距離反而小的話,損失值會變大,這也正好符號我們的要求。


這張圖表示的就是損失函數值與樣本特徵的歐式距離之間的關係,其中紅色虛線表示的是相似樣本的損失值,藍色實線表示的不相似樣本的損失值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章