人臉識別論文再回顧之三:sphereface

人臉識別論文再回顧之三:sphereface

來自專欄知智1 人贊了文章

[CVPR2017]Sphereface: Deep hypersphere embedding for face recognition

[ICML2016]Large-Margin Softmax Loss for Convolutional Neural Networks

人臉識別領域,這兩年都偏向於angular margin來進行loss的約束了,也取得了很明顯的效果。本文講的是這一系列的第一篇,sphereface以及它的前身:Large-margin softmax

[motivation]

基於angular margin這一流派的人臉識別本質上來說就是基於margin的分類。這一系列的代表作有large-margin softmax, sphereface, amsoftmax, cosface以及最近在mxnet上開源比較火的arcface,後面會逐篇再學習一遍。

[Idea]

相對於傳統的softmax分類而言,區分出的特徵是separable feature,而在人臉領域,我們的目標獲得discriminative feature,因為人臉識別大多時候都是open-set identification,訓練集不可能把所有的人臉都包含進來,所以這個時候就需要margin的作用,來實現完美的約束,即:最大的類內距離 < 最小的類間距離

對於softmax而言:以二分類為例

以上是對於樣本x屬於某一個類別的概率,其loss函數如下:

其中:

由余弦公式的計算可以將wx+b轉換一下:

以上公式中,W為某一個類別的權值參數,x為樣本feature,theat則為x和w的夾角。到目前為止,我們在訓練的時候,優化的還是W和X的內積,即Inner Product

現在:這篇文章提出第一個改進:歸一化W,同時讓bias置零,這樣就可以讓W全部都分布在超球面上,同時loss函數變為:

這就是修改的softmax loss,從上面公式可以看到,已經從優化內積變為了優化角度,於是乎類別的決策邊界就完全由theat即角度決定,以二分類為例:

decision boundary變得更加簡潔明了,也更符合超球面的圖像可解釋化。

但是,僅僅這樣是不夠的,我們希望類內更緊湊些,於是採用一個margin來對theta進行約束之前是cos(θ1)>cos(θ2),現在加一個margin m,變成cos(mθ1)>cos(θ2) ,這樣就會約束θ1變得更小,也就是類內更加緊湊。這是本文的第二個貢獻,其實這個貢獻主要是由large margin softmax提出來的。

加入margin之後的loss函數如下:

這裡需要注意的是,如果實際優化的時候僅僅使用cos,那麼需要對theat的範圍進行約束以保證cos單調遞減,而為了擺脫這一約束實現cnn的直接優化,實際使用的是cos的近似函數:單調遞減的一個函數

以上就是spherface思想的核心內容,後面還有一些關於margin極小值的證明,自己推一遍即可。

需要注意的是,spherface在實現的時候都還是基於W和X的內積操作,cos(mθ)可以使用倍角公式轉換成只有theat的函數,而cos(θ)又是由W和X以及他們的模計算得到。關於loss的求導可以參考Large-margin這篇論文,裡面由詳細的證明。

[Tricks]

①實際訓練的時候,如果數據集的類別數很大,直接上margin一般是很難收斂的,所以在實際求loss的時候採用的是一種加權平均的方式

在訓練一開始,可以使用大的lambda來讓整個訓練以softmax作為主導,漸漸的降低lambda的數字來增加margin softmax的比重。關於lambda的設置以及使用在作者的官方github賬號上都有: sphereface

②cos(mθ)的實現,已經在上面提到.

③一點訓練心得,在實際訓練的時候,一方面可以通過設置lambda的相關參數來得到平滑的權重下降,另外一方面也可以通過逐漸增大margin來達到收斂的目的,比如最開始使用margin=1來訓練,收斂以後在這個基礎上將margin設置為2,以此類推,margin到你認為合適的位置結束。

[源碼分析]

源碼見作者官網:sphereface

具體margin_inner_product_layer.hpp margin_inner_product_layer.cpp margin_inner_product_layer.cu

未完待續,暫時沒精力寫了,實習太累,以後再補充吧,唉??


推薦閱讀:

SSL/TLS與OpenSSL的發展
假期上分時選那個式神好?各位置強勢式神推薦
dq951163: 2016年一月份投資日曆(科技為王) 一。12月26日第八屆中國軍民融合年會 二...
談escapeshellarg繞過與參數注入漏洞
動動三維,誓要走在巨頭前面,將3D 體驗帶給所有人

TAG:人臉識別 | 科技 | 計算機視覺 |