李 勇,高 燦+,劉子榮,羅金濤
1.深圳大學(xué) 計(jì)算機(jī)與軟件學(xué)院,廣東 深圳518060
2.廣東省智能信息處理重點(diǎn)實(shí)驗(yàn)室,廣東 深圳518060
大型神經(jīng)網(wǎng)絡(luò)的成功依賴大量有標(biāo)記的數(shù)據(jù),當(dāng)缺少標(biāo)記數(shù)據(jù)時(shí)模型往往會過擬合。但在實(shí)際情況下,建立具有良好標(biāo)記的大型數(shù)據(jù)集需要大量的人力和物力,當(dāng)數(shù)據(jù)集的標(biāo)注需要專業(yè)知識時(shí)(例如,醫(yī)學(xué)影像數(shù)據(jù)集),所需成本會極大增加[1]。與有標(biāo)記數(shù)據(jù)不同,無標(biāo)記數(shù)據(jù)可以更容易被獲取。深度半監(jiān)督學(xué)習(xí)方法可以利用無標(biāo)記數(shù)據(jù)來提升監(jiān)督學(xué)習(xí)方法的性能,從而減少大型神經(jīng)網(wǎng)絡(luò)對有標(biāo)記數(shù)據(jù)的需求。
許多早期的深度半監(jiān)督學(xué)習(xí)方法的流程主要分為兩個階段:第一個階段,使用大量無標(biāo)記數(shù)據(jù)進(jìn)行無監(jiān)督訓(xùn)練,初始化神經(jīng)網(wǎng)絡(luò)每一層的權(quán)重;第二個階段,以監(jiān)督方式使用有標(biāo)記數(shù)據(jù)對網(wǎng)絡(luò)微調(diào)(finetuning)[2]。在一些復(fù)雜的任務(wù)中,無監(jiān)督學(xué)習(xí)不能明確對任務(wù)有用的知識,因此會學(xué)習(xí)到一些與任務(wù)無關(guān)的知識噪聲導(dǎo)致半監(jiān)督學(xué)習(xí)方法性能下降[3]。為了解決這個問題,很多新的深度半監(jiān)督學(xué)習(xí)方法[4-6]被提出。這些半監(jiān)督學(xué)習(xí)方法的損失函數(shù)由無監(jiān)督損失和有監(jiān)督損失兩部分組成,并在訓(xùn)練過程中同時(shí)利用無標(biāo)記和有標(biāo)記數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),取得了更好的效果。
目前,很多主流的深度半監(jiān)督學(xué)習(xí)方法可以分為兩類:熵最小化和一致性正則化[5]。熵最小化又叫自信預(yù)測,通過促進(jìn)模型在無標(biāo)記數(shù)據(jù)上產(chǎn)生低熵預(yù)測(自信預(yù)測)使模型輸出自信的預(yù)測結(jié)果,增大模型對某個類別的預(yù)測概率,提升模型預(yù)測的準(zhǔn)確度。最小化無標(biāo)記數(shù)據(jù)預(yù)測概率分布的熵值,可以有效減少類別概率分布的重疊,促進(jìn)類間的低密度分離。一致性正則化促使模型在輸入受到干擾時(shí)仍產(chǎn)生相同的輸出分布來增強(qiáng)模型的泛化能力,從而有效擴(kuò)大模型對樣本分布的支持來提升模型的性能。但上述兩種類型的深度半監(jiān)督學(xué)習(xí)方法都存在一定局限性。大部分熵最小化半監(jiān)督學(xué)習(xí)方法并不能靈活調(diào)節(jié)預(yù)測概率的分布趨勢,很容易促進(jìn)錯誤預(yù)測產(chǎn)生。在訓(xùn)練的前期,模型對大部分?jǐn)?shù)據(jù)的預(yù)測會發(fā)生變化,促進(jìn)自信預(yù)測的強(qiáng)度過大可能會對模型的訓(xùn)練產(chǎn)生較強(qiáng)的負(fù)面影響,若促進(jìn)強(qiáng)度過小,會導(dǎo)致自信促進(jìn)的幅度不足,使模型不能有效輸出自信預(yù)測的結(jié)果。很多一致性正則化損失中所有無標(biāo)記數(shù)據(jù)損失的權(quán)重是相同的,而模型對無標(biāo)記數(shù)據(jù)預(yù)測的正確度是不同的,因此對所有無標(biāo)記數(shù)據(jù)的一致性損失共用一個不變的權(quán)值是不合理的[7]。為了解決上述問題,本文提出了一種用于深度半監(jiān)督學(xué)習(xí)的無監(jiān)督損失函數(shù),稱為動態(tài)一致的自信損失(dynamic consistency and confidence loss,DCCL)。該損失函數(shù)由動態(tài)加權(quán)一致性正則化(dynamic weighted consistency regularization,DWCR)和自信促進(jìn)損失(self-confidence promotion loss,SCPL)組成,其中DWCR 通過對數(shù)據(jù)的一致性損失進(jìn)行動態(tài)加權(quán),可以減少錯誤預(yù)測及數(shù)據(jù)差異帶來的負(fù)面影響。SCPL 能靈活調(diào)節(jié)促進(jìn)模型輸出自信預(yù)測的強(qiáng)度,實(shí)現(xiàn)類間的低密度分離,提升模型的分類性能。本文將DCCL與監(jiān)督損失結(jié)合,提出了名為動態(tài)一致自信(dynamic consistency and confidence,DCC)的深度半監(jiān)督學(xué)習(xí)方法。本文的主要貢獻(xiàn)有以下三點(diǎn):
(1)針對樣本間的差異以及錯誤預(yù)測的負(fù)面影響,提出了一種簡單有效的動態(tài)加權(quán)一致性損失DWCR,實(shí)現(xiàn)了對無標(biāo)記數(shù)據(jù)一致性正則化損失的動態(tài)加權(quán)。
(2)提出了一種新的促進(jìn)模型產(chǎn)生自信預(yù)測的無監(jiān)督損失SCPL,并能靈活調(diào)節(jié)促進(jìn)強(qiáng)度,實(shí)現(xiàn)靈活可控的熵最小化。
(3)提出了一種新的半監(jiān)督學(xué)習(xí)方法DCC,并在不同數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),實(shí)驗(yàn)表明了該方法的有效性。
目前很多先進(jìn)的半監(jiān)督學(xué)習(xí)方法都采用了熵最小化與一致性正則化作為無標(biāo)記數(shù)據(jù)的損失函數(shù)。本章將回顧一些與DCC有關(guān)的深度半監(jiān)督學(xué)習(xí)方法。
熵最小化通常使用信息熵或KL散度實(shí)現(xiàn),如式(1)和式(2)所示:
一致性正則化半監(jiān)督學(xué)習(xí)方法是通過減少擾動前后數(shù)據(jù)預(yù)測的差異來提升模型的泛化性能。很多一致性正則化半監(jiān)督學(xué)習(xí)方法的不同之處體現(xiàn)在對輸入數(shù)據(jù)的擾動方式(增強(qiáng)方式)和減少預(yù)測差異的方法。Laine 等[9]提出了Π-model,該方法對輸入的圖像進(jìn)行兩次隨機(jī)增強(qiáng),并最小化預(yù)測的平方差異來提升模型的泛化性能,由于同一張圖像會通過網(wǎng)絡(luò)兩次,文獻(xiàn)[9]同時(shí)給出了Π-model 的另一版本Temporal Ensembling,通過記錄模型對無標(biāo)記數(shù)據(jù)歷史預(yù)測的指數(shù)加權(quán)移動平均,作為模型對圖像不同增強(qiáng)的預(yù)測,加快了訓(xùn)練進(jìn)度。文獻(xiàn)[10]提出的MeanTeacher模型采用了雙網(wǎng)絡(luò)模型,即教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò),教師模型的參數(shù)來自學(xué)生模型參數(shù)的指數(shù)加權(quán)移動平均,在訓(xùn)練過程中分別向兩個網(wǎng)絡(luò)中注入不同的噪聲,并將預(yù)測平方差異最小化實(shí)現(xiàn)一致性正則化。Rasmus 等[4]也采用了雙網(wǎng)絡(luò)模型進(jìn)行半監(jiān)督學(xué)習(xí),但與MeanTeacher不同的是其擾動方式是向其中一個網(wǎng)絡(luò)中添加高斯噪聲,并在訓(xùn)練過程中最小化兩個網(wǎng)絡(luò)每一層輸出的平方差異來增強(qiáng)泛化性能。Sohn 等[1]提出的FixMatch 對無標(biāo)記圖像采用了兩種強(qiáng)度不同的圖像增強(qiáng)方式,在訓(xùn)練過程中篩選具有可靠預(yù)測的弱增強(qiáng)圖像,并將預(yù)測概率與對應(yīng)強(qiáng)增強(qiáng)圖像預(yù)測計(jì)算交叉熵,作為無標(biāo)記數(shù)據(jù)的損失函數(shù)。雖然很多一致性正則化半監(jiān)督學(xué)習(xí)方法有效增強(qiáng)了模型的泛化性能,但它們并沒考慮不同數(shù)據(jù)的差異和錯誤預(yù)測的負(fù)面影響。
本章主要介紹提出的動態(tài)一致自信(DCC)的深度半監(jiān)督學(xué)習(xí)方法,包括模型的整體結(jié)構(gòu)、無監(jiān)督損失以及總體半監(jiān)督損失函數(shù)和算法流程描述。
大多數(shù)效果較好的神經(jīng)網(wǎng)絡(luò)會在訓(xùn)練過程中最小化模型在訓(xùn)練數(shù)據(jù)上的平均誤差,稱為經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化(empirical risk minimization,ERM)[11]。但ERM容易使大型神經(jīng)網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)不足時(shí)過擬合,當(dāng)使用在訓(xùn)練數(shù)據(jù)分布之外的例子對模型進(jìn)行評估時(shí),模型會給出錯誤的預(yù)測結(jié)果。數(shù)據(jù)增強(qiáng)是解決上述問題的一個有效的方法,使用增強(qiáng)后的數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)可以實(shí)現(xiàn)模型對訓(xùn)練樣本分布支持的擴(kuò)大[11]。本文提出的半監(jiān)督學(xué)習(xí)模型采用了兩種強(qiáng)度不同的圖像增強(qiáng)方式:弱增強(qiáng)和強(qiáng)增強(qiáng)。弱增強(qiáng)是只對訓(xùn)練圖像采用翻轉(zhuǎn)、裁剪操作,并不會造成原始圖像的失真。強(qiáng)增強(qiáng)采用Cutout[12]和RandAugment[13]使增強(qiáng)后的圖像產(chǎn)生嚴(yán)重的扭曲,從而造成一定程度的失真[1]??紤]到有標(biāo)記和無標(biāo)記圖像的差異性,本文對有標(biāo)記數(shù)據(jù)只采用弱增強(qiáng)的方式實(shí)現(xiàn)圖像增強(qiáng),將增強(qiáng)后的圖像送入深度神經(jīng)網(wǎng)絡(luò)得到預(yù)測結(jié)果并計(jì)算有監(jiān)督損失Ls。而對無標(biāo)記數(shù)據(jù)同時(shí)進(jìn)行強(qiáng)增強(qiáng)和弱增強(qiáng)處理后送入深度神經(jīng)網(wǎng)絡(luò)并得到對應(yīng)的預(yù)測結(jié)果,根據(jù)弱增強(qiáng)圖像和強(qiáng)增強(qiáng)圖像預(yù)測結(jié)果構(gòu)建一致性正則化損失,并單獨(dú)使用弱增強(qiáng)圖像預(yù)測結(jié)果構(gòu)建促進(jìn)自信預(yù)測的損失函數(shù)。由于模型對增強(qiáng)后的無標(biāo)記數(shù)據(jù)的預(yù)測正確性未知,本文提出了一種度量預(yù)測正確度(自信度)的方式,并根據(jù)弱增強(qiáng)無標(biāo)記圖像預(yù)測的自信度,對數(shù)據(jù)的一致性損失進(jìn)行加權(quán)得到動態(tài)加權(quán)一致性正則化函數(shù)Lud,減少了錯誤預(yù)測的負(fù)面影響。Luc表示自信促進(jìn)損失函數(shù),鼓勵模型產(chǎn)生自信的預(yù)測。最終的損失函數(shù)Loss由Ls、Lud以及Luc三部分組成,整體的模型架構(gòu)如圖1所示。
圖1 DCC模型總體結(jié)構(gòu)Fig.1 Overall structure of DCC model
本文中有標(biāo)記數(shù)據(jù)的標(biāo)記采用了one-hot編碼方式,并使用交叉熵?fù)p失函數(shù)作為模型的有監(jiān)督損失函數(shù),其公式描述可表示為:
其中,B為訓(xùn)練batch 中有標(biāo)記數(shù)據(jù)的數(shù)量,pi是模型預(yù)測的類別概率。
一致性損失可在輸入數(shù)據(jù)受到干擾時(shí)使模型仍產(chǎn)生近似相同的概率分布,以此增強(qiáng)模型的泛化能力,常見的一致性損失函數(shù)可表示為:
其中,pwi是由argmax(fθ(w(ui)))得到的對弱增強(qiáng)無標(biāo)記數(shù)據(jù)ui預(yù)測的one-hot 編碼,表示弱增強(qiáng)ui的第k類編碼元素,C為樣本的類別數(shù)目。psi=fθ(s(ui))是模型對強(qiáng)增強(qiáng)ui預(yù)測概率分布,表示強(qiáng)增強(qiáng)ui屬于第k類的概率。fθ(·)為參數(shù)模型,w(ui)表示對ui弱增強(qiáng),s(ui)表示對ui進(jìn)行強(qiáng)增強(qiáng)。μ是一個常數(shù),用于調(diào)節(jié)一個batch 中無標(biāo)記數(shù)據(jù)所占有的比例。通過最小化式(4)可以減小不同增強(qiáng)方式的無標(biāo)記數(shù)據(jù)預(yù)測的差別,從而實(shí)現(xiàn)一致性正則化。
由于模型對所有無標(biāo)記數(shù)據(jù)預(yù)測的準(zhǔn)確度是不同的,例如模型很容易正確預(yù)測某些數(shù)據(jù),但錯誤預(yù)測另一些數(shù)據(jù),如果直接采用具有錯誤預(yù)測的數(shù)據(jù)進(jìn)行一致性正則化會對模型的訓(xùn)練產(chǎn)生負(fù)面的影響。通常模型預(yù)測的最大類別概率越小,預(yù)測的類別概率信息熵越大,不同類別概率的差異就越小,因此預(yù)測的準(zhǔn)確度就越低。基于上述分析,本文提出了一種度量模型預(yù)測自信度(confidence level,CL)的方法,其公式描述表示為:
其中,Emax=lbC表示預(yù)測分布的最大信息熵,其中C為類別數(shù)目。E表示預(yù)測概率分布的信息熵。式(5)對應(yīng)的圖像如圖2所示。當(dāng)模型對某一類別的預(yù)測概率非常高時(shí),預(yù)測類別概率的信息熵E接近0,此時(shí)CL接近1,反之若信息熵E較大,CL接近0。
圖2 CL函數(shù)圖像Fig.2 CL function image
本文將預(yù)測自信度CL與式(4)進(jìn)行結(jié)合得到了動態(tài)加權(quán)一致性正則化(dynamic weighted consistency regularization,DWCR)損失函數(shù),其公式描述為:
其中,CLi是無標(biāo)記數(shù)據(jù)ui的CL值。式(6)中每一個無標(biāo)記樣本都有一個單獨(dú)的CL值,并根據(jù)模型預(yù)測的類別概率分布變化而變化。當(dāng)數(shù)據(jù)的預(yù)測概率不具有區(qū)分度時(shí),CL具有較小的值,這減少了具有錯誤預(yù)測數(shù)據(jù)的一致性損失所占的比例,使錯誤預(yù)測產(chǎn)生的負(fù)面影響降低。
通常模型輸出低熵預(yù)測能夠促使決策邊界通過數(shù)據(jù)的低密度區(qū)域,實(shí)現(xiàn)類間的低密度分離[14]。而實(shí)現(xiàn)這一目的需要在損失函數(shù)中加入一項(xiàng)最小化類別概率分布信息熵的損失函數(shù),如式(7)所示:
其中,m是一個超參數(shù)用于調(diào)節(jié)促進(jìn)模型產(chǎn)生自信預(yù)測的力度。對于一個二分類問題,考慮第i個樣本的信息熵?fù)p失和SCPL損失分別如下:
在半監(jiān)督學(xué)習(xí)方法的訓(xùn)練過程中,促進(jìn)模型產(chǎn)生自信預(yù)測可以使決策邊界通過數(shù)據(jù)的低密度區(qū)域。但是,當(dāng)促進(jìn)自信預(yù)測的強(qiáng)度過大,則會加速錯誤預(yù)測的產(chǎn)生,導(dǎo)致決策邊界處于錯誤的位置。圖3展示了式(9)和式(10)的函數(shù)圖像,通過調(diào)節(jié)式(10)中的指數(shù)m,SCPL 可以具有不同的數(shù)據(jù)分布,從而更靈活地調(diào)節(jié)促進(jìn)模型產(chǎn)生自信預(yù)測的力度。最終DCC的損失函數(shù)如式(11)所示:
圖3 信息熵最小化損失和SCPLFig.3 Information entropy minimization loss and SCPL
其中,α和β是兩個超參數(shù),用于平衡兩個無監(jiān)督損失所占的比例。當(dāng)α的值過大時(shí),具有錯誤預(yù)測數(shù)據(jù)的一致性正則化損失的負(fù)面影響將會增強(qiáng),而過小的α?xí)档鸵恢滦哉齽t化的性能。過大的β值會使SCPL的自信促進(jìn)力度過大而產(chǎn)生錯誤預(yù)測,當(dāng)β的值過小時(shí)會導(dǎo)致SCPL的自信促進(jìn)作用較小,不能有效實(shí)現(xiàn)低熵預(yù)測。算法1描述了提出的DCC算法流程。
算法1動態(tài)一致自信的深度半監(jiān)督學(xué)習(xí)
為了驗(yàn)證提出的動態(tài)一致自信(DCC)的深度半監(jiān)督學(xué)習(xí)方法的有效性,在CIFAR10、CIFAR100 以及SVHN三個數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并與Π-model[9]、PseudoLabel[2]、Mixup[11]、VAT[8]、MeanTeacher[10]、Mix-Match[14]、Temporal Ensembling[9]、EnAET[5]深度半監(jiān)督學(xué)習(xí)方法進(jìn)行對比。為了保證實(shí)驗(yàn)的公平性,實(shí)驗(yàn)中所有半監(jiān)督方法都使用“Wide ResNet-28-2”[15]作為骨干網(wǎng)絡(luò),該網(wǎng)絡(luò)有1.5×106個參數(shù)。實(shí)驗(yàn)設(shè)置batch 中有標(biāo)記數(shù)據(jù)的數(shù)量B=128,超參數(shù)μ=7,并對模型使用帶有動量的標(biāo)準(zhǔn)SGD[16]優(yōu)化器,將動量設(shè)置為0.9。另外,本文使用余弦學(xué)習(xí)速率衰減,其中η=0.03 是初始的學(xué)習(xí)速率,t是當(dāng)前的batch訓(xùn)練步數(shù),T=400×29是總體batch訓(xùn)練步數(shù)。本文方法采用Pytorch1.6深度學(xué)習(xí)框架實(shí)現(xiàn),利用GeForceRTX2080Ti 11 GB顯卡進(jìn)行運(yùn)算加速,并使用NvidiaApex混合精度工具加速訓(xùn)練。
CIFAR10 數(shù)據(jù)集由訓(xùn)練集和測試集組成,共包含10 個類別的彩色圖像,其中訓(xùn)練集共有50 000 張圖像,測試集由10 000張圖像組成[9]。
SVHN 是Google 街景門牌號碼數(shù)據(jù)集,數(shù)據(jù)集中的每張圖像包含一組0~9的數(shù)字,其中訓(xùn)練集包含73 257個數(shù)字,測試集由26 032個數(shù)字組成[10]。
CIFAR100 數(shù)據(jù)集共有100 個類別的圖像,每個類別有600 張圖像,其中500 張圖像組成訓(xùn)練集,剩下的100張圖像作為測試集[15]。
為了更好地驗(yàn)證DCC 的性能,本文從數(shù)據(jù)集中隨機(jī)挑選一定數(shù)目的圖像和對應(yīng)的標(biāo)記組成有標(biāo)記數(shù)據(jù),其中每種類別的有標(biāo)記數(shù)據(jù)數(shù)目相同,剩下的圖像作為無標(biāo)記數(shù)據(jù),并將該劃分過程重復(fù)3次。在得到的3個數(shù)據(jù)集上進(jìn)行3次獨(dú)立實(shí)驗(yàn),報(bào)告平均分類錯誤率和標(biāo)準(zhǔn)差,并將最低的錯誤率加粗顯示。對每個數(shù)據(jù)集,實(shí)驗(yàn)設(shè)置三種不同數(shù)目的有標(biāo)記數(shù)據(jù)。
CIFAR10 數(shù)據(jù)集上劃分了250、1 000 和4 000 三種數(shù)目的有標(biāo)記數(shù)據(jù),對于所有不同劃分下的實(shí)驗(yàn)統(tǒng)一采用參數(shù)設(shè)置α=2.0,β=0.1,m=9。模型在CIFAR10 上訓(xùn)練共占用顯存為5 101 MB,在上述三種不同數(shù)目有標(biāo)記數(shù)據(jù)的劃分上的訓(xùn)練耗時(shí)分別為37.95 h、24.67 h、22.62 h。在CIFAR10上的實(shí)驗(yàn)結(jié)果如表1 所示,隨著有標(biāo)記數(shù)據(jù)增加,所有方法的錯誤率都有所下降。在所有不同的劃分中DCC方法的錯誤率都是最低的,比次優(yōu)的方法EnAET 的分類性能分別提升了32.07%、32.52%、22.43%(計(jì)算方式為(errorA-errorB)/errorA)。EnAET 中雖然也使用了一致性正則化損失,但所有數(shù)據(jù)損失的權(quán)重相同,并沒有考慮模型對不同數(shù)據(jù)預(yù)測的準(zhǔn)確性差異,而具有錯誤預(yù)測數(shù)據(jù)的一致性損失會對模型的訓(xùn)練產(chǎn)生負(fù)面影響,降低模型最終的分類性能。
表1 不同半監(jiān)督方法在CIFAR10上的錯誤率Table 1 Error rates of different semi-supervised methods on CIFAR10 單位:%
SVHN 數(shù)據(jù)集上劃分了250、1 000 和4 000 三種數(shù)目的有標(biāo)記數(shù)據(jù),并設(shè)置α=2.0,β=0.5,m=9。模型在SVHN 上訓(xùn)練共占用顯存為5 101 MB,在上述三種不同數(shù)目有標(biāo)記數(shù)據(jù)的劃分上的訓(xùn)練耗時(shí)分別為39.35 h、25.13 h、23.13 h。實(shí)驗(yàn)結(jié)果如表2所示,在不同數(shù)目的有標(biāo)記數(shù)據(jù)下,DCC 的錯誤率仍是最低的,但是隨著標(biāo)記數(shù)據(jù)的增加,DCC與其他方法錯誤率之間的差距在縮小。在4 000 個有標(biāo)記數(shù)據(jù)的情況下,DCC 的分類性能只比次優(yōu)方法提升了2.60%,而在250 和1 000 個有標(biāo)記數(shù)據(jù)的情況下,比次優(yōu)方法的分類性能分別提升了9.35%和6.85%??赡艿脑蚴荄CC方法的動態(tài)加權(quán)一致性正則化和自信促進(jìn)損失在標(biāo)記數(shù)據(jù)較少的情況下從無標(biāo)記數(shù)據(jù)中學(xué)習(xí)相關(guān)類別特征知識的能力比其他方法更強(qiáng),隨著有標(biāo)記數(shù)據(jù)的增加,這種優(yōu)勢會減少。
表2 不同半監(jiān)督方法在SVHN上的錯誤率Table 2 Error rates of different semi-supervised methods on SVHN 單位:%
CIFAR100數(shù)據(jù)集上劃分了1 000、5 000和10 000三種數(shù)目的標(biāo)記數(shù)據(jù),并設(shè)置α=0.5,β=0.1,m=9。模型在CIFAR100上訓(xùn)練共占用顯存為5 103 MB,在上述三種不同數(shù)目有標(biāo)記數(shù)據(jù)的劃分上的訓(xùn)練耗時(shí)分別為24.30 h、23.73 h、23.32 h。實(shí)驗(yàn)結(jié)果如表3 所示。雖然本文缺少某些對比方法在1 000和5 000個有標(biāo)記數(shù)據(jù)上的錯誤率信息,但是DCC 的性能仍具有優(yōu)勢。DCC 在只有1 000 個有標(biāo)記數(shù)據(jù)存在的情況下錯誤率為48.66%,比次優(yōu)方法的分類性能提升了17.15%。隨著有標(biāo)記數(shù)據(jù)的增加,DCC 的錯誤率進(jìn)一步降低,但是在有標(biāo)記數(shù)據(jù)較多的情況下優(yōu)勢并不大,該結(jié)果與在CIFAR10、SVHN 數(shù)據(jù)集上的一致。
表3 不同半監(jiān)督方法在CIFAR100上的錯誤率Table 3 Error rates of different semi-supervised methods on CIFAR100 單位:%
為了進(jìn)一步驗(yàn)證提出DCC 方法的有效性,本文在CIFAR10、SVHN、CIFAR100 上分別用250、250、1 000 個有標(biāo)記數(shù)據(jù)進(jìn)行消融實(shí)驗(yàn),并設(shè)置原始一致性正則化損失的整體權(quán)重為1,實(shí)驗(yàn)結(jié)果如圖4 所示。由于原始基于一致性正則化損失的半監(jiān)督學(xué)習(xí)方法(Original)將所有無標(biāo)記數(shù)據(jù)同等對待,錯誤的預(yù)測會對模型的訓(xùn)練產(chǎn)生較大的負(fù)面影響,從而導(dǎo)致分類錯誤率較高。將動態(tài)一致性加權(quán)引入到原始的一致性正則化半監(jiān)督學(xué)習(xí)方法(Original+DWCR)中去可以減少錯誤預(yù)測的一致性損失對訓(xùn)練過程的負(fù)面影響,使模型的分類性能得到提高。而自信促進(jìn)損失則可以鼓勵模型產(chǎn)生自信度更高的預(yù)測,促進(jìn)類之間的低密度分離,因此引入自信促進(jìn)損失的動態(tài)加權(quán)一致性正則化半監(jiān)督學(xué)習(xí)方法(Original+DWCR+SCPL)能進(jìn)一步提升模型的性能。
圖4 消融實(shí)驗(yàn)結(jié)果Fig.4 Ablation experiment results
本文提出的DCC深度半監(jiān)督學(xué)習(xí)方法的損失函數(shù)主要涉及三個超參數(shù)α、β和m。為了研究模型對超參數(shù)變化的敏感性,本文在CIFAR10、SVHN 和CIFAR100 數(shù)據(jù)集上分別取250、1 000 和1 000 個樣本作為有標(biāo)記數(shù)據(jù),其余樣本作為無標(biāo)記數(shù)據(jù)并進(jìn)行了實(shí)驗(yàn),結(jié)果如圖5所示。
本文在具有不同數(shù)目的有標(biāo)記數(shù)據(jù)的數(shù)據(jù)集上研究了模型性能對α的敏感性,α的取值范圍為{0.1,0.5,1.0,2.0,3.0},結(jié)果如圖5(a)所示。當(dāng)α的值在[1.0,2.0]范圍內(nèi),DCC在SVHN和CIFAR10上具有較好的性能。而在CIFAR100 上,當(dāng)α的值在[0.5,1.0]范圍內(nèi),DCC具有較好的性能。過小的α?xí)?dǎo)致所有無標(biāo)記數(shù)據(jù)一致性損失的權(quán)值過小,不能有效增加模型的泛化能力,而過大的α?xí)咕哂绣e誤預(yù)測數(shù)據(jù)的一致性損失權(quán)值較大,從而對模型的訓(xùn)練產(chǎn)生負(fù)面影響,降低模型的分類性能。
圖5(b)展示了在不同數(shù)據(jù)集上模型性能對β的敏感性,其中β的取值范圍為{0.05,0.10,0.50,1.00}。當(dāng)β的值在[0.10,0.50]的范圍內(nèi),DCC 在SVHN 和CIFAR10上具有較好的性能。而在CIFAR100上,當(dāng)β的值在[0.05,0.10]范圍內(nèi),DCC 具有較好的性能。過大的β會使SCPL的促進(jìn)作用過強(qiáng),從而導(dǎo)致錯誤預(yù)測的發(fā)生,對訓(xùn)練產(chǎn)生負(fù)面影響,最終降低模型的分類性能。
圖5(c)展示了模型對m變化的敏感性。當(dāng)m的取值范圍在[8,10]內(nèi),模型在所選數(shù)據(jù)集上均具有較好的性能。過小的m會使SCPL函數(shù)具有較大梯度,不利于模型的訓(xùn)練,而過大的m會使SCPL 的值過小,導(dǎo)致促進(jìn)產(chǎn)生自信預(yù)測的效果較弱。
圖5 DCC對參數(shù)的敏感性Fig.5 Sensitivity of DCC to parameters
本文提出了動態(tài)一致自信的深度半監(jiān)督學(xué)習(xí)方法,其無監(jiān)督損失函數(shù)由動態(tài)加權(quán)一致性正則化和自信促進(jìn)損失組成,并使用交叉熵?fù)p失函數(shù)作為監(jiān)督損失函數(shù)。動態(tài)加權(quán)一致性正則化使用每個無標(biāo)記數(shù)據(jù)的自信度CL作為動態(tài)一致性權(quán)值,在無標(biāo)記數(shù)據(jù)上進(jìn)行一致性訓(xùn)練,有效增強(qiáng)了模型的泛化性能。自信促進(jìn)損失能靈活調(diào)節(jié)促進(jìn)模型輸出自信預(yù)測的強(qiáng)度,有效實(shí)現(xiàn)類間的低密度分離,從而增強(qiáng)模型的分類性能。在多個數(shù)據(jù)集上的大量實(shí)驗(yàn)表明,提出的動態(tài)一致自信的深度半監(jiān)督學(xué)習(xí)方法的性能優(yōu)于目前較先進(jìn)的深度半監(jiān)督學(xué)習(xí)方法。未來的工作會進(jìn)一步探索不同無標(biāo)記數(shù)據(jù)自信促進(jìn)損失的差異以及對自信促進(jìn)損失函數(shù)的動態(tài)加權(quán)。