1. 程式人生 > >人臉識別的LOSS(多分類Softamx)

人臉識別的LOSS(多分類Softamx)

超多分類的Softmax

早期深度人臉識別方法,框架為CNN + Softmax,以“超多分類”這樣一種比較難的任務訓練CNN,強迫網路在第一個FC層形成比較緊湊的,判別力很強的深度人臉特徵,之後用於人臉識別。

Softmax優缺點

Softmax是soft(軟化)的max。在CNN的分類問題中,我們的ground truth是one-hot形式,下面以四分類為例,理想輸出應該是(1,0,0,0),或者說(100%,0%,0%,0%),這就是我們想讓CNN學到的終極目標。

網路輸出的幅值千差萬別,輸出最大的那一路對應的就是我們需要的分類結果。通常用百分比形式計算分類置信度,最簡單的方式就是計算輸出佔比,假設輸出特徵是 (x_{1}, x_{2}, x_{3}, x_{4})

,這種最直接最最普通的方式,相對於soft的max,在這裡我們把它叫做hard的max

而現在通用的是soft的max,將每個輸出x非線性放大到exp(x),形式如下:

hard的max和soft的max到底有什麼區別呢?看幾個例子

相同輸出特徵情況,soft max比hard max更容易達到終極目標one-hot形式,或者說,softmax降低了訓練難度,使得多分類問題更容易收斂。

到底想說什麼呢?Softmax鼓勵真實目標類別輸出比其他類別要大,但並不要求大很多。對於人臉識別的特徵對映(feature embedding)來說,Softmax鼓勵不同類別的特徵分開,但並不鼓勵特徵分離很多

,如上表(5,1,1,1)時loss就已經很小了,此時CNN接近收斂梯度不再下降。

Softmax Loss訓練CNN,MNIST上10分類的2維特徵對映視覺化如下:

不同類別明顯分開了,但這種情況並不滿足我們人臉識別中特徵向量對比的需求。人臉識別中特徵向量相似度計算,常用歐式距離(L2 distance)和餘弦距離(cosine distance),我們分別討論這兩種情況:

  • L2距離:L2距離越小,向量相似度越高。可能同類的特徵向量距離(黃色)比不同類的特徵向量距離(綠色)更大

  • cos距離:夾角越小,cos距離越大,向量相似度越高。可能同類的特徵向量夾角(黃色)比不同類的特徵向量夾角(綠色)更大

總結來說:

  1. Softmax訓練的深度特徵,會把整個超空間或者超球,按照分類個數進行劃分,保證類別是可分的,這一點對多分類任務如MNIST和ImageNet非常合適,因為測試類別必定在訓練類別中。
  2. 但Softmax並不要求類內緊湊和類間分離,這一點非常不適合人臉識別任務,因為訓練集的1W人數,相對測試集整個世界70億人類來說,非常微不足道,而我們不可能拿到所有人的訓練樣本,更過分的是,一般我們還要求訓練集和測試集不重疊。
  3. 所以需要改造Softmax,除了保證可分性外,還要做到特徵向量類內儘可能緊湊,類間儘可能分離

雙約束的Loss Function

  • Sun Y, Chen Y, Wang X, et al. Deep learning face representation by joint identification-verification [C]// NIPS, 2014.
  • Sun Y, Wang X, Tang X. Deeply learned face representations are sparse, selective, and robust [C]// CVPR, 2015.
  • Sun Y, Liang D, Wang X, et al. Deepid3: Face recognition with very deep neural networks [J]. arXiv, 2015.

DeepID2, DeepID2+, DeepID3都在採用Softmax + Contrastive Loss,Contrast Loss是:

同類特徵的L2距離儘可能小,不同類特徵的L2距離大於margin(間隔) m,Contrastive Loss同時約束類內緊湊和類間分離。25個patch訓練25個CNN,特徵聯合後PAC降維,訓練Joint Bayesian分類,在LFW上Softmax + Contrast Loss的DeepID2達到99.15%,多層加監督資訊的DeepID2+達到99.47,採用更大的deep CNN的DeepID3達到99.53%。DeepID系列是早期的深度學習人臉識別方法,但程式碼都沒有開源,而且深度特徵是多patch聯合,還要訓練分類器,繁瑣不實用。

工業屆應用最廣的還是Facenet的Triplet Loss: