日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习在语音识别中的声学模型以及语言模型的应用

發布時間:2025/3/8 pytorch 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习在语音识别中的声学模型以及语言模型的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ?過去 3 年,深度學習在各個領域取得較大突破,比如計算機視覺領域的物體識別、場景分類,語音分析等,并且其技術推廣和應用的速度超過人們預期,比如 Google 的廣告系統已經開始使用深度學習盈利,Twitter 也通過深度學習改善App 圖片及視頻內容服務體驗。那具體何為深度學習呢?深度學習是怎么應用在上述的各個領域呢,下面結合自身在語音識別的若干年經驗,談談深度學習在語音識別中的具體應用。


0. 背景


? ? ? ? ?“深度學習”的概念在上個世紀便被提出,但Hinton、Lecun等人在2006年發表的論文讓“深度學習”重新煥發光彩,并使得相關的學術成果在實際應用中表現良好。它的靈感來自對人腦神經的研究,因此也稱為深度神經網絡“DNN”。這里的“深度”并非指算法有內涵,而是指神經網絡層數多,因此也稱為多層結構學習算法(這幾種命名不完全對等,具體的差別涉及到學派)。實際中的“深度神經網絡”算法與大腦神經結構差別極大,因此深度神經網絡被稱為端到端的機器學習算法或者多層聯結算法或許更好些(聯結主義流派的說法)。

? ? ? ? ? ?基于深度神經網絡算法的重大影響工作的出現,是在2012年之后。比如Krizhevsky、Hinton等用深度學習大幅度提高了圖片分類的準確率,奠定了圖像分類模型“AlexNet”的地位;Dahl等大幅度提升了語音識別的準確率。

? ? ? ? ? ? 聲學模型以及語言模型就像人的左右大腦一樣,沒有他們,語音識別系統就是一個空殼,毫無作用。


1. 深度學習與AM

? ? ?1.1 深度學習在AM中的應用與現狀


? ? ? ? ?傳統基于HMM的hybrid框架,例如:GMM-HMM,CD-DNN-HMM依然是工業界應用的主流技術,并且各種訓練算法以及工具都很成熟,例HTK,Kaldi,Sphinx,并且在很多工業界都有應用。

? ? ? ? ?目前學術研究的重點逐漸轉向End-To-End模型訓練。其中比較成熟的訓練方法是基于CTC準則的訓練。文獻報告結果顯示[21],LSTM-CTC模型識別準確度高于HMM-LSTM模型,識別速度更快。

基于Attention機制的End-To-End模型訓練成為研究熱點[22],也是Google,Microsoft等目前的研究熱點領域。但是目前據文獻報告,識別準確度差于LSTM-CTC模型。

? ? ? ? ?CNN技術重新得到重視[19][20],作為End-To-End中特征提取的重要一環。


? ? 1.2 基于FSMN的AM


? ? ? ? ?FSMN[18],是由科大訊飛提出的一種基于DNN改進型網絡結構。在DNN的隱藏層中引入延時結構,將t-N~t-1時刻的隱藏層歷史信息作為下一層的輸入,從而引入了語音序列的歷史信息,同時避免了RNN訓練BPTT帶來的問題,如:梯度消逝,計算復雜度高等。



圖1 FSMN結構

? ? ? ? ?這種結構的設計是來源于Oppenheim的數字信號處理的部分[23],用無限長的脈沖響應濾波器(IIR)來模擬近似高階的有限脈沖響應濾波器(FIR)。因為RNN中的Recurrent層可以看作一階的IIR,它可以精確的被高階的FIR來近似模擬。在這種全連接的結構的基礎上再加上一些記憶單元,就如在FIR中延時單元一樣,這樣可以在前向計算的時候比純粹的RNN更加高效并穩定。正因為該記憶單元的存在,它可以將更長的上下文信息壓縮為一個固定長度的向量,這樣可以使模型能夠學到更多前后依賴的重要信息。


\

圖2 Recurrent layer 和 IIR

? ? ? ? ?FSMN另外一點創新的地方在于引入了Attention機制。核心思想在于模仿人類的思考行為,因為人類在思考問題的時候,一般會先考慮他經歷過的,或者聽過的事,另外聰明的人類也會根據已有的經驗來預測未來將要發生的事,結合這兩者,作出的決定將更加正確,更加有實效性。因此在FSMN中,也引入了Lookback以及Lookahead思想,但是兩者對當前的作用大小是不同的,因此需要計算二者的系數,這個系數就稱為Attention Coefficient。具體公式如下:


? ? ? ? ? ? ? ? ?


其中,

