【論文】
ArcFace: Additive Angular Margin Loss for Deep Face Recognition
【思想】
ArcFace loss:Additive Angular Margin Loss(加性角度間隔損失函數(shù)),對特征向量和權重歸一化煌恢,對θ加上角度間隔m,角度間隔比余弦間隔在對角度的影響更加直接憔杨。幾何上有恒定的線性角度margin糯而。
ArcFace中是直接在角度空間θ中最大化分類界限,而CosFace是在余弦空間cos(θ)中最大化分類界限娃肿。
【優(yōu)點】
(1)性能高罐栈,易于編程實現(xiàn)黍衙,復雜性低,訓練效率高
(2)ArcFace直接優(yōu)化geodesic distance margin(弧度)荠诬,因為歸一化超球體中的角和弧度的對應琅翻。
? ? ? ? 為了性能的穩(wěn)定,ArcFace不需要與其他loss函數(shù)實現(xiàn)聯(lián)合監(jiān)督柑贞,可以很容易地收斂于任何訓練數(shù)據(jù)集望迎。
? ? ? ?缺點:W模型很大
【各類損失函數(shù)】
(1)Softmax loss
(2)Normalized version of Softmax Loss (NSL)
特征向量歸一化,權重歸一化
(3)A-Softmax Loss
θ乘以決策余量m凌外,進行權重歸一化辩尊,并將偏置項歸零(||W_i||=1,b_i=0)
(4)CosFace Loss
CosFace的LMCL(大間隔余弦損失函數(shù)):權重歸一化康辑,特征向量歸一化到一個固定值s摄欲,讓cos(θ)加上m(注意是加在了余弦上)。
(5)ArcFace loss
(1)在xi和Wji之間的θ上加上角度間隔m(注意是加在了角θ上)疮薇,以加法的方式懲罰深度特征與其相應權重之間的角度胸墙,從而同時增強了類內緊度和類間差異。
(2)懲罰θ角度的意思就是:訓練時加上m就會使θ降低
(3)Margin是如何使類內聚合類間分離的:比如訓練時降到某一固定損失值時按咒,有Margin和無Margin的e指數(shù)項是相等的迟隅,則有Margin的θ_yi就需要相對的減少了。這樣來看有 Margin的訓練就會把 i 類別的輸入特征和權重間的夾角θ_yi縮小了,從一些角度的示圖中可以看出智袭,Margin把θ_yi擠得更類內聚合了奔缠,θ_yi和其他θ類間也就更分離了。
(4)L2歸一化來修正單個權重||W_j||=1吼野,還通過L2歸一化來固定嵌入特征||x_i|校哎,并將其重新縮放成s。特征和權重的歸一化步驟使預測僅取決于特征和權重之間的角度瞳步。因此闷哆,所學的嵌入特征分布在半徑為s的超球體上。
(5)由于提出的加性角度間隔(additive angular margin)懲罰與測地線距離間隔(geodesic distance margin)懲罰在歸一化的超球面上相等单起,因此我們將該方法命名為ArcFace
【決策邊界】
(1)ArcFace:Additive Angular Margin抱怔,加法角度間隔
(2)SphereFace:Multiplicative Angular Margin,乘法角度間隔
(3)CosFace:Additive Cosine margin嘀倒,加法余弦間隔
角度空間特征分步:ArcFace比Softmax的特征分布更緊湊屈留,決策邊界更明顯,一個弧長代表一個類括儒。
【人臉分類器訓練過程】
先將特征向量L2歸一化绕沈,權重L2歸一化锐想,他倆的夾角為θ帮寻,計算cos(θj),求反余弦arccos(θyi)得到特征xi與真實權值Wyi之間的夾角θyi赠摇,添加角度間隔m固逗,再求余弦cos(θyj+m),將所有的log乘以特征尺度s藕帜,然后將log送到softmax函數(shù)得到各類別概率烫罩。再用Ground Truth和One Hot Vector一起算出交叉熵損失。
即DCNN特征和最后一個完全連接層之間的點積等于特征和權重歸一化后的余弦距離洽故。我們利用arc-cosine函數(shù)來計算當前特征和目標權重之間的角度贝攒。然后,在目標角上加上一個附加的角度間隔时甚,用余弦函數(shù)重新計算邏輯回歸的反向傳播過程隘弊。然后,我們用一個固定的特征范數(shù)重新縮放所有的邏輯荒适,隨后的步驟與Softmax loss 中的步驟完全相同梨熙。
【ArcFace與SphereFace、CosFace比較】
(1)數(shù)值相似性
在SphereFace刀诬、ArcFace和CosFace中咽扇,提出了三種不同的margin懲罰,分別是乘法角度間隔m1、加法角度間隔m2质欲、加法余弦間隔m3树埠。從數(shù)值分析的角度來看,不同的margen懲罰把敞,無論是加上角度空間還是加在余弦空間弥奸,都通過懲罰目標邏輯(target logit),來加強類內緊度和類間多樣性奋早。
圖4a中ArcFace訓練時角度會不斷減小盛霎,從90到30度。圖4b繪制了在其最佳margin設置下的目標邏輯曲線耽装。目標logit曲線中影響性能的因素有三個愤炸,即起點、終點和斜率掉奄。
(2)聯(lián)合margin
通過結合所有的margin懲罰(cos(m1*θ+m2)?m3) 规个,我們可以很容易地得到其他一些同樣具有高性能的目標邏輯曲線。如圖4b的CM1線姓建。
(3)幾何差異
ArcFace的在整個區(qū)間內具有恒定的線性角度margen诞仓,margen保持不變。注意圖5二分類情況下的決策邊界的坐標軸是θ速兔,而不是cos(θ)墅拭。盡管ArcFace與以往的工作相似,但由于角度與測地距離具有精確的對應關系涣狗,提出的加性角度間隔具有較好的幾何屬性谍婉。
CosFace的margen在角度空間上有非線性的角度間隔,但在cos空間上是直線镀钓;
SphereFace在θ比較小時margen也比較兴氚尽;
Softmax沒有margen丁溅。
【弧矩】
ArcFace是在角度空間分割唤蔗,ArcFace的angular margin對應著弧距(arc margin)(也叫geodesic測地距離),就是在超球面曲面上的最小距離窟赏。而不是兩特征點之間直接相連的距離妓柜。
【設計組合margin損失函數(shù)】
基于中心和特征歸一化,所有身份分布在超球面上饰序。為了提高類內密度和類間差異领虹,我們比較了四種測地線距離/弧度/角度約束(Geodesic Distance (GDis) constraint),根據(jù)特征和權重向量的角度表示來設計求豫。
(A) 間隔損失(Margin-Loss):在樣品和中心之間插入角度margin塌衰。角度空間诉稍。大量的實驗結果表明(A)策略是最有效的。
樣本用x表示最疆,中心用W表示杯巨。中心就是最終人臉特征表示,如SphereFace中假設最后一個完全連接層中的線性變換矩陣可以表示角度空間中類別的中心努酸。
(B) 類內損失:減少樣本與相應真實中心之間的角度/弧來提高類內緊密性服爷。L2時特征向量和權重歸一化的NSL函數(shù)。內部損失可以有效壓縮類內變化获诈,但也會帶來較小的類間角度仍源。
(C) 類間損失:增加不同中心之間的角度/弧來增強類間差異。類間損失可以略微增加W(直接)和嵌入網(wǎng)絡(間接)上的類間差異舔涎,但也會增加類內角度笼踩。
(D) 基于角度間隔的三元組損失:在三元樣品之間插入測地線距離margin。余弦空間亡嫌。與ArcFace相比嚎于,三元損失具有相似的類內緊度,但類間差較低挟冠。ArcFace已經具有很好的類內緊湊性和類間差異性于购。