Contrastive Loss(Siamese Network)

來源:互聯網
上載者:User
Contrastive Loss (對比損失)

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

其中 d=||an−bn||2 ,代表兩個樣本特徵的歐氏距離,y為兩個樣本是否匹配的標籤,y=1代表兩個樣本相似或者匹配,y=0則代表不匹配,margin為設定的閾值。

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

觀察上述的contrastive loss的運算式可以發現,這種損失函數可以很好的表達成對樣本的匹配程度,也能夠很好用於訓練提取特徵的模型。當y=1(即樣本相似)時,損失函數只剩下∑yd2,即原本相似的樣本,如果在特徵空間的歐式距離較大,則損失函數(增函數)越大,則說明當前的模型不好。而當y=0時(即樣本不相似)時,損失函數為∑(1−y)max(margin−d,0)2

(減函數),即當樣本不相似時,其特徵空間的歐式距離反而小的話,損失函數值會變大。
這張圖表示的就是損失函數值與樣本特徵的歐式距離之間的關係,其中紅色虛線表示的是相似樣本的損失值(Y=1時),藍色實線表示的不相似樣本的損失值(Y=0時)。這裡的m為閾值,要視具體問題而定,對於不同的目標m的值會有不同的大小。而事實表明Constractive Loss對於多分類的問題經常會在訓練集上過擬合,顯得比較乏力。針對該問題的改進方法有Triplet Loss、四元組損失(Quadruplet loss)、難樣本採樣三元組損失(Triplet loss with batch hard mining, TriHard loss)、邊界挖掘損失(Margin sample mining loss, MSML)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.