論文:Additive Margin Softmax for Face Verification
0 摘要
AM-Softmax,additive margin softmax。
人臉識別任務是一個度量學習任務,目的是使學習到的特徵具有類內高度聚合、類間儘可能分離的特性。前面L-softmax和Sphereface中都通過乘積的方式解釋了人臉識別中的角度間隔。本文作者提出了爲softmax loss使用相加的角度間隔,效果更好並且理論上更合理。文中仍然強調和驗證了特徵歸一化的必要性。在LFW和Megaface數據集上證明了AM-Softmax的先進性。
1 Softmax & A-Softmax
Softmax:
表示最後一個全連接層的輸入,表示第個樣本。表示最後一個全連接層的第列。稱爲第個樣本的target logit。
A-Softmax:
A-Softmax中對softmax進行了兩項修改,一是對權重進行歸一化(),而是修改爲.
m是大於1的整數,是一個超參數,用於控制損失函數的優化難易程度。在訓練過程中,初始值爲1000,隨着訓練的進行慢慢減小以增大每一類樣本角空間的聚合度。Sphereface論文中,作者設置的最優參數是,通過圖2的分析顯示,這相當於。
圖2橫軸是角度,縱軸是。上圖可以看出,時的A-Softmax和m=0.35時的AM-Softmax在[0,90°]中取值很接近,而[0,90°]也是現實中的常見取值範圍。
2 AM-Softmax
定義爲:
實現時,進行了權重和輸入特徵的歸一化之後的輸入爲:,所以前向過程中只需要計算:
反向傳播時,,計算上要比Sphereface容易。
作者這裏還是使用餘弦度量兩個特徵間的相似度,因此作者是對一個全連接層進行輸入和權重的歸一化來構建一個餘弦層。然後對餘弦值使用超參數s。最終的損失函數爲:
作者發現如果通過訓練過程學習超參數s的話,則會造成網絡收斂速度非常慢。所以作者設置超參數s爲人爲設定的足夠大的固定值。
在L-Softmax和A-Softmax的訓練過程中,超參數是逐漸減小的,但是作者人爲控制的遞減策略又引入了很多難以調試的超參數。作者這裏不使用遞減訓練策略。並且發現,即便從一開始就固定超參數m,訓練過程也可以很好的收斂。
幾何解釋:
對於傳統的softmax損失,分類邊界處滿足 = 。
對於AM-Softmax,分類邊界不再是一個向量,而是一個間隔區域。對於類別1的邊界,有,得到。同理對於類別2的邊界,有,得到。假設各類類內方差相同,那麼就有。所以。也就是說,m等於對於類別1而言,間隔區域兩個邊界相對於類別1的餘弦差值。
角度間隔和餘弦間隔的區別:
SphereFace中,margin m是乘到上的,所以是以乘積的方式影響loss值。在AM-Softmax中,間隔m是從中減去的,是以相加的方式影響loss值的。
雖然和是一一對應的,但是由於cos函數引入了非線性,這兩者還是有所區別的。
AM-Softmax的優化目標是cos相似度,而不是A-Softmax中的角度。如果使用傳統的softmax函數時,這兩者是相同的,因爲。但是,兩者在計算上還是有所區別,如果我們優化的是,那麼在取值爲0或者的地方,的取值比較密集。如果我們優化的是角度,那麼在計算了之後,還需要進行的操作,計算複雜度會更高。
總體來說,角度間隔在概念上比餘弦間隔更合理,但是考慮到計算複雜度,餘弦間隔在相同目的的情況下計算量更小。
特徵歸一化:
A-Softmax中只使用了權重歸一化,但是AM-Softmax中在權重歸一化的基礎上又使用了特徵歸一化,那麼該不該應用特徵歸一化呢?
答案是取決於圖像的質量。L2-Softmax論文中指出了高質量圖像的特徵範數更大。
從上面式子可以看出,進行歸一化操作之後,範數越小的特徵相比範數更大的特徵,梯度被放大的倍數越大。那麼網絡就會更加註意對這些低質量圖像的擬合。這樣做很類似於難例挖掘,因此對於低質量的圖像集,特徵歸一化還是很必要的。
使用了特徵歸一化之後,對於範數很小的特徵,梯度值可能很大,有可能造成梯度爆炸。作者認爲理想的梯度應該是介於上述兩條曲線之間,這個也是後面需要進一步研究的問題。
可視化特徵:
3 實驗
超參數:
實驗中,s固定爲30.m的值經過實驗證明取0.35到0.4時效果最好。
在LFW和MegaFace上的實驗效果:
AM-Softmax在LFW和MegaFace數據集上比A-Softmax效果要更好。
4 總結
AM-Softmax : 特徵歸一化,權重歸一化,優化目標 。
超參數:s=30,m取0.35/0.4,作者認爲如何自動去學習間隔m的值以及如何去解釋指定類/樣本的間隔依然值得繼續研究。