999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度神經網絡的語音識別研究

2016-09-20 07:22:28黃威石佳影四川大學軟件學院成都610065
現代計算機 2016年7期
關鍵詞:深度模型

黃威,石佳影(四川大學軟件學院,成都610065)

基于深度神經網絡的語音識別研究

黃威,石佳影
(四川大學軟件學院,成都610065)

0 引言

現在普通話與漢語方言的語音識別,大部分仍使用隱馬爾可夫模型(Hidden Markov model,HMM)作為語音識別系統的基本模型來建模語音信號的時序性。但如果考慮了普通話及漢語方言的上下文發音的特點后,其模型參數無法得到充分的訓練,語音識別率會受到較大影響[1]。而本文提到的深度神經網絡,是一種含有多個隱含層的前向神經網絡即深度神經網絡(Deep nerual network,DNN),每一層都單獨訓練(包括最后一層的分類器),使得我們可以在有限的訓練數據下可以使模型參數得到更加充分的訓練。

盡管DNN在英文的語音識別任務上的優勢得到了相關的證明,但是DNN在普通話尤其是漢語方言連續語音識別中的應用尚未深入研究。本文運用DNN模型的思想,研究將深度神經網絡應用到普通話與四川話方言語音識別的聲學建模當中,成功搭建了普通話與四川話方言的DNN模型語音識別系統,整理了訓練和測試相應數據,設計并實現了模型需要使用到的一些腳本,如訓練腳本、解碼腳本等;以三音素HMM為基本模型,通過對普通話與四川話方言DNN模型訓練和測試,以及一系列模型優化措施,得到最終DNN訓練模型。本研究針對不同語料庫進行相應的模型測試,并對結果進行對比及分析。

1 深度神經網絡模型(DNN)

深度神經網絡是一個多隱含層感知器,對于相鄰的兩層節之點間采用全連通,整個網絡采用無監督學習的預訓練方來生成初始權重,最后一個隱含層和輸出層之間使用Softmax方法[1],再通過BP算法來調整整個網絡的參數。其結構如圖1所示:

圖1 深度神經網絡

深度神經網絡屬于深度學習模型中的一種,而深度學習模型的優點主要體現在:①著重強調了模型的深度結構;②突出了大數據對于完善復雜模型的重要性。當訓練數據具備足夠的多樣性和復雜性,深度模型能真正展現對海量數據強大的建模能力;③強調了特征學習的思想。數據在原始特征空間的表示,經過網絡的多次非線性映射變換到新的特征空間,最終使得分類或預測變得更簡單[2]。

而將DNN深度神經網絡應用于語音識別,其具體做法構建基于DNN-HMM混合的聲學模型中。其中DNN的作用在于替換原先的GMM模型,估算HMM狀態的后驗概率。對于給定時刻t的特征觀察矢量Ovt,在DNN中釆用Softmax函數計算HMM狀態出現的概率,狀態為:

其中,avt(s)為輸出層狀態s的激活概率(輸出值):

式(2)中,P(s)表示訓練數據中狀態s出現的先驗概率。

網絡釆用BP算法,通過最優化給定的目標函數來完成訓練。

對于深度神經網絡,通常以交叉熵作為目標函數,優化過程通過隨機梯度下降算法實現。具體而言,對于如語音識別這種多狀態分類問題,以對數概率的負值作為目標函數,如式(3)所示:

式(3)中,sut是1時刻的狀態。FCE狀態標簽與預測狀態分布y(s)之間的交叉熵。目標函數與輸出層節點s輸入avt(s)之間的梯度記為:

式(4)δs;sut是克羅內克函數,滿足:

由式(5),根據BP反向傳播算法,調節網絡參數。

結合了深度神經網絡的DNN-HMM聲學模型,相比于單單基于三音素的隱馬爾可夫模型構造的聲學模型而言,其優勢在于:①使用DNN估計HMM的狀態的后驗概率分布不需要對語音數據分布進行假設;②DNN的輸入特征可以是多種特征的融合,包括離散或者連續的;③DNN可以利用相鄰的語音幀所包含的結構信息。在文獻[3]中的研究表明,DNN的性能提升主要是歸功于第3點。

2 Kaldi語音識別系統開發平臺

Kaldi語音識別系統開發平臺是由Daniel Povey[4]等人開發的語音識別系統,主要由C++語言實現,可以在Linux、Unix、Windows環境下編譯。Kaldi的官方網站是http://kaldi.sourceforge.net。

Kaldi主要依賴外部的兩個開源庫,OpenFst和BLAS/LAPACK。模塊的兩部分通過Decodable接口連接。Kaldi將各個模型的訓練集成在腳本當中,通過腳本來構造語音識別系統,其系統框架圖如圖2所示。

圖2 Kaldi語音識別系統開發平臺

安裝好Kaldi之后,cd/home/kaldi/kaldi-trunk;ls顯示該目錄的文件內容見表一,其中比較重要的文件夾是“src”、“tools”。

“tools”文件夾是Kaldi所依賴的一些外部庫函數,有openfst和ATLAS。openfst是一個構建,組合,優化和搜索加權有限狀態器的庫,加權有限狀態轉換器是自動機,其每個轉換都應包含輸入標簽,輸出標簽和加權,有限狀受體通常是一組字符串;有限狀態轉換器是用來表示對字符串之間的轉換關系;權重用來表示特定過渡的成本。

“src”文件夾中的“configure”腳本負責設置Kaldi使用的庫,它在“src”目錄下創建“kaldi.mk”文件,通過此文件將合適的參數傳遞給編譯器。Kaldi.mk的內容設計到Kaldi所調用到外部數據庫安裝路徑。

表1 Kaldi文件夾

表2 egs文件夾

3 普通話及四川話方言DNN-HMM模型語音識別系統

3.1實驗數據語料庫

實驗普通話語料庫采用的是北京交通大學的泛在網絡與數字媒體實驗室的語音庫。語音庫包含23000句左右的訓練數據和500句測試數據。語音庫大約有40小時左右,每句話時長為5~10秒,發音內容覆蓋所有常用漢語音節。

實驗四川話方言語料庫是由1500條四川方言語音(涵蓋四川方言中成渝片及灌赤片)構成。其中80%數據來源為四川地區本土風情影視作品,20%數據來源為10個說話人(男性:5人,女性:5人)。需要注意的是四川方言聲母比普通話要少,還有韻母化現象,只有舌尖前音,沒有舌尖后音,普通話與四川方言在發音方式上還是存在較大的區別,所以在識別單元設置中采用不同的方法。

3.2識別單元設置

在語音學和音韻學中,普通話及漢語各個方言跟英文等其他語言存在著較大的差異,我們需要根據普通話及漢語方言的發音特點來設計聲學模型識別單元來使得實驗結果有著更好的準確性。在音韻學中,音節是最自然的語音單位,而音素是最小的語音單位,在普通話中對應的是聲母和韻母,另外,為了能更好地表示普通話的發音特點,普通話的識別單元中還添加包含了聲調的信息[5]。而在四川話方言中,僅僅是用聲韻母來構造對應的識別單元。其兩者的識別單元設置如表3所示。

表3 普通話與四川話方言識別單元設置

注:表中比如A(1-5)代表韻母A的5個帶音調單元A1,A2,A3,A4,A5,5為輕聲調

3.3數據準備

在使用Kaldi進行語音識別訓練之前,需要準備相應的訓練數據與語言數據,本實驗用到的普通話和四川話方言的語料庫原始音頻文件分別放在msr與scdsr對應的data文件夾中。

準備好原始音頻數據之后,我們需要建立相對應的聲學模型和語言模型,在data/train下手動創建text、utt2spk、wav.scp三個文件,其中text文本文件包含著每一位說話者的語音內容,wav.scp文件包含了提取原始wav格式音頻文件的命令,utt2spk文件用來指明某一段發音是哪由一個說話人發出的。接著運行run.sh腳本自動生成剩余的訓練數據文件,完成訓練數據的準備。

接著在data/lang下運行run.sh腳本自動生成的相應的語言數據。其中,phones是一個文件夾,其目錄下

本文的主要工作是在egs目錄下新建的msr/s5和scdsr/s5中完成,其中主要的文件內容為:包含許多關于音素集的信息,分別以.csl、.int和.txt三種格式保存同一類信息;phones.txt和words.txt是兩個符合OpenFst格式定義的符號表(symbol-table)文件,用于在音素符號的文本形式和數字形式之間的轉換;文件L.fst與Ldisambig.fst是發音字典;文件oov.text里面只包含一個詞sil,在訓練過程中所有詞匯表以外的詞都會被映射為這個詞;文件topo指明了實驗中所用的隱馬爾可夫模型拓撲結構信息。最后,運行prepare-lang.sh腳本自動生成剩余的語言數據文件,完成語言數據的準備,具體流程如圖3所示。

