語音識別中區分性訓練(Discriminative Training)和最大似然估計(ML)的區別?

語音識別中區分性訓練(Discriminative Training)和最大似然估計(ML)估計的區別?請講解一下區分性訓練(Discriminative Training)是如何提高識別準確率的?困惑很久?感激不盡


以下用X代表訓練數據中的語音信號,W代表訓練數據中的文本,	heta代表語音模型(acoustic model)的參數。語言模型(language model)是固定的。

最大似然訓練法(maximum likelihood, ML)的目標函數是這樣的:

hat{	heta}_{	ext{ML}} = argmax_	heta P_	heta(X|W)

而區分性訓練(discriminative training, DT)的目標函數是這樣的:

hat{	heta}_{	ext{DT}} = arg max_	heta P_	heta(W|X)

區別在於條件概率不同。ML中,只要訓練文本產生訓練語音的概率大就行了;而DT要求的是訓練語音對應訓練文本的概率大,換句話說,就是要訓練文本產生訓練語音的概率,與其它文本產生訓練語音的概率之差大。對DT的目標函數用一次貝葉斯公式就能看出這一點:

hat{	heta}_	ext{DT} = arg max_	heta frac{P_	heta(X|W) P(W)}{P_	heta(X)} = arg max_	heta frac{P_	heta(X|W) P(W)}{sum_w P_	heta(X|w) P(w)}

分子上的P_	heta(X|W),正是ML的目標函數;而分母則是所有文本(包括訓練文本和它的所有競爭者)產生訓練語音的概率的(按語言模型加權的)和。

由於分母上要枚舉所有可能的文本並不現實,所以實際中,一般是用一個已有的ML訓練的語音系別系統對訓練語音做一次解碼,得到n-best list或lattice,用這裡面的文本來近似分母上的求和。n-best list或lattice中包含了訓練文本的足夠接近的競爭者。

把DT的目標函數取個對數,可以得到:

hat{	heta}_	ext{DT} = arg max_	heta left( log P(W) + log P_	heta(X|W) - log sum_w P_	heta(X|w) P(w) 
ight)

右邊第一項log P(W)是常數,可忽略;第二項是ML的目標函數的對數;第三項的形式與第二項有相似之處。

ML訓練問題一般是用EM演算法來解決的。DT訓練多了第三項,同樣有Generalized EM演算法來求解。


推薦閱讀:

研一剛接觸語音識別,怎麼運用kaldi工具箱做一個baseline?
未來語音技術或者語音智能助手的發展方向是什麼?
語音識別技術中提取的聲音特徵的參數具體指什麼?

TAG:語音識別 | 中文語音識別 |