范 韞
(國防大學(xué)政治學(xué)院,上海 200433)
近年來,深度學(xué)習(xí)在計算機(jī)視覺、自然語言處理和語音識別等領(lǐng)域取得了突破性的進(jìn)展。深度學(xué)習(xí)強(qiáng)大的表征學(xué)習(xí)能力使其可以有效地使用低維度的稠密向量或高維度的稀疏向量來表征圖像或者自然語句的語義。自編碼器(Autoencoder)使用編碼器-解碼器的架構(gòu)在目標(biāo)真實(shí)樣本與重構(gòu)樣本最小化失真的基礎(chǔ)上,通過編碼器得到真實(shí)樣本的編碼用于下游任務(wù),通過解碼器得到真實(shí)樣本的重構(gòu)樣本用于優(yōu)化自編碼器。自編碼器優(yōu)秀的表征學(xué)習(xí)能力使其在圖像檢索[1]、數(shù)據(jù)降維[2]中得到廣泛應(yīng)用。
隨著深度學(xué)習(xí)的快速發(fā)展,自編碼器衍生出諸多變種,如對損失函數(shù)增加L1/L2范數(shù)懲罰項(xiàng)的正則化自編碼器、對輸入增加噪聲增強(qiáng)模型魯棒性的去噪自編碼器[3]和基于貝葉斯變分推斷的變分自編碼器[4]等。其中,通過引入稀疏性概念,將輸入映射到高維空間,抑制神經(jīng)元激活的稀疏自編碼器SAE(Sparse AutoEncoder)在分類問題上取得了較優(yōu)的效果[5]。稀疏自編碼器也廣泛地應(yīng)用于目標(biāo)檢測[6,7]、行人分類[8]、異常檢測[9,10]和視頻摘要生成[11]等現(xiàn)實(shí)場景。
在自編碼器的基礎(chǔ)上,SAE通過抑制神經(jīng)元激活來產(chǎn)生比樣本維度更高的稀疏編碼,從而捕捉樣本的內(nèi)在特征結(jié)構(gòu)[12]。當(dāng)激活函數(shù)為Sigmoid函數(shù)時,SAE可以通過在損失函數(shù)上增加神經(jīng)元輸出分布與伯努利分布的測度的懲罰項(xiàng)來加強(qiáng)模型稀疏性,使得神經(jīng)元盡可能接近激活函數(shù)Sigmoid的最大下確界0,從而達(dá)到通過抑制神經(jīng)元激活來獲得稀疏編碼的目的。衡量分布距離的測度通常選擇KL(Kullback-Leibler)散度。KL散度在機(jī)器學(xué)習(xí)中有著廣泛的應(yīng)用,例如在典型的多分類任務(wù)中,當(dāng)數(shù)據(jù)樣本采用獨(dú)熱編碼,模型采用Softmax函數(shù)計算分類概率分布,損失函數(shù)是計算真實(shí)值與預(yù)測值的交叉熵時,優(yōu)化交叉熵退化為優(yōu)化樣本分類的獨(dú)熱編碼與模型輸出的分類概率分布之間的KL散度。
由Goodfellow等[13]提出的生成式對抗網(wǎng)絡(luò)GAN(Generative Adversarial Network)是近年來的研究熱點(diǎn)。GAN通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)集的復(fù)雜分布,可以生成逼真的圖像。GAN通過判別器來區(qū)分真實(shí)圖像和生成圖像,并指導(dǎo)生成器不斷優(yōu)化產(chǎn)生能夠以假亂真的圖像。判別器通過KL散度度量數(shù)據(jù)的真實(shí)分布和生成器的生成數(shù)據(jù)分布的距離來進(jìn)行圖像真假的判別。使用KL散度的GAN存在梯度消失和模式塌陷的問題,訓(xùn)練過程不夠穩(wěn)定。為了解決這一問題,Martin等[14]分析了KL散度在GAN中的應(yīng)用問題并提出了基于Wasserstein距離的WGAN(Wasserstein GAN),通過截取模型參數(shù)滿足Wasserstein距離的Lipschitz約束,有效地提升了模型的訓(xùn)練穩(wěn)定性。同時在WGAN中也證明了Wasserstein距離相比于KL散度和JS(Jensen-Shannon)散度,更加適用于優(yōu)化神經(jīng)網(wǎng)絡(luò)。Wasserstein距離也被直接用于自編碼器中,取得了較好的效果[15]。
受Wasserstein距離在GAN中的成功應(yīng)用的啟發(fā),本文將EMD(Earth Mover Distance),即Wasserstein-1距離應(yīng)用于SAE的損失函數(shù)的正則化,并同使用KL散度和JS散度正則化的SAE進(jìn)行對比。實(shí)驗(yàn)結(jié)果表明,使用EMD距離作為懲罰項(xiàng)的SAE可以進(jìn)一步收斂至局部最優(yōu)解,并且編碼可以更加稀疏。
SAE采用編碼器-解碼器的架構(gòu)。如圖1所示,編碼器E將數(shù)據(jù)樣本xi編碼為ei,解碼器D將編碼ei解碼為yi。SAE的目標(biāo)是讓xi與yi盡可能相似,其最小化目標(biāo)函數(shù)如式(1)~式(3)所示:
(1)
(2)
(3)
Figure 1 Framework of sparse autoencoder圖1 稀疏自編碼器的架構(gòu)
JS散度的定義如式(4)所示:
(4)
(5)
Figure 2 Problems of KL divergence and JS divergence圖2 KL散度與JS散度的問題
EMD距離即Wasserstein-1距離,其定義如式(6)所示:
(6)
其中,Π(ρx,ρy)表示隨機(jī)變量x和y的所有聯(lián)合概率γ(x,y)分布的集合,γ(x,y)的邊際分布分別為ρx與ρy。EMD距離最初在圖像檢索的相似度計算中被引入[16],用于計算將分布ρx移動到分布ρy所需要的最小工作量,與運(yùn)籌優(yōu)化領(lǐng)域的經(jīng)典運(yùn)輸問題類似,只是在約束項(xiàng)上加入了分布條件的約束。當(dāng)分布ρx的支撐集supp(ρx)與分布ρy的支撐集supp(ρy)不相交或者相交很少時,EMD距離仍會隨著supp(ρx)與supp(ρy)的距離變換而變換,所以相比于KL散度和JS散度有更好的魯棒性。
此外,在WGAN中,Wasserstein距離被證明生成器的參數(shù)如果連續(xù),那么Wasserstein距離作為損失函數(shù)也是連續(xù)的,而JS散度和KL散度都不具有此性質(zhì),所以EMD距離更適用于優(yōu)化神經(jīng)網(wǎng)絡(luò)。
(7)
Figure 3 Plot of KL divergence,JS divergence and earth mover distance when ρ=0.2圖3 當(dāng)ρ=0.2時,KL散度、JS散度與EMD距離的取值對比
Figure 4 Structure of sparse autoencoder for experiment 圖4 用于實(shí)驗(yàn)的稀疏自編碼器結(jié)構(gòu)
為了驗(yàn)證SAE-EMD的編碼效果,設(shè)計實(shí)驗(yàn)所采用的SAE網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,網(wǎng)絡(luò)采用淺層結(jié)構(gòu),避免網(wǎng)絡(luò)結(jié)構(gòu)過深帶來的過擬合和梯度消失問題造成實(shí)驗(yàn)結(jié)果無法區(qū)分不同正則化方法的差異。SAE的編碼器由全連接層FC(Fully Connected)1-ReLU(Rectified Linear Unit)-全連接層FC2-Sigmoid組成,解碼器由全連接層FC3-ReLU-全連接層FC4-tanh組成。
實(shí)驗(yàn)數(shù)據(jù)集為MNIST手寫數(shù)字識別數(shù)據(jù)集[17]和QMNIST手寫數(shù)字識別數(shù)據(jù)集[18],數(shù)據(jù)為0~9的手寫數(shù)字圖像(大小28×28),其中MNIST訓(xùn)練集包含60 000幅圖像,測試集包含10 000幅圖像。QMNIST針對MNIST的測試數(shù)據(jù)集的丟失部分進(jìn)行了重構(gòu),采用盡量和MNIST圖像預(yù)處理過程相似的方法,重新生成了60 000幅測試圖像,以測試圖像的增加是否增強(qiáng)了實(shí)驗(yàn)結(jié)果的可信度。實(shí)驗(yàn)所采用的網(wǎng)絡(luò)全連接層FC1~FC4的參數(shù)維度分別為784×1568,1568×3136,3136×1568,1568×784。網(wǎng)絡(luò)的損失函數(shù)如式(8)所示:
(8)
為比較不同SAE的編碼效果,計算在不同λ和ρ的情況下,測試集圖像編碼的均值,定義如式(9)所示:
(9)
(10)
Table 1 Comparison of code means generated by different SAEs on MNIST test set and QMNIST test set表1 不同SAE生成的MNIST測試集和QMNIST測試集編碼均值的對比
Table 2 Comparison of average MSE of different SAEs on MNIST test set and QMNIST test set表2 不同SAE在MNIST測試集和QMNIST測試集上的平均MSE對比
Figure 5 Spatial code means generated by different SAEs on MNIST test set 圖5 不同SAE生成的MNIST測試集編碼在空域上的均值分布
Figure 6 Average MSE of each epoch on MNIST test set 圖6 MNIST測試集上每一輪次的平均MSE
Figure 7 Comparison of original random samples from MNIST test set and correspoding reconstructed samples generated by SAE-EMD when ρ=0.05圖7 當(dāng)ρ=0.05時,MNIST測試集隨機(jī)樣本與SAE-EMD產(chǎn)生的重建樣本對比
為比較不同SAE的收斂效果,本文直接使用每個輪次(Epoch)訓(xùn)練的SAE,將MNIST測試集作為驗(yàn)證集,計算平均MSE。將前5個輪次作為預(yù)熱階段,實(shí)驗(yàn)結(jié)果如圖6所示。SAE-EMD在前25個左右的輪次收斂速度接近于SAE-JS和SAE-KL的。在之后的階段,SAE-JS和SAE-KL的平均MSE基本不再下降,而SAE-EMD仍呈較為明顯的下降趨勢,特別是當(dāng)λ較大時,SAE-EMD的下降趨勢明顯高于SAE-JS和SAE-KL的,SAE-EMD可以進(jìn)一步地向局部最優(yōu)解收斂。
如圖7所示是當(dāng)ρ=0.05時,λ取不同值時MNIST測試集隨機(jī)樣本與SAE-EMD產(chǎn)生的重建樣本的對比,從圖7中可見重建圖像與原始圖像基本無異。SAE-EMD很好地還原了手寫數(shù)字圖像。在QMNIST測試集上也得到了與上述相同的實(shí)驗(yàn)結(jié)果,本文不再贅述。
深度學(xué)習(xí)強(qiáng)大的表征學(xué)習(xí)能力極大地推動了人工智能在各個領(lǐng)域的發(fā)展。表征學(xué)習(xí)一直是機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),深度學(xué)習(xí)很大程度上解決了如何使用模型自主學(xué)習(xí)數(shù)據(jù)的內(nèi)在特征替代復(fù)雜低效的手工特征的問題。作為表征學(xué)習(xí)的重要組成部分,稀疏自編碼器的稀疏表征有效地學(xué)習(xí)了樣本的內(nèi)在結(jié)構(gòu)特征,為下游任務(wù)提供了便利。本文提出了基于EMD距離的稀疏自編碼器。實(shí)驗(yàn)比較與分析顯示,相比于帶KL散度與JS散度懲罰項(xiàng)的稀疏自編碼器,基于EMD距離的稀疏自編碼器可以減少真實(shí)樣本與重構(gòu)樣本的損失,并且當(dāng)稀疏懲罰增大時,可以進(jìn)一步壓縮編碼,從而節(jié)省了編碼的存儲空間,降低了下游任務(wù)使用編碼的空間和時間計算復(fù)雜度。