趙文忠


摘要??? 人臉識別已經(jīng)成為計(jì)算機(jī)視覺領(lǐng)域最熱門的應(yīng)用之一,在我們身邊,到處都有人臉識別的技術(shù)。人臉識別算法主要包含人臉檢測(Face Detection)、人臉對齊(Face Alignment)、人臉特征表征(Feature Representation)。這篇文章將詳細(xì)介紹在人臉識別中用到的各種損失函數(shù)以及在主要人臉數(shù)據(jù)集上的測試結(jié)果。
【關(guān)鍵詞】人臉識別 SoftmaxL-SoftmaxA-SoftmaxCosFaceArcFace
1 引言
人臉識別是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù),由于人臉識別相對于一般的識別問題,存在人臉對比這樣一個(gè)需求,這就將人臉識別的主要方向變成了尺度學(xué)習(xí)問題而并非簡簡單單的分類問題。而近幾年技術(shù)上的發(fā)展也基本是圍繞損失函數(shù)展開,以此在有限的數(shù)據(jù)集上得到更高的識別精度。
2 損失函數(shù)
用于人臉識別的損失函數(shù),從Softmax,Contrastive Loss,Triplet Loss,Center Loss,Norm Face,Large MarginLoss,A-SoftmaxLoss,Coco Loss,以及今年的AM,AAM,InsightFace。這些損失函數(shù)在聚類上大致上可以分為下面兩個(gè)類:
(1)單純聚類:ContrasitveLoss,Center Loss,NormFace,Coco Loss;
(2)加Margin聚類:TripletLoss,Large Margin Loss,A-SoftmaxLoss,AM,AAM,InsightFace。
在距離度量上可以分為下面兩個(gè)類:
(1)歐式距離:Contrastive Loss,CenterLoss,NormFace,Triplet Loss;
(2)Cosine距離/角度距離:Large Margin Loss,A-SoftmaxLoss,Coco Loss,AM,AAM,InsightFace。
可以看到,目前的主要方向,在從歐氏距離往角度距離發(fā)展的同時(shí),中間出現(xiàn)了像NormFace,CocoLoss這些進(jìn)行了特征歸一化,權(quán)重歸一化操作的損失函數(shù)。
2.1 SoftmaxLoss
Softmax損失函數(shù)是Sotfmax激活函數(shù)加上CrossEntropy,Softmax的作用是將特征經(jīng)過線性組合轉(zhuǎn)化成概率,然后使用CrossEntropy來計(jì)算損失。早期深度人臉識別方法,框架為CNN+Softmax,以“超多分類”這樣一種比較難的任務(wù)訓(xùn)練CNN,強(qiáng)迫網(wǎng)絡(luò)在第一個(gè)FC層形成比較緊湊的,判別力很強(qiáng)的深度人臉特征,之后用于人臉識別。Softmax函數(shù)定義如下:
進(jìn)一步根據(jù)交叉熵函數(shù)計(jì)算每一個(gè)樣本i的損失:
y為一個(gè)one-hot向量,它只在正確類別上的分量為1,而其他分量都為0。因此損失函數(shù)可以進(jìn)一步轉(zhuǎn)換為:
從以上可知,取log里面的值就是這組數(shù)據(jù)正確分類的Softmax值,它占的比重越大,這個(gè)樣本的損失也就越小。Softmax損失函數(shù)訓(xùn)練的深度特征,可以有效區(qū)分類間差異,把整個(gè)人臉空間,按照人的個(gè)數(shù)進(jìn)行劃分,保證每個(gè)人是可分的。但是對于類內(nèi)的分布沒有很好的約束,并不能夠有效地學(xué)習(xí)得到使得類內(nèi)較為緊湊、類間較離散的特征。而人臉識別要求同人照片之間的距離盡量近,不同人照片之間的距離盡量遠(yuǎn),即同人之間緊湊,不同人之間分離。所以Softmax損失函數(shù)并不合適人臉識別任務(wù)。所以,我們需要改進(jìn)SoftmaxLoss。
2.2 ModifiedSoftmaxLoss
我們可以將SoftmaxLoss損失函數(shù)進(jìn)一步細(xì)化:
2.3 Large-MarginSoftmaxLoss
LargeMarginSoftmax(L-Softmax)Loss是LargeMargin系列的開創(chuàng)算法,表達(dá)式如下:
然后加強(qiáng)分類條件,強(qiáng)制讓對應(yīng)類別的W和x夾角增加到原來的m倍,ψ(θ)是cos(mθ)的單調(diào)函數(shù)版本:
L-Softmax由于沒有對權(quán)重歸一化,所以它不僅可以從角度上區(qū)分不同的類,還能從權(quán)重的模(長度)上區(qū)分。當(dāng)m=1時(shí),就是Modified Softmax Loss。m越大,代表對該類的分類要求越高。
L-Softmax Loss與ModifiedSoftmax Loss的不同之處在于L-SoftmaxLoss有兩個(gè)分隔的決策平面且決策平面分隔的大小還是與m的大小成正相關(guān),而ModifiedSoftmax Loss兩個(gè)不同類的決策平面是同一個(gè)。
2.4 Angular SoftmaxLoss
Angular Softmax(A-Softmax)Loss是L-Softmax的改進(jìn),就是在L-Softmax Loss的基礎(chǔ)上添加了兩個(gè)限制條件||W||=1和b=0,使得預(yù)測僅取決于W和x之間的角度。歸一化了權(quán)值W,讓訓(xùn)練更加集中在優(yōu)化深度特征映射和特征向量角度上,降低樣本數(shù)量不均衡問題:
其中9。e[0.7%m],因?yàn)樵谶@個(gè)范圍之外可能會使得mo,.>8,j≠y(這樣就不屬于分類y;),但cos(m6)>cos(O2)仍可能成立,而我們的Loss方程用的還是cos(O)。為了避免這個(gè)問題,我們可以重新設(shè)計(jì)一個(gè)函數(shù)來替代cos(m.s),其中定義如下:
這個(gè)函數(shù)的定義可以使得ψ隨,單調(diào)遞減,如果m0O,s馬d>,j≠Jy,那么必有ψ(@yui) 個(gè)人認(rèn)為A-Softmax是基于一個(gè)假設(shè):不同的類位于一個(gè)單位超球表面的不同區(qū)域。從上面也可以知道它的幾何意義是權(quán)重所代表的在單位超球表面的點(diǎn),在訓(xùn)練的過程中,同一類的輸入映射到表面上會慢慢地向中心點(diǎn)(這里的中心點(diǎn)大部分時(shí)候和權(quán)重的意義相當(dāng))聚集,而到不同類的權(quán)重(或者中心點(diǎn))慢慢地分散開來。m的大小是控制同一類點(diǎn)聚集的程度,從而控制了不同類之間的距離。 A-Softmax Loss在使用時(shí)需要注意的一些特性如下: (1)通常情況下,m值越大,學(xué)習(xí)到的特征區(qū)分性更強(qiáng),但學(xué)習(xí)難度更大,通常m取4時(shí)可以取得較好的效果。 (2)針對二分類問題,m最小值值需滿足:。 (3)針對多分類問題,m最小值需滿足:。 2.5 AdditiveMarginLoss AM-Softmax在A-Softmax的基礎(chǔ)上,乘性margin改成了加性margin,即cos(mθ)變成了cosθ-m,在權(quán)值W歸一化的基礎(chǔ)上對特征f也做了歸一化。作者這樣改變之后前向后向傳播變得更加簡單。其中W和f都是歸一化過的,作者在論文中將m=0.35。定義如下: 相比A-Softmax性能有提升,最重要的是訓(xùn)練難度大幅降低,不需要退火優(yōu)化。值得注意的是,歸一化是收斂到好的點(diǎn)的保證,同時(shí)采用固定尺度因子s=30。到底什么時(shí)候需要?dú)w一化什么時(shí)候又不需要呢?這實(shí)際上依賴于圖片的質(zhì)量。我們看一個(gè)公式如下 其中α就是向量x的模,它說明模值比較小的,會有更大的梯度反向傳播誤差系數(shù),這實(shí)際上就相當(dāng)于難樣本挖掘了。不過,也要注意那些質(zhì)量非常差的,模值太小可能會造成梯度爆炸的問題。 2.6 Large Margin Cosine Loss Large Margin Cosine Loss(CosineFace)與AM-Softmax完全一樣,同樣的加性margin,同樣的特征歸一化,工作完成比AM-Softmax早。主要做了一下兩點(diǎn)的改進(jìn): (1)損失函數(shù)的不僅對權(quán)重進(jìn)行了正則化,還對特征進(jìn)行了正則化。 (2)形式做了稍微的改變,將超參數(shù)m由乘法運(yùn)算變成了減法運(yùn)算。 CosineFace中新提出的損失函數(shù)為LargeMarginCosineLoss(LMCL),表示形式為: 作者在文中與其他幾種損失函數(shù)進(jìn)行了對比,來證明此種損失函數(shù)的優(yōu)勢,以兩鐘情況的類別為例: 如圖1所示,Softmax的決策邊界可以寫成如下的形式,可以看出決策邊界由權(quán)值變量和角度的cosine值一起決定,這樣子就導(dǎo)致了,在cosine維度進(jìn)行度量的時(shí)候,兩個(gè)類別之間會出現(xiàn)重疊(margin<0)。 而NSLLoss是指權(quán)值和特征都進(jìn)行正則化。這樣子決策邊界就可以寫成如下的形式,從而,在cosine維度進(jìn)行度量的時(shí)候,兩個(gè)類別之間有一個(gè)明確的決策邊界。但是,由于邊界空間為0(margin=0),導(dǎo)致處于邊緣的情況,很容易出現(xiàn)分類錯(cuò)誤。 注意,在LMCL中,作者證明了s的范圍,如下所示: 并且,還分別驗(yàn)證了m的取值和是否正則化特征對網(wǎng)絡(luò)的影響。 2.7 Additive Angular Margin Loss Additive Angular Margin Loss(ArcFace)在A-Softmax的基礎(chǔ)上,同樣改用加性margin但形式略有區(qū)別,cos(mθ)變成了cos(θ+m),同樣也做了特征歸一化,固定因子s=64。在基于L2正則化權(quán)重和特征的角度空間中,直接最大化決策邊界。相比于加性margin和乘性margin,ArcFace能獲得更具有判別能力的特征。 ArcFace提出的監(jiān)督信號更傾向于角度上的分解,有更好的幾何解析能力,重要的是,在基于L2正則化權(quán)重和特征的角度空間中,直接最大化決策邊界。相比于A-Softmax和AM-Softmax,ArcFace能獲得更具有判別能力的特征。 3 實(shí)驗(yàn)結(jié)果 表1是不同的損失函數(shù)在不同測試集上的確認(rèn)率。訓(xùn)練數(shù)據(jù)集為CASIA-Webface,數(shù)據(jù)集中有10575個(gè)人,494414張照片。網(wǎng)絡(luò)結(jié)構(gòu)采用ResNet50。 4 結(jié)束語 人臉識別是一個(gè)非常復(fù)雜的計(jì)算任務(wù),在這篇文章中,我們主要介紹、分析了用于訓(xùn)練人臉識別模型的各種損失函數(shù)。它們就像一把尺子,用來度量模型,指導(dǎo)模型訓(xùn)練。對模型的精度起到舉足輕重的作用。 參考文獻(xiàn) [1]SunY,ChenY,WangX,et al. Deep learning face representation by joint identification-verification [C]. NIPS,2014. [2]SunY,WangX,Tang X. Deeply learned face representations are sparse, selective, and robust [C].CVPR,2015. [3]SunY,LiangD,WangX,et al. Deepid3: Face recognition with very deep neural networks [J]. arXiv, 2015. [4]LiuW,WenY,YuZ,et al. Large-Margin Softmax Loss for Convolutional Neural Networks [C]. ICML, 2016. [5]SphereFace: Deep Hypersphere Embedding for Face Recognition. Weiyang Liu, YandongWen,ZhidingYu,Mi ngLi,BhikshaRaj,Le Song. ICML 2017. [6]WangF,XiangX,ChengJ,et al. NormFace: L2 Hypersphere Embedding for Face Verification [C]. ACM MM, 2017. [7]LiuW,WenY,YuZ,et al. SphereFace: Deep Hypersphere Embedding for Face Recognition [C].CVPR. 2017. [8]LiuY,LiH,Wang X. Rethinking feature discrimination and polymerization for large-scale recognition [C]. NIPS workshop, 2017. [9]WangF,LiuW,LiuH,et al. Additive Margin Softmax for Face Verification [C]. ICLR 2018 (Workshop). [10]WangH,WangY,ZhouZ,et al. CosFace: Large Margin Cosine Loss for Deep Face Recognition [C]. CVPR, 2018. [11]JiankangDeng,JiaGuo,StefanosZafeiri ou. ArcFace: Additive Angular Margin Loss for Deep Face Recognition [J]. arXiv:1801.07698. (Submitted to IJCV).