人臉識別Loss對比:L-Softmax, SphereFace, CosFace, ArcFace

人臉識別Loss對比:L-Softmax, SphereFace, CosFace, ArcFace

  • Large-marin softmax (L-Softmax) loss

先來回顧一下softmax的求解方法,如下所示:

其中m是batch size的大小,而n是類別數目。初始的softmax的目的是使得WT1x > WT2x,即 ∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2),從而得到x(來自類別1)的正確分類。而作者提出的large-magrin softmax loss的動機就是希望能夠通過增加一個正整數變數m,從而產生一個決策邊界,能夠更加嚴格的約束上述不等式,讓類內的間距更加的緊湊,類間的間距更加具有區分性,即:

如果 W1 和 W2 能夠滿足∥W1∥∥x∥cos(mθ1)>∥W2∥∥x∥cos(θ2),那麼就必然滿足∥W1∥∥x∥cos(θ1)>∥W2∥∥x∥cos(θ2)。這樣的約束對學習W1 和 W2 的過程提出了更高的要求,從而使得1類和2類有了更寬的分類決策邊界。

那麼L-Softmax loss的最終結果為:

其中:(具體不太清楚為什麼這樣子寫)

其中,當m越大的時候,分類的邊界就越大,學習的難度也就越高,其中論文中有一張圖可以形象的表示(類內的間距更加的緊湊,類間的間距更加具有區分性):

其中,論文中還有很多相關的推倒,筆者也沒有看明白,感興趣的自己研究。最後說一下,論文中提到的L-Softmax的優點:

  1. 它讓類間的分類性更加的明顯
  2. 由於L-softmax有一個更加難的實現目標,所以說它更能避免過擬合。
  3. L-softmax不僅在分類問題上有優勢,同樣在識別問題上也有優勢,因為L-softmax使類內的距離更加的緊湊。

  • SphereFace

還是從softmax說起,當加上上述限制條件以後:∥Wi∥=1,bi=0,可以得到論文中說的修正的損失函數:

在二分類問題中,當cos(θ1)>cos(θ2)時,可以確定屬於類別1,但分類1與分類2的決策面是同一分,說明分類1與分類2的間隔(margin)相當小,直觀上的感覺就是分類不明顯。如果,讓分類明顯的話,可以做兩個決策面,對於類別1的決策面為cos(mθ1)= cos(θ2),對於類別2的決策面為cos(θ1)=cos(mθ2),其中m≥2,m∈N,m≥2說明與該分類的最大夾角要比其他分類的最小夾角還要小m倍。如果m=1,那麼類別1與類比2的決策平面是同一個平面;如果m≥2,那麼類別1與類別2有兩個決策平面。因此A-Softmax的表示如下:

其中θyi,i∈[0,π/m],因為θyi,i在這個範圍之外可能會使得mθyi,i > θj,i,j≠yi(這樣就不屬於分類yi了),但cos(mθ1)>cos(θ2)仍可能成立,而我們的Loss方程用的還是cos(θ)。為了避免這個問題,可以重新設計一個函數來替代cos(mθyi,i),其中定義如下;

這個函數的定義可以使得ψ隨θyi,i單調遞減,如果mθyi,i > θj,i,j≠yi, 那麼必有ψ(θyi,i) < cos(θj,i),反而亦然,這樣可以避免上述的問題,所以有:

不同的類位於一個單位超球表面的不同區域。從上面也可以知道它的幾何意義是權重所代表的在單位超球表面的點,在訓練的過程中,同一類的輸入映射到表面上會慢慢地向中心點(這裡的中心點大部分時候和權重的意義相當)聚集,而到不同類的權重(或者中心點)慢慢地分散開來。m的大小是控制同一類點聚集的程度,從而控制了不同類之間的距離。從下圖可以看到,不同的m對映射分布的影響:

其中,A-Softmax的性質如下:

  1. A-Softmax Loss定義了一個大角度間隔的學習方法,m越大這個間隔的角度也就越大,相應區域流形的大小就越小,這就導致了訓練的任務也越困難。
  2. mmin被定義為當m>mmin時有類內間的最大角度特徵距離小於類間的最小角度特徵距離。

A-Softmax與L-Softmax的最大區別在於A-Softmax的權重歸一化了,而L-Softmax則沒的。A-Softmax權重的歸一化導致特徵上的點映射到單位超球面上,而L-Softmax則不沒有這個限制,這個特性使得兩者在幾何的解釋上是不一樣的。如圖10所示,如果在訓練時兩個類別的特徵輸入在同一個區域時,如下圖10所示。A-Softmax只能從角度上分度這兩個類別,也就是說它僅從方向上區分類,分類的結果如圖11所示;而L-Softmax,不僅可以從角度上區別兩個類,還能從權重的模(長度)上區別這兩個類,分類的結果如圖12所示。在數據集合大小固定的條件下,L-Softmax能有兩個方法分類,訓練可能沒有使得它在角度與長度方向都分離,導致它的精確可能不如A-Softmax。

參考:cnblogs.com/heguanyou/p


  • CosFace

CosFace的思想和SphereFace的思想相近,其中主要做了一下兩點的改進:

  1. Loss的形式做了稍微的改變,將超參數m由乘法運算變成了減法運算。
  2. 不僅對權重進行了正則化,還對特徵進行了正則化。

CosFace中新提出的loss為Large Margin Cosine Loss (LMCL),表示形式為:

作者在文中與其他幾種loss進行了對比,來證明此種loss的優勢,以兩鍾情況的類別為例:

如上圖所示,softmax的決策邊界可以寫成如下的形式,可以看出決策邊界由權值變數和角度的cosine值一起決定,這樣子就導致了,在cosine維度進行度量的時候,兩個類別之間會出現重疊(margin<0)。

而NSL loss是指權值和特徵都進行正則化。這樣子決策邊界就可以寫成如下的形式,從而,在cosine維度進行度量的時候,兩個類別之間有一個明確的決策邊界。但是,由於邊界空間為0(margin=0),導致處於邊緣的情況,很容易出現分類錯誤。

A-Softmax提出了超參數m,從而使得邊界空間的範圍增大,其中決策邊界的表示形式如下所示。由上圖的第三張子圖可以知道,A-Softmax的邊界空間(margin)會隨著θ的變化而變化,表現出了不一致性,甚至當θ為0的時候,margin=0。

但是,LMCL卻克服了上述loss的缺點,其中決策邊界的表示形式如下所示,兩個類別之間有一個明確的邊界空間(margin>0),相對於前幾種loss,有更好的魯棒性。

注意,在LMCL中,作者證明了s的範圍,如下所示:

並且,還分別驗證了m的取值和是否正則化特徵對網路的影響,詳細的請看論文。


  • ArcFace

其中ArcFace中提到了很多的內容,在這裡面我只陳述一下論文提出來的loss。其思想和CosFace差不多,直接放出來loss如下:

論文中提到,ArcFace更傾向於角度上的分解,而CosFace則注重餘弦上的分解,因此ArcFace相比CosFace在集合解釋上更加的清楚和明了。並且說到,角度上的邊界與超球面上的弧形距離相關。

其中,論文對主要loss的決策邊界進行了總結,如下圖所示:

而ArcFac中的loss與其他loss不同之處在於下圖:

具體意義不再說明,與CosFace的解釋相同,只是ArcFace相比CosFace的不同體現在度量的維度上面。論文中還做了其他很多的貢獻,具體的請詳見論文。

其中,原版請查看有道雲

http://note.youdao.com/noteshare?id=61a35331088296758cf4b53aad1ee353&amp;sub=197EA66350084A70937632C618040BB1?

note.youdao.com


推薦閱讀:

iphone X或許成就不了自己卻可以成就人臉識別
計算機視覺技術
闖紅燈怎麼了?不好意思,您已經被拍下人臉識別了!
人臉識別這件「小事」 | 視頻
冷靜審視人工智慧技術的本質 | 一圖看懂新一代人工智慧知識體系大全

TAG:人臉識別 | 深度學習DeepLearning |