楊夢鐸,欒詠紅,劉文軍,李凡長
相比于淺層網(wǎng)絡(luò),由單層模塊堆疊形成的深度網(wǎng)絡(luò)具有更加有效的函數(shù)表征能力。通過預(yù)訓(xùn)練與微調(diào)過程,深度網(wǎng)絡(luò)能夠?qū)W習(xí)到高度非線性函數(shù)的一種更加緊湊的表示,并且同時具備優(yōu)秀的泛化能力。無監(jiān)督的預(yù)訓(xùn)練過程往往涉及某種特征檢測模型,常用的有自編碼器(auto-encoder, AE)[1-3]和受限玻爾茲曼機(jī)(restricted Boltzmann machine, RBM)[4-8]。堆疊自編碼器得到的深度網(wǎng)絡(luò)與堆疊受限玻爾茲曼機(jī)得到的深度網(wǎng)絡(luò)具有相近的性能。相較而言,自編碼器深度網(wǎng)絡(luò)作為深度學(xué)習(xí)中更為簡單的模型,擁有更易于理解的理論基礎(chǔ)與實(shí)現(xiàn)過程。
近年來,自編碼器及其改善的版本(如降噪自編碼器[9-12]、收縮自編碼器[13-14])在模式識別領(lǐng)域中展現(xiàn)出優(yōu)異的性能。相對于手工設(shè)計(jì)的低層次特征,這些深度網(wǎng)絡(luò)的成功歸因于它們學(xué)習(xí)豐富的中間層特征表示的能力。然而為了估計(jì)上百萬的參數(shù),有監(jiān)督的微調(diào)過程需要大量的帶標(biāo)簽的樣本。于是,在深度網(wǎng)絡(luò)強(qiáng)有力的模型表達(dá)能力下,如果提供的有標(biāo)簽樣本數(shù)量太少就非常容易造成過擬合的問題。這樣的性質(zhì)就阻止了堆疊的自編碼器在有限訓(xùn)練數(shù)據(jù)下的施展應(yīng)用。
為了解決這個問題,我們提取棧式自編碼器在大數(shù)據(jù)集上學(xué)到的圖像特征并遷移到只有有限訓(xùn)練數(shù)據(jù)的視覺識別任務(wù)中。設(shè)計(jì)的方法復(fù)用MNIST數(shù)據(jù)集上訓(xùn)練的隱藏層,為小型MNIST變體數(shù)據(jù)集來計(jì)算中間層的圖像表示。實(shí)驗(yàn)結(jié)果表明,盡管源任務(wù)與目標(biāo)任務(wù)中的兩組數(shù)據(jù)存在差異,遷移的表示能夠?qū)е赂痈咝Ш透訙?zhǔn)確的識別結(jié)果。
自編碼器屬于一種特殊的人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN),采用反向傳播算法(back propagation, BP)進(jìn)行優(yōu)化。作為無監(jiān)督的特征檢測模型,自編碼器能夠?qū)W習(xí)到輸入數(shù)據(jù)的另一種特征表示。典型的模型由輸入層、隱藏層和輸出層構(gòu)成,并且輸入層和輸出層具有相同個數(shù)的神經(jīng)元。自編碼器的目標(biāo)是盡可能地讓輸入等于輸出,那么中間的隱藏層就必須捕捉能夠代表輸入的最重要因素,以此給出輸入的另一種表示。圖1給出了一個典型自編碼器的示意圖。

圖1 自編碼器示意圖Fig. 1 Auto-encoder diagram

常用的激活函數(shù)包括邏輯函數(shù)(logistic)以及雙曲正切函數(shù)(tanh)[15]:

在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,需要最小化網(wǎng)絡(luò)輸入輸出差值。由于自編碼器的無監(jiān)督性,需要將損失函數(shù)(loss function)由最小化輸出值和對應(yīng)標(biāo)簽值之間的差異替換為最小化輸入值和輸出值之間的差異。改變后的損失函數(shù)公式為

棧式自編碼網(wǎng)絡(luò)是將多個自編碼器堆疊而成的深度網(wǎng)絡(luò),也是深度學(xué)習(xí)的一個典型模型。當(dāng)將原始數(shù)據(jù)輸入到首個訓(xùn)練好的自編碼器后,它的隱藏層就學(xué)習(xí)到了一階特征表示。然后這層隱藏層特征就作為另一個自編碼器的輸入,用來學(xué)習(xí)二階特征表示。以此類推,原始數(shù)據(jù)的多階特征表示便可以逐一得到。在構(gòu)建深度網(wǎng)絡(luò)的時候,各個自編碼器需要去除輸出層,只保留各階學(xué)習(xí)到的特征表示。圖2給出了包含兩個隱藏層和一個最終分類器輸出層的棧式自編碼網(wǎng)絡(luò)。

圖2 棧式自編碼器示意圖Fig. 2 Stacked auto-encoder diagram
通常,含有多個隱藏層的棧式自編碼網(wǎng)絡(luò)包含數(shù)以百萬個模型參數(shù)。要訓(xùn)練這樣的深度網(wǎng)絡(luò),需要大量的帶標(biāo)簽的訓(xùn)練數(shù)據(jù)集。然而,現(xiàn)實(shí)中這樣規(guī)模龐大的有標(biāo)簽數(shù)據(jù)集并不多見,直接從幾百個或者幾千個訓(xùn)練圖像中學(xué)習(xí)如此眾多的參數(shù)是一件十分困難的事情。現(xiàn)有的解決方式包括手工標(biāo)注數(shù)據(jù)集或者進(jìn)行數(shù)據(jù)擴(kuò)充,不僅需要繁復(fù)的工作,而且極大地增加了任務(wù)的執(zhí)行時間。那么,需要每次都為新的識別任務(wù)尋找上萬個有標(biāo)簽的數(shù)據(jù)集嗎?
特征遷移模型的關(guān)鍵思想是將棧式自編碼網(wǎng)絡(luò)的內(nèi)部隱藏層當(dāng)作一個通用的中間級圖像特征提取器。在源任務(wù)(source task)數(shù)據(jù)集(如MNIST)上預(yù)訓(xùn)練得到的圖像特征能夠被復(fù)用在其他的目標(biāo)任務(wù)(target task)數(shù)據(jù)集(如 MNIST variations)上。模型如圖3所示,圖中省略了偏置結(jié)點(diǎn)。

圖3 特征遷移模型示意圖Fig. 3 Feature transfer model diagram
對于源任務(wù),我們采用含有4層隱藏層的棧式自編碼網(wǎng)絡(luò)。圖3中第1個神經(jīng)網(wǎng)絡(luò)模型中最左層 L1為網(wǎng)絡(luò)的輸入層(input layer),中間 L2、L3、L4、L5是4個隱藏層(hidden layer),最后一層L6為輸出層(output layer)。記表示第i層第j個神經(jīng)元的輸出值,當(dāng)層數(shù)是1時有。在整個棧式自編碼網(wǎng)絡(luò)中,將上一層的輸出作為下一層的輸入。在第l層,和分別表示網(wǎng)絡(luò)中該層上的權(quán)重向量和偏置向量,表示該層的輸入。那么,第l+1層的輸出可由式(1)、(2)獲得:

利用式(1)~(2),可以依次計(jì)算出圖3中第1個神經(jīng)網(wǎng)絡(luò)的 L2、L3、L4、L5的輸出值,從而可以以前向傳播(forward propagation)的方式得到整個棧式自編碼網(wǎng)絡(luò)的輸出。
目標(biāo)任務(wù)旨在為MNIST-variations數(shù)據(jù)集輸出正確的數(shù)字標(biāo)簽。由于手工標(biāo)注數(shù)據(jù)集費(fèi)時費(fèi)力,因此在一定程度上限制了MNIST-variations的規(guī)模。為了在小規(guī)模數(shù)據(jù)集上順利地訓(xùn)練深度網(wǎng)絡(luò)并獲得正確的識別結(jié)果,特征遷移模型保留在大規(guī)模數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò)模型參數(shù),作為中間級特征遷移到新的識別任務(wù)中。在上述含有4層隱藏層的棧式自編碼網(wǎng)絡(luò)的基礎(chǔ)上,保持前三層隱藏層的網(wǎng)絡(luò)參數(shù)不變,移除最后一層隱藏層,并在靠近輸出層增加兩層隨機(jī)初始化的隱藏層,以此獲得目標(biāo)任務(wù)的棧式自編碼網(wǎng)絡(luò)結(jié)構(gòu)。通過這樣的設(shè)置,模型既保留了MNIST數(shù)據(jù)集的中級圖像特征,又為MNIST-variations上進(jìn)行訓(xùn)練時留有調(diào)整的余地。
特征遷移模型具有能夠通過實(shí)驗(yàn)證明的理論依據(jù),即盡管不同圖像的表現(xiàn)形式不同,但它們共享低中級層次的圖像特征[16]。圖像低級特征通常代表圖像中特定的方向和位置上的邊緣,通過發(fā)現(xiàn)邊緣的特定排列來檢測圖形;中級特征能夠集合這些圖形到更大的組合,一般對應(yīng)于熟悉的物體部件。而新網(wǎng)絡(luò)模型所增加的兩層隱藏層,作為適應(yīng)層,能夠檢測到由部件組合而成的完整物體,在手寫體數(shù)字的例子中即對應(yīng)于完整的字符。
網(wǎng)絡(luò)模型的輸出層采用Softmax分類器來解決多分類問題,輸出層的神經(jīng)元個數(shù)k代表{(樣本類)}標(biāo)簽的k個可取值。因此,對于m個訓(xùn)練樣本,有。輸出層第i個神經(jīng)元的輸出值表示輸入樣本x屬于第i類的概率,k}。Softmax分類器對應(yīng)的假設(shè)函數(shù)為


式中:指示函數(shù)(indicator function)1的定義為

MNIST數(shù)據(jù)集由0~9的手寫體數(shù)字組成,10種數(shù)字構(gòu)成了10類數(shù)據(jù)。MNIST包含60 000張訓(xùn)練圖像和10 000張測試圖像。圖4給出了MNIST數(shù)據(jù)集的一些示例樣本。
MNIST variations包含MNIST的4種變體數(shù)據(jù)集,包括:MNIST-rot,即在手寫體數(shù)字上施加一些隨機(jī)旋轉(zhuǎn);MNIST-back-rand,即在數(shù)字圖像中插入隨機(jī)的背景;MNIST-back-image,一小塊黑白圖像被用作數(shù)字圖像的背景;MNIST-rot-back-image,即MNIST-rot與MNIST-back-image相結(jié)合。圖5給出了MNIST-variations數(shù)據(jù)集的一些示例樣本。

圖4 MNIST示例樣本Fig. 4 MNIST samples

圖5 MNIST-variations示例樣本Fig. 5 MNIST-variations samples
特征遷移模型所使用的兩個棧式自編碼網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)中神經(jīng)元結(jié)點(diǎn)的分布如下:第1個網(wǎng)絡(luò)隱藏層結(jié)點(diǎn)數(shù)依次為[784, 200, 100, 50, 100, 10],第2個網(wǎng)絡(luò)依次為[784, 200, 100, 50, 100, 200, 10]。在MNIST數(shù)據(jù)集上訓(xùn)練得到的中級圖像特征如圖6。

圖6 MNIST中級特征Fig. 6 MNIST mid-level features
借助中級圖像特征的遷移,在MNIST-variations數(shù)據(jù)集上同樣獲得了不錯的中級圖像特征,如圖7所示。

圖7 MNIST-variations中級特征Fig. 7 MNIST-variations mid-level features
為了驗(yàn)證特征遷移模型的識別效果,輸出層全部采用Softmax分類器進(jìn)行分類,我們在MNIST-variations數(shù)據(jù)集上利用棧式自編碼網(wǎng)絡(luò)(stacked auto-encoder,SAE)、受限玻爾茲曼機(jī)(restricted Boltzmann machine, RBM)、降噪自編碼器(denoising auto-encoder,DAE)、收縮自編碼器(contracting auto-encoder,CAE)分別與特征遷移模型的分類錯誤率進(jìn)行實(shí)驗(yàn)比較,比較結(jié)果如表1所示。

表1 分類錯誤率Table 1 Classification error rate %
作為深度學(xué)習(xí)模型的一種,棧式自編碼網(wǎng)絡(luò)在模式識別領(lǐng)域已然卓有成效。相對于手工設(shè)計(jì)的低級特征而言,深度網(wǎng)絡(luò)的成功主要?dú)w因于它們學(xué)習(xí)豐富的中間級特征的能力。然而在現(xiàn)實(shí)應(yīng)用中,帶有標(biāo)簽的大規(guī)模數(shù)據(jù)集通常是稀缺的。在深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的表征能力下,數(shù)據(jù)不充足往往會使模型陷入過擬合的尷尬情形。為了解決在小規(guī)模數(shù)據(jù)樣本下訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的問題,我們提出一個特征遷移模型。我們展示了如何將學(xué)習(xí)到的中級圖像特征有效地遷移到新的視覺識別任務(wù)中。實(shí)驗(yàn)結(jié)果表明,盡管源任務(wù)與目標(biāo)任務(wù)采用的數(shù)據(jù)集之間存在差異,但是特征遷移模型仍然能夠訓(xùn)練出目標(biāo)數(shù)據(jù)集的圖像特征,并且在目標(biāo)任務(wù)的識別過程中能夠達(dá)到優(yōu)于經(jīng)典深度學(xué)習(xí)模型的分類效果。
[1]HINTON G E, ZEMEL R S. Autoencoder minimum description length and helmholtz free energy[C]//Conference on Neural Information Processing Systems(NIPS). Denver,USA, 1993: 3–10.
[2]SOCHER R, HUANG E H, PENNINGTON J, et al. Dynamic pooling and unfolding recursive autoencoders for paraphrase detection[C]//Proc Neural Information and Processing Systems. Granada, Spain, 2011: 801–809.
[3]SWERSKY K, RANZATO M, BUCHMAN D, et al. On score matching for energy based models: generalizing autoencoders and simplifying deep learning[C]//Proc Int’l Conf Machine Learning Bellevue. Washington, USA, 2011:1201–1208.
[4]FISCHER A, IGEL C. An introduction to restricted Boltzmann machines[C]//Progress in Pattern Recognition,Image Analysis, Computer Vision, and Applications.Guadalajara, Mexico, 2012: 14–36.
[5]BREULEUX O, BENGIO Y, VINCENT P. Quickly generating representative samples from an RBM-derived process[J]. Neural computation, 2011, 23(8): 2053–2073.
[6]COURVILLE A, BERGSTRA J, BENGIO Y. Unsupervised models of images by spike-and-slab RBMs[C]//Proc Int’l Conf Machine Learning. Bellevue, Washington, USA,2011: 1145–1152.
[7]SCHMAH T, HINTON G E, ZEMEL R, et al. Generative versus discriminative training of RBMs for classification of fMRI images[C]//Proc Neural Information and Processing Systems. Vancouver, Canada, 2008: 1409–1416.
[8]ERHAN D, BENGIO Y, COURVILLE A, et al. Why does unsupervised pre-training help deep learning?[J]. Machine learning research, 2010, 11: 625–660.
[9]VINCENT P. Extracting and composing robust features with denoising auto-encoders[C]//International Conference on Machine Learning(ICML). Helsinki, Finland, 2008:1096–1103.
[10]VINCENT P, LAROCHELLE H, LAJOIE I, et al. Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion[J]. Machine learning research, 2010, 11: 3371–3408.
[11]CHEN M, XU Z, WINBERGER K Q, et al. Marginalized denoising autoencoders for domain adaptation[C]//International Conference on Machine Learning. Edinburgh, Scotland, 2012: 1206–1214.
[12]VINCENT P. A connection between score matching and denoising autoencoders[J]. Neural computation, 2011,23(7): 1661–1674.
[13]RIFAI S. Contractive auto-encoders: explicit invariance during feature extraction[C]//Proceedings of the Twentyeight International Conference on Machine Learning. Bellevue, USA, 2011: 833–840
[14]RIFAI S, BENGIO Y, DAUPHIN Y, et al. A generative process for sampling contractive auto-encoders[C]//Proc Int’l Conf Machine Learning. Edinburgh, Scotland, UK,2012: 1206–1214.
[15]LECUN Y. Neural networks: tricks of the trade (2nd ed.)[M]. Germany: Springer, 2012: 9–48
[16]ZEILER M D, TAYLOR G W, FERGUS R. Adaptive deconvolutional networks for mid and high level feature learning[C]//IEEE International Conference on Computer Vision. Barcelona, Spain, 2011: 2013–2025.