LF-MMI在语音识别中的应用

举报
作家小然 发表于 2020/07/14 16:50:15 2020/07/14
【摘要】 最大互信息(MMI)作为区分性训练中一个重要的统计量,在语音识别任务中取得很好的效果,本篇文章将系统的描述MMI在语音识别系统中的作为损失函数的数据理论依据,以及Lattice Free MMI在传统声学模型和端到端声学模型中的技术沿袭。

       目录

一. 语音识别在做什么

二. MMI推导过程

三. MMI在语音识别模型训练中的应用

四. LF-MMI有什么改进

五. LF-MMI在kaldi中的实现


最大互信息Maximum Mutual Information)是分类算法常用的区分性准则,在Interspeech 2013的论文Sequence-discriminative training of deep neural networks中,被引入做语音识别深度模型训练。在Interspeech 2016的论文Purely sequence-trained neural networks for ASR based on lattice-free MMI中,发展为不使用LatticeMMI声学模型损失函数。在2018年的多篇论文中,又应用在半监督的声学模型训练中。

本篇文章主要有两个目标:

1. 推导MMI准则求导、梯度计算等,对于声学模型训练的理论依据;

2. 理解LF-MMI做了什么改进,以及在语音识别开源框架Kaldi中的实现。

在推导数学公式之前,有必要复习一下导数的基本运算法则:

      


一. 语音识别在做什么

   在给定语音观测序列的情况下,求出词语的概率,概率最大的序列即为最有可能的识别结果。该公式可以通过贝叶斯公式展开:

  其中,

 为语言模型,即可以通过统计概率,计算词语序列出现的概率。

 为声学模型,即将语音信号的特征提取(一般为MFCC),通过非线性变换为HMM状态。

 称为先验概率,而为后验概率,机器学习的很多算法都依赖贝叶斯公式,将较难计算的后验概率转换为先验概率的求解。

使用最大似然来实现模型训练:

那么,在这里,我们可不可以直接最大化

  实际证明,可以。

  使用softmax的网络对于语音信号特征的输出如下:


  其中,

是句子u对应t时刻的观测值。

  是声学模型对句子对应时刻HMM状态的输出。

        是激活层对句子对应时刻HMM状态的输出。

  值得注意的是,这里讨论的是使用HMM隐状态来表示隐藏序列,因此序列和上述贝叶斯中的可以一一对应。


根据贝叶斯公式:

通过移项得:

  两边取log得到似然公式


其中,是全局统计得到的状态s出现的概率,是数据的本身分布,均和无关。

因此帧级别的交叉熵函数如下:

softmax前的激活值求导,利用该值可以继续反向计算任意神经网络参数的更新梯度:


二.MMI推导过程

其中,

  是全部的观测序列。

  是句子对应的词语序列。

 对应的状态序列。

     是声学伸缩系数。

进一步:

类似交叉熵,我们的目标也是要计算该式对softmax前的激活值的导数,但是该导数不易直接求得,因此我们先对求导,再利用链式法则对目标求导。

求导时,只考虑中关于的项即可,其他项和无关,因此对的求导为0,所以只需要计算下式的导数:

其中,

   

我们把上式的左半部分(log式中是上半部分)称为分子项,右半部分(log式中是下半部分)称为分母项。

接下来,分别对分子项和分母项进行求导。

展开上式,

由于对应的项和都和无关,因此只需计算的导数。很容易看出,当时,则导数为,否则导数为0,因此分子项的导数为:

分母项求导,得:

因为是一个关于不同求和式,分开考虑其中各项。

(1) 对应的,其时刻所处状态)不等于,则该项与无关,求导结果为0

(2) 对应的,其等于,则该项与有关。我们任选一个这种来分析,假设其为,该项可写为:


注意,由于其中的项和均和无关。因为,所以有关,该式对求导结果如下:

,则:


将式(13)带回(12)



以上只是其中一个的导数,其他满足等于也要参与求导。将所有的这些求和:


即,

综合上述分子项和分母项,式(6)(9)(16)

其中,

表示音频数据时刻处在状态的概率。该值可以在完整的解码图中使用前后向算法求得。为了减少计算量也可以在一个更小的词格Lattice)上计算。该Lattice需要使用一个已有的识别系统生成。Lattice中的路径除了,其他的路径正是模型容易混淆的路径。


最后根据式(17)使用链式法则计算对于softmax前的激活值的导数:

根据(2)

根据(4)