是Attention函數的參數,詳細信息可以參考該論文[18],另外Recurrent的計算公式如下:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

其中N1和N2分別表示Lookback以及Lookahead的階數,

表示attention系數,可以很清晰的看出,該層所學習到的內容由歷史以及將來組成。

訓練的過程,跟大多數NN一樣,都是SGD準則,使用mini-batch,同時用GPU加速,過程不在贅述。

實驗結果如下表所示:

? ? ? ? ?

表1 FSMN與DNN,LSTM的對比

其中基線DNN模型是根據論文[24][25]訓練得到的,整體依然采用的CD-DNN-HMM框架。在狀態對齊的訓練過程中,依然采用標準的GMM-HMM框架,MLE準則。預訓練依然采用RBM策略。在DNN訓練的過程中,依然采用CE準則,BP更新誤差,網絡結構是6x2048,輸入特征是FB,每幀123維,上下窗長為11,DNN1的激活函數是sigmoid,DNN2采用的是ReLU。

? ? ? ? ?另外LSTM模型是根據論文[25][26][27]訓練得到的,其中cell數為2048,projection節點數為512,輸入依然是123維的FB特征,延遲5幀輸出,BPTT為16,minibatch為64,另外BLSTM是雙向的模型,BLSTM比LSTM多了3個hidden層,以及2048個cell,minibatch改為16,其他都一致。

? ? ? ? ?FSMN模型,其中sFSMN表示scalar FSMN,vFSMN表示vectorized FSMN,sFSMN的hidden層數為6,每層2048個節點,激活函數為ReLU,輸入為123維FB特征,上下窗為3,vFSMN中多了lookback以及lookahead參數,試驗中設為50。

從實驗結果來看,vFSMN的結果最優,比BLSTM絕對好0.3個點,另外訓練的速度是BLSTM的3倍。


2. 深度學習與LM

? ? ?2.1 基于Recurrent Neural Network的LM


? ? ? ? ?在討論RnnLM之前,不得不提現在依然處于統治地位的Ngram模型,Ngram是基于馬爾科夫假設(Markov Assumption):下一個詞的出現僅依賴于它前面的一個或幾個詞。

假設下一個詞的出現依賴它前面的一個詞,則有:

p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1)=p(w1)p(w2|w1)p(w3|w2)...p(wn|wn-1)

假設下一個詞的出現依賴它前面的兩個詞,則有:

p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|wn-1,wn-2)

? ? ? ? 縱觀Ngram的歷史,主要在機器翻譯,語音識別,拼寫糾錯,自動文摘等方面應用的很廣泛,并取得了很好的效果,可是它本身也有一定的缺陷,比如數據稀疏性問題不能很好的解決,折扣平滑不夠魯棒,另外一個是嚴格的基于N階的馬爾可夫假設,限制了對更長歷史的記憶。

RNN模型是將每個詞語映射到一個Compact Contiuous Vector Space里,并且使用Recurrent Connections 將過去更長時間的歷史連接起來,從而影響現在的輸出,這樣更貼近實際。

? ? ? ? RNN的結構一般是3層,輸入層,隱藏層和輸出層,其中輸入與輸出層的維數是和詞典里詞的個數是一致的,隱藏層一般根據實際需要,可以設置為512或1024等,有時為了加速,還加入了Class層,即根據輸入的詞語先預測該詞所屬的類,然后在預測在該類里面的詞的概率大小,這樣可以減少矩陣運算。在論文[1][2][3]中還提出了OOS Nodes也是為了減少矩陣運算量,加快迭代。具體結構如下圖所示:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖3 RNN 結構

? ? ? ? ?另外,在RNN訓練的過程中用到了BPTT算法[4],因為隱含層經過不斷的迭代,保留了N個隱含層的最新數據,根據微分鏈式法則,誤差需要一直傳遞下去 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖4 BPTT 迭代

另外誤差準則,論文[5]中提到的有Cross Entropy

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


Variance Regularisation

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


以及Noise Contrastive Estimation

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


? ? ? ? ?根據論文[5]的結果所示,從ppl以及wer的角度對比以上三種準則的效果如下表所示:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

表 2三種準則在50-best的rescoring的結果

? ? ? ? ?其中選用的訓練集為Fisher和AMI[8],總共大小14M,Rnn輸入層的節點數為33K,隱含層的節點數為512,輸出層為22K,選取常用詞匯構成,BPTT參數為5,即只往下傳遞5層,總共迭代10次。

另外與傳統的Ngram對比結果如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

表3 與ngram對比的結果

