鄭 磊
(山東青年政治學院信息工程學院,山東濟南 250103)
隨著數(shù)字時代的到來,信息爆炸式增長,傳統(tǒng)的以文本形式保存信息的方式已經(jīng)不能滿足現(xiàn)代人對知識的需求[1]。聲音作為一種直接記錄和掩飾信息的媒介,在實時傳遞信息的同時,將情感傳遞給信息,對信息的記錄更有價值[2]。隨著多媒體文件的大量應(yīng)用,基于多媒體數(shù)據(jù)的信息檢索技術(shù)已成為信息學研究的熱點[3-5]。如何像檢索文本一樣快速、準確地從各種多媒體文檔中查找最重要的信息成為當前關(guān)注的熱點。
本文介紹了語音識別原理和相關(guān)算法。在此基礎(chǔ)上將深度神經(jīng)網(wǎng)絡(luò)算法(Deep Neural Network,DNN)應(yīng)用于大詞匯量連續(xù)識別系統(tǒng),建立基于深度神經(jīng)網(wǎng)絡(luò)的聲學模型關(guān)鍵詞檢測系統(tǒng)。在對比實驗中,將所提出的深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于構(gòu)建聲學模型,與傳統(tǒng)GMM-HMM 進行對比,深入分析了算法對識別系統(tǒng)性能的影響。
關(guān)鍵詞檢測技術(shù)起源于20 世紀70 年代,最早研究是基于“給定詞”概念。語音識別作為關(guān)鍵字檢索的一項關(guān)鍵技術(shù)受到廣泛關(guān)注。2006 年,Mustafamk 等[6]提出深度學習概念。微軟研究人員將受限的Boltzmann machime(REM)和深度信念網(wǎng)絡(luò)(DBN)引入到語音識別聲學模型訓練中,在大詞匯量語音識別系統(tǒng)中取得成功[7]。
我國語音識別研究起步較晚。在國家的大力支持下,中國科學院自動化研究所、中國科學院聲學研究所等科研機構(gòu)在語音識別方面進行了廣泛研究并取得顯著進展。目前,微軟、1BM、谷歌等國外公司相繼開發(fā)了中文語音識別系統(tǒng)[8-9],中國的公司如百度訊飛、搜狗也推出了相應(yīng)的中文連續(xù)語音識別項目。語音識別技術(shù)與關(guān)鍵字檢測系統(tǒng)在未來有著非常廣闊的發(fā)展前景。但是,語音識別技術(shù)仍然面臨著各種挑戰(zhàn),如無法有效避免語音識別錯誤等[10]。本文希望通過對基于DNN 的語音識別算法進行研究,為提高語音關(guān)鍵字檢索系統(tǒng)語音識別性能提供新的思路。
一個完整的語音識別系統(tǒng)包括語音預(yù)處理、語音特征提取、語音模型庫構(gòu)建、語音模式匹配等功能。對于錄制的語音信號,首先進行語音預(yù)處理操作。預(yù)處理包括采樣、量化、濾波、預(yù)加重、窗口加幀和端點檢測等步驟,然后進行語音信號特征提取,目的是提取能夠表征語音信號性質(zhì)的特征參數(shù),去除不相關(guān)的噪聲信號,獲得用于聲學模型或語音識別的輸入?yún)?shù)。語音識別和語音預(yù)處理流程如圖1 所示。
Fig.1 Speech recognition structure and speech preprocessing flow圖1 語音識別結(jié)構(gòu)和語音預(yù)處理流程
語音識別的核心是聲學模式,目前主要采用隱馬爾可夫模型對語音信號的時間變化建模。HMM 每一種狀態(tài)下的觀測概率估計方法可分為離散型、半連續(xù)型和連續(xù)型。目前,語音識別系統(tǒng)主要是連續(xù)或半連續(xù)的。通過HMM描述聲學層模型時,隱藏狀態(tài)對應(yīng)于聲學層相對穩(wěn)定的語音狀態(tài),可以描述語音信號的動態(tài)變化。
圖2 中HMM 模型有6 種狀態(tài),其中4 種是啟動狀態(tài),第1 種狀態(tài)表示開始狀態(tài)。每個隱藏狀態(tài)會根據(jù)概率分布向外發(fā)射一個狀態(tài),然后轉(zhuǎn)到右邊的狀態(tài)。最右邊的結(jié)束狀態(tài)表示HMM 已經(jīng)結(jié)束。在某個時間節(jié)點模型有一系列狀態(tài)。在t+1 時,模型的每個狀態(tài)都會轉(zhuǎn)到一個新的狀態(tài),表示一個新的狀態(tài)序列。這一過程最重要的特征是T 時刻狀態(tài)只與t-1 時刻的狀態(tài)相關(guān),這被稱為馬爾科夫。HMM 基本組成包括:①狀態(tài)集S={s1,s2,...,sN},其中N 表示音素的個數(shù);②狀態(tài)轉(zhuǎn)移矩陣A;③表示每種狀態(tài)初始概率的輸出分布B={bj(x)} 。
Fig.2 HMM model structure圖2 HMM 模型結(jié)構(gòu)
關(guān)鍵字檢測系統(tǒng)通?;诖笤~匯量連續(xù)語音識別器。在語音關(guān)鍵字檢索系統(tǒng)中,采用GMM 與HMM 相結(jié)合的GMM-HMM 模型作為LVCSR 的聲學模型,但該模型對語音信號識別率較低。隨著深度學習技術(shù)在語音識別領(lǐng)域的發(fā)展,利用DNN 代替GMM 形成DNN-HMM 聲學模型引起廣泛關(guān)注。DNN 模型是一種具有多層隱含層的前饋神經(jīng)網(wǎng)絡(luò)模型。DNN 模型共有L+1 層,其中0 層為輸入層,1 到L-1 層為隱藏層,L 層是輸出層,相鄰層由前饋權(quán)值矩陣連接。
大多數(shù)情況下DNN 模型激活函數(shù)為Sigmoid 函數(shù):
σ(z)的輸出范圍是(0.1),這有助于獲得稀疏表達式,但它使得激活值不對稱。對于多分類任務(wù),每個輸出神經(jīng)元代表一類i∈{1,2,…,C},其中C=NL是類的數(shù)量。給定訓練準則可使用眾所周知的誤差反向傳播算法提取模型參數(shù)C=N,并利用鏈式規(guī)則進行推導。模型參數(shù)采用一階導數(shù)信息,按下式進行優(yōu)化:
式中:和分別為第t 次迭代更新后第1 層的權(quán)值矩陣和偏差向量。
式(4)和式(5)分別為第t 次迭代后得到的平均權(quán)重矩陣梯度和平均偏差向量梯度,其中ε為學習速率,?XJ為J 相對于x 的梯度。
對于每個任務(wù),DNN 的模型參數(shù)需要由訓練樣本S={(om,ym)|0 ≤m≤M} 進行訓練。式中M 為訓練樣本個數(shù),om為第M 個觀察向量,ym為對應(yīng)的輸出向量。這個過程稱為訓練過程或參數(shù)估計過程,需要給出一個訓練標準和一個學習算法,在語音識別任務(wù)中,通過聲學模型訓練完成這一過程。對于相鄰層間完全連通的DNN,權(quán)值初始化為一個較小的隨機值,以避免在一個擁有相同梯度的層中由于隱藏層太多而難以優(yōu)化所有隱藏單元。DNN 可能需要擴展到測試數(shù)據(jù)集之外。語音符號是時間序列信號,DNN 不能直接對其建模。利用HMM 對語音信號的動態(tài)變化進行建模,利用DNN 估計觀測概率。DNN-HMM 模型結(jié)構(gòu)如圖3 所示。
DNN-HMM 訓練步驟如下:①將訓練集與常規(guī)訓練的DNN-HMM 模型進行對齊,得到對齊信息;②建立上下文敏感狀態(tài)到語音ID 的映射;③根據(jù)訓練DNN 所需的輸入和輸出標簽生成信息;④獲取DNN 中需要的HMM 模型結(jié)構(gòu);⑤基于輸入和輸出標簽估計語音的先驗概率,利用反向傳播算法調(diào)整網(wǎng)絡(luò)參數(shù)得到DNN-HMM 模型。
Fig.3 DNN-HMM model structure圖3 DNN-HMM 模型結(jié)構(gòu)
本實驗選擇開源中文普通話語音數(shù)據(jù)庫aishell,對同一揚聲器的測試集執(zhí)行數(shù)據(jù)庫中的語音材料。在安靜環(huán)境下使用電腦錄音軟件Cool Edit Pro 錄制語音信息,挑選8名演講者依次閱讀20 個教育詞匯,每個單詞讀10 次。采樣頻率設(shè)置為8kHz,每個采樣點被量化16 位并存儲在單聲道中,共獲得1 600 個語音樣本作為訓練和識別語料庫。以前3 道和后3 道作為訓練集,共有960 個樣本,使用中間4個樣本作為同一揚聲器測試集,共640 個樣本。
在語音信號特征提取中,從訓練集和同一說話人測試集的每個預(yù)處理語音樣本中提取24 維Mel-frequency Ceps?trum(MFC)系數(shù)特征,并采用均值方差對其進行正則化,該功能窗口大小為25ms,重疊時間為10ms。比較傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型和DNN 模型的語音識別性能,以語音識別正確率作為評價標準,數(shù)值均為統(tǒng)計平均值。
語音關(guān)鍵字檢索系統(tǒng)包括系統(tǒng)索引和關(guān)鍵字檢索。其中,索引由索引語音識別、后處理語音識別、索引構(gòu)建組成。關(guān)鍵字檢索由關(guān)鍵字檢查和置信度評估兩部分組成,如圖4 所示。語音識別錯誤和外來詞嚴重影響系統(tǒng)的查全率,模糊匹配方法能有效提高召回率,但增加了查詢時間。在關(guān)鍵字查詢過程中,可以在超類數(shù)據(jù)庫中執(zhí)行初始快速查找以縮小搜索范圍,然后在音節(jié)序列數(shù)據(jù)庫中執(zhí)行精確的查詢以加快搜索速度。
Fig.4 Composition of voice keyword retrieval system圖4 語音關(guān)鍵字檢索系統(tǒng)組成
語音關(guān)鍵字檢索系統(tǒng)依賴于識別結(jié)果,因此語音識別的性能對系統(tǒng)的檢索性能有著至關(guān)重要的影響。語音識別系統(tǒng)性能通常是通過識別錯誤率和實時率來評價的。在語音關(guān)鍵字檢索系統(tǒng)中,語音數(shù)據(jù)的識別過程可以離線進行而不必考慮實時指標。識別結(jié)果表明,錯誤類型包括插入錯誤、刪除錯誤和替換錯誤。將識別最佳結(jié)果與參考文本進行比較,可以得到識別錯誤率。
語音信號特征參數(shù)的幀數(shù)設(shè)置為23,選取非線性tanh函數(shù)作為激活函數(shù)。輸出為30 個神經(jīng)元,使輸出神經(jīng)元的數(shù)目與待分類神經(jīng)元數(shù)目相同。以估計概率分布與實際概率提取之間的高斯熵作為目標函數(shù),當語音識別精度提高到0.2%以下時停止迭代。不同語音識別算法的識別準確率結(jié)果如表1 所示。
Table 1 Recognition accuracy of different speech recognition algorithms表1 不同語音識別算法的識別精度 (%)
如表1 所示,基于LSTM-HMM 和DNN-HMM 模型的語音識別準確率明顯高于傳統(tǒng)的GMM-HMM 模型,同時LSTM-HMM 模型的語音識別準確率達到96.5%,表明該模型具有更好的性能。LSTM 訓練參數(shù)大小為436 570,DNN訓練參數(shù)大小為698 100,GMM 訓練參數(shù)大小為1 226 700。在訓練集語音樣本有限的情況下,訓練模型的過擬合會導致訓練模型過擬合問題。因此,基于DNN 的語音識別可以減小訓練參數(shù)大小,有效避免訓練模型的過擬合。
語音信號具有很強的隨機性,同一語音單元擴展的語音特征參數(shù)及幀數(shù)可能不同,規(guī)則幀數(shù)對不同算法識別性能的影響如圖5 所示。隨著規(guī)則幀數(shù)的增加,輸入與原始特征參數(shù)的距離越來越近,兩種網(wǎng)絡(luò)模型的識別精度不斷提高。模型是通過隨機梯度下降法計算均方誤差,然后通過調(diào)整網(wǎng)絡(luò)參數(shù)減小均方誤差來實現(xiàn)。因此,網(wǎng)絡(luò)模型的收斂性直接反映了整體性能是否優(yōu)越。
Fig.5 Influence of regular frame number on recognition performance of different algorithms圖5 規(guī)則幀數(shù)對不同算法識別性能的影響
為解決傳統(tǒng)關(guān)鍵字檢測系統(tǒng)中GMM-HMM 聲學模型的低識別率問題,本文將基于DNN 的語音識別算法應(yīng)用于關(guān)鍵字檢測。使用DNN-HMM 聲學模型代替原系統(tǒng)中的GMM-HMM 模型,并在此基礎(chǔ)上對關(guān)鍵字檢測進行研究。通過對比實驗選擇一個開源普通話語音數(shù)據(jù)庫——aishell,它是在同一個揚聲器的測試裝置上播放的。在安靜環(huán)境下,使用電腦錄音軟件Cool Edit Pro 錄制語音信息。實驗表明,基于LSTM-HMM 模型和DNN-HMM 模型的語音識別準確率分別為96.5% 和91.6%,顯著高于GMMHMM 的78.5%,說明本文提出的LSTM-HMM 模型性能更好。在訓練集語音樣本有限的情況下,會產(chǎn)生訓練參數(shù)尺度過大、訓練模型過擬合問題。基于DNN 的語音識別算法可以減小訓練參數(shù)尺度,從而有效避免訓練模型過擬合問題。
基于LSTM-HMM 的語音識別技術(shù)具有較高的準確率,更適合于語音關(guān)鍵字檢索。但在復(fù)雜語音環(huán)境下,關(guān)鍵字檢測的魯棒性仍有很大的提升空間。因此,后續(xù)研究可以探索提取更魯棒的聲學特征方向,在有噪聲干擾的情況下準確檢索所需的語音信息。