(17)(21)带入(19)

其中,

是给定神经网络声学模型,的输出状态是的概率。

是给定神经网络声学模型和解码网络,时刻输出状态是的概率,因此不仅依赖于时刻的,还依赖其他时刻的,并且依赖解码网络(语言学模型信息)。

可以看做是的一种拓展。


三. MMI在语音识别模型训练中的应用

     由上述的推导可知,MMI的目标函数不仅与正确的标注(分子项)有关系,还与其他的所有可能的序列(分母项)有关系;不仅与声学模型有关系,还与语言模型有关系。要最大化该式,要么使分子尽可能的大,要么使分母尽可能的小,要么同时去优化两者。

       为了减少计算使其可训练,一种方法是对的可能进行限制,让是有穷的,可枚举的。前辈们告诉我们,可以使用该语音对应语音识别解码的Lattice近似。语音识别解码生成的Lattice的示例如下图所示(图示为一个word级别的Lattice),在解码过程中,除了保留最优路径之外,我们还将未被解码器剪枝的其他路径也保存下来,并且合并一些相同的前缀和后缀,表示为图的形式。该图示是有穷的,可枚举,Lattice对所有W的近似,相当于通过识别解码仅仅保留了概率大的,而将大部分小概率的被忽略掉。

       因为MMI的训练依赖Lattice,所以被称为Lattice Based-MMILattice又依赖已经训练好的声学模型,所以在DNN的声学模型中,我们要先基于ML准则先训练好传统声学模型或DNN声学模型,然后做MMI的训练。但是由于Lattice本质上是一个解码过程,其生成代价很高,并且只能在CPU上进行解码完成。一般情况下,我们在训练使用MMI准则的声学模型前,会使用已有声学模型一次性生成全部训练集的Lattice,在区分性训练的过程中并不会根据当前更新后的声学模型实时生成Lattice。所以在这种方式中,Lattice是滞后的,和当前的声学模型并不同步。

四. LF-MMI有什么改进

       如上所述,Lattice的生成计算代价高,有滞后性,不能使用GPU,面对这些弊端。那么MMI中的分母表示,在基于LatticeMMI训练过程中,使用Lattice近似其分母。还有没有别的方法?

       MMI中分母实际上是在考虑的各种可能,即词序列的各种可能,在语言模型中我们通过统计词频,计算N-gram的方式将词语序列的可能性表示为概率语言模型。同样的,这里,我们也可以通过概率统计模型N-gram去表示该分母。假设我们将表示为一个和语音识别解码时类似的语言模型G,并为MMI分母构建一个类似HCLG的解码图,则该解码图中组合了MMI中的声学模型和语言模型的信息。我们提到一定要是有限的,可枚举的,当MMI分母和语音识别解码图是一样时,即以词Word作为语言模型的单元,一般的语音识别系统词级别在数十万到百万之间,即使做个简单的bi-gram,其复杂度也非常非常高(HCLG的大小),训练代价非常高。

       所以在实现中,由于声学模型的任务是区分音素(phone,或者说是做音素的分类任务),我们可以通过构建音素级别的语言模型来作为分母项,所以分母项的解码图实际上是:

HCP

    其中HHMM拓扑,CCD-StatePPhone的语言模型。PhoneState的个数,数百到数千,3-gram4-gram的语言模型也在计算合理范围内。

       当使用语言模型的思想表示MMI的分母时,我们无需再对训练语料进行解码,无需生成Lattice,所以称之为Lattice Free MMI(LF-MMI)



五. LF-MMI在kaldi中的实现

       1. chain模型,一种特殊的LF-MMI实现(TODO);

       2. 源码分析(目前先上传了部分阅读源码时记录的调用逻辑和数据结构)。

        



参考资料:

1. https://zhuanlan.zhihu.com/p/113715935语音识别系列之区分性训练和LF-MMI, 张彬彬

2. http://placebokkk.github.io/asr/2019/12/24/asr-paper-se-mmi-note.html Sequence-discriminative training of DNNs笔记, Chao Yang

3. https://zhuanlan.zhihu.com/p/65557682 kaldi中的chain model(LFMMI)详解, 杨阳阳

4. https://www.danielpovey.com/files/2013_interspeech_dnn.pdf Sequence-discriminative training of deep neural networks, Interspeech

5. https://www.danielpovey.com/files/2016_interspeech_mmi.pdf Purely sequence-trained neural networks for ASR based on lattice-free MMI, Interspeech


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。