L-Sofmax
paper url: https://arxiv.org/pdf/1612.02295
year:2017
Introduction
交叉熵損失與softmax一起使用可以說是CNN中最常用的監督組件之一。 盡管該組件簡單而且性能出色, 但是它只要求特征的可分性, 沒有明確鼓勵網絡學習到的特征具有類內方差小, 類間方差大的特性。 該文中,作者提出了一個廣義的 large margin softmax loss(L-Softmax),是large margin系列的開篇之作. 它明確地鼓勵了學習特征之間的類內緊湊性和類間可分離性。
Softmax Loss
Softmax Loss定義如下

如上圖, 當前CNN分類網絡可以看成 特征提取backbone+Softmax Loss 部分
特征提取網絡最后一層特征記為 \(\bf x\), 最后一層 FC 可以看成一個 N 類線性分類器, N 為類別數.
Insight
由於 Softmax 並沒有明確地鼓勵類內緊湊性和類間分離性。 基於此, 該文中一個insight就是, 特征提取網絡提取的特征向量 x 和與相應類別c的權重向量\(W_c\)的乘積可以分解為模長+余弦值:
其中, c為類別索引, \(W_c\) 是最后一個FC層的參數, 可以認為是的類別 c 的線性分類器。
從而, L-Softmax 重構如下

這樣, 在L-Softmax loss中,類別預測很大程度上取決於特征向量\(x\)與權重\(W_c\)的余弦相似性.
method
余弦函數如下

當 \(\theta = [0, \pi]\)時候, \(\cos(\theta)\) 單調遞減
下面以二分類為例, 對於類別 1
Softmax 要求,
L-Softmax 要求,
那么, 由於\(\cos\theta\) 在 \([0, \pi]\)上的單調遞減特性, 有如下不等式
定義


幾何上直觀理解如下

property
L-Softmax損失具有清晰的幾何解釋. m控制類別之間的差距. 隨着m越大(在相同的訓練損失下),類之間的margin變得越大, 學習困難也越來越大.
L-Softmax損失定義了一個相對困難的學習目標,可調節margin(margin 表示了特征學習困難程度)。 一個困難的學習目標可以有效地避免overfiting,並充分利用來自深層和廣泛架構的強大學習能力。
experiment result
toy example



可以看出, L-softmax 的訓練損失更大, 但是在測試集上損失更小.
thought
該篇論文為 larger-margin softmax loss 的開篇之作. 提出乘性 larger-margin softmax loss, 相較與加性 larger-margin softmax loss(如 AM-softmax, ArcFace), 訓練難度更大(需要用到退火訓練方法, 見原文 5.1), 效果而言, 也是加性 loss 更好.
從
可以看出, 該不等式不僅依賴余弦角度而且依賴最后一層 FC 的權重的模長, 所以, 為了學習的特征更加專注於對於余弦角度的優化, 后面一批論文很多都用到權重歸一化, 效果很好.
同時可以看到, 在特征分類時, 其實 feature 的模長會被消元, 為了各個類別學習的特征更加有判別能力, 后面一批論文也做了特征歸一化(實際上將特征模長限制為 1 會降低特征的表達能力, 其實在加難特征學習的過程)
總之, 后面的各個large margin 系列, 特征歸一化, 權重歸一化已經是標配了.
A-Softmax
paper: SphereFace: Deep Hypersphere Embedding for Face Recognition
url: http://openaccess.thecvf.com/content_cvpr_2017/papers/Liu_SphereFace_Deep_Hypersphere_CVPR_2017_paper.pdf
year: 2017
相較於 L-Softmax, A-Softmax 將最后一層 FC 的權重進行了歸一化處理, 即 \(||W||=1\), 重構后 A-Softmax 形式如下

Weight Normlized Softmax
同樣以二分類為例, 對於類別 1, 有
A-Softmax, 有
CosFace
paper: CosFace: Large Margin Cosine Loss for Deep Face Recognition
url: https://arxiv.org/abs/1801.09414
year: 2018

這篇論文在權重歸一化的基礎上進行了特征歸一化, 固定\(||x||=s\)
權重和特征歸一化后, Softmax 形式如下

feature normalization
訓練時, 給定特征向量 \(x\),令 \(\cos(θ_i)\)和\(\cosθ_j\)分別表示兩個類的余弦值。
如果沒有對特征進行歸一化(已經進行權重歸一化),則LMCL強制
注意,只要要\(\cos(θ_i) < \cos(θ_j)\),就需要降低 \(\|x\|_2\)以使損失最小化, 這導致優化退化問題. 因此,在LMCL的監督下,特征歸一化至關重要,尤其是當網絡從頭開始訓練時。 同樣地,固定縮放參數s好於自適應學習s。
details
以二分類為例, 對於類別 1,
當 p>q 時, 分類正確, f(x)為增函數, loss(x) 為減函數, 故而為了減小 loss(x), x增加, 沒有專注於優化余弦角度
當 p<q 時, 分類錯誤 , f(x)為減函數, loss(x) 為增函數, 故而為了減小 loss(x), x減小, 沒有專注於優化余弦角度
Large Margin Cosine Loss(LMCL)
以二分類為例, 對於類別 1, CosFace有
Large Margin Cosine Loss(LMCL) 形式如下

這里將把特征和權重歸一化的, 而不加入 margin 的 Softmax Loss 定義為 NSL(Normlized Softmax Loss)
下面總結下上述幾種 loss 的決策邊界(decision margin),

loss \(\quad \quad\quad\quad\) | decision margin | details |
---|---|---|
Softmax | $ | W_1|_2 \cos(θ_1) > |W_2|_2 \cos(θ_2)$ | 其邊界取決於權重向量的模長和余弦值,這導致余弦空間中的決策區域重疊(margin<0)。 人臉識別中, 測試階段僅考慮測試面部特征向量之間的余弦相似性是一種常見策略。 因此, 受過Softmax損失的訓練有素的分類器無法對余弦空間中的測試樣本進行完美分類。 |
L-Softmax | $ | W_1|_2 \cos(mθ_1) > |W_2|_2 \cos(θ_2)$ | |
NSL | $ \cos(θ_1) > \cos(θ_2) $ | 通過剔除模長變變量,NSL能夠在余弦空間中對測試樣本進行完美分類,margin為0.但是,它不是很穩定 因為沒有decision margin抵消噪音的影響, 決策邊界周圍的任何小擾動都會改變決策。 |
A-Softmax | $ \cos(mθ_1) > \cos(θ_2) $ | A-Softmax的邊界在所有θ值上並不連續: 當θ減小時,margin變小,並且當θ=0時,margin完全消失。這導致兩個潛在的問題。1. 對於視覺上相似的特征, 該特征與 \(W_1\) 和 \(W_2\) 之間都具有較小角度, 從而難以區分類別\(C_1\)和 \(C_2\)。 2,從技術上講,人們必須采用額外的技巧和臨時分段函數來克服余弦函數的非單調性問題。 |
LMCL | $ \cos(θ_1) - m > \cos(θ_2) $ | 上圖中, 可以看到LMCL產生的明顯margin \(\sqrt 2 m\)。 這表明LMCL比NSL更穩健,因為決策邊界(虛線)周圍的小擾動不太可能導致錯誤的決策. 無論其權重向量的角度如何,加性余弦 margin 都可以可以應用於所有樣本。 |
experiment result
effect of margin config

effect of feature normlization

face recognition