趙淑芳, 董小雨
(太原科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,山西 太原 030024)
N-Gram語言模型是一種簡單有效的統(tǒng)計語言模型,因其簡單、易用、高效,在實際應(yīng)用中一直發(fā)揮重要作用.N-Gram語言模型將詞看作離散的符號,容易出現(xiàn)數(shù)據(jù)稀疏問題.隨著N-Gram語言模型階數(shù)的增長,需要估計的參數(shù)量會急劇增加并存在數(shù)據(jù)稀疏問題,無法有效利用長距離的上下文信息,且無法捕捉詞與詞之間的相似性[1].
基于神經(jīng)網(wǎng)絡(luò)語言模型的連續(xù)空間建模方法首先基于分布式假設(shè)條件,通過投影矩陣將離散的詞映射到連續(xù)空間,形成相應(yīng)的詞矢量(word embedding)特征,以此為基礎(chǔ),將分布式的上下文矢量信息輸入到神經(jīng)網(wǎng)絡(luò),并在輸出層預(yù)測下一個詞出現(xiàn)的概率[2-3].
遞歸神經(jīng)網(wǎng)絡(luò)語言模型輸入層不僅包含了當前輸入,而且加入了當前詞的全歷史詞信息.遞歸神經(jīng)網(wǎng)絡(luò)語言模型理論上可以考慮無限個歷史詞信息,但是隨著不斷引入新詞,存在記憶衰退嚴重問題,針對這一問題,有學(xué)者提出了基于LSTM結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)語言模型.LSTM-DNN語言模型在隱藏層引入了LSTM結(jié)構(gòu)單元[4-5],這種結(jié)構(gòu)單元包含將信息儲存較久的存儲單元,這個記憶單元被一些特殊的門限保護[6-7],可以選擇性地記憶網(wǎng)絡(luò)誤差回傳參數(shù),對歷史信息有良好的記憶功能.
由于LSTM中當前CEC的狀態(tài)不能影響到輸出門的最后輸出信息,所以筆者增加從當前CEC到輸出門的連接更好地控制每一內(nèi)存單元輸出多少信息,將遺忘門和輸入門合成一個單一的更新門.信息通過輸入門和遺忘門將過去與現(xiàn)在的記憶進行合并,長短時記憶神經(jīng)網(wǎng)絡(luò)可以選擇遺忘之前累積的信息,這樣改進的LSTM模型可以學(xué)到長時期的歷史信息,具有更強的魯棒性.筆者采用基于改進的LSTM方法,解決了LSTM方法的缺點,在TIMIT數(shù)據(jù)集上,錯誤率降低了5%.
人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)是一種應(yīng)用類似大腦神經(jīng)突觸鏈接的結(jié)構(gòu)進行信息處理的數(shù)學(xué)模型,由大量的節(jié)點(神經(jīng)元)和相互之間的加權(quán)連接構(gòu)成.每個節(jié)點代表一種特定的輸出函數(shù),稱為激勵函數(shù)(activation function)[8-9].每兩個節(jié)點間的連接都代表一個通過該連接信號的加權(quán)值,稱為權(quán)重(weight),這相當于神經(jīng)網(wǎng)絡(luò)的記憶.網(wǎng)絡(luò)的輸出則根據(jù)網(wǎng)絡(luò)的連接方式、權(quán)重值和激勵函數(shù)的不同而不同.
人工神經(jīng)網(wǎng)絡(luò)特別適合因果關(guān)系復(fù)雜的非確定性推理、判斷、識別和分類等問題.可以通過預(yù)先提供的一批相互對應(yīng)的輸入輸出數(shù)據(jù),分析掌握兩者潛在的規(guī)律,最終根據(jù)這些規(guī)律,用新的輸入數(shù)據(jù)來推算輸出結(jié)果[10].人工神經(jīng)元是一個多輸入/單輸出的非線性元件,其模型如圖1所示.
圖1 人工神經(jīng)元模型Fig.1 Artificial neuron model
相比前饋型神經(jīng)網(wǎng)絡(luò)DNN,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)在隱層上增加了一個反饋連接,可以通過循環(huán)反饋連接看到前面所有時刻的信息,RNN通過反饋連接將之前信息的記憶保留在中間的隱藏節(jié)點中,影響網(wǎng)絡(luò)的輸出[11].在傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)中,參數(shù)訓(xùn)練使用隨時間進行反向傳播(backpropagation through time,BPTT)算法,假設(shè)循環(huán)神經(jīng)網(wǎng)絡(luò)在每個時刻t都有一個監(jiān)督信息,損失為Jt,則整個序列的損失為:
(1)
損失J關(guān)于U的梯度可以用鏈式法則得到,
(2)
定義
γ=‖UTdiag(f′(hi-1))‖.
(3)
公式(3)即為γt-k,若γ<1,當(t-k)→∞時,γt-k→0會出現(xiàn)梯度消失.當傳播的時間比較長時,網(wǎng)絡(luò)權(quán)重更新緩慢,參數(shù)訓(xùn)練時梯度需要隨著時間進行反向傳播,存在梯度爆炸和消失問題,無法體現(xiàn)RNN的長期記憶效果,因此需要一個存儲單元來存儲記憶,LSTM模型由此被提出.
長短時記憶網(wǎng)絡(luò)(LSTM network)又稱長短時記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM RNN),在深度學(xué)習(xí)中使用比較廣泛.
(1)在長短時記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory neural network,LSTM)中,引入一組稱為記憶單元(memory units)的循環(huán)連接子網(wǎng)絡(luò)來替換傳統(tǒng)網(wǎng)絡(luò)中的隱層節(jié)點.用一個記憶細胞來進行線性的反饋傳遞.
(2)引入門機制(gating mechanism)控制信息的累積速度,提供對記憶細胞的寫、讀和重置操作,遺忘門ft控制每一個內(nèi)存單元需要遺忘多少信息,用來選擇忘記過去某些信息[12].輸入門it控制每一個內(nèi)存單元加入多少新的信息,用來記憶現(xiàn)在的某些信息.輸出門Ot控制每一個內(nèi)存單元輸出了多少信息[13].
信息通過輸入門和記憶門將過去與現(xiàn)在的記憶進行合并,輸出門最后輸出信息.LSTM通過“控制門”的結(jié)構(gòu)來去除或者增加信息到細胞狀態(tài)[14],讓信息選擇式通過.長短時記憶神經(jīng)網(wǎng)絡(luò)可以選擇遺忘之前累積的信息,這樣LSTM模型可以學(xué)到長時期的歷史信息.
在t時刻,記憶單元Ct記錄了到當前時刻為止的所有歷史信息,并受3個“門”控制:輸入門it,遺忘門ft和輸出門Ot.3個門的元素值在[0,1]之間.在t時刻LSTM的更新方式如下:
it=σ(Wixt+Uiht-1+Vict-1),
(4)
ft=σ(Wfxt+Ufht-1+Vfct-1),
(5)
Ot=σ(Woxt+Ufht-1+Vfct-1),
(6)
(7)
(8)
ht=OtΘtan h(Ct).
(9)
標準長短時記憶網(wǎng)絡(luò)就是一種包含許多擴展記憶塊的循環(huán)神經(jīng)網(wǎng)絡(luò)模型.長短時記憶網(wǎng)絡(luò)模型如圖2所示.
筆者在改進長短時記憶結(jié)構(gòu)的基礎(chǔ)上,將改進的結(jié)構(gòu)應(yīng)用于語音識別系統(tǒng)中,與基于LSTM模型的語音識別系統(tǒng)進行對比[15].
圖2 長短時記憶神經(jīng)網(wǎng)絡(luò)模型Fig.2 Neural network model for long and short duration memory
LSTM中,當前輸入信息的狀態(tài)不能影響輸出門的輸出信息,增加當前輸入門到輸出門的連接,更好地控制每一內(nèi)存單元輸出多少信息.
將遺忘門和輸入門合成了一個單一的更新門,耦合遺忘和輸入門限由之前的LSTM分開確定什么忘記、添加什么新的信息變?yōu)橐煌龀鰶Q定.在輸入的時候才進行遺忘,在遺忘某些信息時才將新值添加到狀態(tài)中[16].長短時記憶神經(jīng)網(wǎng)絡(luò)可以選擇遺忘之前累積的信息,這樣改進的LSTM模型可以學(xué)到長時期的歷史信息,具有更強的魯棒性.改進的長短時記憶神經(jīng)網(wǎng)絡(luò)模型LSTM如圖3所示.
圖3 改進的長短時記憶神經(jīng)網(wǎng)絡(luò)模型LSTMFig.3 Improved short duration memory neural network model LSTM
在t時刻LSTM的更新方式如下:
ft=σ(Wf·[ht-1,Xt]+bf),
(10)
Ot=σ(Wo[Ct,ht-1,Xt]+b0),
(11)
(12)
(13)
ht=OtΘtanh(Ct).
根據(jù)零件設(shè)計尺寸和標準公差表要求、多工序系統(tǒng)加工零件的設(shè)計規(guī)格,確定成本優(yōu)化模型的約束條件。該優(yōu)化模型為有約束非線性規(guī)劃問題,根據(jù)非線性優(yōu)化方法得到兩目標函數(shù)下的最小成本及相應(yīng)的零件質(zhì)量。比較成本大小和零件質(zhì)量加工精度,分析兩者比較的結(jié)果,得出帶檢測和無檢測環(huán)節(jié)多工序制造過程各自加工成本、制造質(zhì)量的特點。
(14)
改進的LSTM遞歸神經(jīng)網(wǎng)絡(luò)參數(shù)訓(xùn)練使用BPTT算法.
設(shè)在t時刻,網(wǎng)絡(luò)的輸入向量為x(t),隱含向量是h(t),網(wǎng)絡(luò)的輸出向量是o(t).用V表示輸入層與隱含層之間的連接權(quán)值,U表示隱含層與隱含層之間的連接權(quán)值,W表示隱含層與輸出層之間的連接權(quán)值,b和a分別表示隱含層和輸出層的偏置.
隨著時間t從1到T正向傳播,對第l個樣本在t時刻的隱含變量和輸出變量進行定義.在t=0時刻,定義隱含變量都為0,隨著時間的展開,更新樣本在t時刻的隱含變化量和輸出變量.
hl(t)=f(ul(t))=f(Vxl/(t)++Uhl(t-1)+b),
(1≤t≤T);
ol(t)=g(ul(t))=f(Whl(t)+a).
(16)
?l(vl(t))=(ot)-yl(t)·g′(vl(t)),
(17)
?l(ul(t))=[(W)T?l(vl(t))]·f′(ul(t)),
(18)
(19)
(20)
(21)
(22)
(23)
每次更新網(wǎng)絡(luò)中的所有權(quán)值和偏置.
在實驗中使用兩層的LSTM遞歸神經(jīng)網(wǎng)絡(luò)和改進的LSTM神經(jīng)網(wǎng)絡(luò),每層節(jié)點數(shù)為1 024,該LSTM遞歸神經(jīng)網(wǎng)絡(luò)模型參數(shù)數(shù)量為16.0 Million,在TIMIT數(shù)據(jù)集上進行實驗.輸入為36維的MFCC原始聲學(xué)特征.MFCC特征提取中幀長取256,窗函數(shù)使用漢明窗.使用動量梯度下降學(xué)習(xí)函數(shù),動量更新設(shè)置為0.5,時延第一層設(shè)置為-1,第二層設(shè)置為-2.在TIMIT數(shù)據(jù)集上將訓(xùn)練好的模型進行測試,如表1所示.基于改進LSTM遞歸神經(jīng)網(wǎng)絡(luò)語音識別系統(tǒng)的錯誤率TER為56.0%,與兩層的LSTM遞歸神經(jīng)網(wǎng)絡(luò)相比較降低了5.0%,表明改進的LSTM識別準確率顯著高于標準LSTM的準確率.
表1 基于改進LSTM遞歸神經(jīng)網(wǎng)絡(luò)語音識別系統(tǒng)Tab.1 A speech recognition system based on improved LSTM recurrent neural network
筆者設(shè)計的實驗中,對LSTM與改進的LSTM進行測試,比較不同迭代次數(shù)的LSTM和改進LSTM的準確率.迭代次數(shù)設(shè)置為1~10次,隨著迭代次數(shù)的增加,識別的準確率同時增加,改進的LSTM準確率高于LSTM的準確率.比較不同迭代次數(shù)的LSTM和改進LSTM的準確率的實驗結(jié)果如圖4所示.
圖4 比較不同迭代次數(shù)的LSTM和改進LSTM的準確率Fig.4 Compare the LSTM of different iterations and the accuracy of the improved LSTM
圖5 在有噪聲和無噪聲環(huán)境中對標準的LSTM進行測試的識別準確率Fig.5 identification accuracy of test for standard LSTM in a noisy and noiseless environment
在有噪聲和無噪聲環(huán)境中對標準的LSTM進行測試,隨著迭代次數(shù)的增加,識別準確率上升,在無噪聲環(huán)境中測試標準的LSTM的準確率普遍高于在有噪聲環(huán)境中測試的準確率.在有噪聲和無噪聲環(huán)境中對標準的LSTM進行測試的識別準確率如圖5所示,結(jié)果表明改進的LSTM識別錯誤率較標準的LSTM識別錯誤率降低了5%.
在有噪聲和無噪聲環(huán)境中對改進的LSTM進行測試,隨著迭代次數(shù)的增加,識別的準確率上升,在無噪聲環(huán)境中測試改進的LSTM的準確率普遍高于在有噪聲環(huán)境中測試的準確率.在有噪聲和無噪聲環(huán)境中對改進的LSTM進行測試的識別準確率如圖6所示.
圖6 在有噪聲和無噪聲環(huán)境中對改進的LSTM進行測試的識別準確率Fig.6 identification accuracy of test for improved LSTM in a noisy and noiseless environment
提出了基于改進的LSTM遞歸神經(jīng)網(wǎng)絡(luò)系統(tǒng),增加從當前CEC到輸出門的連接,更好地控制每一內(nèi)存單元輸出多少信息,將遺忘門和輸入門合成了一個單一的更新門.信息通過輸入門和遺忘門將過去與現(xiàn)在的記憶進行合并,長短時記憶神經(jīng)網(wǎng)絡(luò)可以選擇遺忘之前累積的信息,這樣改進的LSTM模型可以學(xué)到長時期的歷史信息,具有更強的魯棒性.采用基于改進的LSTM方法,在TIMIT數(shù)據(jù)集上進行實驗.基于改進的LSTM遞歸神經(jīng)網(wǎng)絡(luò)系統(tǒng)有效地提升了識別率,提高了語音識別系統(tǒng)的魯棒性.