楊 青,陸安江,高 進
(貴州大學 大數據與信息工程學院,貴州 貴陽 550025)
人臉識別[1]已廣泛應用于安全驗證,入口與出口控制,電子商務等廣泛領域。由于深度神經網絡視覺對象分類與識別上展現了最先進的性能,因此廣泛應用于人臉識別。
在一般的視覺分類和識別任務中,通常選擇深度卷積神經網絡[2](Convolutional neural network,CNN)。對于從CNN提取的判別特征,其性能通常遠高于其他傳統的機器學習算法。通常,CNN將圖像映射到高維空間以使softmax[3]或SVM易于將圖像分類到特定類softmax損失僅懲罰分類損失,并未明確考慮類內緊湊性和類間可分離性,導致在面部識別可能不是特別有效。
在本文中,我們提出了一種新的損失函數,稱為Center Loss[4],以最小化深部特征的類內距離。通過在現有的softmax損失的同時添加Center Loss的分支,CNN產生用于魯棒面部識別的高度辨別特征。它通過學習每個類的中心。這種新的損失將通過懲罰以下兩者之間的對比值來同時考慮類內緊湊性和類間可分離性:(1)訓練樣本與其相應的類中心的距離,以及(2)訓練樣本與其相應距離的總和非對應的類中心。圖1和圖2為訓練后的理想結果。

圖1 CNN框架下的深度特征提取

圖2 Center Loss CNN框架下深度特征提取
下面我們將介紹Softmax Loss損失函數與Center Loss損失函數,并指出Softmax Loss僅考慮類間可分離性,Center Loss僅考慮類內緊湊性。然后描述我們所提出的損失算法,同時考慮到類間可分離性和類內緊湊性,從而來訓練深度神經網絡獲得深度特征,真正提高人臉識別的精準度。
在過去的二十年中,基于面部識別的認證過程因其廣泛的應用(即監視,保健,人機交互,選民驗證和自動柜員機(ATM)認證過程)而變得流行。在人臉識別中,安裝的相機會在檢測到臉部時自動拍攝照片。與面部識別相反,其他技術涉及人為干預,例如,在指紋識別中,用戶必須將他的手指按壓到掃描儀上,并且在虹膜或視網膜掃描中,用戶必須將他的眼睛定位在掃描系統的前面。與其他生物識別技術相比,人臉識別具有許多優勢:因為它是自然的,非侵入性的且易于使用。它有兩種模式:面部驗證和面部識別。
在多年的研究進步后,如今人臉識別系統已經有了一套成熟的程序,能夠有效的應用算法來完成人臉的深度特征提取,如圖3所示,分別是人臉檢測、特征提取、特征選擇和分類識別4步。

圖3 人臉識別過程
Softmax函數是logistic函數的擴展,logistic函數只能二分類,而softmax函數則能多分類,實際上是返回每一類的概率值。對于m個樣本,為了訓練集及其所對應的標簽為{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m)),},其每一個樣品的k個估計概率表達式見式(1):

其中:W1,W2,W3,…,Wk為網絡模型參數;k為分類個數。對結果進行歸一化,同時所有向量的元素之和為1。
為了完成網絡訓練,需要對Softmax的損失函數采用梯度下降法,使其得到的結果達到最小值,其損失函數如下式:

其中,{y(i)=j}是一個指示性函數,當其值為真時,該函數計算結果就為1,否則得出的結果則為0。式(2)可化簡為式(3):

在實際應用中,因為要不使任意的(W1,W2,W3,…,Wk)參數為0,我們通常會給所使用的交叉熵損失函數加入一權重衰減。當交叉熵損失函數越大,該分類器分類結果為真實標簽的概率越小,通過逐次迭代計算損失函數的最小值,得到全局的最優解,從而獲得最好的分類效果。
從在softmax損失的監督下訓練的深度神經網絡中提取的特征是可分離的,但不足以區分,因為它們顯示出顯著的內部類變化[5],如圖4所示。基于這種現象,有人提出了一種有效的損失函數提高從深層提取的深層特征的卷積神經網絡。Center Loss函數最小化了類內距離,同時保持特征可以通過Softmax分類為正確的類別。式(4)給出了中心損失函數[6]。

其中,Lc表示Center Loss,m表示最小批次中的訓練樣本的數量。xi∈Rd表示第i個訓練樣本。yi表示xi的標記。cyi=Rd表示深部特征的yi類中心,d是要素尺寸。
在訓練深度神經網絡時,文獻[7]中的作者采用Softmax損失與中心損失的聯合監督來訓練網絡,如下式所示:

其中,L表示深度神經網絡的總損失,LS表示Softmax損失。Lc表示中心損失,λ表示用于平衡兩個損失函數的標量。

圖4 Softmax loss
中心損失的弱點:判斷特征應具有更好的類內緊湊性和類間可分離性。中心損失使用損失函數等式(4)來懲罰大的類內距離,然而,中心損失不考慮類間可分離性。它將使不同類別的距離不那么遠,如圖5所示。眾所周知,如果不同類的距離足夠遠,那么這些特征會更好的區分類間可分離性。另外,對于中心損失函數而言懲罰大的類內距離,不考慮類間距離,類間距離變化很小,意味著類中心的位置會略有變化。因此,如果在卷積神經網絡中使用較小的方差,經過訓練后,類中心的距離較小,因為中心損失函數只會在不考慮類間距離的情況下懲罰大的類內距離。

