CE准则和MMI准则
Cross-Entropy准则和MMI准则分别是两种不同的训练方法ML和DT的常用的准则。而ML和DT训练方法的核心思想分别来自于MLE和MAP。
ML(Maximum Likelihood),即极大似然估计。
DT(Discriminative Training),即鉴别性训练。
MLE(Maximum Likelihood Estimate),即极大似然估计。
MAP(Maximum A Posteriori Estimation),即最大后验概率。
回顾语音识别最基本的公式:
P
(
Y
∣
O
)
=
P
(
O
∣
W
)
P
(
W
)
P
(
O
)
P(Y|O) = \frac{P(O|W)P(W)}{P(O)}
P(Y∣O)=P(O)P(O∣W)P(W)
其中W为word sequence,O为observe feature.
对语音识别问题应用贝叶斯风险对分类错误风险进行描述,可得参数优化的目标函数。
对于ML来说,其参数优化的目标函数是:
θ
^
M
L
=
arg
max
θ
P
θ
(
O
∣
W
)
\hat{\theta}_{ML}=\arg\ \max_{\theta} P_{\theta}(O|W)
θ^ML=arg θmaxPθ(O∣W)
对于DT来说,其参数优化的目标函数是:
θ
^
D
T
=
arg
max
θ
P
θ
(
W
∣
O
)
=
arg
max
θ
P
θ
(
O
∣
W
)
P
(
W
)
P
θ
(
O
)
=
arg
max
θ
P
θ
(
O
∣
W
)
P
(
W
)
∑
ω
P
θ
(
O
∣
ω
)
P
(
ω
)
\hat{\theta}_{DT}=\arg\ \max_{\theta}P_{\theta}(W|O)=\arg\ \max_{\theta}\frac{P_{\theta}(O|W)P_(W)}{P_{\theta}(O)}=\arg \ \max_{\theta}\frac{P_{\theta}(O|W)P_(W)}{\sum_{\omega}P_{\theta}(O|\omega)P(\omega)}
θ^DT=arg θmaxPθ(W∣O)=arg θmaxPθ(O)Pθ(O∣W)P(W)=arg θmax∑ωPθ(O∣ω)P(ω)Pθ(O∣W)P(W)
其中,
ω
{\omega}
ω表示组成word sequence的所有可能路径。
注意:实际上这里给出的目标函数为MMI准则的目标函数,因为大部分鉴别性训练的目标函数均源于该目标函数的变形。这里指的“DT目标函数”只是一个广义的概念。
通过对比我们不难发现:对于ML,只需要优化参数 θ \theta θ使得给定训练word sequence得到当前feature的概率最大(也就是声学模型的概率最大)即可。对于DT,则需要一步到位,直接优化参数 θ \theta θ使得当前feature得到word sequence的概率最大。
用通俗的话来理解,ML是针对每一帧进行分类的优化,最小化每一帧的错误率。对于DT,则是直接针对句子进行优化,最大化观察序列分布与标注序列分布之间的相似性,直接减小句子错误率。
1. CE准则
对于分类任务,Cross Entropy准则经常被使用,
J
C
E
(
θ
;
S
)
=
1
M
∑
m
=
1
M
J
C
E
(
θ
;
o
m
,
w
m
)
J_{CE}(\theta;S)=\frac{1}{M}\sum_{m=1}^{M}J_{CE}(\theta;o^m,w^m)
JCE(θ;S)=M1m=1∑MJCE(θ;om,wm)
J
C
E
(
θ
;
o
,
w
)
=
−
∑
i
=
1
C
w
i
log
v
i
L
J_{CE}(\theta;o,w)=-\sum_{i=1}^{C}w_i\log v_i^L
JCE(θ;o,w)=−i=1∑CwilogviL
其中,
M
M
M表示训练样本的个数,
θ
\theta
θ表示模型参数,
o
m
o^m
om表示第m个观察向量,
w
m
w^m
wm表示相应的输出向量。
w
i
=
P
e
m
p
(
i
∣
o
)
w_i=P_{emp}(i|o)
wi=Pemp(i∣o)是观察向量
o
o
o属于类
i
i
i的经验概率分布,该分布从训练数据的标注中来(下文会有相关描述)。
v
i
L
=
P
d
n
n
(
i
∣
o
)
v_i^L=P_{dnn}(i|o)
viL=Pdnn(i∣o)表示由DNN预测得到的观察向量
o
o
o属于类
i
i
i的概率分布。
交叉熵描述了两个概率分布之间的距离,交叉熵越小,两个概率分布越接近。最小化CE准则等价于最小化“经验概率分布”与“DNN估计得到的概率分布”的KL距离。
一般来说,描述“经验概率分布”会使用硬标注,即
w
i
=
{
1
,
观察序列=标注序列
0
,
else
w_i=\begin{cases}1, & \text{观察序列=标注序列} \\[3ex]0, & \text{else}\end{cases}
wi=⎩⎪⎨⎪⎧1,0,观察序列=标注序列else
故上述的CE准则会退化成为负的对数似然准则(negative log-likelihood,NLL)
J
N
L
L
(
θ
;
o
,
w
)
=
−
∑
i
=
1
C
log
v
i
L
J_{NLL}(\theta;o,w)=-\sum_{i=1}^C\log v_i^L
JNLL(θ;o,w)=−i=1∑ClogviL
2. MMI准则
2.1MMI准则推导
MMI准则(最大互信息量准则),该准则旨在最大化单词序列分布和观察序列分布的互信息。
令
W
W
W表示语音中所含信息的随机变量例如音素、孤立词、词串等,
w
w
w为它的实例。令
O
O
O为表示观测序列的随机变量,
o
o
o为它的实例。从信息论的观点出发,可以说信息
W
W
W被编码为
O
O
O。在
O
O
O给定的情况下,描述对
W
W
W平均不确定性的度量为条件熵
H
(
W
∣
O
)
H(W|O)
H(W∣O),被写为:
H
(
W
∣
O
)
=
−
∑
W
,
O
p
(
w
,
o
)
log
p
(
w
∣
o
)
=
−
E
[
log
p
(
W
∣
O
)
]
H(W|O)=-\sum_{W,O}p(w,o)\log p(w|o) = -E[\log p(W|O)]
H(W∣O)=−W,O∑p(w,o)logp(w∣o)=−E[logp(W∣O)]
降低这个不确定度,就可以使解码器在解码时做出更“确信”的决断。
经过一系列的推导(详见声学模型区分性训练及其在自动语音识别中的应用),该训练准则可以等于最小化:
H
(
W
∣
O
)
=
−
1
M
∑
m
=
1
M
log
P
(
o
m
∣
w
m
;
θ
)
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
P
(
ω
)
H(W|O)=-\frac{1}{M}\sum_{m=1}^{M}\log \frac{P(o^m|w^m;\theta)P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)P(\omega)}
H(W∣O)=−M1m=1∑Mlog∑ωP(om∣ω;θ)P(ω)P(om∣wm;θ)P(wm)
最大互信息量准则还可以看作是对训练集中所有训练语料正确模型序列后验概率的最大化,即最大化:
J
M
M
I
=
1
M
∑
m
=
1
M
log
P
(
o
m
∣
w
m
;
θ
)
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
P
(
ω
)
J_{MMI}=\frac{1}{M}\sum_{m=1}^{M}\log \frac{P(o^m|w^m;\theta)P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)P(\omega)}
JMMI=M1m=1∑Mlog∑ωP(om∣ω;θ)P(ω)P(om∣wm;θ)P(wm)
其中, θ \theta θ表示模型参数(weights和biases), o m = o 1 m , . . . , o t m , . . . , o T m m o^m=o_1^m,...,o_t^m,...,o_{T_m}^m om=o1m,...,otm,...,oTmm表示第m个样本的观察序列, w m = w 1 m , . . . , w t m , . . . , w N m m w^m=w_1^m,...,w_t^m,...,w_{N_m}^m wm=w1m,...,wtm,...,wNmm表示第m个样本的单词标注序列。M为训练集样本个数。 ω {\omega} ω表示组成单词序列的所有可能路径。
注意:
(1)为了便于理解,上文并没有引入标注序列
w
m
w^m
wm的状态序列
s
m
s^m
sm。在完整的公式当中,需要将标注序列
w
m
=
w
1
m
,
.
.
.
,
w
t
m
,
.
.
.
,
w
N
m
m
w^m=w_1^m,...,w_t^m,...,w_{N_m}^m
wm=w1m,...,wtm,...,wNmm拆分成状态序列
s
m
=
s
1
m
,
.
.
.
,
s
t
m
,
.
.
.
,
s
T
m
m
s^m=s_1^m,...,s_t^m,...,s_{T_m}^m
sm=s1m,...,stm,...,sTmm,使观察序列的每个值
o
t
m
o_t^m
otm均与一个状态值
s
t
m
s_t^m
stm对应。(若建模的单元是音素,标注序列拆分为标注序列就可以理解为将单词序列拆分成为对应的音素序列。状态序列将通过强制对齐获得。)
(2)因为声学模型得到的值和语言模型得到的值之间会存在一定的不适配,还需要一个声学缩放系数
κ
\kappa
κ使两个模型的比例关系协调。
完整的MMI准则可以表示为:
J
M
M
I
=
1
M
∑
m
=
1
M
log
P
(
o
m
∣
s
m
;
θ
)
κ
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
J_{MMI}=\frac{1}{M}\sum_{m=1}^{M}\log \frac{P(o^m|s^m;\theta)^{\kappa}P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}
JMMI=M1m=1∑Mlog∑ωP(om∣ω;θ)κP(ω)P(om∣sm;θ)κP(wm)
理论上该目标函数的分母应该取遍所有可能的单词序列,在实际中,这个求和运算是被限制在解码得到的lattice上。
2.2 MMI求导
这里将详细的推导如何应用该准则对模型参数
θ
\theta
θ进行优化。
回顾MMI准则:
J
M
M
I
=
1
M
∑
m
=
1
M
log
P
(
o
m
∣
s
m
;
θ
)
κ
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
J_{MMI}=\frac{1}{M}\sum_{m=1}^{M}\log \frac{P(o^m|s^m;\theta)^{\kappa}P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}
JMMI=M1m=1∑Mlog∑ωP(om∣ω;θ)κP(ω)P(om∣sm;θ)κP(wm)
其中,
θ
\theta
θ表示模型参数(Weights和Biases),
o
m
=
o
1
m
,
.
.
.
,
o
t
m
,
.
.
.
,
o
T
m
m
o^m=o_1^m,...,o_t^m,...,o_{T_m}^m
om=o1m,...,otm,...,oTmm表示第m个样本的观察序列,
w
m
=
w
1
m
,
.
.
.
,
w
t
m
,
.
.
.
,
w
N
m
m
w^m=w_1^m,...,w_t^m,...,w_{N_m}^m
wm=w1m,...,wtm,...,wNmm表示第m个样本的正确标注序列。
s
m
=
s
1
m
,
.
.
.
,
s
t
m
,
.
.
.
,
s
T
m
m
s^m=s_1^m,...,s_t^m,...,s_{T_m}^m
sm=s1m,...,stm,...,sTmm为标注序列
w
m
w^m
wm的状态序列。M为训练集样本个数。
ω
{\omega}
ω表示组成单词序列的所有可能路径。
κ
\kappa
κ为声学缩放系数。
对上式的导数可以如下计算:
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
θ
=
∑
m
=
1
M
∑
t
=
1
T
m
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
z
m
t
L
∂
z
m
t
L
∂
θ
\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \theta}=\sum_{m=1}^{M}\sum_{t=1}^{T_m}\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L}}\frac{\partial{z_{mt}^L}}{\partial \theta}
∂θ∂JMMI(θ;om,wm)=m=1∑Mt=1∑Tm∂zmtL∂JMMI(θ;om,wm)∂θ∂zmtL
其中,
z
m
t
L
{{z_{mt}^L}}
zmtL表示激活函数(例如tanh,softmax等函数)作用前的值。
令第m个音频样本中第t帧的错误信号为:
e
m
t
L
=
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
z
m
t
L
e_{mt}^L=\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L}}
emtL=∂zmtL∂JMMI(θ;om,wm)
则错误信号的第
i
i
i个元素为:
e
m
t
L
(
i
)
=
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
z
m
t
L
(
i
)
=
∑
r
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
log
P
(
o
t
m
∣
r
)
∂
log
P
(
o
t
m
∣
r
)
∂
z
m
t
L
(
i
)
e_{mt}^L(i)=\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L(i)}}=\sum_{r}\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \log P(o_t^m|r)}\frac{\partial \log P(o_t^m|r)}{\partial z_{mt}^L(i)}
emtL(i)=∂zmtL(i)∂JMMI(θ;om,wm)=r∑∂logP(otm∣r)∂JMMI(θ;om,wm)∂zmtL(i)∂logP(otm∣r)
这里,
r
r
r表示可能的状态(即取值范围为所有的音素),
z
m
t
L
(
i
)
{{z_{mt}^L(i)}}
zmtL(i)表示对第
i
i
i个神经元的激励信号(即未经过激活函数的值)。
i
i
i也代表了某个特定的状态。(因为一个神经元的输出代表了某个特定状态的概率)
将上式拆分成前后两个部分:
(1)第一部分,
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
log
P
(
o
t
m
∣
r
)
\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \log P(o_t^m|r)}
∂logP(otm∣r)∂JMMI(θ;om,wm)
s
t
e
p
1
step1
step1,将前文
J
M
M
I
(
θ
;
o
m
,
w
m
)
=
log
P
(
o
m
∣
s
m
;
θ
)
κ
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
J_{MMI}(\theta;o^m,w^m)=\log \frac{P(o^m|s^m;\theta)^{\kappa}P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}
JMMI(θ;om,wm)=log∑ωP(om∣ω;θ)κP(ω)P(om∣sm;θ)κP(wm)带入式子中:
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
log
P
(
o
t
m
∣
r
)
=
∂
log
P
(
o
m
∣
s
m
;
θ
)
κ
P
(
w
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
∂
log
P
(
o
m
∣
s
m
;
θ
)
κ
P
(
w
m
)
∂
log
P
(
o
t
m
∣
r
)
−
∂
log
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
κ
∂
log
P
(
o
m
∣
s
m
;
θ
)
∂
log
P
(
o
t
m
∣
r
)
−
∂
log
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \log P(o_t^m|r)}=\frac{\partial \log \frac{P(o^m|s^m;\theta)^{\kappa}P(w^m)}{\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}}{\partial \log P(o_t^m|r)} \\[3ex] =\frac{\partial \log P(o^m|s^m;\theta)^{\kappa}P(w^m)}{\partial \log P(o_t^m|r)}-\frac{\partial \log \sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)} \\[3ex] =\kappa \frac{\partial \log P(o^m|s^m;\theta)}{\partial \log P(o_t^m|r)}-\frac{\partial \log\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)}
∂logP(otm∣r)∂JMMI(θ;om,wm)=∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω)P(om∣sm;θ)κP(wm)=∂logP(otm∣r)∂logP(om∣sm;θ)κP(wm)−∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω)=κ∂logP(otm∣r)∂logP(om∣sm;θ)−∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω)
s
t
e
p
2
step2
step2,考虑第一项
κ
∂
log
P
(
o
m
∣
s
m
;
θ
)
∂
log
P
(
o
t
m
∣
r
)
\kappa \frac{\partial \log P(o^m|s^m;\theta)}{\partial \log P(o_t^m|r)}
κ∂logP(otm∣r)∂logP(om∣sm;θ):
由于 P ( o m ∣ s m ; θ ) = P ( o 1 m ∣ s 1 m ; θ ) ∗ . . . ∗ P ( o t m ∣ s t m ; θ ) ∗ . . . P ( o T m m ∣ s T m m ; θ ) P(o^m|s^m;\theta)=P(o_1^m|s_1^m;\theta)*...*P(o_t^m|s_t^m;\theta)*...P(o_{T_m}^m|s_{T_m}^m;\theta) P(om∣sm;θ)=P(o1m∣s1m;θ)∗...∗P(otm∣stm;θ)∗...P(oTmm∣sTmm;θ),所以对于上式来说,只有当 r = s t m r=s_t^m r=stm时, ∂ log P ( o m ∣ s m ; θ ) ∂ log P ( o t m ∣ s t m ) = 1 \frac{\partial \log P(o^m|s^m;\theta)}{\partial \log P(o_t^m|s_t^m)}=1 ∂logP(otm∣stm)∂logP(om∣sm;θ)=1,故有:
κ ∂ log P ( o m ∣ s m ; θ ) ∂ log P ( o t m ∣ r ) = κ δ ( r = s t m ) \kappa \frac{\partial \log P(o^m|s^m;\theta)}{\partial \log P(o_t^m|r)}=\kappa \delta(r=s_t^m) κ∂logP(otm∣r)∂logP(om∣sm;θ)=κδ(r=stm)
δ
(
r
=
s
t
m
)
=
{
1
,
r
=
s
t
m
0
,
else
\delta(r=s_t^m)=\begin{cases}1, & r=s_t^m \\[1ex]0, & \text{else}\end{cases}
δ(r=stm)={1,0,r=stmelse
s
t
e
p
3
step3
step3,考虑第二项
∂
log
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
\frac{\partial \log\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)}
∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω):
∂
log
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
∂
log
∑
ω
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
∑
ω
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∂
∑
ω
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
1
∑
ω
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∑
ω
∂
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
1
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∑
ω
(
∂
e
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∂
log
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
)
=
1
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∑
ω
(
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
κ
∂
log
P
(
o
m
∣
ω
;
θ
)
∂
log
P
(
o
t
m
∣
r
)
)
\frac{\partial \log\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)}=\frac{\partial \log \sum_{\omega} e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}{\partial \sum_{\omega} e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}*\frac{\partial \sum_{\omega} e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}{\partial \log P(o_t^m|r)} \\[3ex] =\frac{1}{\sum_{\omega} e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}* \sum_{\omega}\frac{\partial e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}{\partial \log P(o_t^m|r)} \\[3ex] =\frac{1}{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}*\sum_{\omega}(\frac{\partial e^{\log P(o^m|\omega ;\theta)^\kappa P(\omega)}}{\partial \log P(o^m|\omega ;\theta)^\kappa P(\omega)}*\frac{\partial \log P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)}) \\[3ex] =\frac{1}{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}*\sum_{\omega}(P(o^m|\omega ;\theta)^\kappa P(\omega)*\kappa \frac{ \partial \log P(o^m|\omega;\theta)}{\partial \log P(o_t^m|r)})
∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω)=∂∑ωelogP(om∣ω;θ)κP(ω)∂log∑ωelogP(om∣ω;θ)κP(ω)∗∂logP(otm∣r)∂∑ωelogP(om∣ω;θ)κP(ω)=∑ωelogP(om∣ω;θ)κP(ω)1∗ω∑∂logP(otm∣r)∂elogP(om∣ω;θ)κP(ω)=∑ωP(om∣ω;θ)κP(ω)1∗ω∑(∂logP(om∣ω;θ)κP(ω)∂elogP(om∣ω;θ)κP(ω)∗∂logP(otm∣r)∂logP(om∣ω;θ)κP(ω))=∑ωP(om∣ω;θ)κP(ω)1∗ω∑(P(om∣ω;θ)κP(ω)∗κ∂logP(otm∣r)∂logP(om∣ω;θ))
考虑到
s
t
e
p
2
step2
step2中
κ
∂
log
P
(
o
m
∣
s
m
;
θ
)
∂
log
P
(
o
t
m
∣
r
)
=
κ
δ
(
r
=
s
t
m
)
\kappa \frac{\partial \log P(o^m|s^m;\theta)}{\partial \log P(o_t^m|r)}=\kappa \delta(r=s_t^m)
κ∂logP(otm∣r)∂logP(om∣sm;θ)=κδ(r=stm),故:
∂
log
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∂
log
P
(
o
t
m
∣
r
)
=
1
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
∑
ω
(
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
κ
∂
log
P
(
o
m
∣
ω
;
θ
)
∂
log
P
(
o
t
m
∣
r
)
)
=
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∗
κ
δ
(
r
=
s
t
m
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
=
∑
ω
:
s
t
m
=
r
κ
∗
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
\frac{\partial \log\sum_\omega P(o^m|\omega ;\theta)^\kappa P(\omega)}{\partial \log P(o_t^m|r)}=\frac{1}{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}*\sum_{\omega}(P(o^m|\omega ;\theta)^\kappa P(\omega)*\kappa \frac{ \partial \log P(o^m|\omega;\theta)}{\partial \log P(o_t^m|r)}) \\[3ex] =\frac{\sum_{\omega}P(o^m|\omega ;\theta)^\kappa P(\omega) * \kappa \delta(r=s_t^m) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)} \\[3ex] =\frac{\sum_{\omega:s_t^m=r} \kappa *P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}
∂logP(otm∣r)∂log∑ωP(om∣ω;θ)κP(ω)=∑ωP(om∣ω;θ)κP(ω)1∗ω∑(P(om∣ω;θ)κP(ω)∗κ∂logP(otm∣r)∂logP(om∣ω;θ))=∑ωP(om∣ω;θ)κP(ω)∑ωP(om∣ω;θ)κP(ω)∗κδ(r=stm)=∑ωP(om∣ω;θ)κP(ω)∑ω:stm=rκ∗P(om∣ω;θ)κP(ω)
s
t
e
p
4
step4
step4,综合前两项:
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
log
P
(
o
t
m
∣
r
)
=
κ
δ
(
r
=
s
t
m
)
−
∑
ω
:
s
t
m
=
r
κ
∗
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \log P(o_t^m|r)}=\kappa \delta(r=s_t^m)-\frac{\sum_{\omega:s_t^m=r} \kappa *P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}
∂logP(otm∣r)∂JMMI(θ;om,wm)=κδ(r=stm)−∑ωP(om∣ω;θ)κP(ω)∑ω:stm=rκ∗P(om∣ω;θ)κP(ω)
(2)第二部分,
∂
log
P
(
o
t
m
∣
r
)
∂
z
m
t
L
(
i
)
\frac{\partial \log P(o_t^m|r)}{\partial z_{mt}^L(i)}
∂zmtL(i)∂logP(otm∣r):
∂
log
P
(
o
t
m
∣
r
)
∂
z
m
t
L
(
i
)
=
∂
log
P
(
r
∣
o
t
m
)
∂
z
m
t
L
(
i
)
+
∂
log
P
(
o
t
m
)
∂
z
m
t
L
(
i
)
−
∂
log
P
(
r
)
∂
z
m
t
L
(
i
)
=
∂
log
P
(
r
∣
o
t
m
)
∂
z
m
t
L
(
i
)
\frac{\partial \log P(o_t^m|r)}{\partial z_{mt}^L(i)}=\frac{\partial \log P(r|o_t^m)}{\partial z_{mt}^L(i)}+\frac{\partial \log P(o_t^m)}{\partial z_{mt}^L(i)}-\frac{\partial \log P(r)}{\partial z_{mt}^L(i)} \\[3ex] =\frac{\partial \log P(r|o_t^m)}{\partial z_{mt}^L(i)}
∂zmtL(i)∂logP(otm∣r)=∂zmtL(i)∂logP(r∣otm)+∂zmtL(i)∂logP(otm)−∂zmtL(i)∂logP(r)=∂zmtL(i)∂logP(r∣otm)
其中,
P
(
r
∣
o
t
m
)
P(r|o_t^m)
P(r∣otm)为观察值
o
t
m
o_t^m
otm生成状态
r
r
r的概率,也就是第
r
r
r个神经元的输出值。
z
m
t
L
(
i
)
z_{mt}^L(i)
zmtL(i)为第
i
i
i个神经元的激励(未经过激活函数)。
(3)合并两个部分:
e
m
t
L
(
i
)
=
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
z
m
t
L
(
i
)
=
∑
r
[
κ
δ
(
r
=
s
t
m
)
−
∑
ω
:
s
t
m
=
r
κ
∗
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
]
∂
log
P
(
r
∣
o
t
m
)
∂
z
m
t
L
(
i
)
e_{mt}^L(i)=\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L(i)}}=\sum_{r}[\kappa \delta(r=s_t^m)-\frac{\sum_{\omega:s_t^m=r} \kappa *P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}]\frac{\partial \log P(r|o_t^m)}{\partial z_{mt}^L(i)}
emtL(i)=∂zmtL(i)∂JMMI(θ;om,wm)=r∑[κδ(r=stm)−∑ωP(om∣ω;θ)κP(ω)∑ω:stm=rκ∗P(om∣ω;θ)κP(ω)]∂zmtL(i)∂logP(r∣otm)
又因为只有第i个神经元的激励 z m t L ( i ) z_{mt}^L(i) zmtL(i) 会对 观察序列 o t m o_t^m otm生成状态i的概率 P ( i ∣ o t m ) P(i|o_t^m) P(i∣otm) ,也就是第i个神经元的输出产生影响,所以只有 r = i r=i r=i才能使 ∂ log P ( r ∣ o t m ) ∂ z m t L ( i ) ≠ 0 \frac{\partial \log P(r|o_t^m)}{\partial z_{mt}^L(i)}\neq0 ∂zmtL(i)∂logP(r∣otm)=0,故:
e m t L ( i ) = ∂ J M M I ( θ ; o m , w m ) ∂ z m t L ( i ) = [ κ δ ( i = s t m ) − ∑ ω : s t m = i κ ∗ P ( o m ∣ ω ; θ ) κ P ( ω ) ∑ ω P ( o m ∣ ω ; θ ) κ P ( ω ) ] ∂ log P ( i ∣ o t m ) ∂ z m t L ( i ) = κ ( δ ( i = s t m ) − ∑ ω : s t m = i P ( o m ∣ ω ; θ ) κ P ( ω ) ∑ ω P ( o m ∣ ω ; θ ) κ P ( ω ) ) ∗ ∂ log P ( i ∣ o t m ) ∂ z m t L ( i ) e_{mt}^L(i)=\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L(i)}} \\[3ex] =[\kappa \delta(i=s_t^m)-\frac{\sum_{\omega:s_t^m=i} \kappa *P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}]\frac{\partial \log P(i|o_t^m)}{\partial z_{mt}^L(i)} \\[3ex] =\kappa(\delta(i=s_t^m)-\frac{\sum_{\omega:s_t^m=i} P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)})*\frac{\partial \log P(i|o_t^m)}{\partial z_{mt}^L(i)} emtL(i)=∂zmtL(i)∂JMMI(θ;om,wm)=[κδ(i=stm)−∑ωP(om∣ω;θ)κP(ω)∑ω:stm=iκ∗P(om∣ω;θ)κP(ω)]∂zmtL(i)∂logP(i∣otm)=κ(δ(i=stm)−∑ωP(om∣ω;θ)κP(ω)∑ω:stm=iP(om∣ω;θ)κP(ω))∗∂zmtL(i)∂logP(i∣otm)
若最后的输出层的激活函数为softmax,则:
∂
log
P
(
i
∣
o
t
m
)
∂
z
m
t
L
(
i
)
=
∂
log
(
e
z
m
t
L
(
i
)
∑
r
e
z
m
t
L
(
r
)
)
∂
z
m
t
L
(
i
)
≈
∂
l
o
g
(
e
z
m
t
L
(
i
)
)
∂
z
m
t
L
(
i
)
=
1
\frac{\partial \log P(i|o_t^m)}{\partial z_{mt}^L(i)}=\frac{\partial \log (\frac{e^{z_{mt}^L(i)}}{\sum_{r}e^{z_{mt}^L}(r)})}{\partial z_{mt}^L(i)}\approx \frac{\partial log(e^{z_{mt}^L(i)})}{\partial z_{mt}^L(i)}=1
∂zmtL(i)∂logP(i∣otm)=∂zmtL(i)∂log(∑rezmtL(r)ezmtL(i))≈∂zmtL(i)∂log(ezmtL(i))=1
故
e
m
t
L
(
i
)
=
∂
J
M
M
I
(
θ
;
o
m
,
w
m
)
∂
z
m
t
L
(
i
)
=
κ
(
δ
(
i
=
s
t
m
)
−
∑
ω
:
s
t
m
=
i
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
∑
ω
P
(
o
m
∣
ω
;
θ
)
κ
P
(
ω
)
)
=
κ
(
δ
(
i
=
s
t
m
)
−
γ
m
t
D
E
N
(
i
)
)
e_{mt}^L(i)=\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L(i)}} \\[3ex] =\kappa(\delta(i=s_t^m)-\frac{\sum_{\omega:s_t^m=i} P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)}) \\[3ex] =\kappa(\delta(i=s_t^m)-\gamma_{mt}^{DEN}(i))
emtL(i)=∂zmtL(i)∂JMMI(θ;om,wm)=κ(δ(i=stm)−∑ωP(om∣ω;θ)κP(ω)∑ω:stm=iP(om∣ω;θ)κP(ω))=κ(δ(i=stm)−γmtDEN(i))
其中 γ m t D E N ( r ) = ∑ ω : s t m = r P ( o m ∣ ω ; θ ) κ P ( ω ) ∑ ω P ( o m ∣ ω ; θ ) κ P ( ω ) \gamma_{mt}^{DEN}(r)=\frac{\sum_{\omega:s_t^m=r} P(o^m|\omega ;\theta)^\kappa P(\omega) }{\sum_{\omega} P(o^m|\omega ;\theta)^\kappa P(\omega)} γmtDEN(r)=∑ωP(om∣ω;θ)κP(ω)∑ω:stm=rP(om∣ω;θ)κP(ω),其表示在帧 t t t得到状态 r r r的后验概率,可以通过在音频样本上m的分母词图(denominator lattice)上通过前向后向算法得到。
由于我们是使用强制对齐的方法将标注序列 w m = w 1 m , . . . , w t m , . . . , w N m m w^m=w_1^m,...,w_t^m,...,w_{N_m}^m wm=w1m,...,wtm,...,wNmm拆分成状态序列 s m = s 1 m , . . . , s t m , . . . , s T m m s^m=s_1^m,...,s_t^m,...,s_{T_m}^m sm=s1m,...,stm,...,sTmm,所以可能会出现非常多种状态序列。为了考虑 w m w^m wm所有可能的参考状态序列,常常使用 γ m t N U M ( i ) \gamma_{mt}^{NUM}(i) γmtNUM(i)来代替 δ ( i = s t m ) \delta(i=s_t^m) δ(i=stm)。 γ m t N U M ( i ) \gamma_{mt}^{NUM}(i) γmtNUM(i)表示了帧 t t t得到状态 i i i的后验概率,可以通过在音频样本上m的分子词图(numerator lattice)上通过前向后向算法得到。
综上所述,
∂ J M M I ( θ ; o m , w m ) ∂ θ = ∑ m = 1 M ∑ t = 1 T m ∂ J M M I ( θ ; o m , w m ) ∂ z m t L ∂ z m t L ∂ θ = ∑ m = 1 M ∑ t = 1 T m ∑ i κ ( γ m t N U M ( i ) − γ m t D E N ( i ) ) ∂ z m t L ∂ θ \frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial \theta}=\sum_{m=1}^{M}\sum_{t=1}^{T_m}\frac{\partial J_{MMI}(\theta;o^m,w^m)}{\partial{z_{mt}^L}}\frac{\partial{z_{mt}^L}}{\partial \theta} \\[3ex] =\sum_{m=1}^{M}\sum_{t=1}^{T_m}\sum_{i}\kappa(\gamma_{mt}^{NUM}(i)-\gamma_{mt}^{DEN}(i))\frac{\partial{z_{mt}^L}}{\partial \theta} ∂θ∂JMMI(θ;om,wm)=m=1∑Mt=1∑Tm∂zmtL∂JMMI(θ;om,wm)∂θ∂zmtL=m=1∑Mt=1∑Tmi∑κ(γmtNUM(i)−γmtDEN(i))∂θ∂zmtL
此式子就是使用MMI准则对参数 θ \theta θ进行更新的表达式。