三元損失“In Defense of the Triplet Loss for Person Re-Identification”

更全面的閱讀記錄可以參考這篇博客:https://blog.csdn.net/xuluohongshang/article/details/78965580

背景描述

提出了一個三元損失的變形用於行人再認證。

近期較爲成功的行人再認證方法一般使用分類損失結合驗證損失。先使用分類損失訓練,然後使用網絡的一部分進行特徵提取,結合度量學習獲得最終的特徵描述。存在問題:分類損失在id數量增加是,需要學習的參數增加,但訓練後又不需要了。使用驗證損失訓練的網絡又僅僅回答了“兩張圖像是如何的像的問題”。

三元組損失並不流行的原因是,它的結果並不理想。三元組損失學習的關鍵部分是困難三元組的挖掘,但是挖掘困難的三元組耗時嚴重,且不好定義好的困難三元組。更糟糕的是,選擇太困難的三元組易導致訓練不穩定。

三元組損失首先在FaceNet中提出,即,

主要問題是當數據集變大時,可能的三元組增加太多,訓練時間長的不切實際。此時,挖掘困難的三元組就較爲重要。舉了個例子,一遍一遍的去學習穿不同衣服的是不同的人,模型沒有學到什麼東西,但是通過觀察長得像的兩個人(困難負樣本),或者觀察同一個人在不同環境下的不同姿態(困難正樣本)可以有效的幫助學習。但是僅僅關注困難三元組又會選擇到outliers。

三元組損失的改進

論文提出了一個三元組選擇方式的改進方法,主要思想是通過隨機選擇P類(行人id),酶類隨機選擇K個圖像,形成包含PK個圖像的batch。在batch中選擇困難的正樣本和負樣本,成爲batch hard:

除了batch hard,還有包含所有可能三元組的batch all:

max和min函數都是連續且可導的,可以使用sgd訓練。

還有一種lifted embedding 損失,將所有的anchor-positive之外的考慮爲負樣本:

論文又在PK batch中,將lifted embedding 損失改成如下形式:

 

距離度量

大部分的工作中,將平方歐拉距離作爲度量,作者通過實驗發現這種度量更容易collapsing,使用真實的歐拉距離更穩定。

soft-margin

之前的很多三元組損失都使用hinge函數做了截斷處理,即正負樣本與anchor的距離滿足三元組關係,則損失爲0,但在實際中希望同類樣本的距離越近越好,因此設計了soft-margin函數:

 

實驗結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章