圖3 數據準備

3.4模型訓練

Kaldi調用shell和perl腳本來實現所有的模型訓練和解碼過程。Kaldi可以進行基礎的隱馬爾可夫模型訓練,以及在隱馬爾可夫模型為基礎模型上進行深度神經網絡的訓練,還可以進行許多優化算法的訓練。本文實驗首先進行了基本的GMM-HMM模型訓練,然后用經過線性區分分析后的訓練結果作為DNN訓練的基礎,構造DNN-HMM模型,最后將兩個模型分別對普通話與四川話方言語料庫進行語音識別處理,對性能結果進行比較分析從而得出結論。其中具體涉及到的主要腳本如表4所示:

(1)GMM-HMM模型訓練

首先,對準備好的輸入語音數據進行特征提取,作為要訓練的聲學模型的輸入,調用trainmono.sh腳本訓練HMM的單音素模型。訓練完單音素模型之后,我們考慮在單音素左右音素的影響,即采用ABC這種形式來表示三音素模型,中間為當前狀態,前后為上下文,調用traindeltas.sh腳本來訓練基于三音素的隱馬爾可夫模型,聲學模型加入三音素后,使得模型可以更加細化,識別性能提升。

表4 訓練腳本

三音素隱馬爾可夫模型訓練完成之后,接著對其進行優化,例如線性判別特征分析(LDA)和最大相似度線性特征轉換(MLLT)。調用trainsat.sh腳本對三音素聲學模型進行發音自適應歸一化訓練(SAT)。

實驗中GMM-HMM訓練過程如表5所示:

表5 基礎模型訓練過程

(2)DNN-HMM模型訓練

實驗中,使用強制對齊后并經過LDA+MLLT+SAT優化后的三音素隱馬爾可夫模型作為DNN訓練的基礎模型。Kaldi中提供了兩種深度神經網絡訓練方法,一種是Karel Vesely版本,另一種為Daniel Povey版本,本實驗采用的是前者,其構造的深度神經網絡共有6個隱藏層,1個輸入層和1個輸出層。6個隱藏層各為1024節點。然后我們需要選出普通話與四川話方言語料庫中的各500句話作為測試集。

DNN模型訓練主要分為三個階段:

①基于基于RBMS(受限波爾滋蔓機),對每一層進行預訓練;

②每一幀進行交叉熵訓練;

③用格子框架通過sMBR準則 (狀態的最小貝葉斯風險),對序列的區分性訓練。

在預訓練中,我們將句子級別和幀級別上分別置亂來模仿從訓練數據分布里提取樣本,每一個Minibatch更新一次。在交叉熵訓練中,用BP算法對DNN進行訓練,由DNN計算得到的預估概率分布之間的交叉熵作為目標函數,在通過Mini-batch隨機梯度下降算法來將每一幀分成三音素狀態來訓練,默認的學習率為0.008,,Mini-batch的大小為256。模型學習率在最初的幾次迭代中是保持不變的,當訓練的準確率趨于穩定時(這意味著繼續訓練不會有性能的提升),我們將學習率減半,直到它再次停止提高。

每訓練完一個模型之后都需要用mkgraph.sh腳本來建立模型相對應的識別網絡,以方便以后對解碼過程,調用decode.sh腳本進行解碼之后,輸出的結果為詞錯誤率(WER),也就是我們需要對其進行分析的測試結果。

在scdsr/exp中包含了Mono,Monoali,Tri1,Tri1ali,Tri2b,Tri2bali,Tri3b,Tri3bali,dnn4pretraindbn等模型文件夾,其中各個模型目錄下包含了該模型的詳細信息,例如graph識別網絡文件夾,log日志文件夾,decode解碼部分文件夾等以及對應的final.mdl模型。

3.5實驗結果及分析

采用上述步驟訓練出來的GMM-HMM與DNNHMM模型,對普通話與四川話方言語料庫分別進行語音識別性能測試,實驗結果用詞錯率WER(Word Error Rate)作為指標來統計結果,詞錯率反映了語音識別性能的高低,詞錯率越低說明語音識別效果越好,模型越好。實驗結果如表六和表7所示:

表6 普通話語料庫實驗結果

表7 四川話方言語料庫實驗結果

實驗結果表明:

(1)在普通話語料庫中,DNN-HMM的聲學建模方法相比于傳統GMM-HMM聲學建模方法,前者的詞錯率比后者降低了11.12%,相對下降率為50.7%,甚至比優化后的GMM-HMM聲學模型還要降低1.72%,相對下降率為13.72%,這說明在普通話語料庫中,DNN模型比傳統的基于三音素的隱馬爾可夫模型性能更優,對語音數據有著更好的識別能力。

(2)在四川話方言語料庫中,DNN-HMM的聲學建模方法相比于傳統GMM-HMM聲學建模方法,前者的詞錯率比后者略有降低,只降低了0.77%,相對下降率僅為5.07%,其識別性能比經過優化后的GMM-HMM聲學模型要差。

實驗結果分析:

DNN-HMM在四川話方言語料庫中語音識別性能不佳的原因可能有:

(1)相比于普通話語料庫的23000條音頻文件,四川話方言語料庫總共1500條音頻文件,整體語音數據量太少。而數據量對于DNN訓練而言,有著較為重要的影響,從而導致了DNN模型最后的識別效果較差。

(2)相比于普通話語料庫的標準音頻文件(這里的“標準”是指在較好的錄制條件下的錄音),四川話方言語料庫整體語音數據質量并不高,由于其大多數音頻文件剪輯于影視作品,其背景噪音較為嚴重,對語音識別的訓練造成了較為大的影響,也導致了DNN模型最后的識別結果不理想。

(3)相比于普通話的識別設置單元,四川話方言的識別設置單元并不完全涵蓋四川話方言發音,僅僅只是包含了韻母與聲母,沒有像在普通話的識別設置單元中加入聲調,導致最后的DNN模型識別結果較差。

4 結語

深度神經網絡模型相對于傳統的基于三音素的隱馬科夫模型,對海量復雜數據有著較好的建模能力,在識別單元設置合理的情況下,能夠對海量復雜的數據進行充分的訓練,可以獲得更好的語音識別效果。本文以Kaldi為識別平臺,以隱馬爾可夫模型為基本模型,進行模型優化訓練,最后成功搭建了漢語及四川話方言的深度神經網絡模型,并對相關的普通話及四川話方言語料庫分別進行模型測試。本實驗測試中,深度神經網絡在不同語料庫中的語音識別性能有所差異。對于普通話的語音識別,基于三音素的隱馬爾可夫模型的WER為21.93%,優化后的三音素模型的WER為12.53%,最后得到的DNN模型的WER為10.81%。使用DNN模型后,相比基于三音素的隱馬爾可夫模型,其詞錯率降低了11.12%,相對下降率為50.7%。而對四川話方言的語音識別,深度神經網絡模型的語音識別效果近似于隱馬爾可夫模型,鑒于本文的四川話方言語料庫有限,數據質量不高,識別單元設置不合理,后續可以更正識別單元,添加大量的高質量數據,進行更好的深度神經網絡的構造與訓練。

[1]其米克·巴特西,黃浩,王羨慧.基于深度神經網絡的維吾爾語語音識別[J].計算機工程與設計,2015(8):2239-2244.

[2]Li J,Yu D,Huang J T,et al.Improving Wideband Speech Recognition Using Mixed-Bandwidth Training Data in CD-DNN-HMM[J]. IEEE Workshop on Spoken Language Technology,2012,8537(11):131-136.

[3]余凱,賈磊,陳雨強,等.深度學習的昨天、今天和明天[J].計算機研究與發展,2013,50(9):1799-1804.

[4]Pan J,Liu C,Wang Z,et al.Investigation of Deep Neural Networks(DNN)for Large Vocabulary Continuous Speech Recognition:Why DNN Surpasses GMMS in Acoustic Modeling[J].IEEE,2012,7196(8):301-305.

[5]Povey D,Burget L,Agarwal M,et al.The Subspace Gaussian Mixture Model—A Structured Model for Speech Recognition[J].Computer Speech&Language,2011,25(2):404–439.

[5]張德良.深度神經網絡在中文語音識別系統中的實現[D].北京交通大學,2015.

