論文閱讀筆記:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition
- 1 背景
- 2 創新點
- 3 方法
- 3.1 回顧softmax損失
- 3.2 統一交叉熵損失
- 3.3 人臉驗證中的UCE損失
- 3.4 進一步的優化
- 3.4.1 邊際UCE損失
- 3.4.2 平衡BCE損失
- 4 實驗
- 4.1 消融實驗
- 4.2 和SOTA方法對比
論文:UniFace_ICCV_2023_paper.pdf
代碼:https://github.com/cvi-szu/uniface
1 背景
一個通用的人臉識別系統包含3個核心步驟:人臉檢測、人臉特征提取和識別(包括一對一驗證和一對其余識別)。因此,判別性的人臉特征學習對于人臉識別系統至關重要。具體來說,一個主體的面部特征應該接近屬于同一身份的特征,而遠離其他身份的特征,即來自正對的最小特征相似度理想情況下應該大于一個閾值 t t t ,來自負對的最大特征相似度應該小于這個閾值t。
基于深度學習的人臉識別方法根據其學習目標可以分為兩類:
-
樣本到樣本的距離
-
樣本到類的相似性
基于樣本間距離的方法將人臉圖像映射到一個高度緊湊的歐式特征空間,其中距離被用來度量人臉特征的相似性。然而,這類方法的訓練是困難的,因為需要復雜的采樣策略來構建有效的負對和正對/元組。
基于樣本間相似度的方法通常采用softmax損失作為學習目標,將人臉識別作為多類別分類問題來處理。一些工作提出將softmax損失與額外精心設計的損失相結合,以增加類內相似性或降低類間相似性。這些方法引入了額外的超參數,需要對超參數進行精細的調整。其他工作(如L-softmax損失,SphereFace,AMsoftmax,CosFace 和 ArcFace等)通過引入類間邊距對原始的softmax損失進行擴展,以減少類內距離,增大類間距離。然而,Softmax損失只是鼓勵單個訓練樣本與其對應的正類代理之間的最大角度相似度,并沒有考慮該正類代理與其他樣本之間的相似性。換句話說,在softmax和邊際softmax損失下,很難選擇一個統一的閾值 t t t 來分離負樣本對和正樣本對,如圖1所示。
為了解決這個問題,本文提出了一個統一交叉熵損失UCE,他明確的鼓勵所有正樣本到類的相似度都大于一個閾值 t = c o s θ t t=cos\theta t t=cosθt,而所有負樣本到類的距離都小于這個閾值。作者進一步改進了UCE損失:
-
引入了強制邊際
-
提出了兩種可供選擇的方式來平衡大量人臉身份的訓練
作者將使用UCE損失訓練的人臉檢測模型命名為UniFace。
2 創新點
-
在研究了softmax損失之后,作者發現它學習到的最小正樣本到類的相似度實際上并不能保證大于它的最大負樣本到類的相似度。為了解決這個問題,我們通過假設一個固定的閾值t來約束正負樣本對的相似性,從而設計了UCE損失。
-
本文是第一個將統一的 t t t 作為一個自動可學習的參數納入深度人臉識別框架的工作。UCE損失鼓勵所有正樣本到類的相似度都大于負樣本到類的相似度,這與實際人臉識別應用的期望非常匹配。
-
UCE損失單獨使用效果很好,可以直接替代現有深度人臉識別模型(表1和表2)中的softmax損失。此外,作者還提出了UCE的兩個擴展,即邊際UCE和平衡UCE損失,以結合邊際和平衡策略來提高UCE損失的性能。值得注意的是,邊際UCE損失比softmax損失對超參數更加穩健(圖3 ( a ) )。
3 方法
3.1 回顧softmax損失
假設 M M M 是在由 N N N 個主體組成的面部樣本集 D D D 上訓練的深度人臉模型,
其中, D i D_i Di? 表示包含同一主體 i i i 的面部圖像子集。對于任意樣本 X ∈ D X∈D X∈D,令:
表示 X X X 的特征,其中 M M M 為特征向量的長度。然后,我們可以得到一個特征集合 F F F,
在使用softmax損失訓練的人臉模型中,采用全連接(FC)分類器,權重矩陣 W W W 和偏置 b b b,根據 X X X 的特征 x x x 進行分類,其中:
在式(4)中, W i ∈ R M × 1 W_i∈R^{M×1} Wi?∈RM×1 是主體 i i i 的類別代理。
為了方便,分別歸一化 W W W 并省略 B B B:
對于所有的 x ∈ F x∈F x∈F,將特征歸一化為 ∣ ∣ x ∣ ∣ = s ||x||=s ∣∣x∣∣=s。
隨機抽取 N N N 個樣本 { X ( i ) } i = 1 N ? D \{X^{(i)}\}_{i=1}^N?D {X(i)}i=1N??D,其中 ? i , X ( i ) ∈ D i ?i,X^{(i)}∈D_i ?i,X(i)∈Di?。那么,對于給定的樣本 X ( i ) X^{(i)} X(i),典型的多類softmax損失為:
其中,
< x ( i ) , W j > <x^{(i)},W_j> <x(i),Wj?> 為兩個向量的內積。
我們稱 c o s θ x , w ( i i ) = 1 s W i T x ( i ) cos \theta_{x,w}^{(ii)} = \frac{1}{s}W_i^Tx^{(i)} cosθx,w(ii)?=s1?WiT?x(i) 為正樣本類間相似度, c o s θ x , w ( i j ) = 1 s W j T x ( i ) cos \theta_{x,w}^{(ij)} = \frac{1}{s}W_j^Tx^{(i)} cosθx,w(ij)?=s1?WjT?x(i) 為負樣本類間相似度,從而得到樣本類間相似度矩陣 S s a m ? c l a S_{sam-cla} Ssam?cla?:
為了正確分類 X ( i ) X(i) X(i),softmax損失鼓勵比負樣本到類的相似性 ( c o s θ x , w ( i j ) ) (cos \theta_{x,w}^{(ij)}) (cosθx,w(ij)?) 更大的正樣本到類的相似性 ( c o s θ x , w ( i i ) ) (cos \theta_{x,w}^{(ii)}) (cosθx,w(ii)?) ,即
那么,存在 t i t_i ti? 使得:
然而,softmax損失沒有考慮 c o s θ x , w ( j i ) cos \theta_{x,w}^{(ji)} cosθx,w(ji)? 和 c o s θ x , w ( i i ) cos \theta_{x,w}^{(ii)} cosθx,w(ii)? 之間的關系。也就是說,可能存在一個負樣本對 ( x ( j ) , W i ) (x^{(j)},W_i) (x(j),Wi?) ,其相似度甚至大于正樣本對 ( x ( i ) , W i ) (x^{(i)},W_i) (x(i),Wi?),即可能存在一個樣本 X ( j ) ∈ D j , j ≠ i X^{(j)}∈D_j,j≠i X(j)∈Dj?,j=i,,其特征 x ( j ) x^{(j)} x(j) 滿足:
我們預期來自正對的相似度大于某個閾值 t t t,來自負對的相似度小于 t t t。雖然在式(13)和(14)中,人臉圖像 X ( i ) X^{(i)} X(i) 和 X ( j ) X^{(j)} X(j) 都被正確地歸類到正確地主體中。我們注意到,與我們的預期相反,正樣本對 ( x ( i ) , W i ) (x^{(i)},W_i) (x(i),Wi?) 比負樣本對 ( x ( j ) , W i ) (x^{(j)},W_i) (x(j),Wi?) 具有更小的相似度。由于 t i < t j t_i < t_j ti?<tj?,可以很容易地得出結論,沒有統一的相似度閾值 t = t i = t j t = t_i = t_j t=ti?=tj? 可以同時正確地將正樣本對 ( x ( i ) , W i ) (x^{(i)},W_i) (x(i),Wi?) 和 ( x ( j ) , W i ) (x^{(j)},W_i) (x(j),Wi?) 與負樣本對 ( x ( j ) , W i ) (x^{(j)},W_i) (x(j),Wi?) 分開。
因此用式(11)中的樣本到類的相似度矩陣 S s a m ? c l a S_{sam-cla} Ssam?cla? 來選擇閾值是困難的,即softmax是鼓勵對角元素 c o s θ x , w ( i i ) cos \theta_{x,w}^{(ii)} cosθx,w(ii)? 在第 i i i 行占優,以實現樣本 X ( i ) X^{(i)} X(i) 的良好分類,而忽略了鼓勵 c o s θ x , w ( i i ) cos \theta_{x,w}^{(ii)} cosθx,w(ii)? 在第 i i i 列占優,然而這在人臉識別中也很重要。
3.2 統一交叉熵損失
為了避免式(14)中的問題,并鼓勵一個相似矩陣 S s a m ? c l a S_{sam-cla} Ssam?cla? 的行和列都是對角占優的。作者期望一個統一的閾值 t t t,使得:
如果我們將特征與其正類代理之間的最大夾角定義為 θ p o s \theta_{pos} θpos?,將特征與其負類代理之間的最小夾角定義為 θ n e g \theta_{neg} θneg?,即:
那么,當且僅當 θ p o s ≤ θ n e g \theta_{pos}≤\theta_{neg} θpos?≤θneg?,且統一閾值 t = c o s θ t t=cos\theta_t t=cosθt?,存在一個閾值 t t t 使得任意樣本都滿足式(15),對任意 θ t \theta_t θt? 有效,其中:
即圖1中所有行中所有的“×”都要在所有的“o”左邊。
如3.1中所述,softmax損失沒有考慮統一閾值 t t t 的約束。作者首次將統一閾值 t t t 作為一個可自動學習的參數加入到損失函數中。提出的統一交叉熵UCE損失前提是存在一個統一閾值 t = c o s θ t t=cos\theta_t t=cosθt?(即 θ p o s ≤ θ n e g \theta_{pos}≤\theta_{neg} θpos?≤θneg?)。從式(8)中的softmax開始推導:
根據式(16)-(18),可得:
不等式的詳細推導見附錄。
附錄證明過程:
定義UCE損失 L u c e ( X ( i ) ) L_{uce}(X^{(i)}) Luce?(X(i)) 為:
其中 b ? = s c o s θ t + l o g ( N ? 1 ) \~b=scos\theta_t+log(N-1) b?=scosθt?+log(N?1) 是一個待學習的常數。
式(23)中第一項中的 e ? s c o s θ x , w ( i i ) + b ? = e ? s ( c o s θ x , w ( i i ) ? c o s θ t ? l o g ( N ? 1 ) s ) e^{-scos\theta _{x,w}^{(ii)}+\~b}=e^{-s(cos\theta_{x,w}^{(ii)}-cos\theta_t-\frac{log(N-1)}{s})} e?scosθx,w(ii)?+b?=e?s(cosθx,w(ii)??cosθt??slog(N?1)?) ,第二項中的 e s c o s θ x , w ( i j ) + b ? = e s ( c o s θ x , w ( i j ) ? c o s θ t ? l o g ( N ? 1 ) s ) e^{scos\theta _{x,w}^{(ij)}+\~b}=e^{s(cos\theta_{x,w}^{(ij)}-cos\theta_t-\frac{log(N-1)}{s})} escosθx,w(ij)?+b?=es(cosθx,w(ij)??cosθt??slog(N?1)?),縮放因子 s > 0 s>0 s>0,當模型訓練收斂時,則會出現 c o s θ x , w ( i i ) ? c o s θ t ? l o g ( N ? 1 ) s > 0 cos\theta_{x,w}^{(ii)}-cos\theta_t-\frac{log(N-1)}{s}>0 cosθx,w(ii)??cosθt??slog(N?1)?>0 , c o s θ x , w ( i j ) ? c o s θ t ? l o g ( N ? 1 ) s < 0 cos\theta_{x,w}^{(ij)}-cos\theta_t-\frac{log(N-1)}{s}<0 cosθx,w(ij)??cosθt??slog(N?1)?<0,即 c o s θ x , w ( i j ) < c o s θ t + l o g ( N ? 1 ) s < c o s θ x , w ( i i ) cos\theta_{x,w}^{(ij)}<cos\theta_t+\frac{log(N-1)}{s}<cos\theta_{x,w}^{(ii)} cosθx,w(ij)?<cosθt?+slog(N?1)?<cosθx,w(ii)? ,其中 l o g ( N ? 1 ) s \frac{log(N-1)}{s} slog(N?1)? 為常數可以忽略不計,所以訓練目標滿足式(15)。
UCE損失比softmax損失對正負樣本到類特征之間的舉例更有約束。當使用UCE損失代替softmax損失訓練模型時,期望最終的樣本特征更具有判別性。如圖2所示,在提出的UCE損失劃分的特征空間中, x ( 1 ) x^{(1)} x(1) 和 W 1 W_1 W1? 之間的相似性比原始的softmax損失訓練增加,而 x ( 2 ) x^{(2)} x(2) 和 W 1 W_1 W1? 之間的相似性降低。
雖然UCE損失的最終公式(式(23))類似于二元交叉熵損失,但他們之間有幾個關鍵區別。首先,UCE損失是從顯式統一閾值 t t t 的目標設計的,用于約束正負樣本對的相似性,而BCE損失及其變體沒有這種顯式約束。其次,從softmax損失中推導出UCE損失,并通過清晰的數學推導給出了統一閾值 t t t 與偏差 b ? = s c o s θ t + l o g ( N ? 1 ) \~b=scos\theta_t+log(N-1) b?=scosθt?+log(N?1) 的關系,然后通過圖4(c)的定性說明來評估 t t t 是否符合人臉驗證的預期。最后,作者在一個大型的benchmark上系統的比較了UCE損失和BCE損失,其中作者比較了:
-
一個為不同類別分配各自偏置的標準BCE損失
-
一個直接刪除了任何偏置的修改BCE損失,這意味著偏置 b = 0 b=0 b=0
實驗結論表明,UCE損失比BCE損失的兩個樸素變體表現更佳,見表1。
3.3 人臉驗證中的UCE損失
在真實人臉驗證系統中,對于任意兩個人臉圖像樣本, X ( i ) ∈ D i , X ( j ) ∈ D j X^{(i)}∈D_i,X^{(j)}∈D_j X(i)∈Di?,X(j)∈Dj?,通過比較它們的特征相似度 g ( X ( i ) , X ( j ) ) g(X^{(i)},X^{(j)}) g(X(i),X(j)) 與置信度閾值 t ? t^* t?,選擇一個統一的閾值來驗證他們是否來自同一主體,這個過程隱含了一個損失 L v L_v Lv?:
其中 α \alpha α 是重加權參數。
那么在訓練中,對于給定的 X ( i ) X^{(i)} X(i),它的損失為:
對于每一個樣本,都會耗費大量的計算量,利用類代理 W i W_i Wi? 代替了 F i F_i Fi? 中的所有特征 x ( i ) x^{(i)} x(i),設計了一個合理的損失函數。對于所有的 i i i:
式(27)中,損失采用函數 R e L U ( x ) = m a x ( 0 , x ) ReLU(x)=max(0,x) ReLU(x)=max(0,x) 在 x = 0 x=0 x=0 處不可微,一個合理的替代可以是 softplus 函數:
當 β \beta β 趨于+∞時,softplus(x)趨于ReLU(x) 。
利用softplus函數,則 L v 3 ( X ( i ) ) L_{v3}(X^{(i)}) Lv3?(X(i)) 可代換為:
當我們令 α = β = s \alpha=\beta=s α=β=s 時,
損失 L v 4 ( X ( i ) ) L_{v4}(X^{(i)}) Lv4?(X(i)) 就是提出的UCE損失 L u c e ( X ( i ) ) L_{uce}(X^{(i)}) Luce?(X(i)),滿足 b ? ? = s t ? \~b^*=st^* b??=st?。因此,作者將UCE損失和人臉驗證聯系起來。
3.4 進一步的優化
3.4.1 邊際UCE損失
先前的工作表明邊際softmax損失比原始的性能更好。在這里通過增加一個余弦余量 m m m,將所提出的UCE損失擴展到邊際UCE損失:
3.4.2 平衡BCE損失
L u c e L_{uce} Luce? 和 L u c e ? m L_{uce-m} Luce?m? 只計算一個正樣本對 ( x ( i ) , W i ) (x^{(i)},W_i) (x(i),Wi?) 的相似度,但卻有 N-1 個負樣本對 ( x ( i ) , W j ) (x^{(i)},W_j) (x(i),Wj?) ,這種不平衡會導致不理想的性能。本文引入兩個參數來平衡正負樣本對的數量:
其中 p j p_j pj? 是負樣本對 ( x ( i ) , W j ) (x^{(i)},W_j) (x(i),Wj?) 從均勻分布中抽樣得到的隨機數, λ \lambda λ 和 r r r 分別是所有負樣本對的重加權和抽樣參數。不同的 λ \lambda λ 和 r r r 的影響如圖3所示。
4 實驗
4.1 消融實驗
UCE損失中超參數的消融實驗。
不同框架中使用UCE損失的提升。
normalized softmax損失,BCE損失和UCE損失的效果對比。
4.2 和SOTA方法對比