周佳俊??,歐智堅
(清華大學(xué)電子工程系,北京100084)
深層神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練的改進初始化方法?
周佳俊??,歐智堅
(清華大學(xué)電子工程系,北京100084)
在基于神經(jīng)網(wǎng)絡(luò)的語音識別任務(wù)中,提出根據(jù)激勵函數(shù)二階導(dǎo)數(shù)優(yōu)化網(wǎng)絡(luò)預(yù)訓(xùn)練階段中權(quán)值初始化的方法。利用激勵函數(shù)的非線性區(qū)域和自變量呈高斯分布的特性,尋找權(quán)值分布的較優(yōu)方差以提升訓(xùn)練速度。通過比較同一學(xué)習(xí)速率下不同初始化數(shù)值對收斂速度的影響,發(fā)現(xiàn)此種方法可以加快預(yù)訓(xùn)練階段的速度,提升神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率。
語音識別;深層神經(jīng)網(wǎng)絡(luò);預(yù)訓(xùn)練;初始化;激勵函數(shù)
近年來,利用深層神經(jīng)網(wǎng)絡(luò)進行語音識別中的聲學(xué)模型建模成為了熱點問題,其準(zhǔn)確率已經(jīng)超越了傳統(tǒng)的混合高斯模型加隱含馬爾科夫模型(Gaussian Mixture Model-Hidden Markov Model,GMM-HMM)的建模方式[1]。層數(shù)的增加能夠提升網(wǎng)絡(luò)的識別能力,使之容納更多的信息,但同時也使BP算法(Back Propagation Algorithm)更容易陷入局部極小值中,這是利用神經(jīng)網(wǎng)絡(luò)進行模型訓(xùn)練以來一直存在的問題。
預(yù)訓(xùn)練(Pre-training)的引入在一定程度上緩解了該問題帶來的影響,以無監(jiān)督方式最大化訓(xùn)練數(shù)據(jù)的似然值,可以使訓(xùn)練的參數(shù)對象值更接近BP算法尋找的全局最優(yōu)區(qū)域[2],其實際的效果也令人滿意。在進行BP算法之前加入預(yù)訓(xùn)練的過程,能夠?qū)⑾到y(tǒng)識別率進一步提升[3]。
預(yù)訓(xùn)練給BP算法提供了一種參數(shù)初始化的方式,但在預(yù)訓(xùn)練開始之前,神經(jīng)網(wǎng)絡(luò)中權(quán)值矩陣和閾值的初始化仍然依靠經(jīng)驗和嘗試。本文通過分析神經(jīng)網(wǎng)絡(luò)中激勵函數(shù)的特性,提出參數(shù)的初始化應(yīng)該參考該函數(shù)非線性區(qū)間的方法。在相同的學(xué)習(xí)速率下,實驗驗證該改進初始化方法能夠有效提高預(yù)訓(xùn)練的收斂速度。
2.1模型結(jié)構(gòu)
利用神經(jīng)網(wǎng)絡(luò)實現(xiàn)的聲學(xué)模型結(jié)構(gòu)如圖1所示,輸入層的每個節(jié)點對應(yīng)從訓(xùn)練數(shù)據(jù)中提取出的語音特征的每一維,經(jīng)過若干隱層的傳遞后,在輸出層得到與音素個數(shù)相同的類別輸出。其中權(quán)值矩陣W0和W1以及每一層的閾值,是本文要進行初始化研究的對象。通常情況下,網(wǎng)絡(luò)每個節(jié)點的激勵函數(shù)采用邏輯斯諦(logistic)函數(shù),即
在模型訓(xùn)練的過程中,輸入層提供每一個語音幀的特征向量,同時在輸出層提供該幀對應(yīng)的類別標(biāo)注向量,利用BP算法從后向前傳遞誤差值,對參數(shù)進行逐層的更新。文獻(xiàn)[4]描述了經(jīng)典的BP算法流程,這里不再贅述。
圖1 利用神經(jīng)網(wǎng)絡(luò)實現(xiàn)的聲學(xué)模型示意圖Fig.1 Schematic diagram of acoustic model based on DNN
2.2 預(yù)訓(xùn)練
隨著數(shù)據(jù)量的增加,所使用的神經(jīng)網(wǎng)絡(luò)層數(shù)也不斷上升,從起初的只包含輸入輸出層發(fā)展到目前在語音識別領(lǐng)域最常使用的附加4~6個隱層。網(wǎng)絡(luò)規(guī)模的擴大使識別能力隨之提高,但參數(shù)的不斷增多也使BP算法容易陷入局部極值的缺點顯得愈發(fā)突出。
為了解決這一問題,文獻(xiàn)[1]提出了將神經(jīng)網(wǎng)絡(luò)的每相鄰兩層及其權(quán)值矩陣看作一個受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)的觀點。設(shè)輸入層的數(shù)據(jù)為向量I,輸出層的數(shù)據(jù)為向量O。如果此RBM位于神經(jīng)網(wǎng)絡(luò)的最底層,也即I是語音特征向量,則其被稱作高斯受限玻爾茲曼機(Gaussian RBM,GRBM)。
對于一個普通的RBM,其輸入和輸出向量I和O均為二進制向量,每個分量只能隨機地取0或1。通過定義能量函數(shù)和聯(lián)合概率分布,可以計算得出這兩個向量對彼此的條件分布為
式中,W為權(quán)值矩陣,f為邏輯斯諦函數(shù),α和β分別為輸入層和輸出層的閾值向量。由于I和O各自的內(nèi)部分量都是相互獨立的,因而根據(jù)式(2)可以求出已知向量I的情況下O中每個分量等于1的概率,由式(3)可知反之亦然。
在預(yù)訓(xùn)練的過程中,根據(jù)式(2),可以先將已有的輸入向量進行一次前向傳遞,即得到已知I時O的后驗概率,接下來利用此概率對其進行一次采樣,得到二進制的采樣結(jié)果O;之后利用式(3),將O作為輸入數(shù)據(jù)反向傳遞,得到已知O時I的后驗概率并采樣,得到結(jié)果向量I;再將I作為輸入數(shù)據(jù)重復(fù)第一步的前向傳遞過程,得到采樣結(jié)果O。以上過程被稱作對I和O的一次重建。
利用原有數(shù)據(jù)和重建結(jié)果,就可以對此RBM的權(quán)值和閾值進行梯度下降法的更新。設(shè)最大化的目標(biāo)函數(shù)為L,則權(quán)值、閾值的更新公式如下:
式中,E表示求期望,L實際為訓(xùn)練數(shù)據(jù)在此網(wǎng)絡(luò)下的似然值。
最后,使用數(shù)據(jù)的重建誤差描述訓(xùn)練的正確性與進度,該誤差定義為
其中,Ii表示第i個輸入節(jié)點的值,N為輸入節(jié)點的個數(shù)。式(7)的值也就是輸入數(shù)據(jù)和其本身重建數(shù)據(jù)之間的誤差平方和。隨著訓(xùn)練的進行,該誤差會逐漸下降直至穩(wěn)定在一個較小的范圍內(nèi)。誤差值隨數(shù)據(jù)量的下降曲線則反映了訓(xùn)練的速度,在之后的實驗部分,就是利用了這一曲線的形狀來比較收斂的快慢。
烏村是獨立于烏鎮(zhèn)東西柵的高端鄉(xiāng)村旅游度假區(qū),是烏鎮(zhèn)旅游股份有限公司的又一新品牌。古鎮(zhèn)旅游開發(fā)基本上靠門票經(jīng)濟,除此之外就是購物與餐飲,經(jīng)營的業(yè)態(tài)比較單一。而烏村圍繞江南農(nóng)村村落特點,內(nèi)設(shè)酒店、餐飲、娛樂等一系列的配套服務(wù)設(shè)施,主打“一假全包”,所以在烏村吃住方面就不存在二次消費。為了創(chuàng)造額外收入,就需要從其他方面入手,童玩館精品店就是其他收入的重要來源。
預(yù)訓(xùn)練使得BP算法省去了參數(shù)初始化的步驟,與此前根據(jù)經(jīng)驗確定初始值的方式相比,有了更多的理論支撐,效果也更好。但在初始化預(yù)訓(xùn)練參數(shù)時,目前的研究仍處在依靠經(jīng)驗或者嘗試的階段[5]。
本文認(rèn)為,神經(jīng)網(wǎng)絡(luò)之所以能在表現(xiàn)上超過GMM-HMM模型,主要原因在于它能綜合利用數(shù)據(jù)間的線性和非線性關(guān)系,其中前者依靠權(quán)值矩陣及閾值實現(xiàn),后者則通過非線性的激勵函數(shù)來實現(xiàn)。非線性關(guān)系的引入,決定神經(jīng)網(wǎng)絡(luò)能夠?qū)?shù)據(jù)間的關(guān)系刻畫的更深刻,文獻(xiàn)[6]中也提到了相同的觀點。
因而,通過初始化參數(shù),讓神經(jīng)網(wǎng)絡(luò)的激勵函數(shù)更好地工作在非線性區(qū)間,就可能加速網(wǎng)絡(luò)對數(shù)據(jù)的適應(yīng)過程,從而提高訓(xùn)練的收斂速度。式(1)表示的邏輯斯諦函數(shù)是神經(jīng)網(wǎng)絡(luò)中最常用的激勵函數(shù),也是本文引用的所有文獻(xiàn)都采用的傳遞方式。這里有一個非常重要的前提條件,目前語音識別領(lǐng)域使用神經(jīng)網(wǎng)絡(luò)對聲學(xué)模型進行構(gòu)建時,輸入的數(shù)據(jù)會在每一維上歸一化到標(biāo)準(zhǔn)正態(tài)分布。因此輸入層的每個節(jié)點都是一個服從N(0,1)分布的數(shù)據(jù),即式(7)中的Ii服從該分布。
由于閾值的作用與權(quán)值矩陣有所重疊,按照一般的做法,初始時的閾值可以設(shè)為0,因而RBM的輸出層第j個節(jié)點的總輸入值為
接下來,Netj將成為邏輯斯諦函數(shù)的自變量。而根據(jù)上述假設(shè),I服從標(biāo)準(zhǔn)正態(tài)分布,且I中各節(jié)點之間相互獨立,考慮到權(quán)值矩陣的各值均來自同一分布因而方差相等,則有
因而,若權(quán)值矩陣初始化為服從高斯分布的數(shù)據(jù),則邏輯斯諦函數(shù)自變量也服從零均值的高斯分布,且方差為上述方差的N倍。反之,如果確定了Netj的方差,則權(quán)值的方差也隨之確定。
圖2為Netj值的sigmoid二階導(dǎo)數(shù)及高斯分布函數(shù)圖。
圖2Netj值的sigmoid二階導(dǎo)數(shù)及高斯分布函數(shù)圖Fig.2 The sigmoid second derivative and Gauss distribution figures of Netj
由于參數(shù)值的初始化對精度的要求并不高,因而此問題可以通過蒙特卡羅(Monte Carlo)方法解決。本文得出的該值近似在D=1.392左右。
因而,在預(yù)訓(xùn)練的過程中,將RBM做如下的參數(shù)初始化:
(1)兩層的閾值均設(shè)為全0向量;
為了驗證上述算法的正確性,從總長為51.1 h的大數(shù)據(jù)集中隨機選取了70 000幀語音數(shù)據(jù)。對每幀提取45維的MFCC相關(guān)特征和4維的音調(diào)特征,總計49維。每一幀輸入神經(jīng)網(wǎng)絡(luò)進行計算時,將其前后各5幀的數(shù)據(jù)連同其本身作為一個數(shù)據(jù)窗口,即窗長為11。這樣的做法可以讓網(wǎng)絡(luò)不僅學(xué)習(xí)當(dāng)前幀的信息,也能同時利用幀間的關(guān)系,這也被認(rèn)為是神經(jīng)網(wǎng)絡(luò)能夠超越GMM-HMM模型的關(guān)鍵點之一。根據(jù)上述設(shè)定易知實驗中所采用的RBM輸入層大小為N=49×11=539,輸出層大小參考目前常用的做法,設(shè)為2 048。
本文利用MATLAB實現(xiàn)了預(yù)訓(xùn)練和參數(shù)值初始化的驗證,在同一學(xué)習(xí)速率下,設(shè)定不同的權(quán)值矩陣初始化方差,每種不同情況對數(shù)據(jù)集循環(huán)訓(xùn)練10次。為了降低每次輸入的數(shù)據(jù)量過少給更新帶來的抖動,將100幀數(shù)據(jù)作為一批輸入網(wǎng)絡(luò),計算誤差后對所有參數(shù)進行一次更新,因而在10次循環(huán)后共有7 000個平均重建誤差值。將不同方差下的誤差曲線歸一化到[0,1]的范圍內(nèi)比較其收斂的快慢,其對數(shù)值隨數(shù)據(jù)批次n(n為1~7 000)變化的結(jié)果如圖3所示,此處所用的學(xué)習(xí)速率為3.0×10-6。
圖3 重建誤差對數(shù)值下降曲線Fig.3 The logarithmic decline curve of reconstruction error
圖3中4條由上至下的誤差曲線分別表示了Netj的分布標(biāo)準(zhǔn)差為0.01、0.02、0.03、0.05~0.07的情況,而通過前述理論計算出的理想標(biāo)準(zhǔn)差為
可以看出,方差在理論值附近的曲線下降速率更快,但只根據(jù)此圖對該理論范圍內(nèi)的收斂速度不好比較。為了更直觀地得到這一結(jié)果,計算了歸一化后各誤差曲線中所有數(shù)據(jù)點的平均值,該值越小,說明相對于開始時的誤差,后續(xù)的訓(xùn)練中誤差值下降得越快,其對數(shù)值曲線如圖4所示,所用的學(xué)習(xí)速率與圖3中相同??梢娫?.05~0.06的范圍內(nèi),曲線達(dá)到了最小值,說明此時的收斂速度較快。
圖4 重建誤差平均值隨Netj標(biāo)準(zhǔn)差的變化曲線Fig.4 The logarithmic curve of average reconstruction error by standard deviation of Netj
為了排除訓(xùn)練時學(xué)習(xí)速率對實驗結(jié)論可能帶來的影響,本文比較了不同學(xué)習(xí)速率下圖4中曲線的變化趨勢,其結(jié)果如圖5所示。其中豎直虛線對應(yīng)的橫軸坐標(biāo)即為上述最佳標(biāo)注差0.059 9。此圖說明,在不同的學(xué)習(xí)速率下,取該標(biāo)準(zhǔn)差均能達(dá)到幾乎最好的收斂速度,從而驗證了本文第3部分提出的理論。
圖5 不同學(xué)習(xí)速率下誤差均值隨標(biāo)準(zhǔn)差的變化曲線Fig.5 The logarithmic curve of average reconstruction error by standard deviation in vary learning rates
本文主要利用了神經(jīng)網(wǎng)絡(luò)傳遞過程中激勵函數(shù)的非線性區(qū)域,以及輸入數(shù)據(jù)服從高斯分布的特性,提出了一種初始化權(quán)值的方法。實驗表明,該初始化方式能夠使訓(xùn)練的收斂速度提升,并為其他形式數(shù)據(jù)分布或其他形式激勵函數(shù)下的神經(jīng)網(wǎng)絡(luò)訓(xùn)練提供了一種初始值確定的分析方式。當(dāng)然,激勵函數(shù)的存在并不僅僅是為了提供非線性的關(guān)系,其線性部分也是數(shù)據(jù)逐層傳遞的過程中非常重要的可利用區(qū)間。在今后的課題研究中,還要進一步考察網(wǎng)絡(luò)對不同區(qū)域的利用方式,探索新的提升速度的辦法。
[1]Mohamed A,Dahl G,Hinton G.Deep belief networks for phone recognition[C]//NIPS Workshop on Deep Learning for Speech Recognition and Related Applications.Whistler,BC,Canada:[s.n.],2009:1-6.
[2]Mohamed A,Hinton G,Penn G.Understanding how deep belief networks perform acoustic modeling[C]//Proceedings of 2012 IEEE International Conference on Acoustics,Speech and Signal Processing.Kyoto:IEEE,2012:4273-4276.
[3]Dahl G E,Yu D,Deng L,et al.Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition[J].IEEE Transactions on Audio,Speech,and Language Processing,2012,20(1):30-42.
[4]閻平凡,張長水.人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M].北京:清華大學(xué)出版社,2005. YAN Ping-fan,ZHANG Chang-shui.Artificial Neural Network and Evolutionary Computation[M].Beijing:Tsinghua University Press,2005.(in Chinese)
[5]Hinton G.A practical guide to training restricted Boltzmann machines[J].Momentum,2010(9):1-20.
[6]LeCun Y,Bottou L,Orr G B,et al.Efficient backprop[M]//Neural networks:Tricks of the trade.Heidelberg,Berlin:Springer,1998:9-50.
ZHOU Jia-jun was born in Baoding,Hebei Province,in 1989.He received the B.S.degree in 2010.He is now a graduate student.His research direction is speech recognition.
Email:zhoujiajun06@gmail.com
歐智堅(1975—),男,湖南衡陽人,2003年獲博士學(xué)位,現(xiàn)為副教授,主要研究方向為語音識別與機器智能。
OU Zhi-jian was born in Hengyang,Hunan Province,in 1975.He received the Ph.D.degree in 2003.He is now an associate professor.His research direction is speech processing and machine intelligence.
Improved Initialization of Pre-Training in Deep Neural Network
ZHOU Jia-jun,OU Zhi-jian
(Department of Electronic Engineering,Tsinghua University,Beijing 100084,China)
Second derivative of activation function is used to optimize weight initialization in deep neural network pretraining phase within speech recognition tasks.By using the non-linear region of activation function and independent variables′Gaussian distribution,a method of finding the best variance is proposed in order to speed the training up. Comparison of convergence rates in different weight initialization at the same learning rate shows that this method can accelerate the speed of the pre-training phase and enhance the efficiency of neural network training.
speech recognition;deep neural network;pre-training;initialization;activation function
The National Natural Science Foundation of China(No.61075020)
date:2013-04-18;Revised date:2013-05-10
國家自然科學(xué)基金資助項目(61075020)
??通訊作者:zhoujiajun06@gmail.comCorresponding author:zhoujiajun06@gmail.com
TN912.3
A
1001-893X(2013)07-0895-04
文獻(xiàn)[2]的說法,預(yù)訓(xùn)練的過程實際是最大化了數(shù)據(jù)的似然值,從而期望模型參數(shù)向著數(shù)據(jù)分布的方向靠攏,從而使BP算法在已知數(shù)據(jù)分布的情況下,最大化標(biāo)注的后驗概率時相對更容易。而根據(jù)文獻(xiàn)[3]的結(jié)果,預(yù)訓(xùn)練可以將深層神經(jīng)網(wǎng)絡(luò)的識別準(zhǔn)確率提高幾個百分點。
周佳俊(1989—),男,河北保定人,2010年獲學(xué)士學(xué)位,現(xiàn)為碩士研究生,主要研究方向為語音識別;
10.3969/j.issn.1001-893x.2013.07.014
2013-04-18;
2013-05-10