張春曉,何 軍
(南京信息工程大學 電子與信息工程學院,南京 210044)
(南京信息工程大學 人工智能學院,南京 210044)
圖像分類一般是先通過生成器提取特征,再將特征輸入分類器進行分類.隨著深度學習[1]在機器學習、計算機視覺領域的快速發(fā)展,卷積神經(jīng)網(wǎng)絡[2]在圖像分類中得到良好的應用.相比于傳統(tǒng)的方法,基于CNN卷積的特征提取算法的優(yōu)點是不需要大量的人工標注信息[3].1998年,Yann LeCun等人[4]通過MNIST手寫識別數(shù)字表明卷積神經(jīng)網(wǎng)絡優(yōu)于先前所有模型并命名LeNet-5.2012年,Krizhevsky等人[5]提出AlexNet,該模型增加了ReLU激活函數(shù)和Dropout[5],在一定程度上提高了訓練速度并降低了計算量,2014年后 VGG、GoogleNet、ResNet、SeNet等先后被提出[6-9],神經(jīng)網(wǎng)絡的特征提取能力不斷增強,圖像分類精度也不斷提高.與此同時,出現(xiàn)了針對梯度消失、過擬合、欠擬合等問題的各種訓練技巧,如引入Dropout、批量一體化[10]等.
近幾年隨著生成式對抗網(wǎng)絡模型(Generative Adversarial Network,GAN)[11]的提出,特征提取技術和分類技術在無監(jiān)督學習(Unsupervised Learning)和半監(jiān)督學習(Semi-Supervised Learning)領域也有了一定突破.在無監(jiān)督分類領域,文獻[12,13]等通過對抗訓練鼓勵目標域特征與源域特征對齊問題,然而忽略了類別信息,特征生成器往往會輸出不具有區(qū)分性的特征(如角度、光照等)影響分類準確度.因此Saito K等人[14]提出對抗Dropout正則化(Adversarial Dropout Regularization,ADR)方法用于無監(jiān)督的域適應領域,通過生成器和分類器的相互對抗尋找類之間決策邊界,從而鼓勵生成器輸出更多類別信息.為了提高圖像特征提取質(zhì)量,注意力機制的引入提高了分類的精度[15-18],文獻[19]將多模態(tài)注意力嵌入語義圖檢測每個類別的區(qū)分性特征.文獻[20]從信息論角度出發(fā),采用改進的互信息對數(shù)據(jù)進行實時提取,在最大程度保留原始數(shù)據(jù)信息的基礎上提高了分類效率.文獻[21]通過遷移學習提高特征提取質(zhì)量并引入多輸入卷積神經(jīng)網(wǎng)絡進行分類,在花卉識別方面取得良好結果.目前特征提取的缺陷主要集中以下兩點:1)模型針對特定數(shù)據(jù)集進行處理,模型泛化能力不強;2)是模型的特征提取能力仍有欠缺,在小樣本數(shù)據(jù)集上訓練時由于生成器的特征提取能力不足,導致分類精度不高.
為了提高分類模型特征提取能力,本文從正則項角度出發(fā),在ADR方法基礎上歸納出一種基于對抗性正則化特征提取方法(Feature Extraction with Adversarial Regularization,FE-AR)用于圖像分類,將基于對抗的正則化項應用于分類目標函數(shù)中,促使生成器的輸出更具有區(qū)分性特征(discriminative features).選取3層卷積網(wǎng)絡進行理論驗證,在VGG網(wǎng)絡進一步探究,并研究在生成器和分類器在經(jīng)過對抗正則化訓練后對分類精度的影響.為了驗證算法的可行性,本文分別SVHN、CIFAR10、CIFAR100、CUB_200_2011上進行分類實驗.實驗結果表明,加入對抗正則化訓練能夠指引生成器輸出具有代表性的類別信息并提高分類精度.
Dropout是一種防止神經(jīng)網(wǎng)絡過擬合的正則化方法,在訓練過程中,以概率P隨機從神經(jīng)網(wǎng)絡中刪除神經(jīng)元來減少數(shù)據(jù)間的協(xié)同性(co-adaptations),促使神經(jīng)元之間相互獨立,不同的神經(jīng)元學習輸入數(shù)據(jù)的不同特征,提高模型泛化能力.本文以對抗的方式使用Dropout來提高生成器的特征提取能力,訓練分類器對由Dropout引起的噪聲具有判別性,對特征生成器進行正則化,使其產(chǎn)生魯棒性特征.
假設樣本圖片為X,模型由特征生成器G和分類器C組成.X經(jīng)過生成器G得到特征z,分類器C通過Softmax函數(shù)將特征z分成K個類別,p(y|x)表示輸入X的后驗分布,其中y表示分類的類別.
對抗正則化[14]不同于GAN需要單獨訓練一個判別器D,分類器C也充當判別器的角色來檢測分類邊界附近的特征編碼,生成器G避免在分類邊界區(qū)域附近生成特征.在分類邊界的特征會引起后驗p(y|x)的變化最大,導致錯誤分類.因此通過兩次Dropout得到兩個后驗分布,分類器最大化后驗分布的差異,鼓勵C網(wǎng)絡對噪聲信息敏感,不同神經(jīng)元學習輸入X的不同特征.生成器最小化后驗分布的差異,生成遠離分類邊界的目標特征,以減少p(y|x)的變化.如圖1所示,經(jīng)過對抗訓練鼓勵生成器G生成遠離分類邊界特征.

圖1 不同類別特征空間
衡量兩個概率分布p1(y|x)和p2(y|x)之間的距離是概率估計中常見問題,本文主要介紹以下3種不同的衡量標準.
1)全變差距離(Total Variance Distance,TVD):若經(jīng)過Dropout后,C網(wǎng)絡得到兩個分布對應的輸出為y1、y2則變差距離如公式(1)所示:
(1)
2)KL散度(Kullback-Leibler Divergence):KL散度用來度量兩個分布和之間的不相似度(dissimilarity),KL散度如公式(2)所示:
(2)
3)JS散度(Jensen-Shannon Divergence):JS散度解決了KL散度不對稱問題,JS散度如公式(3)所示:
(3)
如圖2所示,將特征z輸入到C的過程重復兩次并通過Dropout得到兩個后驗分布p1(y|x)和p2(y|x).衡量兩分布之間距離的差異性,越大表明提取的特征在分類邊界,兩次預測的分類結果相差越大.

圖2 基于對抗正則化訓練的分類模型
為了提高分類器C網(wǎng)絡對于特征的敏感度,訓練C網(wǎng)絡最大化兩分布的距離后反饋給G網(wǎng)絡,生成器網(wǎng)絡G最小化兩分布的距離生成遠離分類邊界更具有代表性的分類特征.G和C在訓練過程中相互交替,從而提高G網(wǎng)絡的特征提取能力.
在圖像分類任務中,網(wǎng)絡優(yōu)化的目標函數(shù)為最小化交叉熵,交叉熵越小,表示預測值與真實值越接近,如公式(4)所示:
(4)
本文引入的對抗正則化函數(shù)如公式(5)所示:
(5)
C網(wǎng)絡除了要最大化分布p1(y|x)、p2(y|x)間距離找到類別分類的邊界,同時還要保證分類正確.C網(wǎng)絡優(yōu)化的損失函數(shù)如公式(6)所示:
(6)
不同于ADR方法在優(yōu)化G網(wǎng)絡時只最小化敏感度優(yōu)化量分布的距離.本文G網(wǎng)絡的目的是提取遠離分類邊界的特征,同時也保證分類的準確性,G網(wǎng)絡優(yōu)化的損失函數(shù)如公式(7)所示:
(7)
將對抗正則項用于圖像分類中,可以鼓勵分類器中不同神經(jīng)元學習到輸入X不同特征.由于在訓練中最大化Dopout后兩分布的距離,C網(wǎng)絡的神經(jīng)元會盡力捕捉不同的特征來提高自身的敏感度.G網(wǎng)絡通過最小化會輸出遠離分類邊界更具有類別代表性的特征.實驗中為了加快收斂速度,首先通過公式(4)預訓練分類模型,其次通過公式(6)、公式(7)對模型進行對抗訓練.具體步驟見算法1.
算法1.基于對抗正則化的特征提取算法
輸入:訓練集X,標簽Y,Parameters:batchsize,local_step,total_step
輸出:圖像特征提取與分類模型
1.i=0
2.While i <= total_step
3. if i <=local_step
4. 通過公式(4)預訓練分類模型
5. else
6. Dropout分類器得到p1(y|x)
7. Repeat得到p2(y|x)
8. 固定生成器,通過公式(6)訓練分類器
9. 固定分類器,通過公式(7)訓練生成器
10. end if
11.end while
為了驗證本文方法的可行性,本文在SVHN、CIFAR-10、CIFAR-100進行普通分類實驗,選取CUB_200_2011細粒度分類實驗.表1是對數(shù)據(jù)集的描述.

表1 數(shù)據(jù)集信息
1)實驗環(huán)境:實驗操作系統(tǒng)為64-bit Ubuntu16.04,CPU型號為E5-2620v3,內(nèi)存為32G,處理器為Intel? Xeon(R)CPU E5-2620 v3@ 2.40 GHz,GPU型號為GeForce TITAN X.編程語言為python,實驗框架為Tensorflow.
2)實驗網(wǎng)絡:本文使用兩種卷積網(wǎng)絡模型進行實驗:1)在3層卷積網(wǎng)絡進行驗證,選取3層卷積為特征生成器,3層全連接層為特征分類器,使用卷積核大小為3*3,網(wǎng)絡結構如圖3所示;2)在VGG網(wǎng)絡進一步實驗,并對VGG網(wǎng)絡最后全連接層參數(shù)做了調(diào)整,使用5層卷積層作為特征生成器,3層全連接層作為分類器.

