center loss

論文:A Discriminative Feature Learning Approach for Deep Face Recognition

0 摘要

本文爲人臉識別任務提出了center loss,可以爲每一個人臉類別學習特徵中心並懲罰遠離中心點的離羣樣本。center loss使用CNN訓練時易於收斂。將center loss和softmax loss結合,可以得到類內聚合、類間遠離的深度特徵,用於完成人臉識別任務。實驗證明center loss取得了在當時領先的人臉驗證和識別結果。

1 簡介

在這裏插入圖片描述人臉識別任務是開集識別,不可能所有要識別的人臉都參與了訓練,所以學習到的深度特徵不能夠僅僅是可分的,還應該是有判別力的。softmax損失僅僅保證了特徵可分,這對於人臉識別任務來說是不夠的。

由於訓練CNN的時候,使用的SGD是基於一個mini-batch來計算梯度的,並不能夠反映全局的特徵分佈情況。但是訓練集又很大,計算全部樣本的梯度進行迭代也不現實。前面提出了對比損失和三元組損失來計算樣本對和樣本三元組的損失值,但是構建樣本對和三元組會增加訓練樣本的數量,減慢了模型的訓練過程,並且構建三元組的技巧性也比較強。

本文作者提出的center loss,在最小化樣本特徵和其隸屬的類中心距離的同時更新樣本類的特徵中心。訓練CNN的時候同時使用softmax loss和center loss,使用一個額外的超參數控制兩項損失的加權。物理意義是,softmax loss負責讓不同的類可分,而center loss負責讓同一類的樣本的特徵儘可能靠近類別中心。通過聯合使用,不僅類間距離變大,類內的變化也在減小,加強了特徵的判別能力

2 本文方法

2.1 A toy example

使用MNIST數據集,使用修改後的LeNet網絡,網絡的最後一個全連接層的輸出神經元數量爲2以方便可視化,使用softmax損失,繪製不同圖像前向計算後的特徵的分佈情況。結果如下圖:
在這裏插入圖片描述在這裏插入圖片描述從上圖可以得到兩個結論:

  • softmax損失的確可以使得學習的特徵可分;
  • 但使用softmax損失學習的特徵類內變化很大,不適合於人臉識別任務。

2.2 center loss

鑑於上面softmax loss的缺點,作者想到改進的損失應該是在保證特徵可分的情況下最小化同類特徵的類內變化。因此,提出了center loss,如下式:

在這裏插入圖片描述CyiC_{y_i}表示第yiy_i類的特徵中心。這個公式的目的是爲了減少類內的變化。

理想情況下,CyiC_{y_i}應該隨着特徵的改變而改變,也就是說需要計算整個訓練樣本集的特徵,然後根據每個樣本的類別才能計算得到類別中心CyiC_{y_i},但這樣計算類別中心的方式效率低,不現實。因此,類別中心不可以直接使用。

作者提出了兩項修改

1. 不是基於整個訓練樣本集計算類別中心CyiC_{y_i},而是基於各mini-batch去計算類別中心,就是基於當前mini-batch中所包含的樣本去修正其對應的類別的中心;
2. 爲了避免少數誤標記樣本造成的類別中心的擾動,使用一個標量α\alpha控制類別中心的學習率

在這裏插入圖片描述δ\delta是示性函數。

總的損失爲:
在這裏插入圖片描述整個的算法過程爲:
在這裏插入圖片描述不同λ\lambda值時學習到的特徵的分佈情況,可以看出λ\lambda值越大,越強調center loss,學習到的特徵越內聚。

在這裏插入圖片描述

2.3 討論

使用兩項損失聯合學習的必要性:如果只使用softmax loss,學習到的特徵內聚程度不足;如果只使用center loss,學習到的各類特徵和其類別中心會收斂到0(此時center loss值最小,爲0)。單獨使用任一個loss都不會取得好的結果,因此需要兩個損失聯合使用;
center loss和對比損失、三元組損失比較:對比損失和三元組損失構建的訓練樣本對會指數級增長,center loss不需要有這個擔心。

3 實驗

不同λ\lambdaα\alpha值的影響
在這裏插入圖片描述λ=0\lambda=0時,等於只使用softmax loss,從上左圖可以看出,結合使用softmax loss和center loss(λ>0\lambda > 0)時效果要更好,說明了聯合使用兩個損失的必要性;上面右圖反映α\alpha值在很大範圍內變動時都可以取得比較好的驗證準確率。下面使用中設置λ=0.003,α=0.5\lambda = 0.003,\alpha=0.5

在這裏插入圖片描述modelA表示只使用softmax loss,modelB表示聯合使用softmax loss和contrastive loss,modelC表示聯合使用softmax loss和center loss,從上表的結果證明了作者提出的聯合使用softmax loss和center loss的先進性。

在MegaFace上的實驗結果
人臉識別:繪製了在不同規模的gallary set的情況下,識別準確率的CMC曲線:

在這裏插入圖片描述左圖是在gallary set爲1 million規模的情況下,top-1、top-10,…,top-1000000的準確率,可以看到softmax loss + center loss的曲線位於最上方。右圖是在gallary set爲10000規模的情況下,top-1、top-10,…,top-10000的準確率,可以看到softmax loss + center loss的曲線位於最上方。

人臉驗證
在這裏插入圖片描述左圖是1百萬規模的gallary數據集情況下,不同FAR時的TAR值,右圖是1萬規模的gallary數據集情況下,不同FAR時的TAR值,可以看出作者提出的softmax loss + center loss的曲線都是位於最上方。

在這裏插入圖片描述在這裏插入圖片描述

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