Center-Loss

摘要

簡介

  • 卷積神經網絡在許多領域都取得了state-of-the-art的結果,包括檢測,識別等。通常情況下,CNN作爲特徵提取器提取deep features(最後一個隱層的輸出)用於之後的識別/確認。在諸如動作識別、場景識別情況下,可能的測試樣本類別包含在訓練集中(closed-set),這種情況下模型性能下降較小;在人臉識別中,因爲我們不可能實現收集所有人的人臉圖像,因此在使用中總會遇到不在訓練集中的人臉,這種情況下就要求CNN提取的deep features不僅是可分的,而且要具有較高的判別度。

相關工作

  • 基於triplet loss的image pair方法
    在這種方法中,訓練樣本兩個樣本對pair_1 : (positive_1, positive_2), pair_2 : (positive_1, negative_1),訓練的目標是使得pair_1之間的距離小於pair_2之間的距離。這種方法的缺點在於樣本對的數量會爆炸,假設有10個人,每個人10張圖片,則共有81000(C101C102C21C901 )個樣本對。
  • 基於孿生網絡的方法
    着這種方法中,訓練時輸入一對圖片,標籤爲0或者1,0表示圖片屬於不同的人,1表示圖片屬於相同的人。訓練的目標在於使得屬於同一個人的圖片距離儘可能小,屬於不同人的圖片距離儘可能大。與triplet loss相同,這種方法同樣面臨樣本對爆炸的可能。假設有10個人,每個人10張圖片,則共有900(C101C102+C102C101 )個樣本對。

提出的方法

  • 通常在用CNN做人臉識別等分類問題時,我們通常採用softmax交叉熵作爲損失函數,在close-set測試中模型性能良好,但在遇到unseen數據情況下,模型性能會急劇下降。在做分類時,模型的最後一層通常是全連接(很難不用全連接而使得最後一層的維度剛好和類別數相等),可以將最後一層看做線性分類器。一個直觀的感覺是:如果模型學到的特徵判別度更高,那麼再遇到unseen數據時,泛化性能會比較好。爲了使得模型學到的特徵判別度更高,論文提出了一種新的輔助損失函數,之說以說是輔助損失函數是因爲新提出的損失函數需要結合softmax交叉熵一起使用,而非替代後者。兩種損失函數如下所示:
    這裏寫圖片描述
    這裏寫圖片描述

  • 在結合使用這兩種損失函數時,可以認爲softmax交叉熵負責增加inter-class距離,center-loss負責減小intra-class距離,這樣學習到的特徵判別度會更高。

實驗

  • 作者在LFW和YTF上做了對比試驗,結果如下表:
    這裏寫圖片描述

  • 從表中可以看出,在這兩個數據集上,論文提出的方法取得了最高的acc。

結論

  • 雖然新提出的方法取得了良好的結果,但是也有一些不足之處,最麻煩的地方在於如何選擇訓練樣本對。在論文中,作者也提到了,選取合適的樣本對對於模型的性能至關重要,論文中採用的方法是每次選擇比較難以分類的樣本對重新訓練,類似於hard-mining。同時,合適的訓練樣本還可以加快收斂速度。

引用

  1. A Discriminative Feature Learning Approach for Deep Face Recognition
  2. Linear classifier
  3. Closed set
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章