其中3g,4g是用相同的語料,采用通用的工具srilm來訓練的,CRNN是基于Class的RNNLM[6][7]工具訓練的,FRNN是采用CUED-RNNLM[5]工具訓練的,都是基于CE準則。從表格中可以看出,FRNN的效果最好。


2.2 基于Long Short Term Memory的LM


? ? ? ? ?從RNN的結構以及訓練的過程來看,RNN的確比Ngram看到的歷史更長,利用的信息更多,另外在輸入層與隱含層之間的矩陣通過訓練后,每一列可以表示one-hot對應的詞向量,利用詞向量的方式,可以減少數據稀疏性的影響,因為Ngram對未出現的詞語是用很硬的折扣平滑方式來分配概率的,這樣做存在缺陷。

? ? ? ? ?更加細致的分析RNN的結構時,會發現,對于任意的連續的輸入,都結合上一次的歷史,進行相同的操作,也就是不管遇到什么樣的詞(高頻的,低頻的,處于不同上下文的),都同樣的學習相關的歷史,而沒有選擇對它有重要影響的信息進行學習,導致沒有區分性與側重點,這跟我們生活很像,在生活中,我們并不是對待所有的事物,花同樣的精力去學習,肯定是有所側重,只會花更大的精力學習對自己有重要影響的事,即選擇性的學習。

? ? ? ? ?LSTM[9][13]即是在這樣的思想的驅動下出現的。它比RNN在結構上了多了幾個門的概念,即輸入門,輸出門,遺忘門,分別控制對應的輸入輸出,以及決定著是否需要遺忘,結構如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

圖5 LSTM 神經元結構圖


與RNN結構對比,即是將原始hidden層替換為LSTM層,整體結構如下圖所示:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖6 基于LSTM的RNN的整體結構


? ? ? ? ?由于多了幾個門,在訓練階段即多了幾個矩陣相乘的運輸量,而且是每次迭代都會產生這種運算量,跟上面的RNN訓練過程類似,但是在速度上慢了很多。

訓練過程中,權重的更新一般是按如下的公式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

F是目標方程,一般情況下是根據最大似然準則來設定的,

是學習率,可以在訓練的過程中控制學習的速率,從而控制模型收斂的速率。誤差反向傳播依然用的是BPTT[10][11][12]的算法,以及SGD的策略,與RNN一致。在這里面學習率調節,直接影響著模型的優劣,以及模型是否收斂等,根據論文[9]所示,在訓練開始階段,可以設置大一些,經過幾輪迭代,可以根據在驗證集上的ppl的變化幅度,來相應的降低學習率[14]。

? ? ? ?NN語言模型一般是用于Lattice Decoding和Rescoring,一般情況下,Lattice結構是由前綴樹構成,在Lattice上每個Node的輸出都是唯一的,才可以采用NN語言模型解碼,另外結合Beam Pruning,以及Acoustic LM look ahead等算法,詳細內容可以參考論文[9][15][16][17]

下表是論文[9]中實驗用到的數據集:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

表4 實驗用到的數據集


與Kneser-Ney-Smothed 5gram模型,以及rnnlm 工具訓練出的模型在Dev以及Test上的效果對比如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

表5 各個模型下的ppl的對比


其中LSTM 的Hidden層節點數是300,Class層為1000,整個詞典大小為200K,從結果中,可以看出,LSTM模型的效果要比RNN[17]好10個點以上。
? ? ? ?最后由于本人水平有限,在理解剖析論文細節時,難免有不恰當之處,望各位專家多多指正。


3. 參考文獻

[1] J. Park, X. Liu, M.J.F. Gales, and P.C. Woodland, “Improved neural network based language modelling and adaptation”,Proc. Interspeech, 2010.

[2] H. Le, I. Oparin, A. Allauzen, J. Gauvain, and F. Yvon, “Struc-tured output layer neural network language models for speech recognition”, IEEE Trans Audio, Speech, and Language Pro-cessing, vol. 21, no. 1, pp. 197–206, 2013.

[3] X. Liu, Y. Wang, X. Chen, M.J.F. Gales, and P.C. Woodland,“Efficient lattice rescoring using recurrent neural network lan-guage models”, Proc. ICASSP, 2014.

[4] D.E. Rumelhart, G.E. Hinton, and R.J. Williams, Learningrepresentations by back-propagating errors, MIT Press, Cam-bridge, MA, USA, 1988.

[5] T. Mikolov, S. Kombrink, L. Burget, J.H. Cernocky, and S.Khudanpur, “Cued-rnnlm—an open-source toolkit for efficient traning and evaluation of recurrent neural network language models”, Proc. ICASSP, 2011.

