AM-Softmax

論文: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:
在這裏插入圖片描述
ff表示最後一個全連接層的輸入,fif_i表示第ii個樣本。WjW_j表示最後一個全連接層的第jj列。WyiTfiW_{y_i}^Tf_i稱爲第ii個樣本的target logit。

A-Softmax:
A-Softmax中對softmax進行了兩項修改,一是對權重進行歸一化(W=1||W|| = 1),而是修改ficos(θ)||f_i||cos(\theta)fiψ(θyi)||f_i||\psi(\theta_{y_i}).
在這裏插入圖片描述
在這裏插入圖片描述
m是大於1的整數,λ\lambda是一個超參數,用於控制損失函數的優化難易程度。在訓練過程中,λ\lambda初始值爲1000,隨着訓練的進行慢慢減小以增大每一類樣本角空間的聚合度。Sphereface論文中,作者設置的最優參數是λ=5,m=4\lambda = 5,m = 4,通過圖2的分析顯示,這相當於λ=0,m=1.5\lambda = 0,m = 1.5

在這裏插入圖片描述
圖2橫軸是角度,縱軸是WyiTfiW_{y_i}^Tf_i。上圖可以看出,λ=5,m=4\lambda = 5,m = 4時的A-Softmax和m=0.35時的AM-Softmax在[0,90°]中取值很接近,而[0,90°]也是現實中θ\theta的常見取值範圍。

2 AM-Softmax

定義ψ(θ)\psi(\theta)爲:
在這裏插入圖片描述
實現時,進行了權重和輸入特徵的歸一化之後的輸入爲:x=cos(θyi)=WyiTfiWyifix = \cos(\theta_{yi})=\frac{W_{y_i}^Tf_i}{||W_{y_i}||||f_i||},所以前向過程中只需要計算:
在這裏插入圖片描述
反向傳播時,Ψ(x)=1\Psi^{'}(x) = 1,計算上要比Sphereface容易。

作者這裏還是使用餘弦度量兩個特徵間的相似度,因此作者是對一個全連接層進行輸入和權重的歸一化來構建一個餘弦層。然後對餘弦值使用超參數s。最終的損失函數爲:
在這裏插入圖片描述
作者發現如果通過訓練過程學習超參數s的話,則會造成網絡收斂速度非常慢。所以作者設置超參數s爲人爲設定的足夠大的固定值

在L-Softmax和A-Softmax的訓練過程中,超參數λ\lambda是逐漸減小的,但是作者人爲控制λ\lambda的遞減策略又引入了很多難以調試的超參數。作者這裏不使用λ\lambda遞減訓練策略。並且發現,即便從一開始就固定超參數m,訓練過程也可以很好的收斂。

幾何解釋
在這裏插入圖片描述
對於傳統的softmax損失,分類邊界P0P_0處滿足W1TP0W_1^TP_0 = W2TP0W_2^TP_0

對於AM-Softmax,分類邊界不再是一個向量,而是一個間隔區域。對於類別1的邊界P1P_1,有W1TP1m=W2TP1W_1^TP_1 - m = W_2^TP_1,得到m=W1TP1W2TP1=cos(θW1,P1)cos(θW2,P1)m = W_1^TP_1 - W_2^TP_1 = \cos(\theta_{W_1,P_1}) - \cos(\theta_{W_2,P_1})。同理對於類別2的邊界P2P_2,有W2TP2m=W1TP2W_2^TP_2 - m = W_1^TP_2,得到m=W2TP2W1TP2=cos(θW2,P2)cos(θW1,P2)m = W_2^TP_2 - W_1^TP_2 = \cos(\theta_{W_2,P_2}) - \cos(\theta_{W_1,P_2})。假設各類類內方差相同,那麼就有cos(θW2,P1)=cos(θW1,P2)\cos(\theta_{W_2,P_1}) = \cos(\theta_{W_1,P_2})。所以m=cos(θW1,P1)cos(θW1,P2)m = \cos(\theta_{W_1,P_1}) - \cos(\theta_{W_1,P_2})也就是說,m等於對於類別1而言,間隔區域兩個邊界相對於類別1的餘弦差值

角度間隔和餘弦間隔的區別
SphereFace中,margin m是乘到θ\theta上的,所以是以乘積的方式影響loss值。在AM-Softmax中,間隔m是從cos(θ)\cos(\theta)中減去的,是以相加的方式影響loss值的。

雖然θ\thetacos(θ)\cos(\theta)是一一對應的,但是由於cos函數引入了非線性,這兩者還是有所區別的。

AM-Softmax的優化目標是cos相似度,而不是A-Softmax中的角度。如果使用傳統的softmax函數時,這兩者是相同的,因爲cosθ1=cosθ2θ1=θ2\cos \theta_1 = \cos \theta_2 \Rightarrow \theta_1 = \theta_2。但是,兩者在計算上還是有所區別,如果我們優化的是cos(θ)\cos(\theta),那麼在θ\theta取值爲0或者π\pi的地方,cos(θ)\cos(\theta)的取值比較密集。如果我們優化的是角度,那麼在計算了WTfW^Tf之後,還需要進行arccos\arccos的操作,計算複雜度會更高。

總體來說,角度間隔在概念上比餘弦間隔更合理,但是考慮到計算複雜度,餘弦間隔在相同目的的情況下計算量更小。

特徵歸一化
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 : 特徵歸一化,權重歸一化,優化目標 cos(θ)m\cos(\theta) - m
超參數:s=30,m取0.35/0.4,作者認爲如何自動去學習間隔m的值以及如何去解釋指定類/樣本的間隔依然值得繼續研究。

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