張一珂 張鵬遠(yuǎn) 顏永紅,3
語(yǔ)言模型(Language model,LM)是描述詞序列概率分布的數(shù)學(xué)模型,廣泛應(yīng)用于各種自然語(yǔ)言處理(Natural language processing,NLP)領(lǐng)域,例如語(yǔ)音識(shí)別、機(jī)器翻譯、詞性標(biāo)注等.
N元文法語(yǔ)言模型(N-gram LM)是一種常用的統(tǒng)計(jì)語(yǔ)言模型[1].由于實(shí)際自然語(yǔ)言中詞匯組合的多樣性,利用有限數(shù)據(jù)訓(xùn)練得到的N-gram LM不可避免地存在數(shù)據(jù)稀疏問(wèn)題[2].數(shù)據(jù)增強(qiáng)是一種有效緩解數(shù)據(jù)稀疏問(wèn)題的方法[3?5].就語(yǔ)言模型建模任務(wù)而言,常見(jiàn)的數(shù)據(jù)增強(qiáng)方法包括基于外部數(shù)據(jù)的方法[4?5]和基于遞歸神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Recurrent neural network LM,RNN LM)隨機(jī)采樣的方法[6?7].前者按照一定的規(guī)則從其他來(lái)源(例如互聯(lián)網(wǎng))的數(shù)據(jù)中挑選部分?jǐn)?shù)據(jù)擴(kuò)充訓(xùn)練集,后者是利用訓(xùn)練好的RNN LM隨機(jī)生成采樣數(shù)據(jù)以豐富訓(xùn)練集中包含的語(yǔ)言現(xiàn)象.
在難以獲取領(lǐng)域相關(guān)的外部數(shù)據(jù)的情況下,基于RNN LM隨機(jī)采樣的數(shù)據(jù)增強(qiáng)方法可以有效提升N-gram LM參數(shù)估計(jì)的魯棒性.該方法將RNN LM作為一個(gè)生成模型,隨機(jī)生成詞序列.現(xiàn)有的序列生成模型均采用最大似然估計(jì)(Maximum likelihood estimation,MLE)算法估計(jì)模型參數(shù).然而,MLE方法會(huì)使生成模型在生成采樣過(guò)程中遇到暴露偏差問(wèn)題[8?10].即在生成下一個(gè)詞匯時(shí),如果依賴的歷史序列(即已生成的序列)未在訓(xùn)練數(shù)據(jù)中出現(xiàn),偏差就會(huì)在序列生成過(guò)程中逐漸累積,最終導(dǎo)致生成的序列缺乏長(zhǎng)時(shí)語(yǔ)義信息.
生成對(duì)抗網(wǎng)絡(luò)(Generative adversarial nets,GAN)[11?12]是一種有效緩解暴露偏差問(wèn)題的訓(xùn)練策略.GAN利用一個(gè)判別模型來(lái)判斷給定的樣例是否來(lái)自真實(shí)的數(shù)據(jù),而生成模型則學(xué)習(xí)如何生成高質(zhì)量的數(shù)據(jù)讓判別模型失去判斷能力.GAN已經(jīng)成功應(yīng)用于圖像生成任務(wù)中,然而將其直接應(yīng)用于NLP領(lǐng)域生成離散序列面臨兩個(gè)主要問(wèn)題:1)當(dāng)生成模型的輸出為離散值時(shí),判別模型的誤差梯度無(wú)法利用反向傳播算法回傳到生成模型.2)判別模型只能對(duì)完整的序列進(jìn)行評(píng)價(jià),無(wú)法對(duì)未生成完的序列進(jìn)行評(píng)價(jià).
本文將離散序列生成問(wèn)題表示為強(qiáng)化學(xué)習(xí)問(wèn)題[13?15],將生成模型視為隨機(jī)的參數(shù)化策略,利用判別模型的輸出作為獎(jiǎng)勵(lì)對(duì)其進(jìn)行優(yōu)化,避免了判別模型與生成模型間難以進(jìn)行誤差梯度回傳的問(wèn)題,同時(shí)采用蒙特卡洛(Monte Carlo,MC)搜索算法[16?17]對(duì)生成序列的中間狀態(tài)進(jìn)行評(píng)估.
目前GAN的研究主要集中于特定圖像及本文數(shù)據(jù)集上的生成任務(wù),且對(duì)于生成的文本缺乏客觀的評(píng)價(jià)標(biāo)準(zhǔn).本文針對(duì)語(yǔ)音識(shí)別任務(wù),初步探索了GAN在實(shí)際數(shù)據(jù)上的生成效果,并以識(shí)別率為客觀標(biāo)準(zhǔn)對(duì)生成數(shù)據(jù)的質(zhì)量進(jìn)行了評(píng)價(jià).具體來(lái)說(shuō),首先將GAN生成的數(shù)據(jù)用于增強(qiáng)語(yǔ)言模型,然后利用增強(qiáng)的語(yǔ)言模型對(duì)識(shí)別一遍解碼中保留的多條候選進(jìn)行重估.本文在兩個(gè)低資源新聞識(shí)別數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明隨著訓(xùn)練數(shù)據(jù)量的增加,本文提出的數(shù)據(jù)增強(qiáng)方法可以進(jìn)一步降低識(shí)別字錯(cuò)誤率(Character error rate,CER),且始終優(yōu)于基于MLE的數(shù)據(jù)增強(qiáng)方法.當(dāng)訓(xùn)練數(shù)據(jù)達(dá)到6M詞時(shí),本文提出的方法分別使兩個(gè)測(cè)試集的CER相對(duì)基線系統(tǒng)降低5.0%和7.1%.
RNN LM的目標(biāo)是預(yù)測(cè)給定詞序列中每個(gè)詞出現(xiàn)的條件概率.給定一條訓(xùn)練語(yǔ)句w1,w2,···,wT(wt∈V,t=1,2,···,T),V表示詞典空間.RNN LM按照下式將輸入詞序列編碼為隱含層狀態(tài)序列s1,s2,···,sT(st∈Rh,t=1,2,···,T)
其中,是wt對(duì)應(yīng)的獨(dú)熱碼.是可訓(xùn)練參數(shù),σ表示非線性激活函數(shù).然后利用隱含層狀態(tài)序列得到一系列條件概率分布.
其中,是可訓(xùn)練參數(shù),yt∈R|V|表示給定歷史序列w1,w2,···,wt條件下,當(dāng)前詞wt+1的概率分布P(wt+1|w≤t),?表示softmax激活函數(shù).通常采用MLE算法對(duì)RNN LM參數(shù)進(jìn)行估計(jì),即最大化給定訓(xùn)練序列的對(duì)數(shù)概率.
基于RNN LM的數(shù)據(jù)增強(qiáng)算法的基本思路是首先利用RNN對(duì)原始訓(xùn)練語(yǔ)料進(jìn)行建模.雖然訓(xùn)練完成后模型的參數(shù)是確定的,仍然可以從該模型中隨機(jī)采樣生成不同的詞序列.因?yàn)镽NN模型的輸出yt定義了一個(gè)多項(xiàng)分布P(wt+1|w≤t),可以依據(jù)此概率分布從詞典V中隨機(jī)采樣,生成當(dāng)前詞wt+1.然后將wt+1作為下一時(shí)刻的輸入送入RNN模型,得到新的多項(xiàng)分布P(wt+2|w≤t+1),并從該分布中采樣得到wt+2.重復(fù)此過(guò)程直到生成指定長(zhǎng)度的序列或生成句子結(jié)束符號(hào).重復(fù)上述隨機(jī)采樣過(guò)程即可得到若干采樣序列.通常,利用生成的數(shù)據(jù)和原始數(shù)據(jù)(RNN模型的訓(xùn)練數(shù)據(jù))分別訓(xùn)練不同的N-gram LM,然后將兩個(gè)模型進(jìn)行插值,從而提高N-gram LM參數(shù)估計(jì)的魯棒性.
GAN由Goodfellow等于2014年提出[11],是無(wú)監(jiān)督式學(xué)習(xí)的一種方法.它讓兩個(gè)神經(jīng)網(wǎng)絡(luò)通過(guò)相互博弈的方式進(jìn)行學(xué)習(xí).GAN由一個(gè)生成模型G與一個(gè)判別模型D組成.G從隱藏空間中隨機(jī)采樣作為輸入,輸出結(jié)果需要盡量模仿訓(xùn)練集中的真實(shí)樣本.D的輸入為真實(shí)樣本或G的輸出,目標(biāo)是盡可能將G的輸出從真實(shí)樣本中分辨出來(lái).而G則要盡可能欺騙D.兩個(gè)模型相互對(duì)抗,不斷調(diào)整參數(shù),最終目的是使D無(wú)法分辨G的輸出與真實(shí)樣本.具體地,給定一個(gè)先驗(yàn)噪聲分布pz(z),pd(x)表示真實(shí)數(shù)據(jù)的分布,D的優(yōu)化目標(biāo)是最大化
G的優(yōu)化目標(biāo)則是最小化
序列生成問(wèn)題可以解釋為給定一個(gè)包含若干序列化數(shù)據(jù)的訓(xùn)練集,訓(xùn)練一個(gè)參數(shù)化生成模型Gθ來(lái)生成序列Y1:T=(y1,···,yt,···,yT),yt∈V.V表示詞典空間,包含若干候選詞條.序列生成問(wèn)題也可以表示為強(qiáng)化學(xué)習(xí)問(wèn)題:在t時(shí)刻,狀態(tài)s是當(dāng)前已經(jīng)生成的序列y1,···,yt?1,動(dòng)作a是將要生成的下一個(gè)詞條yt.依據(jù)當(dāng)前狀態(tài)s,如何選擇將要執(zhí)行的動(dòng)作a,由策略Gθ(yt|Y1:t?1)決定.實(shí)際上,策略給出了在當(dāng)前狀態(tài)s下,執(zhí)行動(dòng)作a的概率.
此外,訓(xùn)練一個(gè)參數(shù)化判別模型Dφ來(lái)指導(dǎo)生成模型Gθ的學(xué)習(xí)過(guò)程.Dφ(Y1:T)表示生成序列Y1:T與真實(shí)數(shù)據(jù)的相似程度,是一個(gè)概率值.如圖1所示,判別模型Dφ的輸入為真實(shí)數(shù)據(jù)或生成模型Gθ產(chǎn)生的數(shù)據(jù).生成模型Gθ通過(guò)策略梯度來(lái)更新參數(shù),獎(jiǎng)勵(lì)信號(hào)來(lái)自判別模型,并通過(guò)MC搜索傳遞到序列的中間狀態(tài).
當(dāng)不存在中間狀態(tài)的獎(jiǎng)勵(lì)時(shí),生成模型(策略)Gθ(yt|Y1:t?1)的目標(biāo)是使生成序列的期望獎(jiǎng)勵(lì)J(θ)最大.
其中,s0表示初始狀態(tài),RT表示判別模型Dφ對(duì)生成序列Y1:T的獎(jiǎng)勵(lì).是“動(dòng)作–值”函數(shù),表示從狀態(tài)s開(kāi)始,依據(jù)策略Gθ采取動(dòng)作a的期望獎(jiǎng)勵(lì).“動(dòng)作–值”函數(shù)的功能是估計(jì)當(dāng)前狀態(tài)與預(yù)期目標(biāo)的相符程度,即從當(dāng)前狀態(tài)開(kāi)始最終能否生成類似真實(shí)數(shù)據(jù)的序列.而判別模型Dφ的輸出值恰好是生成序列與真實(shí)數(shù)據(jù)相似程度的概率值.因此,本文采用Dφ(Y1:T)做為作為“動(dòng)作–值”函數(shù),即:
圖1 序列生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練過(guò)程Fig.1 Training procedure of the sequential generative adversarial network
然而,判別模型只能對(duì)生成完成的序列進(jìn)行評(píng)價(jià).我們希望獎(jiǎng)勵(lì)信號(hào)不僅考慮已生成的序列是否符合最終目標(biāo),同時(shí)也考慮已生成序列中前綴子序列對(duì)生成后續(xù)詞條的影響.為了評(píng)估生成序列的中間狀態(tài),本文采用MC搜索算法從模擬策略Gβ中采樣尚未生成的最后T?t個(gè)詞條.定義N次MC搜索如下:
其中,根據(jù)當(dāng)前狀態(tài)從模擬策略Gβ中采樣得到.本文選取的模擬策略Gβ與生成模型Gθ拓?fù)浣Y(jié)構(gòu)相同.實(shí)際上,為了加速訓(xùn)練過(guò)程,可以選取更簡(jiǎn)單的模型作為模擬策略.為了減少方差并獲取更精確的狀態(tài)值,從當(dāng)前狀態(tài)開(kāi)始按照模擬策略Gβ對(duì)尚未生成的子序列進(jìn)行N次采樣,得到N條采樣序列.此時(shí),“狀態(tài)–值”函數(shù)變?yōu)?/p>
從式(9)可以看出,當(dāng)沒(méi)有中間狀態(tài)獎(jiǎng)勵(lì)時(shí),“狀態(tài)–值”函數(shù)迭代的定義為從狀態(tài)s=Y1:t開(kāi)始下一狀態(tài)的值,直到序列結(jié)束.
由于判別模型Dφ可以動(dòng)態(tài)地更新,使用Dφ作為獎(jiǎng)勵(lì)函數(shù)可以迭代地提升生成模型Gθ的性能.一旦可以通過(guò)Gθ得到更加真實(shí)的生成序列,按照下式重新訓(xùn)練Dφ.
每當(dāng)新的判別模型Dφ訓(xùn)練完成,迭代訓(xùn)練了生成模型Gθ,最大化目標(biāo)函數(shù)為
然后,利用隨機(jī)梯度下降算法更新生成模型Gθ的參數(shù).
其中,α表示學(xué)習(xí)率,θ(t)表示第t次迭代中生成模型的參數(shù).
算法1詳細(xì)描述了序列生成網(wǎng)絡(luò)的訓(xùn)練步驟.首先,采用MLE算法對(duì)生成模型Gθ進(jìn)行預(yù)訓(xùn)練,然后利用預(yù)訓(xùn)練得到的Gθ生成采樣數(shù)據(jù)對(duì)判別模型Dφ進(jìn)行預(yù)訓(xùn)練.Goodfellow在文獻(xiàn)[11]中指出,當(dāng)判別模型Dφ在迭代訓(xùn)練過(guò)程中始終保持最優(yōu)時(shí),生成模型Gθ的分布會(huì)逐漸收斂到真實(shí)數(shù)據(jù)的分布.對(duì)Dφ進(jìn)行預(yù)訓(xùn)練可以使其在對(duì)抗訓(xùn)練過(guò)程中迅速收斂到近似最優(yōu)的狀態(tài).在預(yù)訓(xùn)練之后,生成模型與判別模型交替地進(jìn)行訓(xùn)練.在對(duì)生成模型進(jìn)行若干步更新之后,判別模型需要重新訓(xùn)練來(lái)和生成模型保持平衡.在對(duì)判別模型進(jìn)行訓(xùn)練時(shí),從給定的訓(xùn)練集中采樣得到正樣本,而負(fù)樣本則由生成模型產(chǎn)生.為了保持平衡,在判別模型的每次訓(xùn)練中,保持正樣本與負(fù)樣本數(shù)目相同.為了減少估計(jì)的方差,類似Bootstrapping算法[18],在每次迭代中,采用不同的負(fù)樣本對(duì)判別模型進(jìn)行訓(xùn)練.
算法1.序列對(duì)抗生成網(wǎng)絡(luò)
輸入.訓(xùn)練集S={X1:T}
輸出.生成模型(策略)Gθ
隨機(jī)初始化生成模型(策略)Gθ,判別模型Dφ
在S上利用MLE算法對(duì)Gθ進(jìn)行預(yù)訓(xùn)練
初始化模擬策略Gβ←?Gθ
利用Gθ生成負(fù)樣本,對(duì)Dφ進(jìn)行預(yù)訓(xùn)練
2.3.1 生成模型
本文采用RNN作為序列生成模型.RNN模型的定義見(jiàn)式(1)和式(2).為了緩解梯度消失問(wèn)題與梯度爆炸問(wèn)題[19?20],本文采用長(zhǎng)短時(shí)記憶單元(Long short-term memory units,LSTM units)結(jié)構(gòu)代替式(1)[21?22].實(shí)際上,任何RNN模型的變體,例如門(mén)遞歸單元[23]和注意力機(jī)制[24],都可以作為序列生成模型.本文LSTM 單元的具體實(shí)施如下:
2.3.2 判別模型
深度神經(jīng)網(wǎng)絡(luò)[25]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)[26]和遞歸卷積網(wǎng)絡(luò)[27]已被成功應(yīng)用于序列分類任務(wù)中.近年來(lái),CNN被廣泛應(yīng)用于文本分類問(wèn)題,并取得了良好的效果[28].因此本文選取CNN作為判別模型.
首先將給定序列w1,w2,···,wT表示為
其中,是詞條wt對(duì)應(yīng)的k維詞矢量,通過(guò)對(duì)wt的獨(dú)熱碼進(jìn)行線性變換得到[29].通過(guò)連接操作?,可以得到輸入序列的二維矩陣表示ε1:T∈Rk×T.然后,利用窗長(zhǎng)為l的卷積核r∈Rk×l對(duì)輸入特征ε1:T進(jìn)行卷積操作,得到新的特征圖.
其中,?表示卷積操作,ρ是非線性函數(shù),b是偏置項(xiàng).采用多組不同窗長(zhǎng)的卷積核即可得到多組不同的特征圖.最后,對(duì)每張?zhí)卣鲌D在時(shí)間維度上進(jìn)行最大值池化操作.
為了提高分類性能,在池化操作后添加了通道結(jié)構(gòu)[30].
其中,H,T,C表示對(duì)池化層輸出c進(jìn)行不同的仿射變換后再進(jìn)行非線性變換,通常采取sigmoid函數(shù)作為非線性激活函數(shù).T表示變換門(mén),C表示運(yùn)輸門(mén).為了簡(jiǎn)化計(jì)算,本文令C=1?T.WH,WT,Wc是可訓(xùn)練參數(shù)矩陣.最后,采用sigmoid激活函數(shù)的全連接層輸出分類概率.
本文實(shí)驗(yàn)在THCHS30[31]和AISHELL[32]兩個(gè)中文普通話語(yǔ)音識(shí)別數(shù)據(jù)庫(kù)上進(jìn)行.THCHS30是清華大學(xué)開(kāi)發(fā)的語(yǔ)音庫(kù),共30小時(shí),文本取自大量新聞內(nèi)容.AISHELL是北京希爾貝殼科技有限公司發(fā)布的數(shù)據(jù)集,共178小時(shí),包含400位來(lái)自中國(guó)不同口音區(qū)域的發(fā)言人,錄音文本包含財(cái)經(jīng)、科技、體育、娛樂(lè)等領(lǐng)域.
本文利用THCHS30和AISHELL提供的轉(zhuǎn)錄文本作為原始數(shù)據(jù)訓(xùn)練RNN生成模型,并利用該RNN模型生成采樣數(shù)據(jù).然后利用生成的數(shù)據(jù)訓(xùn)練新的N-gram LM與轉(zhuǎn)錄文本訓(xùn)練的N-gram LM插值.最后用插值后的語(yǔ)言模型對(duì)識(shí)別候選進(jìn)行重估.
本文利用Kaldi工具[33]搭建基線識(shí)別系統(tǒng),輸入特征是11幀串聯(lián)的MFCC特征.基線語(yǔ)言模型與生成數(shù)據(jù)估計(jì)的語(yǔ)言模型采用Kneser-Ney平滑的三元文法語(yǔ)言模型,由SRILM工具[34]訓(xùn)練得到.序列生成對(duì)抗網(wǎng)絡(luò)中的RNN與CNN模型的訓(xùn)練由TensorFlow工具[35]實(shí)現(xiàn).
RNN生成模型包含2層隱含層,每層由150個(gè)LSTM單元組成.輸出層節(jié)點(diǎn)數(shù)等于詞典大小,詞典共包含55590個(gè)中文詞.為了防止模型對(duì)訓(xùn)練數(shù)據(jù)過(guò)擬合,訓(xùn)練時(shí)采用了丟棄正則化技術(shù),在預(yù)訓(xùn)練與對(duì)抗訓(xùn)練過(guò)程中初始丟棄率均為0.3.
CNN判別模型分別采用窗長(zhǎng)為1,2,3,4,5,10的卷積核進(jìn)行卷積操作,每個(gè)窗長(zhǎng)分別使用50個(gè)不同的卷積核.此外,判別模型包含2層通道層,每層150節(jié)點(diǎn).輸出層包含1個(gè)節(jié)點(diǎn),表示輸入序列與真實(shí)數(shù)據(jù)相似程度.在訓(xùn)練過(guò)程中,同樣采取丟棄正則化技術(shù)防止模型過(guò)擬合,丟棄率為0.3.同時(shí)在輸出層采用L2范數(shù)正則化技術(shù),正則項(xiàng)系數(shù)為0.1.
生成模型和判別模型的訓(xùn)練采用基于Adam算法[36]的批量(Mini-batch)隨機(jī)梯度下降更新參數(shù),輸入序列長(zhǎng)度為20,批量數(shù)目為35.生成模型的初始學(xué)習(xí)率為0.01,衰減速率為0.95.判別模型的學(xué)習(xí)率為0.0001.
在對(duì)抗訓(xùn)練過(guò)程中,超參數(shù)的選取對(duì)最終生成模型的性能至關(guān)重要.對(duì)抗訓(xùn)練中主要的超參數(shù)包括:每次迭代中生成模型的訓(xùn)練步數(shù)g-steps,每次迭代中判別模型的訓(xùn)練步數(shù)d-steps,每次迭代中用于判別模型訓(xùn)練的負(fù)樣本采樣數(shù)samples(以Minibatch為單位).為了分析上述超參數(shù)對(duì)模型性能的影響,本文在THCHS30數(shù)據(jù)集上進(jìn)行了相關(guān)實(shí)驗(yàn),結(jié)果如圖2所示.
從圖2可以看出,當(dāng)用于判別模型訓(xùn)練的負(fù)樣本采樣數(shù)(samples)增加時(shí),生成模型和判別模型訓(xùn)練誤差的方差減小.同時(shí),增加負(fù)樣本采樣數(shù)會(huì)加快判別模型的收斂,如圖2(b)所示.當(dāng)生成模型訓(xùn)練步數(shù)(g-steps)增加時(shí),生成模型訓(xùn)練誤差迅速減小并保持穩(wěn)定,但是判別模型在大約500次批量更新時(shí)才收斂到最優(yōu).此時(shí)生成模型學(xué)習(xí)到的分布并不是真實(shí)數(shù)據(jù)的分布,因?yàn)榕袆e模型尚未收斂到近似最優(yōu)[11].本文實(shí)驗(yàn)取g-steps=1,d-steps=1,samples=3.
序列生成對(duì)抗網(wǎng)絡(luò)在不同數(shù)據(jù)集上的性能如圖3所示.從圖3(a)可以看出,在THCHS30和AISHELL兩個(gè)數(shù)據(jù)集上,生成模型均迅速收斂.圖3(b)給出了生成模型在驗(yàn)證集上交叉熵的變化.模型在開(kāi)發(fā)集上的交叉熵越高,說(shuō)明模型分布(即生成數(shù)據(jù)的分布)與開(kāi)發(fā)集數(shù)據(jù)分布相差越大.從圖3(b)可以看出,單獨(dú)使用THCHS30或AISHELL數(shù)據(jù)集的轉(zhuǎn)錄文本對(duì)生成模型進(jìn)行訓(xùn)練時(shí),雖然生成模型可以生成高質(zhì)量的采樣數(shù)據(jù),但生成模型對(duì)訓(xùn)練集過(guò)擬合,生成的數(shù)據(jù)泛化性較差.數(shù)據(jù)增強(qiáng)的目的是在保證生成數(shù)據(jù)的分布與原始數(shù)據(jù)分布接近的條件下,生成盡可能多樣化的采樣數(shù)據(jù),以豐富原始數(shù)據(jù)的文法現(xiàn)象.
為了解決上述問(wèn)題,從網(wǎng)易、搜狐等網(wǎng)站爬取了部分新聞數(shù)據(jù)(約860M詞).然后按照文獻(xiàn)[37]中基于相對(duì)交叉熵的數(shù)據(jù)挑選算法,將THCHS30和AISHELL的轉(zhuǎn)錄文本作為目標(biāo)數(shù)據(jù),從網(wǎng)頁(yè)爬取數(shù)據(jù)中挑選了部分與目標(biāo)數(shù)據(jù)風(fēng)格接近的文本(約6M 詞)擴(kuò)充生成模型的訓(xùn)練集.然后將擴(kuò)充的數(shù)據(jù)集(包含THCHS30和AISHELL的轉(zhuǎn)錄文本以及挑選的網(wǎng)頁(yè)數(shù)據(jù),記為AUGMENT)作為生成模型的訓(xùn)練數(shù)據(jù),生成模型的訓(xùn)練誤差及其在開(kāi)發(fā)集(此處的開(kāi)發(fā)集合并了THCHS30和AISHELL的開(kāi)發(fā)集)上的交叉熵分別在圖3(a)和圖3(b)給出.擴(kuò)充訓(xùn)練集后,雖然生成模型在訓(xùn)練集上收斂較慢且最終誤差較高,但其在開(kāi)發(fā)集上始終保持良好的泛化性能,符合數(shù)據(jù)增強(qiáng)的目的.因此,在后續(xù)的語(yǔ)音識(shí)別多候選重估實(shí)驗(yàn)中,采用擴(kuò)充后的訓(xùn)練集對(duì)生成模型進(jìn)行訓(xùn)練.
圖2 不同超參數(shù)條件下序列對(duì)抗生成網(wǎng)絡(luò)訓(xùn)練誤差Fig.2 Training errors of sequential generative adversarial networks with different hyper-parameters
在訓(xùn)練得到生成模型之后,按照第1節(jié)的方法生成采樣數(shù)據(jù).為了對(duì)比對(duì)抗訓(xùn)練策略與MLE兩種訓(xùn)練準(zhǔn)則對(duì)生成模型性能的影響,分別從采用兩種訓(xùn)練準(zhǔn)則得到的生成模型中采樣生成1000000條句子.為了保證實(shí)驗(yàn)的公平性,兩個(gè)生成模型采用相同的數(shù)據(jù)集進(jìn)行訓(xùn)練,即第3.3節(jié)中擴(kuò)增后的數(shù)據(jù)集.然后利用采樣數(shù)據(jù)分別訓(xùn)練Kneser-Ney平滑的三元文法語(yǔ)言模型.詞典與訓(xùn)練生成模型的詞典相同,共包含55590個(gè)中文詞.
圖3 序列生成對(duì)抗網(wǎng)絡(luò)在不同數(shù)據(jù)集上的性能Fig.3 Performance of sequential generative adversarial networks on different datasets
對(duì)于測(cè)試集中的每條語(yǔ)音,本文保留一遍解碼中得分最高的100條候選.實(shí)際操作時(shí),為了方便遍歷最優(yōu)的插值系數(shù),將新語(yǔ)言模型的得分與基線語(yǔ)言模型的得分進(jìn)行動(dòng)態(tài)的插值.首先用新語(yǔ)言模型計(jì)算每條候選的新語(yǔ)言模型得分.然后,將每條候選的新語(yǔ)言模型得分與基線語(yǔ)言模型得分按如下公式加權(quán)作為該候選最終的語(yǔ)言模模型得分slm.
其中,snew表示新語(yǔ)言模型得分,sbase表示基線語(yǔ)言模型得分,ω是新語(yǔ)言模型得分的插值權(quán)重.最后計(jì)算該候選的總得分.
其中,γ是語(yǔ)言模型得分權(quán)重因子,sam表示該候選的聲學(xué)模型得分.得到各條候選新的得分之后,從中選取得分最高的候選作為該測(cè)試語(yǔ)音的重估解碼結(jié)果.表1是對(duì)重估解碼結(jié)果CER的統(tǒng)計(jì).
表1 不同數(shù)據(jù)增強(qiáng)技術(shù)對(duì)識(shí)別字錯(cuò)誤率的影響(%)Table 1 Character error rates of different methods(%)
從表1中可以看出,不同的語(yǔ)言模型數(shù)據(jù)增強(qiáng)技術(shù)均可以有效降低CER.相比于基于MLE的語(yǔ)言模型數(shù)據(jù)增強(qiáng)技術(shù),本文提出的基于對(duì)抗訓(xùn)練策略的數(shù)據(jù)增強(qiáng)技術(shù)可以進(jìn)一步降低CER.在兩個(gè)測(cè)試集上,本文提出的方法使CER相對(duì)基線系統(tǒng)分別下降5.0%和7.1%.實(shí)際上,判別模型的輸入特征是不同階數(shù)的N元文法特征,由不同窗長(zhǎng)的卷積核與輸入特征進(jìn)行卷積得到.即判別模型通過(guò)給定文本序列的N元文法特征判斷其與真實(shí)數(shù)據(jù)的相似性.因此生成模型產(chǎn)生的文本序列中的N元文法分布更類似于真實(shí)數(shù)據(jù)中的N元文法分布.而N-gram LM正是通過(guò)訓(xùn)練文本中的N元文法的分布來(lái)估計(jì)給定句子的概率.因此,基于對(duì)抗生成策略的數(shù)據(jù)增強(qiáng)技術(shù)可以有效提升語(yǔ)言模型在語(yǔ)音識(shí)別任務(wù)中的性能.
為了進(jìn)一步分析本文提出的數(shù)據(jù)增強(qiáng)方法與基于MLE的數(shù)據(jù)增強(qiáng)方法的性能差異,本文在不同規(guī)模的訓(xùn)練數(shù)據(jù)上進(jìn)行了對(duì)比實(shí)驗(yàn).已有的研究結(jié)果[38]表明,RNN模型的性能不僅取決于訓(xùn)練數(shù)據(jù)的規(guī)模,同時(shí)也取決的訓(xùn)練數(shù)據(jù)的質(zhì)量.即只有在增加領(lǐng)域相關(guān)的訓(xùn)練數(shù)據(jù)時(shí),RNN模型的性能才會(huì)提升,否則其性能反而會(huì)下降.由于無(wú)法獲取大量領(lǐng)域相關(guān)的文本數(shù)據(jù),本文中的實(shí)驗(yàn)在訓(xùn)練集的不同子集上進(jìn)行.
本文首先將訓(xùn)練集 (約 6M 詞)分為A(約0.7M 詞)、B(約 1.5M 詞)、C(約 2.9M 詞)三個(gè)子集,且C子集包含B子集,B子集包含A子集.然后采用上文所述的方法和模型參數(shù)在各個(gè)訓(xùn)練集上分別訓(xùn)練生成模型、生成采樣數(shù)據(jù)、最終利用增強(qiáng)的語(yǔ)言模型進(jìn)行識(shí)別結(jié)果重估,結(jié)果如圖4所示.
圖4 訓(xùn)練數(shù)據(jù)規(guī)模對(duì)兩種數(shù)據(jù)增強(qiáng)技術(shù)性能的影響Fig.4 The effect of the size of training data on two augmentation approaches
實(shí)驗(yàn)結(jié)果表明,在各個(gè)子集上,兩種數(shù)據(jù)增強(qiáng)技術(shù)均可以降低CER.在子集A上,由于訓(xùn)練數(shù)據(jù)過(guò)于稀疏,生成模型無(wú)法魯棒地建模訓(xùn)練數(shù)據(jù)的分別,同時(shí)判別模型也無(wú)法學(xué)到真實(shí)數(shù)據(jù)與采樣數(shù)據(jù)之間的差異,本文提出的方法與基于MLE的方法性能基本一致,且對(duì)識(shí)別性能提升較小.在B,C子集和全集上,本文提出的方法相對(duì)基于MLE的方法可以進(jìn)一步降低CER.然而在全集上兩種數(shù)據(jù)增強(qiáng)方法的性能反而略差于在C子集上的性能,可能的原因是第3.3節(jié)中用以擴(kuò)充訓(xùn)練集的網(wǎng)絡(luò)數(shù)據(jù)與原始領(lǐng)域相關(guān)的數(shù)據(jù)(語(yǔ)音轉(zhuǎn)錄文本)存在一定的差異,當(dāng)增加的網(wǎng)絡(luò)數(shù)據(jù)較多時(shí),會(huì)對(duì)模型的性能造成一定的影響.
從圖4中兩種數(shù)據(jù)增強(qiáng)方法性能隨訓(xùn)練數(shù)據(jù)量變化趨勢(shì)可以看出,兩種方法的性能均隨著訓(xùn)練數(shù)據(jù)增加而提升.文本提出的方法在不同規(guī)模數(shù)據(jù)集上均取得了更低的CER,且相對(duì)基于MLE的方法的性能提升首先隨數(shù)據(jù)量增加而增大,隨后在數(shù)據(jù)量達(dá)到一定規(guī)模后(約1.5M詞)基本保持穩(wěn)定.
值得注意的是,本文提出的方法是為了緩解有限訓(xùn)練數(shù)據(jù)條件下語(yǔ)言模型參數(shù)估計(jì)魯棒性差的問(wèn)題.相關(guān)研究表明,當(dāng)領(lǐng)域(任務(wù))相關(guān)訓(xùn)練數(shù)據(jù)足夠多時(shí),數(shù)據(jù)增強(qiáng)技術(shù)帶來(lái)的性能提升十分有限.這是因?yàn)樵加?xùn)練數(shù)據(jù)中已包含絕大部分文法現(xiàn)象,數(shù)據(jù)增強(qiáng)技術(shù)僅能提供有限的補(bǔ)充數(shù)據(jù).因此可以推測(cè),隨著訓(xùn)練數(shù)據(jù)量的增加,基線語(yǔ)言模型性能不斷提升,未使用數(shù)據(jù)增強(qiáng)技術(shù)的基線模型、基于MLE方法的數(shù)據(jù)增強(qiáng)方法與本文提出的方法三者之間的性能差異逐漸減小甚至消失.因此,本節(jié)的實(shí)驗(yàn)結(jié)論并不適用于大規(guī)模訓(xùn)練數(shù)據(jù)的情況.
當(dāng)采樣數(shù)據(jù)足夠多時(shí),采樣數(shù)據(jù)的分布可以近似表示生成模型的分布.因此,為了分析生成模型的性能,本文分別利用基于MLE的生成模型和基于對(duì)抗訓(xùn)練策略的生成模型生成50000句文本,同時(shí)從訓(xùn)練數(shù)據(jù)中隨機(jī)抽取50000句文本.然后利用文獻(xiàn)[39]中的算法得到每句文本的分布表示,即將每句話表示為一個(gè)向量.本文實(shí)驗(yàn)采用100維的向量表示一句采樣文本或真實(shí)文本.為了可視化采樣數(shù)據(jù)與真實(shí)數(shù)據(jù)的分布,本文采用t-SNE算法[40]將文本的分布表示映射到二維空間.結(jié)果如圖5所示.從圖5可以看出,基于對(duì)抗訓(xùn)練策略的生成模型的分布與真實(shí)數(shù)據(jù)的分布更接近.
為了進(jìn)一步分析不同訓(xùn)練準(zhǔn)則對(duì)生成模型性能的影響,從訓(xùn)練數(shù)據(jù)中隨機(jī)挑選若干句文本,將每句文本的前半句作為歷史信息送入生成模型,讓生成模型生成下半句文本.表2是實(shí)驗(yàn)中的部分樣例,逗號(hào)前的文本表示歷史信息,MLE表示基于最大似然估計(jì)的生成模型產(chǎn)生的文本,GAN表示基于對(duì)抗訓(xùn)練策略的生成模型產(chǎn)生的文本.
首先,與MLE相比,對(duì)抗訓(xùn)練策略產(chǎn)生的文本具有更加明確的語(yǔ)義信息(樣例2,3).其次,對(duì)抗訓(xùn)練策略產(chǎn)生的文本與歷史信息之間的關(guān)系更密切.例如樣例1歷史信息中的“旱情”與生成文本中的“糧食”,樣例3歷史信息中的“銷售額”與生成文本中的“增至”.此外,對(duì)抗訓(xùn)練策略可以在一定程度上緩解暴露偏差問(wèn)題.例如樣例4中,MLE根據(jù)歷史信息產(chǎn)生的文本最終的著重點(diǎn)在“創(chuàng)新”,而對(duì)抗訓(xùn)練策略生成的文本雖然開(kāi)始部分與歷史信息的語(yǔ)義差距較大,但最終生成文本的著重點(diǎn)在“規(guī)劃”,與真實(shí)數(shù)據(jù)一致.說(shuō)明基于對(duì)抗訓(xùn)練策略的生成模型的分布與真實(shí)的數(shù)據(jù)分布更接近,同時(shí)生成文本的長(zhǎng)時(shí)語(yǔ)義信息更加明確.
圖5 不同采樣數(shù)據(jù)的分布圖Fig.5 Distribution of sentences sampled from different sources
本文提出了一種基于對(duì)抗訓(xùn)練策略的語(yǔ)言模型數(shù)據(jù)增強(qiáng)方法,并將GAN產(chǎn)生的數(shù)據(jù)應(yīng)用于語(yǔ)音識(shí)別任務(wù)中.首先利用生成模型產(chǎn)生的采樣文本對(duì)語(yǔ)言模型進(jìn)行數(shù)據(jù)增強(qiáng),然后將增強(qiáng)的語(yǔ)言模型用于語(yǔ)音識(shí)別多候選重估.與傳統(tǒng)生成任務(wù)不同,在語(yǔ)言模型增強(qiáng)任務(wù)中,必須保證生成文本數(shù)據(jù)的多樣性,即使生成模型保持一定的泛化性能.同時(shí)由于實(shí)際數(shù)據(jù)的復(fù)雜性,在對(duì)抗訓(xùn)練中需要對(duì)判別模型進(jìn)行充分優(yōu)化,才能使其性能在整個(gè)對(duì)抗訓(xùn)練過(guò)程中保持近似最優(yōu).識(shí)別多候選重估實(shí)驗(yàn)表明,相比基于MLE的語(yǔ)言模型數(shù)據(jù)增強(qiáng)方法,本文提出的方法可以進(jìn)一步降低識(shí)別錯(cuò)誤率.且相對(duì)基于MLE的數(shù)據(jù)增強(qiáng)方法的性能提升,本文提出的方法首先隨著訓(xùn)練數(shù)據(jù)量的增加而增大,隨后當(dāng)訓(xùn)練數(shù)據(jù)量達(dá)到一定規(guī)模后,相對(duì)性能提升基本保持恒定.此外,本文對(duì)不同生成模型生成的數(shù)據(jù)進(jìn)行了詳細(xì)的分析.實(shí)驗(yàn)表明,利用本文提出的方法生成的數(shù)據(jù)的分布更接近真實(shí)數(shù)據(jù)的分布,且生成的句子具有更加明確的長(zhǎng)時(shí)語(yǔ)義信息.
表2 相同歷史信息條件下不同生成模型生成的文本對(duì)比Table 2 Sentences generated by different models given the same context
本文提出的方法主要是為了緩解有限訓(xùn)練數(shù)據(jù)條件下語(yǔ)言模型參數(shù)估計(jì)魯棒性差的問(wèn)題,并不適用于大規(guī)模訓(xùn)練數(shù)據(jù)條件下的語(yǔ)言模型建模和識(shí)別任務(wù).如何利用對(duì)抗訓(xùn)練策略提升大規(guī)模訓(xùn)練數(shù)據(jù)條件下語(yǔ)言模型及識(shí)別系統(tǒng)的性能是后續(xù)研究的一個(gè)方向.
1 Si Yu-Jing,Xiao Ye-Ming,Xu Ji,Pan Jie-Lin,Yan Yong-Hong.Automatic text corpus generation algorithm towards oral statistical language modeling.Acta Automatica Sinica,2014,40(12):2808?2814(司玉景,肖業(yè)鳴,徐及,潘接林,顏永紅.面向口語(yǔ)統(tǒng)計(jì)語(yǔ)言模型建模的自動(dòng)語(yǔ)料生成算法.自動(dòng)化學(xué)報(bào),2014,40(12):2808?2814)
2 Allison B,Guthrie D,Guthrie L.Another look at the data sparsity problem.In:Proceedings of the 9th International Conference on Text,Speech,and Dialogue.Brno,Czech Republic:Springer,2006.327?334
3 Janiszek D,De Mori R,Bechet E.Data augmentation and language model adaptation.In:Proceedings of the 2001 IEEE International Conference on Acoustics,Speech,and Signal Processing.Salt Lake City,UT,USA:IEEE,2001.549?552
4 Ng T,Ostendorf M,Hwang M Y,Siu M,Bulyko I,Lei X.Web-data augmented language models for mandarin conversational speech recognition.In:Proceedings of the 2001 IEEE International Conference on Acoustics,Speech,and Signal Processing.Philadelphia,USA:IEEE,2005.589?592
5 Si Y J,Chen M Z,Zhang Q Q,Pan J L,Yan Y H.Block based language model for target domain adaptation towards web corpus.Journal of Computational Information Systems,2013,9(22):9139?9146
6 Sutskever I,Martens J,Hinton G.Generating text with recurrent neural networks.In:Proceedings of the 28th International Conference on Machine Learning.Bellevue,Washington,USA:IEEE,2011.1017?1024
7 Bowman S R,Vilnis L,Vinyals O,Dai A M,Jozefowicz R,Bengio S.Generating sentences from a continuous space.arXiv:1511.06349,2015.
8 Ranzato M,Chopra S,Auli M,Zaremba W.Sequence level training with recurrent neural networks.arXiv:1511.06732,2015.
9 Norouzi M,Bengio S,Chen Z F,Jaitly N,Schuster M,Wu Y H,et al.Reward augmented maximum likelihood for neural structured prediction.In:Proceedings of the 2016 Advances in Neural Information Processing Systems.Barcelona,Spain:NIPS,2016.1723?1731
10 Lamb A,Goyal A,Zhang Y,Zhang S Z,Courville A,Bengio Y.Professor forcing:a new algorithm for training recurrent networks.In:Proceedings of the 29th Conference on Neural Information Processing Systems.Barcelona,Spain:NIPS,2016.4601?4609
11 Goodfellow I J,Pouget-Abadie J,Mirza M,Xu B,Warde-Farley D,Ozair S,et al.Generative adversarial nets.In:Proceedings of the 27th International Conference on Neural Information Processing Systems.Montreal,Canada:NIPS,2014.2672?2680
12 Wang Kun-Feng,Gou Chao,Duan Yan-Jie,Lin Yi-Lun,Zheng Xin-Hu,Wang Fei-Yue.Generative adversarial networks:the state of the art and beyond.Acta Automatica Sinica,2017,43(3):321?332(王坤峰,茍超,段艷杰,林懿倫,鄭心湖,王飛躍.生成式對(duì)抗網(wǎng)絡(luò)GAN的研究進(jìn)展與展望.自動(dòng)化學(xué)報(bào),2017,43(3):321?332)
13 Kaelbling L P,Littman M L,Moore A W.Reinforcement learning:a survey.Journal of Arti ficial Intelligence Research,1996,4(1):237?285
14 Van Otterlo M,Wiering M.Reinforcement learning and Markov decision processes.Reinforcement Learning:Stateof-the-Art.Berlin,Germany:Springer,2012.3?42
15 Chen Xing-Guo,Yu Yang.Reinforcement learning and its application to the game of go.Acta Automatica Sinica,2016,42(5):685?695(陳興國(guó),俞揚(yáng).強(qiáng)化學(xué)習(xí)及其在電腦圍棋中的應(yīng)用.自動(dòng)化學(xué)報(bào),2016,42(5):685?695)
16 Chaslot G M J B,Winands M H M,Uiterwijk J W H M,Van Den Herik H J,Bouzy B.Progressive strategies for Monte-Carlo tree search.New Mathematics and Natural Computation,2008,4(3):343?357
17 Silver D,Huang A J,Maddison C J,Guez A,Sifre L,Van Den Driessche G,et al.Mastering the game of go with deep neural networks and tree search.Nature,2016,529(7587):484?489
18 Quinlan J R.Bagging,boosting,and C4.5.In:Proceddings of the 13th National Conference on Arti ficial Intelligence and the 8th Innovative Applications of Arti ficial Intelligence Conference.Portland,USA:AAAI,1996.725?730
19 Pascanu R,Mikolov T,Bengio Y.On the difficulty of training recurrent neural networks.In:Proceedings of the 30th International Conference on Machine Learning.Atlanta,USA:ACM,2013.III-1310?III-1318
20 Pascanu R,Mikolov T,Bengio Y.Understanding the exploding gradient problem.arXiv:1211.5063,2012.
21 Hochreiter S,Schmidhuber J.Long short-term memory.Neural Computation,1997,9(8):1735?1780
22 Sundermeyer M,Schlüter R,Ney H.LSTM neural networks for language modeling.In:Proceedings of the 13th Annual Conference of the International Speech Communication Association.Portland,USA:IEEE,2012.601?608
23 Cho K,Van Merrienboer B,Gulcehre C,Bahdanau D,Bougares F,Schwenk H,et al.Learning phrase representations using RNN encoder-decoder for statistical machine translation.arXiv:1406.1078,2014.
24 Bahdanau D,Cho K,Bengio Y.Neural machine translation by jointly learning to align and translate.arXiv:1409.0473,2014.
25 Vesely K,Ghoshal A,Burget L,Povey D.Sequencediscriminative training of deep neural networks.In:Proceedings of the 14th Annual Conference of the International Speech Communication Association.Lyon,France:IEEE,2013.2345?2349
26 Kim Y.Convolutional neural networks for sentence classi fication.arXiv:1408.5882,2014.
27 Lai S W,Xu L H,Liu K,Zhao J.Recurrent convolutional neural networks for text classi fication.In:Proceddings of the 29th AAAI Conference on Arti ficial Intelligence.Austin,USA:AAAI,2015.2267?2273
28 Zhang X,LeCun Y.Text understanding from scratch.arXiv:1502.01710,2015.
29 Mikolov T,Chen K,Corrado G,Dean J.Efficient estimation of word representations in vector space.arXiv:1301.3781,2013.
30 Srivastava R K,Gre ffK,Schmidhuber J.Highway networks.arXiv:1505.00387,2015.
31 Wang D,Zhang X W.THCHS-30:a free Chinese speech corpus.arXiv:1512.01882,2015.
32 Bu H,Du J Y,Na X Y,Wu B G,Zheng H.AIShell-1:an open-source mandarin speech corpus and a speech recognition baseline.arXiv:1709.05522,2017.
33 Povey D,Ghoshal A,Boulianne G,Burget L,Glembek O,Goel N,et al.The Kaldi speech recognition toolkit.In:Proceedings of the 2011 IEEE Workshop on Automatic Speech Recognition and Understanding.Hawaii,USA:IEEE,2011.1?4
34 Stolcke A.SRILM—an extensible language modeling toolkit.In:Proceedings of the 7th International Conference on Spoken Language Processing.Denver,USA:IEEE,2002.901?904
35 Abadi M,Agarwal A,Barham P,Brevdo E,Chen Z F,Citro C,et al.Tensor flow:large-scale machine learning on heterogeneous distributed systems.arXiv:1603.04467,2016.
36 Kingma D P,Ba J.Adam:a method for stochastic optimization.arXiv:1412.6980,2014.
37 Moore R C,Lewis W.Intelligent selection of language model training data.In:Proceedings of the 2010 ACL Conference Short Papers.Uppsala,Sweden:ACM,2010.220?224
38 Tüske Z,Irie K,Schlüter R,Ney H.Investigation on loglinear interpolation of multi-domain neural network language model.In:Proceedings of the 2016 IEEE International Conference on Acoustics,Speech,and Signal Processing.Shanghai,China:IEEE,2016.6005?6009
39 Le Q,Mikolov T.Distributed representations of sentences and documents.In:Proceedings of the 31st International Conference on Machine Learning.Beijing,China:IEEE,2014.1017?1024
40 Van Der Maaten L.Accelerating t-SNE using tree-based algorithms.The Journal of Machine Learning Research,2014,15(1):3221?3245