[6] T. Mikolov, S. Kombrink, A. Deoras, L. Burget, and J. Cer-nocky, “Recurrent neural network language modeling toolkit”,Proc. ASRU Workshop, 2011.

[7] X. Chen, Y. Wang, X. Liu, M.J.F. Gales, and P.C. Woodland,“Efficient training of recurrent neural network language mod-els using spliced sentence bunch”, Proc. Interspeech, 2014.

[8] I. McCowan, J. Carletta, W. Kraaij, S. Ashby, S. Bourban, M.Flynn, M. Guillemot, T. Hain, J. Kadlec, V. Karaiskos, M. Kro-nenthal, G. Lathoud, M. Lincoln, A. Lisowska, W. Post, D.Reidsma, and P. Wellner, “The AMI meeting corpus: A pre-announcement,” Machine learning for multimodal interaction,pp. 28–39. Springer, 2006.

[9] Martin Sundermeyer, Ralf Schl ?uter, Hermann Ney,“rwthlm – The RWTH Aachen University Neural Network Language Modeling Toolkit”, Proc. ICASSP, 2016.

[10] Rumelhart, D. E., Hinton, G. E., Williams, R. J., “Learning In-ternal Representations by Error Propagation”, in: McClelland,J. L., Rumelhart, D. E., PDP Research Group, The, “Parallel Dis-tributed Processing”, The MIT Press, 1986, pp. 318–362.

[11] Werbos, Paul J., “Backpropagation Through Time: What It Doesand How to Do It”, Proceedings of the IEEE 1990, Vol. 78, No. 10,pp.1550–1560

[12] Williams, R. J., Zipser, D., “Gradient-Based Learning Algorithmsfor Recurrent Networks and Their Computational Complexity”,in: Chauvain, Y., Rumelhart, D. E., “Backpropagation: The-ory, Architectures, and Applications”, Psychology Press, 1995,pp. 433–486

[13] Graves, A., Mohamed, G., Hinton, G., “Speech Recognition with Deep Recurrent Neural Networks”, Proc. of ICASSP 2013, pp.6645–6649

[14] Hinton, G., “Neural Networks for Machine Learning”, Online Course at coursera.org, Lecture 6, 2012

[15] Auli, M., Galley, M., Quirk, C., and Zweig, G., “Joint Lan-guage and Translation Modeling with Recurrent Neural Net-works”, Proc. of EMNLP 2013, pp. 1044–1054

[16] Sundermeyer, M., T ?uske, Z., Schl ?uter, R., and Ney, H., “Lattice Decoding and Rescoring with Long-Span Neural Network Lan-guage Models”, Interspeech 2014, accepted for publication

[17] Mikolov, T., Deoras, A., Kombrink, S., Burget, L., and Cˇernock ?y,J. H., “Empirical Evaluation and Combination of Advanced Lan-guage Modeling Techniques”, Proc. of Interspeech 2011, pp. 605–608

[18] Shiliang Zhang, Cong Liu, Hui Jiang, Si Wei, Lirong Dai, Yu Hu,” Feedforward Sequential Memory Networks: A New Structure to Learn Long-term Dependency”, arXiv:1512.08301v2 [cs.NE] 5 Jan 2016

[19]F. Seide, G. Li, and D. Yu, “Conversational speech transcription using context-dependent deep neural networks,” in Proc. Interspeech,2011.

[20]Kanishka Rao, etc., Flat Start Training of CD-CTC-SMBR LSTM RNN Acoustic Models, ICASSP 2016

[21]Tara Sainath,etc.,Convolutional, Long Short-Term Memory, Fully Connected Deep Neural Networks,ICASSP 2015

[22]Bahdanau, D., Cho, K., and Bengio, Y. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473, 2014.

[23]Oppenheim, A. V., Schafer, R. W., Buck, J. R., and et al. Discrete-time signal processing, volume 2. Prentice-hall Englewood Cliffs, 1989.

[24]Dahl, G.E., Yu, D., Deng, L., and Acero, A. Contextdependent pre-trained deep neural networks for largevocabulary speech recognition. IEEE Transactions on Audio, Speech, and Language Processing, 20(1):30–42, 2012.

[25] Hochreiter, S. and Schmidhuber, J. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.

[26] Sak, H., Senior, A., and Beaufays, F. Long short-term memory based recurrent neural network architectures for large vocabulary speech recognition. arXiv:1402.1128, 2014.

[27]Sainath, T.N., Mohamed, A., Kingsbury, B., and Ramabhadran, B. Deep convolutional neural networks for LVCSR. In Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 8614–8618, 2013.

總結

以上是生活随笔為你收集整理的深度学习在语音识别中的声学模型以及语言模型的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。