王江晴,何開杰,孫 翀,帖 軍,尹 帆
(1.中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢 430074;2.中南民族大學(xué) 湖北省制造企業(yè)智能管理工程技術(shù)研究中心,湖北 武漢 430074)
傳統(tǒng)的監(jiān)督學(xué)習(xí)通常需要大量的標(biāo)簽樣本對(duì)模型進(jìn)行訓(xùn)練,以便獲得較好的質(zhì)量,同時(shí),由于維度災(zāi)難的原因,在處理高緯數(shù)據(jù)(如視頻、語(yǔ)音和圖像分類等)時(shí),訓(xùn)練高質(zhì)量的模型所需要的標(biāo)簽樣本數(shù)量進(jìn)一步呈現(xiàn)指數(shù)暴漲趨勢(shì)[1]。
隨著大數(shù)據(jù)時(shí)代的數(shù)據(jù)需求日益增長(zhǎng),海量的標(biāo)簽樣本需求成為傳統(tǒng)監(jiān)督學(xué)習(xí)發(fā)展的阻礙之一,傳統(tǒng)監(jiān)督學(xué)習(xí)已無(wú)法滿足人們的需求。半監(jiān)督學(xué)習(xí)由于在標(biāo)簽樣本數(shù)量很少的情況下,通過在模型訓(xùn)練中引入無(wú)標(biāo)簽樣本來(lái)避免傳統(tǒng)監(jiān)督學(xué)習(xí)在訓(xùn)練樣本不足(學(xué)習(xí)不充分)時(shí)出現(xiàn)性能(或模型)退化的問題,有著廣泛應(yīng)用。
近年來(lái),半監(jiān)督學(xué)習(xí)的研究工作主要集中在分類問題[2]。半監(jiān)督深度分類模型主要目的是鼓勵(lì)分類器將學(xué)得的條件分布逼近原數(shù)據(jù)的總體分布,當(dāng)前半監(jiān)督深度學(xué)習(xí)算法并沒有充分考慮樣本中無(wú)標(biāo)簽數(shù)據(jù)所包含的信息,半監(jiān)督分類器并沒有學(xué)習(xí)到真實(shí)的原數(shù)據(jù)的總體分布。針對(duì)該問題,本文根據(jù)遷移學(xué)習(xí)中的領(lǐng)域自適應(yīng)(domain adaption),將半監(jiān)督學(xué)習(xí)中有標(biāo)簽數(shù)據(jù)集看成源域,全體數(shù)據(jù)集看成目標(biāo)域,采用基于Wasserstein距離的Wasserstein自編碼器(wasserstein autoencoder,WAE)生成模型與半監(jiān)督學(xué)習(xí)相結(jié)合的方式,使得源域上訓(xùn)練的數(shù)據(jù)可以遷移到目標(biāo)域中。本文從邊際分布出發(fā),使得優(yōu)化目標(biāo)既考慮有標(biāo)簽樣本和無(wú)標(biāo)簽樣本特征空間的邊際分布和總體數(shù)據(jù)的邊際分布相似,也考慮有標(biāo)簽樣本的分布和總體的全概率分布相似,同時(shí)采用新的距離度量對(duì)模型擬合分布與真實(shí)數(shù)據(jù)分布之間的距離進(jìn)行度量,從而學(xué)習(xí)到更加復(fù)雜的高維分布,將樣本中無(wú)標(biāo)簽數(shù)據(jù)納入分類器所學(xué)分布當(dāng)中,學(xué)習(xí)到原數(shù)據(jù)的總體分布,最終使半監(jiān)督深度分類算法可以學(xué)到原數(shù)據(jù)的總體分布。
半監(jiān)督深度學(xué)習(xí)算法訓(xùn)練模型的方式之一是采用生成模型。生成模型諸如生成對(duì)抗網(wǎng)絡(luò)(GAN)[3]和變分自編碼器(VAE)[4]通過對(duì)數(shù)據(jù)分布進(jìn)行建模來(lái)捕捉樣本之間的相似性,生成與原數(shù)據(jù)近似的擬合數(shù)據(jù),半監(jiān)督器學(xué)習(xí)模型期望通過生成模型學(xué)習(xí)到原數(shù)據(jù)的總體分布。
Semeniuta等[5]采用條件VAE建立魯棒的結(jié)構(gòu)化預(yù)測(cè)算法,在輸入中加入噪聲。M.Ehsan等[6]提出用于半監(jiān)督學(xué)習(xí)的半監(jiān)督變分自編碼器,用Infinite Mixture模型處理半監(jiān)督數(shù)據(jù),采用帶有不同混合系數(shù)的VAE的混合,讓樣本可以自動(dòng)學(xué)習(xí)模型數(shù)量,但效果并不理想。Maal?e等[7]提出ADGM模型,引入輔助變量,建立更具有表現(xiàn)力的分布,提高預(yù)測(cè)性能,但也使得模型參數(shù)計(jì)算量過大。Cai等[8]提出MSVAE模型,該模型的雙層解碼器一定程度上克服了生成樣本不夠清晰的缺點(diǎn),生成的樣本盡管有所改進(jìn),但仍然較為模糊。采用KL散度和JS散度的生成模型均會(huì)產(chǎn)生樣本模糊的問題,當(dāng)高維空間中的兩個(gè)分布之間距離沒有重疊,KL散度和JS散度便會(huì)失去意義,無(wú)法度量分布間的距離。
Odena等[9]提出ACGAN,將標(biāo)簽信息和噪音一起輸入到生成器中,使得ACGAN適合處理半監(jiān)督數(shù)據(jù)。然而當(dāng)前GAN模型大都難以訓(xùn)練并且會(huì)出現(xiàn)模式崩潰情況[10]。針對(duì)上述問題,Salimans等[11]提出采用經(jīng)驗(yàn)技術(shù)來(lái)穩(wěn)定GAN模型的訓(xùn)練,Arjovsky等[12]提出WGAN模型,采用Wasserstein距離替代KL散度和JS散度,改變了生成器和判別器的目標(biāo)函數(shù),并對(duì)判別器施加Lipschitz約束以限制判別器的梯度,基本消除了簡(jiǎn)單數(shù)據(jù)集上的模式崩潰問題,其中Wasserstein距離又稱為推土機(jī)距離,當(dāng)高維空間中兩個(gè)分布沒有重疊時(shí),Wasserstein距離仍能夠準(zhǔn)確反映兩者之間的距離。Tolstikhin[13]認(rèn)為WGAN中的方法只適用于其本身,并改進(jìn)Wasserstein距離與VAE生成模型相結(jié)合,使其可以應(yīng)用于任何損失函數(shù)中,同時(shí)提出WAE模型。
WAE的做法使得模型對(duì)樣本數(shù)據(jù)分布支撐集的拓?fù)湎拗聘伲瑥亩軐W(xué)到更加復(fù)雜的數(shù)據(jù)分布[14],但WAE作為無(wú)監(jiān)督生成模型,只考慮到了無(wú)標(biāo)簽的信息,無(wú)法直接應(yīng)用于半監(jiān)督學(xué)習(xí)中,同時(shí),現(xiàn)有的半監(jiān)督與VAE結(jié)合過程中,忽略了樣本中無(wú)標(biāo)簽數(shù)據(jù)所包含的信息,半監(jiān)督分類器并沒有學(xué)習(xí)到原數(shù)據(jù)的總體分布。
針對(duì)以上問題,本文通過將WAE與半監(jiān)督學(xué)習(xí)問題相結(jié)合,提出基于Wasserstein自編碼器改進(jìn)的半監(jiān)督分類模型(WCVAE),從邊際分布出發(fā),采用新的分布間距離度量,彌補(bǔ)常用分布間距離度量(如KL散度和JS散度)的缺陷,設(shè)置新的優(yōu)化目標(biāo),不僅考慮有標(biāo)簽樣本和無(wú)標(biāo)簽樣本特征空間的邊際分布和總體的邊際分布相似,也考慮有標(biāo)簽樣本的分布和總體的全概率分布相似,進(jìn)而使得生成器能夠?qū)W習(xí)到原數(shù)據(jù)的總體分布,降低模型的分類錯(cuò)誤率,提高模型泛化能力。
數(shù)據(jù)的總體分布PA(x,y)由于無(wú)標(biāo)簽數(shù)據(jù)的存在,無(wú)法直接獲得,但對(duì)于有標(biāo)簽數(shù)據(jù),可以得到PL(xl,y)和關(guān)于xl的邊際分布PL(xl),同時(shí),將半監(jiān)督分類器所學(xué)到的分布,逼近全體數(shù)據(jù)的分布,即PC(y|xl)→PA(y|x),并假設(shè)PA(x,y)和PL(xl,y)之間近似或者相同,當(dāng)PA(x,y)分布和PL(xl,y)分布之間的Wasserstein距離越小,兩個(gè)分布越相似,即有標(biāo)簽樣本的分布和總體概率分布相似,如式(1)所示
(1)
式中:W為Wasserstein距離函數(shù)。
相比無(wú)監(jiān)督生成模型VAE重構(gòu)生成的是x,有監(jiān)督生成模型CVAE在VAE的基礎(chǔ)上,重構(gòu)生成y|x,同時(shí)改進(jìn)CVAE的變分下界損失函數(shù),如式(2)所示
f(Qz,Pz;x,y)=-dKL(Qz‖Pz)+z~Q(Pz(y|x,z))
(2)
式中:dKL為KL散度度量,Qz是隱變量的近似分布,Pz是隱變量的先驗(yàn)分布,Pz(y|x,z)為生成模型,z~Q表示隱變量z服從Q分布的期望。
本文基于CVAE和WAE方法,將深度學(xué)習(xí)框架中的WAE生成模型改進(jìn)成能夠?qū)W習(xí)到原數(shù)據(jù)總體分布的條件生成器。訓(xùn)練好后,模型生成的數(shù)據(jù)的邊際分布PGX(x)滿足PGX(x)=PA(x)。同時(shí),模型構(gòu)造隱變量空間Z的近似條件分布Qz與先驗(yàn)分布Pz之間距離的懲罰項(xiàng)來(lái)放松模型中z的約束。WAE目標(biāo)函數(shù)根據(jù)Wasserstein距離的原始定義進(jìn)行推導(dǎo),如式(3)所示
(3)
式中:P(x~PX,y~PGX)表示真實(shí)數(shù)據(jù)分布PX和生成數(shù)據(jù)分布PGX這兩個(gè)邊際概率分布組成的所有聯(lián)合概率分布的集合。對(duì)于集合中的每一個(gè)可能的聯(lián)合概率分布Γ,都可以從中得到一組樣本(x,y)~Γ,c(x,y)是計(jì)算樣本之間距離的任意成本函數(shù),使用c(x,y)計(jì)算樣本之間的距離。同時(shí)規(guī)定將所有聯(lián)合概率分布的距離期望的下界定義為Wasserstein距離。
當(dāng)PGX(x)=PA(x)時(shí),即有標(biāo)簽樣本和無(wú)標(biāo)簽樣本特征空間的邊際分布和總體的邊際分布相似,優(yōu)化目標(biāo)如式(4)所示
(4)
式中:G(z)表示生成模型生成的數(shù)據(jù),dz是測(cè)量Qz和Pz的任意散度,并且λ>0是一個(gè)超參數(shù)。
針對(duì)上述優(yōu)化目標(biāo),本文提出將WAE與半監(jiān)督學(xué)習(xí)框架相結(jié)合,同時(shí)加入GAN中的鑒別器。主體包括:生成模型WCVAE,鑒別器D,分類器C,其中編碼器E和生成器G構(gòu)成生成模型WCVAE。模型框架展示如圖1所示。
圖1 WCVAE架構(gòu)
圖1中左上角E為編碼器,由卷積層構(gòu)成,該部件將樣本映射到低維空間的隱變量z。G為生成器,由上采樣層和卷積層構(gòu)成,生成器將隱變量z還原成重構(gòu)樣本。圖1右半部分D為鑒別器,由全連接層構(gòu)成,鑒別器區(qū)分?jǐn)?shù)據(jù)的“真”“假”。C為分類器,由卷積層和全連接層構(gòu)成。圖1中間部件Dγ為特征空間鑒別器,采用全連接層構(gòu)建。
真實(shí)數(shù)據(jù)x從訓(xùn)練數(shù)據(jù)集采樣,從編碼器E左邊進(jìn)入,得到隱變量z,由生成器G生成新的數(shù)據(jù)G(z),并將新數(shù)據(jù)傳入鑒別器D中。為了提高模型生成的數(shù)據(jù)質(zhì)量,本文在模型中加入鑒別器D,如圖1右下角,模型中的鑒別器D和傳統(tǒng)的半監(jiān)督GAN類似,用來(lái)判斷數(shù)據(jù)是“真數(shù)據(jù)”還是生成模型生成的“假數(shù)據(jù)”,同時(shí)和生成器進(jìn)行對(duì)抗,兩者共同成長(zhǎng),進(jìn)一步提高生成模型生成樣本的質(zhì)量。因此,標(biāo)簽信息不會(huì)被應(yīng)用到D中,真實(shí)的訓(xùn)練數(shù)據(jù)和生成器生成的“假數(shù)據(jù)”會(huì)在D中被區(qū)分出來(lái)。D的目標(biāo)函數(shù)如式(5)所示
G(z)~PGX(z)[1-D(G(z))]
(5)
通過WGAN的結(jié)論,可以推導(dǎo)得到式(6)
W(PA(x),PGX(G(z)))=
(6)
式中:L為利普希茨函數(shù)。
當(dāng)模型的鑒別器達(dá)到最優(yōu)時(shí),將優(yōu)化目標(biāo)的結(jié)果轉(zhuǎn)化為真實(shí)數(shù)據(jù)邊際分布和生成器G的生成數(shù)據(jù)邊際分布之間的Wasserstein距離,同時(shí)訓(xùn)練生成器G。本模型中的生成器G考慮有標(biāo)簽樣本和無(wú)標(biāo)簽樣本特征空間的邊際分布與總體的邊際分布相似。
生成器G的優(yōu)化目標(biāo)如式(7)所示
(7)
式中:λ·dz(Qz,Pz)類似VAE的正則項(xiàng)。同時(shí)考慮WAE中推出的基于GAN對(duì)抗方法的WAE-GAN,本文對(duì)該正則項(xiàng)方法加以改進(jìn)。
WAE-GAN中dz采用對(duì)抗性訓(xùn)練來(lái)估計(jì),使得dz(Qz,Pz)=dJS(Qz,Pz)。原文在隱變量空間Z中額外引入一個(gè)對(duì)手和新的鑒別器Dγ(如圖1中Dγ部件),試圖將“假點(diǎn)”從Qz中分離出,將“真點(diǎn)”從Pz中分離出。同時(shí)也將對(duì)手從輸入空間移動(dòng)到隱變量空間,Pz相對(duì)于高斯先驗(yàn)分布將會(huì)有一個(gè)很好的單一模式的形狀,并且相比匹配未知、復(fù)雜、多模式的分布會(huì)更容易。
(8)
當(dāng)鑒別器D和分類器C達(dá)到最優(yōu)時(shí),最終生成器的優(yōu)化目標(biāo)如式(9)所示
(9)
當(dāng)生成器G達(dá)到最優(yōu),采用生成器G訓(xùn)練模型的分類器C。模型的分類器C將xl和G(z)作為輸入,輸出一個(gè)k維向量,同時(shí)采用softmax函數(shù)將其轉(zhuǎn)換為類概率。每個(gè)類的輸出代表后驗(yàn)概率PC(y|xl)。在訓(xùn)練階段,分類器C試圖最大化正確分類的概率,分類器C優(yōu)化目標(biāo)如式(10)所示
fC=-x~PL(xl,y)log[P(y|xl)]
(10)
最終可以得到模型優(yōu)化目標(biāo),如式(11)所示
(11)
最終WCVAE模型訓(xùn)練過程如算法1所示。
算法1:基于WCVAE的半監(jiān)督分類模型
輸出:條件生成器G,分類器C。
while(W(PA(x),PGX(x)),θG)未收斂do:
從訓(xùn)練集中采用得到(x,y),從高斯分布中采樣得到(z1,…,zN)
fori=1 to n:
從后驗(yàn)分布Q?中采樣得(z′1,…,z′N)
endfor
使用式(8)更新Dγ
生成器G輸出G(z),訓(xùn)練鑒別器D:
fD=-log(D(x))-log(1-D(G(z′)))
訓(xùn)練生成器G:
訓(xùn)練分類器C:fC=-log(P(y|x))
endwhile
實(shí)驗(yàn)使用MINST[15]基準(zhǔn)數(shù)據(jù)集,同時(shí)與半監(jiān)督VAE算法M1+M2、ADGM、SeGMA[15]、針對(duì)錯(cuò)誤率進(jìn)行比較,以驗(yàn)證算法改進(jìn)的有效性,并與基于GAN半監(jiān)督深度學(xué)習(xí)算法CatGAN做進(jìn)一步比較。
實(shí)驗(yàn)數(shù)據(jù)集采用MINST數(shù)據(jù)集,MINST是一個(gè)手寫數(shù)字?jǐn)?shù)據(jù)集,其中訓(xùn)練集有60 000張28×28圖片,測(cè)試集有10 000張圖片,每張圖片的標(biāo)簽為0~9這10個(gè)數(shù)字其中之一。圖2為MINST數(shù)據(jù)集部分樣本。
圖2 MINST數(shù)據(jù)集部分圖像樣本
本文采用MINST數(shù)據(jù)集中已有的劃分,訓(xùn)練數(shù)據(jù)集采用全部的60 000個(gè)訓(xùn)練樣本,訓(xùn)練600輪,每輪進(jìn)行500批次訓(xùn)練。訓(xùn)練階段,在訓(xùn)練數(shù)據(jù)集中隨機(jī)抽取100個(gè)樣本并對(duì)應(yīng)標(biāo)簽,拼接成100個(gè)帶標(biāo)簽樣本,每批次訓(xùn)練數(shù)據(jù)集中包含100個(gè)標(biāo)簽樣本和100個(gè)隨機(jī)從訓(xùn)練集中抽取的無(wú)標(biāo)簽樣本。測(cè)試階段,本文從測(cè)試數(shù)據(jù)集中隨機(jī)抽取100個(gè)測(cè)試樣本,并隨機(jī)生成0~9的10個(gè)數(shù)字其中之一作為標(biāo)簽輸入。
本實(shí)驗(yàn)在GPU服務(wù)器環(huán)境配備NVIDA Tesla P40和Ubuntu20上,使用Python3.8和深度學(xué)習(xí)開源框架Pytorch編碼實(shí)現(xiàn)。
基于WAE改進(jìn)的半監(jiān)督深度分類模型中生成模型部分由編碼器E和解碼器G構(gòu)成。模型采用Adam優(yōu)化器,損失函數(shù)由反向傳播算法進(jìn)行更新,并且設(shè)定初始的學(xué)習(xí)率為0.0004,在最終階段會(huì)線性下降到0,每一個(gè)批次的大小默認(rèn)為100,同時(shí)采用ALM算法確定模型的超參數(shù):鑒別器參數(shù)λ1、隱變量正則化系數(shù)λ2,同時(shí)更新潛在鑒別器參數(shù)Dγ。具體超參數(shù)設(shè)置見表1。
表1 實(shí)驗(yàn)超參數(shù)設(shè)置
為了定量評(píng)估半監(jiān)督模型分類錯(cuò)誤率性,本文基于MINST數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn)。本文使用錯(cuò)誤率作為評(píng)估標(biāo)準(zhǔn),錯(cuò)誤率越低,效果越好,具體計(jì)算公式如式(12)所示
(12)
式中:TP表示正例被模型判定為正類的數(shù)量,F(xiàn)P表示負(fù)樣本被模型判定為正類的樣本數(shù)量。
(1)與半監(jiān)督VAE算法比較:本文將提出的方法在MINST數(shù)據(jù)集上與M1+M2、ADGM、SeGMA這3個(gè)半監(jiān)督VAE算法進(jìn)行比較,默認(rèn)基于100個(gè)帶標(biāo)簽樣本。表2中前3行數(shù)據(jù)展示了3個(gè)半監(jiān)督VAE算法基于MNIST數(shù)據(jù)集的錯(cuò)誤率。從表2中可以看出,在與M1+M2、ADGM和SeGMA相比之中,三者的指標(biāo)均高于本文推出的WCVAE算法,WCVAE與三者相比具有更好的質(zhì)量,驗(yàn)證了WCVAE算法能夠較好學(xué)習(xí)到原數(shù)據(jù)的全體分布。同時(shí),相比于M1+M2算法會(huì)出現(xiàn)后驗(yàn)崩潰的情況,WCVAE具有更好的魯棒性。
(2)與半監(jiān)督GAN算法比較:從表2中可以看出,與CatGAN相比,WCVAE的分類錯(cuò)誤率較為劣勢(shì),GAN模型在訓(xùn)練過程中容易出現(xiàn)不穩(wěn)定和難收斂問題,CatGAN模型針對(duì)該缺點(diǎn)進(jìn)行改進(jìn)。WCVAE雖然采用了鑒別器D與生成器G進(jìn)行對(duì)抗,但由于在特征空間加入鑒別器,同時(shí)采用Wasserstein距離進(jìn)行改進(jìn),并未出現(xiàn)該問題,表明WCVAE的質(zhì)量更好。模型損失曲線如圖3所示(其中縱軸為比例值,故不帶單位,橫軸為訓(xùn)練輪次),圖3(a)為WCVAE模型損失曲線,圖中虛線為模型生成器G的loss曲線,實(shí)線為模型鑒別器D的loss曲線,可以看到當(dāng)達(dá)到20 epoch時(shí),生成器G和鑒別器D已經(jīng)趨于收斂,生成器雖略有波動(dòng),但后續(xù)也趨于穩(wěn)定狀態(tài)。圖3(b)為CatGAN損失曲線,虛線為生成器loss曲線,實(shí)線為鑒別器loss曲線,當(dāng)訓(xùn)練達(dá)到20 epoch時(shí),鑒別器和生成器仍未趨于穩(wěn)定,并處于波動(dòng)狀態(tài),相比CatGAN訓(xùn)練后期階段會(huì)出現(xiàn)難收斂現(xiàn)象,WCVAE具有更好的穩(wěn)定性能。
圖3 WCVAE(a)與CatGAN(b)損失曲線對(duì)比
表2 基于MINST數(shù)據(jù)集的錯(cuò)誤率
(3)不同標(biāo)簽樣本數(shù)量對(duì)比:本文在MNIST數(shù)據(jù)集上采用20,50和200個(gè)帶標(biāo)簽樣本對(duì)算法進(jìn)行評(píng)估。如表3所示,雖然在帶標(biāo)簽樣本數(shù)量為50和200的數(shù)據(jù)集中相比Improved-GAN錯(cuò)誤率較高,但在帶標(biāo)簽樣本數(shù)量為20的數(shù)據(jù)集中,WCVAE算法具有更好的性能。經(jīng)分析,WCVAE相比Improved-GAN能夠更好學(xué)習(xí)到無(wú)標(biāo)簽樣本和有標(biāo)簽樣本的潛在信息,即WCVAE能12夠真實(shí)學(xué)習(xí)到無(wú)標(biāo)簽數(shù)據(jù)和有標(biāo)簽數(shù)據(jù)的邊際分布,并能夠訓(xùn)練分類器學(xué)習(xí)到總體的分布。
表3 基于MINST數(shù)據(jù)集不同標(biāo)簽樣本數(shù)量的錯(cuò)誤率比較
本文針對(duì)當(dāng)前基于VAE深度生成模型的半監(jiān)督分類算法中忽略了樣本中無(wú)標(biāo)簽數(shù)據(jù)所包含的信息,未能很好學(xué)習(xí)到逼近總體分布的問題,將WAE與半監(jiān)督學(xué)習(xí)結(jié)合,提出基于WAE生成模型的半監(jiān)督分類算法WCVAE,該算法優(yōu)化目標(biāo)既考慮了有標(biāo)簽和無(wú)標(biāo)簽樣本特征空間的邊際分布和總體邊際分布相似,也考慮了標(biāo)簽樣本分布和總體的全概率分布相似,同時(shí)采用Wasserstein度量替換VAE中原有的KL距離度量,使得生成模型能夠?qū)W習(xí)到更加復(fù)雜的高維分布,進(jìn)而使得半監(jiān)督分類器能夠?qū)W習(xí)到原數(shù)據(jù)的全體分布。實(shí)驗(yàn)結(jié)果表明,本文提出的模型相較于其它基于VAE深度生成模型的半監(jiān)督分類算法具有更好的質(zhì)量。