圖5 center loss
如1.3節所述,中心損失的弱點在于它不考慮類間可分離性。因此,我們提出一種新的損失函數,通過懲罰以下兩者之間的對比值來同時考慮類內緊湊性和類間可分離性:(1)訓練樣本到其相應類中心的距離,(2)總和訓練樣本到其非對應類中心的距離。形式上,它的定義如下式所示:

其中,Lct-c表示對比中心損失,m表示最小批次中的訓練樣本的數量。xi∈Rd表示具有維度d的第i個訓練樣本,d是功能真實的維度。yi表示xi的標記,cyi∈Rd表示具有維度d的yi深級特征中心。k表示類的數量,δ是用于預防的常數分母等于0。在我們的實驗中,默認情況下我們設定δ=1。
顯然,對比中心損失函數可以直接用深度神經網絡。網絡將被訓練為一般的深度神經網絡。類中心cyi將通過培訓過程進行更新。與中心損失相比,我們提出的對比中心損失函數的類中心將更新為更離散的分布,因為不同類中心之間的距離太小而受到懲罰。
在此方法中,我們基于小批量更新類中心,因為無法根據整個訓練集更新中心。為了使訓練的過程更加穩定,我們使用α來控制類中心的學習率。
在每次迭代中,深度神經網絡同時更新類中心和網絡參數。這個Lct-c相對于xi的導數和Lct-c相對于cn的導數等式如式(7)和式(8)所示,這二個導數分別用于更新深度神經網絡和類中心的參數。


在等式(7)和等式(8),符號的含義與方程式中含義相同,在等式(8)中n=1,2,…,m表示當前類中心的序號。
如圖6所示,MNIST的可視化,對比中心損失可視化的坐標域比中心損失大。中心損失類中心到類中心的平均L2距離約為10到15。對比中心損失類中心到類中心的平均L2距離約為50。類中心到類中心的平均L2距離是顯而易見的,這表明對比中心損失約為中心損失的3.3倍只5倍。

圖6 對比中心損失
為了驗證對比中心損失的有效性,我們評估兩個典型視覺任務實驗:視覺分類和人臉識別。實驗結果表明,我們的對比中心損失不僅僅可以提高分類的準確性,還可以提高視覺分類的性能。在視覺分類中,我們使用二個廣泛使用的數據集(MNIST[8]和CIFRA10)。我們實施收縮中心損失并使用Caffe庫進行實驗。
如表1所示,我們用于MNIST和可視化的CNN框架是相同的,稱為表示2個級聯卷積層,具有32個尺寸為5×5的濾波器,其中步幅和填充分別為1和表示網格為2×2的最大池化層,其中步幅和填充分別為2和0。在LeNets++中,參數整流線性單元(PReLU)用作非線性單元。
MNIST由60 000個訓練圖像和總共10 000個測試圖像組成。圖像是由10個類別為0~9的手寫數字,大小為28×28。本實驗中,我們使用與參考文獻[7]一樣的網絡,網絡從LeNets修改為更深層次的網絡,但將最后一個隱藏層的輸出量減少到2,也就是深度特征的維度為2,這很容易在二維曲面中繪制用于可視化,其中網絡架構信息如表1, 在這里我們將Lct-c損失權重設置為λ=0.1。

表1 基本卷積網絡模型結構
在訓練和測試LeNets++時,我們使用無任何數據訓練圖像和原始圖像增強,得到結果見表2,與Softmax相比,對比中心損失提高了0.37%的準確度,與中心損失相比,準確度提高了0.23%。

表2 MNIST數據集的分類準確度
接著,我們可視化LeNets++的最后一個隱藏層(輸出為2)的深層特征。使用10 000個測試圖像作為輸入提取所有特征,可視化如圖6所示,我們可以觀察到:
(1)在Softmax損失單一監督信號下,這些特征是可分離的,并且具有顯著的類間可分離性。
(2)中心損失使得深層特征具有更好的類內緊湊性。但是各個類之間的可分性還不夠好。類中心到類中心的平均L2距離為10到15。
(3)對比中心損失同時實現了良好的類內緊湊性和類間可分離性,類中心到類中心的平均L2距離約為50。
CIFAR10數據集由10類自然圖像組成,具有50 000個訓練圖像和10 000個測試圖像,每個圖像的尺寸為32×32的RGB圖像。
我們在實驗中使用20-layer ResNet(Residual Neural Network),在遵循常用策略下進行實驗,我們在訓練中進行數據增強,在測試中則不對數據進行增強,我們遵循文獻[8]中的標準數據增強進行訓練:每側填充4個像素,并從填充圖像或者水平翻轉中對32×32幀隨機采樣。在測試中,我們只評估原始的單一視圖32×32測試圖像。這里我們將Lct-c損失權重設置為λ=0.1。結果如表3所示。

表3 CIFAR10數據集的分類準確度
從表3我們可以觀察出:
(1)與僅在Softmax損失監督下,中心損失使網絡的準確度提高了0.4%。
(2)與僅在Softmax損失監督下,對比中心損失使網絡的準確度提高了1.2%。
(3)我們所提出的對比中心損失比中心損失的結果更好,CIFAR10的精確度提高了0.35%。
我們提出的深度神經網絡的對比中心損失,同時考慮了類內緊湊性和類間可分離性,通過懲罰訓練樣本與其相應的類中心的距離之間的對比值,以及訓練樣本的距離之和與它們不相應的類中心,實現了更加準確的分類。在實驗結果中,通過可視化分析我們可以直觀的看到實驗的結果,通過MNIST和CIFAR10基準數據集的實驗結果也證明了我們所提出的對比中心損失的有效性。