圖3 3層卷積網(wǎng)絡結構
3)參數(shù)設置:實驗中,Dropout的比例為0.5.對于SVHN、CIFAR10、CIFAR100分別在3層卷積和VGG網(wǎng)絡進行實驗.每次輸入batchsize為64,使用adam優(yōu)化器,預訓練階段,學習率大小為1e-3,對抗訓練階段,G網(wǎng)絡和C網(wǎng)絡學習率大小為1e-4.
CUB_200_2011使用的網(wǎng)絡為在ImageNet預訓練的VGG,輸入的batchsize為32,使用隨機梯度下降優(yōu)化模型,預訓練階段,首先對VGG網(wǎng)絡全連接層以學習率1e-3進行更新,再對整個網(wǎng)絡以1e-4的學習率進行調(diào)整.對抗訓練階段,G網(wǎng)絡和C網(wǎng)絡模型學習率大小為1e-5.
本小節(jié)驗證對抗正則化的有效性,選取3層卷積網(wǎng)絡作為特征生成器,3層全連接層作為分類器進行實驗驗證.加入對抗訓練后,SVHN、CIFAR10和CIFAR100在3層卷積網(wǎng)絡的正確率分別為95.38%、87.93%、73.44%,加入對抗訓練后比基線網(wǎng)絡分別提高了0.71%、6.69%、10.94%,相比于ADR方法分類精度也有所提高.如表2所示.

表2 加入對抗正則項測試集準確率對比(百分比)
加入對抗正則項后網(wǎng)絡的特征提取能力增強,分類準確率在不同數(shù)據(jù)集都有了提升.相比于原始ADR方法,FE-AR在優(yōu)化G網(wǎng)絡的同時考慮最小化交叉熵,進一步提高了分類精度.
為進一步探究,以CIFAR10數(shù)據(jù)集為例,圖4和圖5分別表示加入對抗正則項后模型在測試集準確率和損失函數(shù)的對比.從圖4可以看出,在相同的Epoch下,本文的模型得到的準確率高于ADR方法,且隨著訓練步數(shù)的增加,模型也逐漸穩(wěn)定.從圖5看出加入對抗正則化項后,交叉熵損失明顯降低.相比于ADR,FE-AR的訓練方法得到的模型更加穩(wěn)定.隨著交叉熵損失的減小,測試集的分類精度不斷提高.這意味著分類器網(wǎng)絡能鑒別非區(qū)分性(non-discriminative)的特征,生成器網(wǎng)絡學習避免提取這些特征,提高了分類精度.

圖4 CIFAR10在測試集正確率對比
為了對FE-AR方法進一步驗證分析,在VGG網(wǎng)絡結構下,選取不同方法在SVHN、CIFAR10、CIFAR100的識別精度與本文方法進行對比,如表3所示.

表3 FE-AR與現(xiàn)有方法在數(shù)據(jù)集上的對比(百分比)
從表3可以看出,加入對抗正則化后的分類精度在3個數(shù)據(jù)集上分別提高了0.68%、2.69%、4.87%,在SVHN和CIFAR10數(shù)據(jù)集上本文方法優(yōu)于其他.雖然在CIFAR100數(shù)據(jù)集上沒有達到最優(yōu)水平,但相比于VGG網(wǎng)絡有了明顯提升,經(jīng)過對抗訓練的生成器輸出的特征更具有代表性.在訓練過程中,分類器網(wǎng)絡學習鑒別對分類不重要的信息,生成器學習“欺騙”分類器.如果生成器輸出不具有類別信息的特征,這些特征將被分類器用來提高自身敏感度后再經(jīng)過和生成器網(wǎng)絡的對抗訓練促使生成器的特征更加具有類別區(qū)分性.
為了比較不同分布概率分布度量方法對于特征空間的影響,以SVHN為例,討論全變差距離、KL散度和JS散度3種分布距離度量方法與實驗精度的關系.如圖6所示.

圖6 SVHN在不同度量方法下的分類精度
從圖6可以看出,選取合適的概率分布度量方法對于圖像特征提取和分類精度有很大關系.本文所選擇的3種度量方法都對分類精度有了提高,其中使用JS散度作為分布度量方法的模型更為穩(wěn)定.這是因為相比于KL散度,JS散度解決了非對稱問題且值域范圍限制在[0,1],對于相似度的判別更加確切.
為了驗證FE-AR方法具有普遍性,選取CUB_200_2011進行細粒度分類測試.由于細粒度分類相比于普通圖像分類更復雜,所以選取VGG作為基線網(wǎng)絡.對數(shù)據(jù)預處理,隨機裁剪大小為224×224×3,VGG網(wǎng)絡最后一層全連接層參數(shù)改為200,其他參數(shù)設置見4.2小節(jié),結果如表4所示.

表4 不同方法下的細粒度分類精度比較(百分比)
本文從圖像特征提取的訓練角度出發(fā),提出一種提高圖像分類精度的對抗正則化方法.通過特征生成器和分類器的對抗訓練,鼓勵生成器輸出具有類別信息的特征,在一定程度上提高模型的泛化能力.實驗表明,本文方法在普通數(shù)據(jù)集的特征提取和分類任務中優(yōu)于其他,并在細粒度分類任務中有良好的表現(xiàn).同時實驗發(fā)現(xiàn)選擇合適的度量方法對于特征提取及分類精度至關重要,作者在后續(xù)工作中對概率分布度量方法進一步進行探討.