語音識別中DT訓練和ML的區別

X表示訓練數據中的語音信號,W代表訓練數據中的文本,θ\theta代表聲學模型參數,LM語言模型是固定的。
ML的目標函數是:
θ^ML=argmaxθpθ(XW){{\hat \theta }_{ML}} = \arg \mathop {\max }\limits_\theta p{}_\theta (X|W)
而DT的目標函數是:
θ^DT=argmaxθpθ(WX){{\hat \theta }_{DT}} = \arg \mathop {\max }\limits_\theta p{}_\theta (W|X)
區別在於條件概率不同。ML中,只要訓練文本產生訓練語言的概率大就行了。而DT要求的是訓練語音對於訓練文本的概率大。即就是要訓練文本產生訓練語音的概率,與其他文本產生訓練語音的概率之差大。對DT目標函數用一次貝葉斯公式就可以看出:
θ^DT=argmaxθpθ(XW)p(W)pθ(X)=argmaxθpθ(XW)p(W)wpθ(Xw)p(w){{\hat \theta }_{DT}} =\arg \mathop {\max }\limits_\theta \frac{{p{}_\theta (X|W)p(W)}}{{p{}_\theta (X)}} = \arg \mathop {\max }\limits_\theta \frac{{p{}_\theta (X|W)p(W)}}{{\sum\nolimits_w {} p{}_\theta (X|w)p(w)}}
分子上的pθ(XW)p{}_\theta (X|W),正是ML的目標函數;而分母則是所有文本(包括訓練文本和它的所有競爭者)產生訓練語音的概率(按語言模型加權的)和。
由於分母上要枚舉所有可能的文本並不現實,所以實際中,一般使用一個已有的ML訓練的語音系統對訓練語音做一次解碼,得到n-best或lattice,用這裏面的文本來近似分母上的求和。n-best list或lattice中包含了訓練文本的足夠接近的競爭者。
對DT的目標函數取對數,可以得到:
θ^DT=argmaxθ(logp(W)+logPθ(XW)logwpθ(Xw)p(w)){{\hat \theta }_{DT}} =\arg \mathop {\max }\limits_\theta (logp(W)+logP_{\theta}(X|W)-log\sum\limits_wp_{\theta}(X|w)p(w))
右邊第一項logp(W)是常數,可忽略,第二項是ML的目標函數的對數,第三項的形式與第二項有相似之處。
ML訓練問題一般使用EM算法來解決的,DT訓練多了第三項,同樣有Generalized EM算法來求解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章