【論文筆記】In Defense of the Triplet Loss for Person Re-Identification
1、前言
Triplet loss是非常常用的一種deep metric learning方法,在影象檢索領域有非常廣泛的應用,比如人臉識別、行人重識別、商品檢索等。傳統的triplet loss訓練需要一個三元組,包括三張圖片:achor,positive,negative,分別簡寫為a,p,n。==Triplet loss的缺點在於隨機從訓練集中挑選出三張圖片,那麼可能會出現挑選出來的很可能是簡單的樣本,比如很像的正樣本對和很不像的負樣本對。作者認為,讓網路一直學習簡單的樣本會限制網路的泛化能力,因此提出一種線上batch hard sample mining的改進版triplet loss,我喜歡簡寫為TriHard loss==。我復現了這種方法,並且大量實驗表明,這種改進版的方法效果非常好。
2、方法
首先,假如有兩張輸入圖片
(1)Triplet loss
圖片
其中
(2)TriHard loss
TriHard loss的核心思想是:對於每一個訓練batch,隨機挑選
其中
3、結果
可見TriHard相對於傳統的Triplet loss大部分情況下還是進步很明顯的。
4、簡評
TriHard是一個非常不錯的工作,在Triplet loss上稍微做了一點改進,程式碼復現起來工作量也不大,然而效果卻很好。為什麼work一眼就看得出,實驗結果也證明確實work,這是一個非常值得讚賞的研究。
5、程式碼
我用keras復現了一版triplet loss和TriHard loss,程式碼沒怎麼整理但是能用,可供大家參考復現,程式碼連結:keras_reid