X表示训练数据中的语音信号,W代表训练数据中的文本,
θ
\theta
θ代表声学模型参数,LM语言模型是固定的。
ML的目标函数是:
θ
^
M
L
=
arg
max
θ
p
θ
(
X
∣
W
)
{{\hat \theta }_{ML}} = \arg \mathop {\max }\limits_\theta p{}_\theta (X|W)
θ^ML=argθmaxpθ(X∣W)
而DT的目标函数是:
θ
^
D
T
=
arg
max
θ
p
θ
(
W
∣
X
)
{{\hat \theta }_{DT}} = \arg \mathop {\max }\limits_\theta p{}_\theta (W|X)
θ^DT=argθmaxpθ(W∣X)
区别在于条件概率不同。ML中,只要训练文本产生训练语言的概率大就行了。而DT要求的是训练语音对于训练文本的概率大。即就是要训练文本产生训练语音的概率,与其他文本产生训练语音的概率之差大。对DT目标函数用一次贝叶斯公式就可以看出:
θ
^
D
T
=
arg
max
θ
p
θ
(
X
∣
W
)
p
(
W
)
p
θ
(
X
)
=
arg
max
θ
p
θ
(
X
∣
W
)
p
(
W
)
∑
w
p
θ
(
X
∣
w
)
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)}}
θ^DT=argθmaxpθ(X)pθ(X∣W)p(W)=argθmax∑wpθ(X∣w)p(w)pθ(X∣W)p(W)
分子上的
p
θ
(
X
∣
W
)
p{}_\theta (X|W)
pθ(X∣W),正是ML的目标函数;而分母则是所有文本(包括训练文本和它的所有竞争者)产生训练语音的概率(按语言模型加权的)和。
由于分母上要枚举所有可能的文本并不现实,所以实际中,一般使用一个已有的ML训练的语音系统对训练语音做一次解码,得到n-best或lattice,用这里面的文本来近似分母上的求和。n-best list或lattice中包含了训练文本的足够接近的竞争者。
对DT的目标函数取对数,可以得到:
θ
^
D
T
=
arg
max
θ
(
l
o
g
p
(
W
)
+
l
o
g
P
θ
(
X
∣
W
)
−
l
o
g
∑
w
p
θ
(
X
∣
w
)
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))
θ^DT=argθmax(logp(W)+logPθ(X∣W)−logw∑pθ(X∣w)p(w))
右边第一项logp(W)是常数,可忽略,第二项是ML的目标函数的对数,第三项的形式与第二项有相似之处。
ML训练问题一般使用EM算法来解决的,DT训练多了第三项,同样有Generalized EM算法来求解。