1-GMM-HMMs語音識別系統-框架篇


本文主要對基於GMM/HMMs的傳統語音識別系統做一個整體介紹。

Outline:

  1. 識別原理
  2. 統計學模型
  3. 系統框架

首先需要說明本文討論的對象是連續語音識別(Continuous Speech Recognition, CSR),意味着基於DTW(動態時間規整)的孤立詞識別(Isolated Word Recognition)不在討論范圍內(out-of-date)。同時,整篇圍繞自動語音識別解碼過程(識別過程)展開的討論的。

1.識別原理

首先明白,我們的語音是一種聲波,是模擬信號,一般在電腦中保存為wav文件(無壓縮格式)或者可以直接通過麥克風采集獲得(online)。

這里寫圖片描述

需先進行預處理與數字化操作:濾波降噪、預加重(提升高頻)、端點檢測、加窗分幀,把我們的一段語音信號分解為很多很多的小段語音片段(語音幀)。一般每幀長度為25ms,相鄰兩幀有10ms的重疊,也就是常說的幀長25ms,幀移10ms。
然后,我們再對每一幀做信號分析,來進一步壓縮數據,也被稱作特征提取,常見的特征參數有:MFCC,PLP。經過特征提取后,每幀由原來上百個記錄點,壓縮為39維的MFCC特征參數。(瞬間輕松了好多)

這里寫圖片描述

接下來,就是怎么把一系列特征參數序列轉化為一段話的問題了?也就是聲學模型(GMM-HMMs)、語言模型派上用場的時候到了。首先我們要知道一段話是由一串文字序列組成,一個文字由一串音素(phoneme)組成(如bal:/b/ /ɔː/ /l/)。通常在英文中我們選擇音素來建立了隱馬爾科夫模型(中文建模單元常為聲韻母),即一個音素對應一個HMM,同時通常一個HMM由三個狀態(state)組成。好的我們再反過來,我們現在手上有一個特征參數序列,識別的過程,就是解決怎么把每個特征參數識別為一個狀態,再由狀態到音素,音素到單詞,單詞到單詞序列(一段話)?其中特征參數到狀態,由GMMs(混合高斯模型)解決;三個狀態到一個音素,由HMM解決;音素到單詞,由詞典解決;單詞到單詞序列,由語言模型解決。當然,在整個過程中,我們都是在一個狀態網絡(time-state)中進行的,都是基於HMMs的。這也是為什么說是HMMs解決了語音識別問題。

這里寫圖片描述

統計學模型

自動語音識別(Automatic Speech Recognition, ASR)的任務是將一個段聲學信號映射為一串文字。(對其建模是我們實際去解決問題的第一步)即

\[W^*=\mathop{argmax}_{W}(P(W|X)) \tag{1} \]

其中\(X=x_{i}^{T}=x_1x_2,\cdots,x_t,\cdots,x_T\)代表一段長度為\(T\)的聲學信號(語音幀),\(W=w_{i}^{n}=w_1w_2,\cdots,x_n\)代表一段長度為\(n\)的單詞序列(word sequence),\(W^*\)為在所有 中,最有可能的一段單詞序列,也就是我們的識別結果了。
然而公式(1)很難直接計算得出(對於generative models)。我們進行Bayes變換:

\[P(W|X)=\frac{P(X|W)P(W)}{P(X)} \\ \quad\quad\quad\quad\propto P(X|W)P(W) \tag{2} \]

\[W^*=\mathop{argmax}_{W} (\underbrace{P(X|W)}_{AM} \underbrace{P(W)}_{LM}) \tag{3} \]

最終得到公式(3),其中 代表了一個聲學似然度,包含了字典、語音學和聲學知識,通過聲學模型計算得到; 表示單詞序列的一個先驗概率(Occam's Razor),包含了語言學信息,可由語言模型獲得。自此,我們知道語音識別問題可以利用聲學模型和語言模型來解決。(不過在實際處理中,我們要對公式(3)作進一步細化)

系統架構

一個語音識別系統框架主要包括:聲學分析(Signal Analysis)、聲學模型(Acoustic Model)、辭典(Lexicon)、語言模型(Language Model)、搜索/解碼(Search/Decoding)。原始語音經過信號分析后,結合聲學模型、語言模型和辭典, 在搜索空間中找出一個最有可能的單詞序列。

這里寫圖片描述

聲學分析:也稱特征提取(Feature Extraction)。
作用:降維,提取有用信息,比如將一段語音幀,解析為一個固定維數(39維)的特征向量。
常用:MFCC(Mel-frequency cepstral Coefficient)、PLP(Perceptual Linear Prediction)。

聲學模型
作用:解析聲學信號,比如將特征向量解析到一個特征的建模單元上,並獲得相應的score,如音素,聲韻母等等。
常用:GMM-HMM、hybrid ANN-HMMs、DNN-HMM、RNN-CTC。

辭典:
作用:給單詞和發音提供HMM模型(亞詞)和語言模型間關聯。
通常:基於音素,由專家手工完成,如CMU-dict。

語言模型:
作用:提供這不部分的先驗概率,可以區分相同發音時的識別結果,如wreck a nice beach。
常用:n-gram。

搜索/解碼:
作用:根據狀態系列,在time-state Trellis中找到一個最優路徑,或者說根據聲學模型輸出的結果,結合辭典、語言模型信息,找出最有可能的識別結果。
常用:Viterbi search、Beam search。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM