ArcFace 論文大顆粒粗讀筆記(二)

續(一)

上節講到了Arcface的從Softmax損失函數改進後的損失函數的公式3部分

這個圖詳細介紹了用Arcface損失函數訓練時網絡後端的組成與原理,從最左側的||W|| 與||X||的歸一化,到在餘弦角度增加m,然後進行feature的rescale,統一變換到64,最後經過softmax得到預測的probability,與GT計算交叉熵的損失

原文解釋:圖2,用Arcface損失函數監督訓練一個DCNN。 基於特徵xi和權重W歸一化,我們將每個類別的cosθj(logit)作爲WTj xi。 計算arccosθyi並得到特徵xi與真實權重Wyi之間的夾角。 實際上,Wj爲每個班級提供了一種中心。 然後,在目標(真實)角度θyi上增加一個角餘量罰分m。 之後,計算cos(θyi+ m)並將所有對數乘以特徵標度s。 然後,對數通過softmax函數並導致交叉熵損失。

來看下它的僞代碼:

還是比較容易懂得,就不囉嗦了。

再來看論文中的圖3

作者用兩個圓來解釋用Arcface與Softmax損失之間的區別。因爲了加了m,所以能分得開。

原文解釋:從包含足夠樣本(約1,500張圖像/類)的8個不同身份中選擇人臉圖像,以分別訓練具有softmax和ArcFace損失的二維特徵嵌入網絡。 如圖3所示,Softmax損失提供了大致可分離的特徵嵌入,但是在決策邊界中產生了明顯的歧義,而ArcFace損失顯然可以相近類別之間的間隙更加明顯。

對比完了Softmax Loss,接下來就要對比SphereFace 與 CosFace的損失函數了

從兩個角度來分析,第一個是數值相似性,第二個是幾何差異性,圖4

Google翻譯的還過得去,就不改了。數值相似性。 在SphereFace [18,19],ArcFace和CosFace [37,35]中,提出了三種不同的餘量懲罰,例如 乘法角餘量m1,加法角餘量m2和加餘弦餘量m3。 從數值分析的角度來看,無論是在角度[18]上還是餘弦空間[37]上增加不同的邊際懲罰,都將通過懲罰目標logit來強制實現類內部的緊湊性和類間的多樣性[26]。 在圖4(b)中,我們繪製了SphereFace,ArcFace和CosFace在其最佳邊距設置下的目標logit曲線。 我們僅在[20°,100°]內顯示這些目標logit曲線,因爲在ArcFace訓練期間,Wyi和xi之間的角度從90°左右(隨機初始化)開始,在30°左右結束,如圖4(a)所示。 直觀地,目標對數曲線中有三個影響性能的因素,即起點,終點和斜率。

通過結合所有邊際罰分,我們在以m1,m2和m3爲超參數的統一框架中實現SphereFace,ArcFace和CosFace。得到了公式4.

如圖4(b)所示,通過組合所有上述餘量的因子(cos(m1θ+ m2)- m3),我們可以輕鬆地獲得一些其他目標Logit曲線,它們也具有很高的性能。圖4(b)的CM1和CM2就是組合損失了。

接下來看看幾何差異性

儘管ArcFace與以前的工作在數值上相似,但是建議的附加角裕度具有更好的幾何屬性,因爲該角裕度與測地距離具有精確的對應關係。

如圖5所示,我們比較了二進制分類情況下的決策邊界。 擬議的ArcFace在整個間隔內具有恆定的線性角裕度。 相比之下,SphereFace和CosFace僅具有非線性角度餘量。,這句話的意思我理解爲Arcface相比於SphereFace不會存在兩個類的某些樣本會十分接近,這裏可以看向SphereFace的原點位置。其次是相比於CosFace擁有較大的類內區域,不知道這是不是一個優點,平行一定比餘弦好嗎?或者說線性比非線性好?

角和餘量設計上的細微差別可能會對模型訓練產生“蝴蝶效應”。 例如,原始的SphereFace [18]採用了退火優化策略。 爲了避免在訓練開始時出現分歧,在SphereFace中使用了來自softmax的聯合監督來減弱乘法邊際罰分。 我們通過使用反餘弦函數而不是使用複雜的雙角度公式來實現新版本的SphereFace,而對邊距沒有整數要求。 在我們的實現中,我們發現與原始SphereFace相比,m = 1.35可以獲得類似的性能,而沒有任何收斂困難。Diss SphereFace。。。

對比完了Softmax Loss,SphereFace 與 CosFace損失函數,接下來要對比 Intra-loss, inter-loss與triblet-loss了

可以基於特徵和權重向量的角度表示來設計其他損失函數。 例如,我們可以設計一種損失,以在超球面上強制實現類內緊湊性和類間差異。 如圖1所示,我們將本文中的其他三個損失進行了比較。 這句話很囉嗦,有湊字數嫌疑。圖一在第一篇Arcface的筆記中已經介紹過了。

Intra-loss的設計旨在通過減小樣本與真實標籤中心之間的角度/弧度來提高類內緊湊性,公式如5。之前說過了,感覺這一小節都有湊字數嫌疑。

Inter-loss 的目標是通過增加不同中心之間的角度/弧度來增強階級間的差異,公式如6。簡單來說一個縮小類內,一個增大類間.

Inter-loss在這裏是最小超球形能量(MHE)方法的一種特殊情況[17]。 在[17]中,隱藏層和輸出層都由MHE進行了正則化。 在MHE論文中,通過將SphereFace損失與網絡最後一層的MHE損失相結合,還提出了損失函數的一種特殊情況。

triplet-loss 旨在擴大三重態樣本之間的角度/弧度餘量。 在FaceNet [29]中,歐幾里得邊距應用於歸一化特徵。 在這裏,我們通過特徵的角度表示爲來使用三重態損失。

本節完。。。

 

 

 

發佈了13 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章