語音識別技術分享
一
語音的識別過程
1
語音識別基本流程
語音信號的特征提取:在開始語音識別之前,有時需要把首尾端的靜音切除。接著對音頻進行分幀。在語音識別中,常用25ms作為幀長。為了捕捉語音信號的連續(xù)變幻,避免幀之間的特征突變,每隔10ms取一幀,即幀移為10ms。工程上通常使用移動窗函數(shù)對語音進行分幀。對每一幀進行傅里葉變換轉化成為語譜圖。語譜圖經(jīng)過三角濾波器和MFCC變換,形成MFCC圖。多幀的MFCC組合形成MFCC序列,這就是經(jīng)過特征提取的特征序列。語音特征提取如下圖所示。
2
語音識別的一般簡單原理(基于貝葉斯定理)
(1) 假設Y是輸入的音頻信號,W是單詞序列,在概率模型下公式表示為:
這就語音識別的目的公式。正常情況下,這個概率執(zhí)行相當困難。我們可以采用貝葉斯定理對上述公式進行轉換:
因為 P(Y)不會影響最終概率最大化,因此概率模型轉變?yōu)閍rg max{P(Y|W)P(W)}。其中概率P(Y|W)的含義是,給定單詞序列W,得到特定音頻信號Y的概率,在語音識別系統(tǒng)中一般被稱作聲學模型。概率P(W)的含義是,給定單詞序列W的概率,在語音識別系統(tǒng)中一般被稱作語言模型。
(2) 對于聲學特性來說,單詞是一個比較大的建模單元,因此聲學模型P(Y|W)中的單詞序列W會進一步拆分成一個音素序列。通常情況下,一個音素包含很多幀。
二
經(jīng)典的GMM-HMM模型
1
GMM-HMM產(chǎn)生過程
(1) 每一句話包含多個字或詞,每一個字包含多個音素。一般情況下,英語的音素是輔音,元音等;漢語的音素是聲母,韻母,聲調。
(2) 初始,每一個特征序列都由許多幀構成。待識別語音的特征序列與已有模板的特征序列相匹配。幀與幀之間依據(jù)相似度進行對齊,然后使用DTW算法進行對齊即相似度匹配。例如下圖所示。
(1) 通常情況下,同一個字或詞會依據(jù)人,環(huán)境等情況有多種聲音波形,進而造成多種特征序列即模板。多個模板根據(jù)幀的相似性組成一個又一個的狀態(tài)。然后使用混合高斯模型來擬合每一個狀態(tài)的特征向量,通過計算概率密度來判斷相似性,這就是觀察概率。如下圖所示,每一個圓圈所代表的就是一個狀態(tài),一個狀態(tài)包含多個幀。混合高斯模型就是多個有不同均值和協(xié)方差的多元高斯模型混合在一起。
(2) 通常情況下,我們對音素進行建模。多個狀態(tài)對應一個音素,多個音素對應一個字。對音素持續(xù)時間進行建模,增加了狀態(tài)間的轉移概率即該狀態(tài)變?yōu)橄乱粋狀態(tài)的概率的大小。然后就形成了如下的GMM-HMM示意圖;玖鞒桃餐瑯訒l(fā)生變化。
(3) 轉移概率=轉移到下一個狀態(tài)+轉移到自身的概率=1。最終聲學模型概率的計算w = 觀察概率*轉移到下一個狀態(tài)的概率*轉移到自身狀態(tài)的概率。每一個狀態(tài)的轉移概率和觀察概率都由該狀態(tài)自身決定。對于GMM-HMM模型的訓練參數(shù)就是轉移概率和觀察概率的相關參數(shù)求解。待識別語音特征序列需要與狀態(tài)進行對齊匹配。對齊匹配方式有很多種,優(yōu)化參數(shù)的目的就是找到一種最恰當?shù)膶R方式,使其計算概率最大。
(4) 優(yōu)化參數(shù)的思路:先假設一種對齊方式,由此求出模型參數(shù),然后更新對齊方式,循環(huán)直至收斂。
2
GMM-HMM基本模型
基本模型如下圖所示。
(1) GMM-HMM模型就組成了語音識別的聲學模型。語言模型基于語料庫使用馬爾可夫模型進行建模。例如求句子“西安電子科技大學”的概率。
這就是語音模型的先驗概率。語言模型的搭建依賴于語料庫的字詞句的豐富性。語料庫越豐富,求出的概率越精確。這述所示例子使用了最常用的Bigram即每一個字只與前一個字有關。當然馬爾可夫模型看似不精確,但是在實際實驗還是很好用的。
(2) 圖中S1,S2,S3,S4代表的是每一個HMM狀態(tài)。上圖只是一個HMM模型。一個HMM狀態(tài)的參數(shù)由初始概率、轉移概率和觀察概率三部分構成。。初始概率對識別結果的影響很小,甚至有時可以忽略,且模型是單向的,所以初始概率不必考慮。聲學模型包含的信息主要是狀態(tài)定義和各狀態(tài)的觀察概率分布。對觀察概率分布使用GMM建模就形成了GMM-HMM模型;谏窠(jīng)網(wǎng)絡的語音識別一般就是使用DNN模型取代GMM模型,進而形成DNN-HMM模型。
(3) 對每一個音素建立一個HMM模型。音素HMM按詞典拼接成單詞HMM,單詞HMM與語言模型復合成語言HMM。通常情況下,單詞的訓練樣本都是提前標注好的。當有了這些訓練樣本,就可以使用EM算法來訓練GMM-HMM模型的全部參數(shù)。最終概率的計算依據(jù)arg max{P(Y|W)P(W)},識別結果 = 觀測概率*轉移概率*語言模型的先驗概率。
(4) 解碼的過程就是選擇最佳的對齊方式。多個HMM狀態(tài)組合成概率最大的音素、音素組成字、字組成句子,然后根據(jù)語言模型選擇概率最大的字、詞和句子。
三
端到端的語音識別
1
神經(jīng)網(wǎng)絡入局語音識別
神經(jīng)網(wǎng)絡開始進入到語音識別中。2012年,DNN取代了如人工特征提取方法MFCC,神經(jīng)網(wǎng)絡可以更好地提取特征。隨著神經(jīng)網(wǎng)絡的發(fā)展,DNN取代了GMM模型,神經(jīng)網(wǎng)絡進一步發(fā)展。隨著深度學習的發(fā)展,HMM模型被循環(huán)神經(jīng)網(wǎng)絡RNN取代。至此,GMM-HMM模型被取代,但是系統(tǒng)訓練過程仍然需要GMM-HMM模型提供音素起止時間和標準答案。直至CTC、Transducer和注意力轉移機制出現(xiàn)。
2
端到端語音識別框架
端到端語音識別框架是一種將輸入的聲學特征序列直接映射為字或詞序列的系統(tǒng)。端到端語音識別技術目前主要分為:連接時序分類算法 (Connectionist Temporal Classification,CTC)、循環(huán)神經(jīng)網(wǎng)絡轉換器算法 (Recurrent Neural Network Transducer,RNN-T) 和基于注意力 (Attention) 機制的編碼-解碼方法 (Encoder-Decoder)。
3
CTC、Transducer和注意力轉移機制
(1) CTC解決的核心問題是輸入序列與輸出序列的對齊。對于語音識別,我們有一個聲音片段和對應校正后的轉寫文本數(shù)據(jù)集。我們不知道如何將文字記錄中的字符與音頻對齊,這使得訓練語音識別器比最開始想的看起來更難。連接時序分類(CTC)是一種不知道輸入和輸出之間的對齊方式。CTC模型引入了一種空符號,對于音素的輸入只需要按順序輸出即可。實際上,大部分幀的輸出都是空。基于CTC模型實現(xiàn)了端到端的輸出。通俗來看,CTC就是一個目標函數(shù)。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7月8日立即報名>> 【在線會議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機器人及智能工廠展
-
7月31日免費預約>> OFweek 2025具身智能機器人產(chǎn)業(yè)技術創(chuàng)新應用論壇
-
免費參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
推薦專題