CurricularFace: Adaptive Curriculum Learning Loss for Deep Face Recognition
https://github.com/HuangYG123/CurricularFace
Abstract
作為人臉識別中的一個新興課題,設計基於邊界的損失函數可以增加不同類別之間的特征邊界,增強識別能力。最近,采用了基於挖掘策略的思想來強調分類錯誤的樣本,取得了良好的效果。然而,在整個訓練過程中,以往的方法要么沒有明確地根據樣本的重要性來強調樣本,使得困難樣本沒有被充分利用;或者在早期訓練階段就明確強調半困難/困難樣本的效果,這可能會導致收斂問題。在這項工作中,我們提出一個新的自適應課程學習(Adaptive Curriculum Learning loss,CurricularFace)損失,其嵌入課程學習的想法到損失函數中來實現新的用於深度人臉識別的訓練策略,主要解決訓練早期階段的容易樣本和后期的困難樣本。具體來說,我們的CurricularFace在不同的訓練階段自適應地調整容易和困難樣本的相對重要性。在每個階段,根據不同樣本的難易程度,賦予不同的重要度。在流行的基准上進行的廣泛實驗結果證明了我們的CurricularFace對比最先進的競爭對手的優勢。
1. Introduction
前三段又是介紹了下以前的人臉識別方法。基於邊界的方法沒能根據樣本的重要性去顯示地強調樣本。基於挖掘的方法能夠顯示地強調半困難或困難樣本的影響。
但是基於邊界和基於挖掘的損失函數的訓練策略都有缺點。傳統的基於softmax的損失函數公式如下:
其中分別是定義正負cosine相似度的函數(即樣本j的真實類別為yi,使用T函數計算cosine相似度;其他非對應類別使用N函數計算cosine相似度)。
表示負cosine相似度的調節系數,c為一個常數。對於基於邊界的方法,挖掘策略是忽略的,因此每個樣本的訓練困難度並沒有被探索。這樣當在一個小的backbone,如MobileFaceNet, 中使用一個大的邊界時,就會導致收斂問題。如圖1所示:
在ArcFace的整個訓練過程中,所有樣本的用於負cosine相似度的調節系數I(.)被固定為常數1。對於基於挖掘的方法,在早期訓練階段過於強調困難樣本會阻礙模型的收斂。MV-Arc_softmax通過設置負樣本相似度為,即
,其中t是一個手動定義的常量。如MV-Arc_softmax所說,t在模型收斂特性中有着重要作用。一個稍微增大的值(如1.4)可能導致模型難以收斂。因此t需要小心調整。
根據圖1左邊的圖我們可見,ArcFace和MV-Arc_softmax兩個負樣本cosine相似度的調節系數I(.)都為一個常數,ArcFace的為1,沒有強調困難樣本;MV-Arc_softmax的大於1,從開始訓練的時候就強調困難樣本
我們提出了一個新的自適應課程學習損失,名為CurricularFace,為了在深度人臉識別中獲得一個新的訓練策略。受到人類學習的自然特性的啟發,會先學習容易的樣本,然后再學習難得樣本。我們的CurricularFace以一個自適應的方式結合課程學習( Curriculum Learnin,CL)的想法到人臉識別中,其在兩個方面上與傳統的CL有着不同。首先,該課程結構是自適應的。在傳統CL中,樣本通過對應的困難度進行排序,該困難度會提前定義並固定用以建立課程。而在CurricularFace中,樣本在每個mini-batch中隨機選取,課程通過在線挖掘困難樣本來自適應建立,其展示了有着不同困難度的樣本的多樣性。其次,困難樣本的重要性是自適應的。一方面,容易樣本和困難樣本之間的相關重要性是動態的,能夠在不同的訓練階段中被調整。另一方面,在當前mini-batch中每個困難樣本的重要性取決於他自己的困難度
特別是,在mini-batch中錯誤分類的樣本被選擇為困難樣本,通過調整樣本和非ground truth類中心向量的cosine相似度,即負cosine相似度cosΘj,的調節系數來加權。為了在整個訓練中達到自適應課程學習的目標,我們設計了一個新的系數函數I(.),其被兩個因素決定:1)自適應估計參數t,其使用樣本和對應ground truth類中心的正cosine相似度的移動平均值去解決手動調節的限制; 2)角度Θj,用來定義困難樣本獲得自適應分配的困難度。
總結,該工作的貢獻是:
- 本文提出了用於人臉識別的自適應課程學習損失,自動地先強調簡單樣本,后強調困難樣本。據我們所知,這是首次在人臉識別中引入自適應課程學習。
- 我們設計了一種新的調制系數函數I(·)來實現訓練過程中的自適應課程學習,它可以同時連接正余弦和負余弦相似度,而不需要手動調整任何額外的超參數。
- 我們在流行的人臉基准上進行了廣泛的實驗,這證明了我們的CurricularFace的優勢,超過了最先進的競爭對手。
2. Related Work
Margin-based loss function.(介紹省略)該方法沒有考慮每個樣本的困難度,然而我們的CurricularFace先強調了容易樣本,后強調了困難樣本
Mining-based loss function.(介紹省略)我們的方法與MV-Arc-Softmax的不同在三個方面:(MV-Arc-Softmax 可見人臉檢測和識別以及檢測中loss學習 - 17 - Mis-classified Vector Guided Softmax Loss for Face Recognition - 1 - 論文學習 )
1)沒有從頭到尾都在強調困難樣本,尤其是在訓練早期階段;2)我們根據困難樣本對應的困難度為其分配不同的權重;3)我們自適應地估計額外的超參數t,而不使用人工調節
Curriculum Learning.先從更簡單的樣本學習,再到更難的樣本是課程學習CL[2, 42]中的常見策略。CL中的主要問題是如何定義每個樣本的困難度。比如[1]在分類中將負距離設置到邊界作為簡單性的指示。但是ad-hoc課程設計顯示在不同問題中很難實現。為了減輕這個問題,[12]設計了新的公式,叫做Self-Paced Learning (SPL),其中帶有更低損失值的樣本被認為是更容易的樣本,並在訓練中強調。我們的CurricularFace和SPL主要的不同在於:
1)我們的方法在訓練的早期階段關注於簡單樣本,在訓練的后期階段關注於困難樣本;2)我們的方法提出了一個新的函數N(.)用於負樣本cosine相似度計算,其不僅實現了在同一個訓練階段不同樣本的調節系數I(.)上的自適應賦值,還實現了不同訓練階段的自適應課程學習策略
3. The Proposed CurricularFace
3.1. Preliminary Knowledge on Loss Function
修改后為:
當原始softmax損失的可學習特征在實際的人臉識別中沒有足夠的區分度后,一些變體被提出,可寫成下面的通用形式:
p(xi)是預測的ground truth概率,是一個指示函數。
和
分別是正和負cosine相似度計算函數,其中c是一個常數。在基於邊界的損失函數,如ArcFace,
它僅修改了每個樣本的正cosine相似度去加強特征的區分。如圖1所示,每個樣本的負cosine相似度的調節系數I(.)都為1。另一個最近的方法MV-Arc-Softmax通過增加困難樣本的
來強調困難樣本。其中
如下:
如果一個樣本被定義為簡單(即它不會被非它的類錯誤分類),它的負cosine相似度和原始的一樣,為cosθj。如果是困難樣本(即可能被非yi以外的類錯誤分類),其負cosine相似度將變為。 如圖1所示,I(.)系數是一個常數,被預先設置好的超參數t決定。同時,因為t總是比1大,所以
大於cosθj,這將導致模型從頭到尾都會專注於困難樣本,甚至是在訓練早期階段。但是,參數t是敏感的,一個大的預定義值(如1.4)可能會導致收斂問題。
3.2. Adaptive Curricular Learning Loss
我們的CurricularFace損失函數的公式也包含於通用格式,其中正和負cosine相似度函數定義如下:
如圖1所示,困難樣本cosine相似度的調節系數取決於t和θj兩個值。在訓練早期,從簡單樣本中學習有益於模型收斂。因此t應該接近0,這樣
就會小於1(這樣困難樣本的權重就會小於簡單樣本)。因此,困難樣本的權重會被減少,這樣簡單樣本會相應被強調。當訓練繼續進行,模型逐漸關注困難樣本,,即t的值逐漸增加,I(.)將大於1。因此困難樣本將會因為更大的權重被強調。而且,在相同的訓練階段,I(.)是隨着θj的值單調遞減的,所以更困難的樣本(即θj的值更小)根據其困難度將會被賦予更大的系數。參數t的值在我們的CurricularFace將被自動估計。
從圖1左邊的圖我們可以看見,紅色的虛線表示的就是訓練早期的困難樣本的系數I(.)值,可見小於等於1,這樣早期就會強調簡單樣本; 而紅色的實現表示的就是訓練晚期的困難樣本的系數I(.)值,可見小於等於1,這樣晚期就會強調困難樣本。且這兩條線都是隨着x軸的θj值的增大(表示越來越不困難),y軸的I(.)逐漸減少的
Optimization.接下來就是說明我們的CurricularFace能夠被卷積隨機梯度下降法簡單優化的部分。假設xi表示第i個樣本的深度特征,其屬於yi類,推薦函數的輸入是logit fj,其中j表示第j個類
在前向傳播階段,當j = yj時,其與ArcFace相同,。當j不等於yj時,分兩種情況,如果xi是簡單樣本,即j類對應的分類器沒有將其錯誤分成j類,那么其也與原始的softmax相同,
;如果是困難樣本,則該函數為
,其中
在后向傳播階段,關於xi和Wj的梯度可以被分成三種情況,如下所示:
基於上面的公式,我們可以發現困難樣本的梯度調節系數被決定,其包含兩部分,負cosine相似度和t。如圖2所示:
一方面系數M隨着自適應估計值t的增加而增加(可見紅線表示的t隨着迭代數的增加也是在逐漸增大的,系數也對應增大),用來強調困難樣本。另一方面,根據困難樣本對應的困難度的不同(即θj的不同),不同的重要性將會賦值到系數M中。所以從圖2可見M的值在每個迭代中包含了一個范圍的值。
Adaptive Estimation of t. 在不同的訓練階段決定一個恰當的t的值是十分重要的。理想情況下,t的值能夠指示模型的訓練階段。我們通過經驗發現正cosine相似度的平均值是一個好的指示器。可是min-batch的基於統計的方法往往面臨一個問題:當許多極端數據被采樣到一個mini-batch時,統計可能是一個很大的噪聲,估計值可能很不穩定。Exponential Moving Average (EMA)方法是一個常用的解決該問題的方法。尤其是,假設r(k)是第k個batch的正cosine相似度的平均值,即,則有:
其中t0 = 0, α是momentum參數,並設置為0.99。在EMA中,我們避免超參數的調整,使得困難樣本負cosine相似度的調節系數I(.)能自適應於當前的訓練階段。總之,我們CurricularFace的損失函數為:
其中在等式7中定義。整個訓練過程總結在算法1中:
圖3 說明了在訓練中,損失是如何從ArcFace變為CurricularFace的:
這里的觀察為:
1)困難樣本(B和C)在早期訓練中被壓制,但后期被強調; 2)帶有cosΘj的比率是單調增加的,因為cosΘj越大,表示越困難; 3)視角比較好的圖像(正面圖)的正cosine相似度較大。
但是,在早期訓練中,視角良好的圖片(A)的負cosine相似度也可能很大,因此它可能被錯誤分類為困難樣本
3.3. Discussions with SOTA Loss Functions
Comparison with ArcFace and MV-Arc-Softmax. 從表1的決策邊界函數的角度來看:
ArcFace從正cosine相似度的角度介紹了一個邊界函數。如圖4所示:
ArcFace的決策邊界從Softmax的藍線變為紅線
。MV-Arc-Softmax從困難樣本的負cosine相似度角度增加了附加邊界d(即hard-easy增加的部分),決策邊界變為綠線
。相反地,我們自適應地調節困難樣本的權重,決策邊界從(早期的)紫線變成(晚期)的紫線,其先強調了容易樣本,后強調困難樣本。
Comparison with Focal Loss. Focal Loss式子為,其中α和β都是人工調節的調節因子。在Focal loss中困難樣本的定義是很模糊的,因此在整個訓練過程中,其通過減少簡單樣本的權重來相應強調困難樣本。相反,在我們的CurricularFace中困難樣本的定義是清楚的,即錯誤分類的樣本。同時,困難樣本的權重能在不同的訓練階段被自適應決定
4. Experiments
省略