京ICP備2022018928號-30 投訴舉報:315 541 185@qq.com
1 介紹論文標題:CosFace: Large Margin Cosine Loss for Deep Face Recognition論文作者:H. Wang, Yitong Wang, Zheng Zhou, Xing Ji, Zhifeng Li, Dihong Gong, Jin Zhou, Wei Liu論文來源:2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition論文地址:download論文代碼:download引用次數:1594
當前提出的損失函數缺乏良好的鑒別能力,所以本文基于 “最大化類間方差和最小化類內方差” 的思想提出了大邊際余弦損失(LMCL)。
2 方法2.1 引入$\text{Softmax}$ 損失函數【指交叉熵損失函數】:
(相關資料圖)
$L_{s}=\frac{1}{N} \sum_{i=1}^{N}-\log p_{i}=\frac{1}{N} \sum_{i=1}^{N}-\log \frac{e^{f_{y_{i}}}}{\sum_{j=1}^{C} e^{f_{j}}} \quad\quad(1)$
其中,
$f_{j}=W_{j}^{T} x=\left\|W_{j}\right\|\|x\| \cos \theta_{j}$
Note:$\theta_{j}$ 代表了 權重向量 $W_{j}$ 和 $x$ 之間的夾角;
分類任務的期望,是使得各個類別的數據均勻分布在超球面上。
NSL 損失:【 固定權重向量$W$ 的模長$\|W\|=s$ 和特征向量$x$ 的模長$\|x\|=s$】
$L_{n s}=\frac{1}{N} \sum_{i}-\log \frac{e^{s \cos \left(\theta_{y_{i}, i}\right)}}{\sum_{j} e^{s \cos \left(\theta_{j, i}\right)}} \quad\quad(3)$通過固定 $\|x\|=s$ 消除徑向的變化,使得模型在角空間中學習可分離的特征。
例如,考慮二分類的情況,設 $\theta_{i}$ 表示特征向量與類 $C_{i}$($i = 1,2$)權重向量之間的夾角。NSL 強制 $C_{1}$ 的 $\cos \left(\theta_{1}\right)>\cos \left(\theta_{2}\right)$,$C_{2}$ 也是如此,因此來自不同類的特性被正確地分類。
由于 NSL 學習到的特征沒有足夠的可區分性,只強調正確的分類。所以,本文在分類邊界中引入余弦間隔,納入 Softmax 的余弦公式中。
為開發一個大間隔分類器,進一步需要 $\cos \left(\theta_{1}\right)-m>\cos \left(\theta_{2}\right)$ 及 $\cos \left(\theta_{2}\right)-m>\cos \left(\theta_{1}\right)$,其中 $m \geq 0$ 是一個固定參數來控制余弦間隔的大小。由于$\cos \left(\theta_{i}\right)-m$ 低于 $\cos \left(\theta_{i}\right)$,因此對分類的約束更加嚴格,推廣到多類:
${\large L_{l m c}=\frac{1}{N} \sum_{i}-\log \frac{e^{s\left(\cos \left(\theta_{y_{i}, i}\right)-m\right)}}{e^{s\left(\cos \left(\theta_{y_{i}, i}\right)-m\right)}+\sum_{j \neq y_{i}} e^{s \cos \left(\theta_{j, i}\right)}}}\quad\quad(4)$
其中,
$\begin{array}{l}W =\frac{W^{*}}{\left\|W^{*}\right\|}\\x =\frac{x^{*}}{\left\|x^{*}\right\|}\\\cos \left(\theta_{j}, i\right) = W_{j}^{T} x_{i}\end{array}\quad\quad(5)$
2.2 方法對比$\text{Softmax}$ 的決策邊界:【$magin< 0$】
$\left\|W_{1}\right\| \cos \left(\theta_{1}\right)=\left\|W_{2}\right\| \cos \left(\theta_{2}\right)$
邊界依賴于權重向量的大小和角度的余弦,這導致在余弦空間中存在一個重疊的決策區域。
$\text{NSL}$的決策邊界:【$magin= 0$】
$\cos \left(\theta_{1}\right)=\cos \left(\theta_{2}\right)$通過去除徑向變化,NSL 能夠在余弦空間中完美地分類測試樣本。然而,由于沒有決策邊際,它對噪聲的魯棒性并不大:決策邊界周圍的任何小的擾動都可以改變決策。
$\text{A-Softmax}$的決策邊界:
$\begin{array}{l}C_{1}: \cos \left(m \theta_{1}\right) \geq \cos \left(\theta_{2}\right) \\C_{2}: \cos \left(m \theta_{2}\right) \geq \cos \left(\theta_{1}\right) \end{array}$對于 $C_{1}$,需要 $\theta_{1} \leq \frac{\theta_{2}}{m}$。然而問題是 $\text{Margin}$ 隨著 $W_1$ 和 $W_2$ 之間的夾角發生變化,如果兩個類的樣本區分難度很大,導致 $W_1$ 和 $W_2$ 夾角很小,可能會出現$\text{Margin}$ 很小的情況。
$\text{LMCL}$的決策邊界:
$\begin{array}{l}C_{1}: \cos \left(\theta_{1}\right) \geq \cos \left(\theta_{2}\right)+m \\C_{2}: \cos \left(\theta_{2}\right) \geq \cos \left(\theta_{1}\right)+m\end{array}$
因此,$\cos \left(\theta_{1}\right)$ 被最大化,而 $\cos \left(\theta_{2}\right)$ 被最小化,使得 $C_{1}$ 執行大邊際分類。$\text{Figure 2}$ 中 $\text{LMCL}$ 的決策邊界,可以在角度余弦分布中看到一個清晰的 $\text{Margin}$( $\sqrt{2} m$)。這表明 LMCL 比 NSL 更健壯,因為在決策邊界(虛線)周圍的一個小的擾動不太可能導致不正確的決策。余弦裕度一致地應用于所有樣本,而不考慮它們的權值向量的角度。
2.3特征歸一化特征歸一化的必要性包括兩個方面:
沒有歸一化之前的 $\text{Softmax}$ 損失函數會潛在地學習特征向量的 $L_{2}$ 模長和角度余弦。由于 $L_{2}$ 模長的增大,會一定程度上降低損失函數的值,這樣會削弱余弦約束;同時希望所有數據的特征向量都具有相同的二范數,以至于取決于余弦角來增強判別性能。在超球面上,來自相同類別的特征向量被聚類在一起,而來自不同類別的特征向量被拉開;比如假設特征向量為 $\mathrm{x}$,讓 $\cos \left(\theta_{i}\right)$ 和 $\cos \left(\theta_{j}\right)$ 代表特征與兩個權重向量的余弦,如果沒有歸 一化特征,損失函數會促使 $\|x\|\left(\cos \left(\theta_{i}\right)-m\right)>\|x\|\left(\cos \left(\theta_{j}\right)\right)$ ,但是優化過程中如果 $\left(\cos \left(\theta_{i}\right)-m\right)<\cos \left(\theta_{j}\right)$ ,為了降低損失函數,用 $\|x\|$ 的增加來換取損失函數的降低也是很可能的,所以會導致優化問題產生次優解?! 〈送獬叨葏?$s$ 應該設置足夠大,對于 NSL,太小的 $s$ 會導致收斂困難甚至無法收斂。在 LMCL,我 們需要設置更大的 $s$ 才能保證在預設的 Margin 以及在足夠大的超球面空間來學習特征?! 〗酉聛矸治?$s$ 應該有一個下界來保證獲得期望的分類性能。給定歸一化的學習特征向量 $x$ 和單位權重向量 $W$,用 $C$ 表示類別總數,假設學習到的特征分別位于超平面上,以相應的權重向量為中心。$p_{W}$ 表示類里面期望的最小的后驗概率(也就是與 $W$ 重合的特征的后驗概率), $s$ 下界為:
$s \geq \frac{C-1}{C} \log \frac{(C-1) P_{W}}{1-P_{W}} \quad\quad(6)$
可以分析出,如果在類別數保持一定情況下,想要得到最佳的 $p_{W}$,$\mathrm{~s}$ 要足夠大。此外,如果固定 $p_{W}$,隨著類別數的增加,也需要增大 $\mathrm{s}$ 值,因為類別數的增加會提升分類的難度。
2.4LMCL的理論分析選擇合適的 $\text{Margin}$ 很重要,分析超參數 $\text{Margin}$ 的理論界限很有必要。
考慮二分類問題,類別分別是 $\mathrm{C}_1$ 和 $\mathrm{C}_2$,歸一化特征為 $x$,歸一化權重向量 $W_{i}$,$W_{i}$ 與 $x$ 之間的夾角為 $\theta_{i}$,對于NSL而言,決策邊界 $\cos \left(\theta_{1}\right)=\cos \left(\theta_{2}\right)$ 等同于 $W_{1}$ 和 $W_{2}$ 的角平分線。對于 $\mathrm{LMCL}$,對于 $\mathrm{C}_1$ 類樣本它會驅使決策邊界 $\cos \left(\theta_{1}\right)-m=\cos \left(\theta_{2}\right)$ 的形成,這樣會導致 $\theta_{1}$ 比 $\theta_{2}$ 小的多。因此類間差異擴大,類內差異縮小。
我們發現 Margin 與 $W_{1}$ 和 $W_{2}$ 之間的角度有關系。當 $W_{1}$ 和 $W_{2}$ 都給定的時候,余弦 Margin 具有范圍的限制。具體而言,假設一個場景,即屬于第 $i$ 類的所有特征向量與第 $i$ 類的相應權重向量$W_{i}$ 完全重疊。 換句話說,每個特征向量都與類 $i$ 的權重向量相同,并且顯然,特征空間處于極端情況,其中所有特征向量都位于其類中心,在這種情況下,決策邊界的 Margin 已最大化(即,余弦 Margin 的嚴格上限)。
理論上 $m$ 的范圍是: $0 \leq m \leq\left(1-\max \left(W_{i}^{T} W_{j}\right)\right), i \neq j$ ,$\text{softmax}$ 損失嘗試使來自任意兩個類的兩個權重之間的角度最大化,以執行完美分類。很明顯,softmax 損失的最佳解決方案應將權重向量均勻分布在單位超球面上。引入的余弦 Maging 的可變范圍可以推斷如下:
$\begin{array}{l}0 \leq m \leq 1-\cos \frac{2 \pi}{C}, \quad(K=2) \\0 \leq m \leq \frac{C}{C-1}, \quad(C \leq K+1) \\0 \leq m \ll \frac{C}{C-1}, \quad(C>K+1)\end{array} \quad\quad(7)$
$C$ 是訓練類別數,$K$ 是學習特征的維度。這個不等式意味著隨著類別數目越多,$\text{Margin}$ 的設置上界相應減少,特別是類別數目超過特征維數,這個上界允許范圍變得會更小。在實踐中 $m$ 不要取理論上界,理論上界是一種理想的情況(所有特征向量都根據相應類別的權重向量居中在一起),這樣當 $m$ 太大模型是不會收斂的,因為余弦約束太嚴格,無法在現實中滿足。其次過于嚴格的余弦約束對噪聲數據非常敏感,影響整體性能。
作者做了一個小實驗驗證了這些思想,取了 8 個人的人臉數據,用原始的 $\text{Softmax}$ 損失和本文提出的 LMCL 損失函數訓練樣本,然后將特征提取并可視化,$m$ 應該小于 $1-\cos \left(\frac{2 \pi}{8}\right)$,大約 $0.29$ ,分 別設置 $ \mathrm{m}=0,0.1,0.2$ 三種情況,可以觀察到原始的 $\text{softmax}$ 損失在決策邊界上產生了混淆,而提出的 LMCL 則表現出更大的優勢。隨著$m$ 的增加,不同類別之間的角度 $\text{Margin}$ 已被放大。