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