1. Softmax loss:
鼓勵(lì)目標(biāo)類別的輸出比其他要大晴圾,但是從其公式圖像上可以看出,Softmax鼓勵(lì)不同類別特征分開笼恰,但是并不鼓勵(lì)分開很多冤荆,所以會(huì)出現(xiàn)如下圖情況朴则,
softmax相對(duì)的就是hard max, 我們可以對(duì)比一下例子
相同輸出特征情況钓简,softmax比hard max更容易達(dá)到最后的one-hot形式乌妒,或者說softmax降低了訓(xùn)練的難度,使得多分類問題更容易收斂.
但是损话,此情況不滿足我們?nèi)四樧R(shí)別 中特征向量對(duì)比的需求侦啸,人臉識(shí)別中常用歐式距離(l2 distance)和余弦距離(cosin distance)
L2距離:l2距離越小,向量相似度越高丧枪,可能同類的特征向量距離(黃色)比不同類的特征向量距離(綠色)更大.
cos距離:夾角越小光涂,cos距離越大,向量相似度越高拧烦,可能同類的特征向量夾角(黃色)比不同類的特征向量夾角(綠色)更大
總的來說:
- softmax訓(xùn)練的深度特征顶捷,會(huì)把整個(gè)超空間或者超球,按分類個(gè)數(shù)劃分屎篱,保證類別可分,這一點(diǎn)對(duì)多分類任務(wù)如imageNet非常合適葵蒂,因?yàn)闇y(cè)試類別必定再訓(xùn)練類別中.
2.但是Softmax不要求類內(nèi)緊湊和類間分離交播,這不符合人臉識(shí)別任務(wù),因?yàn)橛?xùn)練集1w的任務(wù)相對(duì)于測(cè)試集整個(gè)世界70億人類說践付,非常微不足道秦士,我們不能拿到所有人的訓(xùn)練樣本,
3. 所以需要改造softmax, 除了保證可分性永高,還要做到特征向量類內(nèi)盡可能緊湊隧土,類間盡可能分離.
ArchFace Loss
角度距離比余弦距離在對(duì)角度的影響上更加直接
決策邊界的具體比較如下圖:
ArchFace是直接在角度空間(angular space)中最大化分類界限.以下是具體公式變動(dòng)過程:
變動(dòng)則是首先將偏置b設(shè)置為0, 然后權(quán)重和輸入的內(nèi)積用下面一下式子表示:
當(dāng)用l2正則化處理Wj使||Wj||=1, l2正則化就是將Wj向量中每個(gè)值分別除以Wj的模,從而得到新的Wj, 新的Wj的模就是1.從公式1就可以得到下面式子命爬,此操作再SphereFace, CosineFace中都有.
然后一方面曹傀,對(duì)輸入xi也用l2正則化處理,同時(shí)乘以一個(gè)scale參數(shù)s饲宛;另一方面將
以二分類為例,(分離邊界的計(jì)算https://blog.csdn.net/u014380165/article/details/80645489
)
target logit
了解了Table1中分類界限的計(jì)算后,就容易理解Figure3中的圖了幕庐,因?yàn)榛旧暇褪前凑誘able1中的公式來畫的久锥,看懂Figure3就基本上明白為什么這幾個(gè)損失函數(shù)能夠提高人臉識(shí)別的效果。softmax和W-Norm softmax比較簡(jiǎn)單异剥,坐標(biāo)軸是cosθ1和cosθ2瑟由,分界線的斜率是1。SphereFace中的坐標(biāo)軸是θ1和θ2冤寿,其中class1的線對(duì)應(yīng)Table1中的公式歹苦,因?yàn)閙小于1,cos函數(shù)在該輸入范圍內(nèi)是遞減函數(shù)疚沐,所以斜率(cosmθ1/cosθ2)大于1暂氯。class2那條線同理,同時(shí)兩條線都過原點(diǎn)亮蛔。CosinFace中的坐標(biāo)軸是cosθ1和cosθ2痴施,class1那條線相當(dāng)于將過原點(diǎn)的斜率為1的線向上平移m的結(jié)果,為什么這么說究流?假設(shè)θ2=0辣吃,那么class1線就是cosθ1=m,又因?yàn)榭v坐標(biāo)軸是cosθ1芬探,因此就是平移m神得,class2同理。ArchFace中的坐標(biāo)軸是θ1和θ2偷仿,class1這條線相當(dāng)于將過原點(diǎn)的斜率為1的線向上平移m的結(jié)果(注意哩簿,雖然都是平移m,但是這里的坐標(biāo)軸和CosinFace不同酝静,因此平移的量不一樣)节榜。
因此這里有個(gè)非常重要的結(jié)論:在ArchFace中是直接在角度空間(angular space,也就是橫縱坐標(biāo)是角度θ1和θ2别智,不是softmax或CosineFace中的cosθ1和cosθ2)中最大化分類界限宗苍。
首先解釋下target logit的概念,target logit指的是網(wǎng)絡(luò)的全連接層輸出薄榛,假設(shè)你的損失函數(shù)是softmax loss讳窟,也就是下面這個(gè)式子:
那么下面這個(gè)就是target logit
因此換句話說,target logit就是全連接層輸出矩陣中預(yù)測(cè)類別為真實(shí)類別的輸出敞恋,再看如下target logit的曲線圖丽啡,尤其30-60度范圍內(nèi),arcface的效果要好于其他算法硬猫,同時(shí)可以看出sphereface超參數(shù)調(diào)整需要技巧.
以下是arcface loss過程
將m理解為一種間隔