Deep Neural Network;Speech Recognition;Hidden Markov Model

Research on Speech Recognition Based on Deep Neural Network

HUANG Wei,SHI Jia-yin
(College of Software Engineering,Sichuan University,Chengdu 610065)

1007-1423(2016)07-0020-06

10.3969/j.issn.1007-1423.2016.07.005

黃威(1995-),男,浙江溫州人,本科,研究方向為機器智能

石佳影(1995-),女,河北唐山人,本科,研究方向為機器智能2016-01-15

2016-02-19

目前,普通話與漢語方言語音識別主要采用的是三音素的隱馬爾可夫模型,其語音識別率并不是很高。以Kaldi為測試平臺,通過訓練得到一個含有6個隱層的深度神經網絡模型,利用該模型對普通話與四川話方言分別進行語音識別。實驗結果表明,深度神經網絡在普通話語料庫中的語音識別性能要優于三音素的隱馬爾可夫模型,詞錯率降低11.2%。而在四川話方言語料庫訓練集上的識別率與三音素的隱馬爾可夫模型相當。

深度神經網絡;語音識別;隱馬爾可夫

Currently mandarin and Chinese dialect speech recognition are mainly achieved by using the triphone hidden Markov model,however,the speech recognition rate is not very well.Based on a neural network containing six hidden layers which is trained by the Kaldi platform,and uses the model for the mandarin and Sichuan dialect recognition.The experimental results show that the speech recognition performance is improved in the DNN model compared to that using the HMM triphone model in the mandarin corpus,which reduces the word error rate by 11.2%.But the performance based on DNN model is similar to that using the HMM triphone model in Sichuan Dialect corpus.

猜你喜歡
深度模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
深度觀察
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 成人在线观看一区| 国产一级二级在线观看| 亚洲日韩AV无码一区二区三区人| 成人精品区| 国产高潮视频在线观看| 国产欧美视频综合二区| 国产av无码日韩av无码网站 | 欧美专区在线观看| 国产成人无码Av在线播放无广告| 久久国产精品娇妻素人| 欧美视频免费一区二区三区| 黄色网在线| 毛片网站观看| 久久99国产乱子伦精品免| 成人在线第一页| 波多野结衣AV无码久久一区| 五月婷婷伊人网| 亚洲无码高清免费视频亚洲| 成人在线综合| 欧美三级视频在线播放| 亚洲欧洲日韩国产综合在线二区| 999国产精品| 色老二精品视频在线观看| 67194亚洲无码| 午夜啪啪福利| 99无码中文字幕视频| 亚洲天堂成人在线观看| 一级做a爰片久久毛片毛片| 亚洲另类第一页| 色综合日本| 久久精品人人做人人综合试看| 国产www网站| 欧美成人午夜影院| 国产激爽爽爽大片在线观看| 五月激情综合网| 成人精品视频一区二区在线| 欧美亚洲综合免费精品高清在线观看| 免费人成视网站在线不卡| 色亚洲成人| 综合久久久久久久综合网| 五月天香蕉视频国产亚| 国产精品伦视频观看免费| 欧美a在线看| 国产jizz| 天天色天天综合网| 久久天天躁狠狠躁夜夜躁| 色国产视频| a毛片在线免费观看| 国产v精品成人免费视频71pao| 97se亚洲综合在线韩国专区福利| 88av在线| 国产va视频| 久久性妇女精品免费| 精品无码视频在线观看| 精品视频一区二区三区在线播| 理论片一区| 久久99精品久久久久纯品| 国产精品亚洲天堂| 蜜芽国产尤物av尤物在线看| 国产免费观看av大片的网站| 亚洲中文字幕无码mv| 国产精欧美一区二区三区| 国产剧情无码视频在线观看| 国产一级毛片高清完整视频版| 久久国产精品夜色| 亚洲人网站| 国产成年女人特黄特色毛片免| 欧美特黄一免在线观看| 久久久精品无码一区二区三区| 久青草国产高清在线视频| 无码人中文字幕| 任我操在线视频| 国产人免费人成免费视频| 99999久久久久久亚洲| 午夜一级做a爰片久久毛片| 国产精品制服| 伊人精品视频免费在线| 亚洲精品无码久久毛片波多野吉| 欧美成人综合视频| 国产成人免费高清AⅤ| 国产精品99一区不卡| www亚洲天堂|