轉載:https://blog.csdn.net/autocyz/article/details/53149760
Contrastive Loss (對比損失)
在caffe的孿生神經網絡(siamese network)中,其採用的損失函數是contrastive loss,這種損失函數可以有效的處理孿生神經網絡中的paired data的關係。contrastive loss的表達式如下:
這種損失函數最初來源於Yann LeCun的Dimensionality Reduction by Learning an Invariant Mapping,主要是用在降維中,即本來相似的樣本,在經過降維(特徵提取)後,在特徵空間中,兩個樣本仍舊相似;而原本不相似的樣本,在經過降維後,在特徵空間中,兩個樣本仍舊不相似。
觀察上述的contrastive loss的表達式可以發現,這種損失函數可以很好的表達成對樣本的匹配程度,也能夠很好用於訓練提取特徵的模型。當y=1(即樣本相似)時,損失函數只剩下∑yd2∑yd2,即原本相似的樣本,如果在特徵空間的歐式距離較大,則說明當前的模型不好,因此加大損失。而當y=0時(即樣本不相似)時,損失函數爲∑(1−y)max(margin−d,0)2∑(1−y)max(margin−d,0)2,即當樣本不相似時,其特徵空間的歐式距離反而小的話,損失值會變大,這也正好符號我們的要求。
這張圖表示的就是損失函數值與樣本特徵的歐式距離之間的關係,其中紅色虛線表示的是相似樣本的損失值,藍色實線表示的不相似樣本的損失值。