语音识别中的CE准则和MMI准则——内含详细参数更新过程

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(YO)=P(O)P(OW)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θ(OW)
 
 
  对于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θ(WO)=arg θmaxPθ(O)Pθ(OW)P(W)=arg θmaxωPθ(Oω)P(ω)Pθ(OW)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=1MJCE(θ;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=1CwilogviL
其中, 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(io)是观察向量 o o o属于类 i i i的经验概率分布,该分布从训练数据的标注中来(下文会有相关描述)。 v i L = P d n n ( i ∣ o ) v_i^L=P_{dnn}(i|o) viL=Pdnn(io)表示由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=1ClogviL

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(WO),被写为:
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(WO)=W,Op(w,o)logp(wo)=E[logp(WO)]

  降低这个不确定度,就可以使解码器在解码时做出更“确信”的决断。
 
 
  经过一系列的推导(详见声学模型区分性训练及其在自动语音识别中的应用),该训练准则可以等于最小化:
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(WO)=M1m=1MlogωP(omω;θ)P(ω)P(omwm;θ)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=1MlogωP(omω;θ)P(ω)P(omwm;θ)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=1MlogωP(omω;θ)κP(ω)P(omsm;θ)κ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=1MlogωP(omω;θ)κP(ω)P(omsm;θ)κ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=1Mt=1TmzmtLJMMI(θ;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=zmtLJMMI(θ;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)=rlogP(otmr)JMMI(θ;om,wm)zmtL(i)logP(otmr)

这里, 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(otmr)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(omsm;θ)κ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(otmr)JMMI(θ;om,wm)=logP(otmr)logωP(omω;θ)κP(ω)P(omsm;θ)κP(wm)=logP(otmr)logP(omsm;θ)κP(wm)logP(otmr)logωP(omω;θ)κP(ω)=κlogP(otmr)logP(omsm;θ)logP(otmr)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(otmr)logP(omsm;θ)

  由于 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(omsm;θ)=P(o1ms1m;θ)...P(otmstm;θ)...P(oTmmsTmm;θ),所以对于上式来说,只有当 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(otmstm)logP(omsm;θ)=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(otmr)logP(omsm;θ)=κδ(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(otmr)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(otmr)logωP(omω;θ)κP(ω)=ωelogP(omω;θ)κP(ω)logωelogP(omω;θ)κP(ω)logP(otmr)ωelogP(omω;θ)κP(ω)=ωelogP(omω;θ)κP(ω)1ωlogP(otmr)elogP(omω;θ)κP(ω)=ωP(omω;θ)κP(ω)1ω(logP(omω;θ)κP(ω)elogP(omω;θ)κP(ω)logP(otmr)logP(omω;θ)κP(ω))=ωP(omω;θ)κP(ω)1ω(P(omω;θ)κP(ω)κlogP(otmr)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(otmr)logP(omsm;θ)=κδ(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(otmr)logωP(omω;θ)κP(ω)=ωP(omω;θ)κP(ω)1ω(P(omω;θ)κP(ω)κlogP(otmr)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(otmr)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(otmr):
∂ 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(otmr)=zmtL(i)logP(rotm)+zmtL(i)logP(otm)zmtL(i)logP(r)=zmtL(i)logP(rotm)
其中, P ( r ∣ o t m ) P(r|o_t^m) P(rotm)为观察值 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(rotm)

  又因为只有第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(iotm) ,也就是第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(rotm)=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(iotm)=κ(δ(i=stm)ωP(omω;θ)κP(ω)ω:stm=iP(omω;θ)κP(ω))zmtL(i)logP(iotm)

若最后的输出层的激活函数为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(iotm)=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=1Mt=1TmzmtLJMMI(θ;om,wm)θzmtL=m=1Mt=1Tmiκ(γmtNUM(i)γmtDEN(i))θzmtL

此式子就是使用MMI准则对参数 θ \theta θ进行更新的表达式。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1 简介1 1.1 自动语音识别:更好的沟通之桥 1 1.1.1 人类之间的交流 2 1.1.2 人机交流 2 1.2 语音识别系统的基本结构 4 1.3 全书结构 6 1.3.1 第一部分:传统声学模型6 1.3.2 第二部分:深度神经网络6 1.3.3 第三部分:语音识别的DNN-HMM 混合系统7 1.3.4 第四部分:深度神经网络的特征表示学习 7 1.3.5 第五部分:高级的深度模型 7 第一部分传统声学模型9 2 混合高斯模型10 2.1 随机变量10 2.2 高斯分布和混合高斯随机变量11 2.3 参数估计13 2.4 采用混合高斯分布对语音特征建模 15 3 隐马尔可夫模型及其变体17 3.1 介绍17 3.2 马尔可夫链19 3.3 序列与模型 20 3.3.1 隐马尔可夫模型的性质21 3.3.2 隐马尔可夫模型的仿真22 3.3.3 隐马尔可夫模型似然度的计算22 3.3.4 计算似然度的高效算法24 3.3.5 前向与后向递归式的证明25 3.4 期望zui大化算法及其在学习HMM 参数的应用 26 3.4.1 期望zui大化算法介绍 26 3.4.2 使用EM 算法来学习HMM 参数——Baum-Welch 算法 28 3.5 用于解码HMM 状态序列的维特比算法32 3.5.1 动态规划和维特比算法32 3.5.2 用于解码HMM 状态的动态规划算法33 3.6 隐马尔可夫模型和生成语音识别模型的变体35 3.6.1 用于语音识别的GMM-HMM 模型 36 3.6.2 基于轨迹和隐藏动态模型的语音建模和识别37 3.6.3 使用生成模型HMM 及其变体解决语音识别问题 38 第二部分深度神经网络41 4 深度神经网络42 4.1 深度神经网络框架42 4.2 使用误差反向传播来进行参数训练 45 4.2.1 训练准则 45 4.2.2 训练算法46 4.3 实际应用50 4.3.1 数据预处理51 4.3.2 模型初始化52 4.3.3 权重衰减52 4.3.4 丢弃法 53 4.3.5 批量块大小的选择55 4.3.6 取样随机化56 4.3.7 惯性系数 57 4.3.8 学习率和停止准则58 4.3.9 网络结构59 4.3.10 可复现性与可重启性 59 5 高级模型初始化技术61 5.1 受限玻尔兹曼机61 5.1.1 受限玻尔兹曼机的属性63 5.1.2 受限玻尔兹曼机参数学习66 5.2 深度置信网络预训练 69 5.3 降噪自动编码器预训练71 5.4 鉴别性预训练74 5.5 混合预训练75 5.6 采用丢弃法的预训练 75 第三部分语音识别的深度神经网络–隐马尔可夫混合模型77 6 深度神经网络–隐马尔可夫模型混合系统78 6.1 DNN-HMM 混合系统 78 6.1.1 结构78 6.1.2 用CD-DNN-HMM 解码80 6.1.3 CD-DNN-HMM 训练过程81 6.1.4 上下文窗口的影响83 6.2 CD-DNN-HMM 的关键模块及分析 85 6.2.1 进行比较和分析的数据集和实验85 6.2.2 对单音素或者三音素的状态进行建模 87 6.2.3 越深越好88 6.2.4 利用相邻的语音帧89 6.2.5 预训练 90 6.2.6 训练数据的标注质量的影响 90 6.2.7 调整转移概率 91 6.3 基于KL 距离的隐马尔可夫模型91 7 训练和解码的加速93 7.1 训练加速93 7.1.1 使用多GPU 流水线反向传播94 7.1.2 异步随机梯度下降97 7.1.3 增广拉格朗日算法及乘子方向交替算法100 7.1.4 减小模型规模 101 7.1.5 其他方法102 7.2 加速解码103 7.2.1 并行计算103 7.2.2 稀疏网络105 7.2.3 低秩近似107 7.2.4 用大尺寸DNN 训练小尺寸DNN108 7.2.5 多帧DNN 109 8 深度神经网络序列鉴别性训练111 8.1 序列鉴别性训练准则 111 8.1.1 zui大相互信息 112 8.1.2 增强型MMI 113 8.1.3 zui小音素错误/状态级zui小贝叶斯风险114 8.1.4 统一的公式115 8.2 具体实现的考量116 8.2.1 词图产生116 8.2.2 词图补偿117 8.2.3 帧平滑 119 8.2.4 学习率调整119 8.2.5 训练准则选择 120 8.2.6 其他考量120 8.3 噪声对比估计 121 8.3.1 将概率密度估计问题转换为二分类设计问题121 8.3.2 拓展到未归一化的模型123 8.3.3 在深度学习网络训练应用噪声对比估计算法 124 第四部分深度神经网络的特征表示学习127 9 深度神经网络的特征表示学习128 9.1 特征和分类器的联合学习128 9.2 特征层级129 9.3 使用随意输入特征的灵活性 133 9.4 特征的鲁棒性 134 9.4.1 对说话人变化的鲁棒性134 9.4.2 对环境变化的鲁棒性 135 9.5 对环境的鲁棒性137 9.5.1 对噪声的鲁棒性138 9.5.2 对语速变化的鲁棒性 140 9.6 缺乏严重信号失真情况下的推广能力141 10 深度神经网络和混合高斯模型的融合144 10.1 在GMM-HMM 系统使用由DNN 衍生的特征144 10.1.1 使用Tandem 和瓶颈特征的GMM-HMM 模型144 10.1.2 DNN-HMM 混合系统与采用深度特征的GMM-HMM 系统的比较147 10.2 识别结果融合技术149 10.2.1 识别错误票选降低技术(ROVER) 149 10.2.2 分段条件随机场(SCARF) 151 10.2.3 zui小贝叶斯风险词图融合153 10.3 帧级别的声学分数融合153 10.4 多流语音识别 154 11 深度神经网络的自适应技术157 11.1 深度神经网络的自适应问题157 11.2 线性变换159 11.2.1 线性输入网络.159 11.2.2 线性输出网络 159 11.3 线性隐层网络 161 11.4 保守训练162 11.4.1 L2 正则项163 11.4.2 KL 距离正则项163 11.4.3 减少每个说话人的模型开销 165 11.5 子空间方法167 11.5.1 通过主成分分析构建子空间 167 11.5.2 噪声感知、说话人感知及设备感知训练168 11.5.3 张量172 11.6 DNN 说话人自适应的效果172 11.6.1 基于KL 距离的正则化方法 173 11.6.2 说话人感知训练174 第五部分先进的深度学习模型177 12 深度神经网络的表征共享和迁移178 12.1 多任务和迁移学习178 12.1.1 多任务学习 178 12.1.2 迁移学习180 12.2 多语言和跨语言语音识别180 12.2.1 基于Tandem 或瓶颈特征的跨语言语音识别181 12.2.2 共享隐层的多语言深度神经网络182 12.2.3 跨语言模型迁移185 12.3 语音识别深度神经网络的多目标学习188 12.3.1 使用多任务学习的鲁棒语音识别188 12.3.2 使用多任务学习改善音素识别189 12.3.3 同时识别音素和字素(graphemes) 190 12.4 使用视听信息的鲁棒语音识别 190 13 循环神经网络及相关模型192 13.1 介绍192 13.2 基本循环神经网络的状态-空间公式194 13.3 沿时反向传播学习算法195 13.3.1 zui小化目标函数 196 13.3.2 误差项的递归计算196 13.3.3 循环神经网络权重的更新197 13.4 一种用于学习循环神经网络的原始对偶技术199 13.4.1 循环神经网络学习的难点199 13.4.2 回声状态(Echo-State)性质及其充分条件 199 13.4.3 将循环神经网络的学习转化为带约束的优化问题 200 13.4.4 一种用于学习RNN 的原始对偶方法201 13.5 结合长短时记忆单元(LSTM)的循环神经网络203 13.5.1 动机与应用203 13.5.2 长短时记忆单元的神经元架构204 13.5.3 LSTM-RNN 的训练205 13.6 循环神经网络的对比分析205 13.6.1 信息流方向的对比:自上而下还是自下而上 206 13.6.2 信息表征的对比:集式还是分布式208 13.6.3 解释能力的对比:隐含层推断还是端到端学习209 13.6.4 参数化方式的对比:吝啬参数集合还是大规模参数矩阵 209 13.6.5 模型学习方法的对比:变分推理还是梯度下降210 13.6.6 识别正确率的比较211 13.7 讨论212 14 计算型网络214 14.1 计算型网络214 14.2 前向计算215 14.3 模型训练 218 14.4 典型的计算节点222 14.4.1 无操作数的计算节点 223 14.4.2 含一个操作数的计算节点223 14.4.3 含两个操作数的计算节点228 14.4.4 用来计算统计量的计算节点类型235 14.5 卷积神经网络 236 14.6 循环连接 239 14.6.1 只在循环一个接一个地处理样本240 14.6.2 同时处理多个句子242 14.6.3 创建任意的循环神经网络243 15 总结及未来研究方向245 15.1 路线图 245 15.1.1 语音识别的深度神经网络启蒙245 15.1.2 深度神经网络训练和解码加速248 15.1.3 序列鉴别性训练248 15.1.4 特征处理249 15.1.5 自适应 250 15.1.6 多任务和迁移学习251 15.1.7 卷积神经网络 251 15.1.8 循环神经网络和长短时记忆神经网络251 15.1.9 其他深度模型 252 15.2 技术前沿和未来方向 252 15.2.1 技术前沿简析252 15.2.2 未来方向253

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值