转:http://blog.sina.com.cn/s/blog_66f725ba0101bw8i.html

关于语音识别的声学模型训练方法已经是比较成熟的方法,一般企业或者研究机构会采用HTK工具包、Kaldi等进行训练,目前从声学模型出发,提高系统性能的主要策略主要有:

1)增加训练数据。不同的训练数据也会对模型有一定的影响,例如,数据的男女均衡性、采集数据的channel、数据的背景噪声、发音人的方言等等。

2)采用比较好的模型训练方法。以前一般采用基于EM和Baum-Welch算法的最大似然估计MLE(Maximum Likelihood Evaluation)方法,但现在众多研究者针对于MLE方法的缺陷,相继提出了多种区分性训练DT(Discriminative Training)方法,以期能得到较优的分类器。

3)声学模型表示。表述声学模型,用的比较多的就是DTW、GMM-HMM,以及目前研究比较热门的DNN(Deep Neural Network)等。

下面针对MLE和DT这两种训练方法,进行一个理论上的分析。以下内容参考中科大鄢志杰博士的毕业论文“声学模型区分性训练及其在自动语音识别中的应用”。

1. 最大似然估计MLE训练

目前,基于最大似然估计的MLE训练的HMM模型是语音识别系统中声学模型最主流的方法。这与MLE的特有的性质是分不开的。

首先,MLE提供了一种简单的训练方法,使得一个较高精度的语音识别声学模型能够迅速地训练得到。

其次,MLE采用的EM、Baum-Welch算法等,使得其不需要精细的参考文本音段时间标注,并在每一步迭代中确保对目标函数的优化。

最后,MLE估计对训练资源的消耗较小,现在已有很多成熟的算法和工具包能够利用对模型参数进行估计。

但是,MLE估计再理论上做的一些假设影响了其在实际应用条件下训练出最优分类器的能力,具体来说,MLE估计训练出的最优HMM声学模型需要满足以下几个条件:

1)模型假设要正确。即,建模时指定的概率密度函数要能够代表实际语音的“真实”分布。

2)训练数据要趋于无穷。即,可以经由无穷多的数据估计出模型的“真实”参数。

3)解码时需要的语言模型要事先已知,且参数要完全“真实”。

从上面的三点“真实”假设,我们可以看出,这三点在实际实践中是不可能真正做到的。这是因为:语音参数的“真实”分布是不可测的,更谈不上通常意义上的指数族函数(例如我们常采用的GMM)来充分模拟。另外,对于语音识别中的大量模型参数而言,训练数据总是稀疏的,实际的训练数据量远达不到无穷的要求。再者,解码中语言模型存在的问题与声学模型几乎完全一样,因此也达不到“真实”参数的要求。所以,在现实条件下通过MLE训练得到最优分类器是不可能的。

2. 区分性DT训练

区分性训练时研究者针对MLE训练的不足而提出的,希望在现实条件下能得到较优的分类器。DT训练通常定义一个目标函数(Objective Function),或者说是准则函数(Criterion Function),来近似一个与分类代价相关的度量。例如,可定义一个域分类错误相关的量并最小化它;或是定义一个与识别正确率相关的量,并最大化它。通过区分性训练,我们可以从一定程度上弱化模型假设错误所带来的影响。同时,由于区分性训练致力于优化与识别效果好坏相关的度量,因此也就为提高识别器性能提供了更直接的途径。形象的说,MLE训练告诉模型“这是椅子,那是桌子”,而区分性训练则告诉模型“这是桌子而不是椅子,那是椅子而不是桌子”。MLE训练更重视调整模型参数以反映训练数据的概率分布,而区分性训练则更重视调整模型之间的分类面,以更好的根据设定的准则对训练数据进行分类。

区分性群联研究的重点主要有两个方面,一是定义准则,即表明“需要优化什么”,二是研究优化算法,即如何根据给定的准则有效的优化模型参数。在语音识别领域,常用的优化准则有:最大互信息量估计准则(Maximum Mutual Information Estimation,MMIE)、最小分类错误准则(Minimum Classification Error,MCE),以及最小词/音素错误准则(Minimum Word/Phone Error)。而常用的参数优化准则算法则包括广义概率下降(Generalized Pmbability Descent,GPD),以及扩展Baum-Welch(Extened Baum—Welch,EB)算法。

纵观现在主流的声学模型的训练,一般公司的研究院或者是一些公司已经采用DNN训练方式,或者是基于HMM的MPE/fMPE相结合的训练方式,训练更powerful的声学模型。当然,这些对训练数据的需求量依然是相当的大。

[转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别...相关推荐

  1. tensorflow 语音识别_调研报告|在线语音识别改进方法之序列区分性训练

    这篇文章主要调研的是一种常见的改进在线语音识别的方法:序列区分性训练(Sequence Discriminative Training).相信有很多人已经在 CTC/CE 的训练上遇到了瓶颈,而一些新 ...

  2. 区分性训练和mmi(一)

    目录 写在前面 信息论中的一些概念 最大似然估计MLE mle缺点 区分性训练DT和最大互信息MMI 区分性训练 MMI 区分性训练缺点 MMI训练过程 Lattice 对于它的训练: MMI的问题: ...

  3. 卷积神经网络(CNN)在语音识别中的应用

    前言 总结目前语音识别的发展现状,dnn.rnn/lstm和cnn算是语音识别中几个比较主流的方向.2012年,微软邓力和俞栋老师将前馈神经网络FFDNN(Feed Forward Deep Neur ...

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

    CE准则和MMI准则   Cross-Entropy准则和MMI准则分别是两种不同的训练方法ML和DT的常用的准则.而ML和DT训练方法的核心思想分别来自于MLE和MAP.   ML(Maximum ...

  5. 语音识别中Chain Model的原理和实践

    导读 本文将介绍语音识别框架kaldi中提出的chain model语音识别系统,文章会先介绍HMM-DNN语音识别系统以及语音识别中的区分性训练作为铺垫知识,最后再重点介绍chain model的内 ...

  6. 语音识别中的WFST和语言模型

    导读 在语音识别系统中,有限加权状态转换机(Weighted Finite State Transducers, WFST)扮演着重要角色.本文主要介绍发音词典.语言模型和WFST的原理,以及在实践过 ...

  7. 训练(training)和推理\推断(inference)的关系?

    训练(Training) 打个比方,你现在想要训练一个能区分苹果还是橘子的模型,你需要搜索一些苹果和橘子的图片,这些图片放在一起称为训练数据集(training dataset),训练数据集是有标签的 ...

  8. discriminative training鉴别性训练

    MLE(maximum likelihood estimation最大似然估计): 之前用于训练HMM参数(A和B矩阵)所用的Baum-Welch算法和嵌入式训练时基于最大化训练数据的似然度的.MLE ...

  9. 语音识别中强制对齐_语音识别中的标注问题和嵌入式训练

    什么是嵌入式训练(Embedded Training)? 序列的标注问题 机器学习的问题主要分为三类:分类问题,标注问题和回归问题 标注问题的输入是一个观测序列,输出是一个标记序列或者状态序列.标注问 ...

最新文章

  1. ECCV2020 oral | 基于语义流的快速而准确的场景解析
  2. ArcServer for Java 讲座
  3. 阿里研究员谷朴:警惕软件复杂度困局
  4. Navicat导出表结构
  5. Storage API简介和存储限制与逐出策略
  6. 若川的2016年度总结,毕业工作
  7. socket 编程入门教程(一)TCP server 端:1、建模
  8. shell awk实现实时监控网卡流量脚本(常见应用二)
  9. Linux中断 - GIC代码分析
  10. syn-proxy源码分析(1)
  11. Emacs 配置 Python 编程环境
  12. drools规则引擎介绍
  13. PowerDesigner 数据字典模板
  14. 转:如何在艰难时期留住好员工
  15. 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)
  16. 电阻的单位字符及读法
  17. 新媒体营销方式有哪几种
  18. 索尼随身听体积小吗?
  19. 华为服务器怎么进入系统,服务器怎么进入系统
  20. 从arduino板开始做到阿里云app控制--WeMos D1或ESP8266连接阿里云文章合集及源代码

热门文章

  1. linux笔记本没有insert,无法在Linux中将UTF8插入数据库MySQL(Can not insert UTF8 to Database MySQL in Linux)...
  2. Java项目:药店信息管理系统(java+SSM+JSP+layui+maven+mysql)
  3. linux 查看线程详细信息,Linux 下查看线程信息
  4. 多重集表示合json数据_计数DP(划分数,多重集组合数)
  5. springboot 读取配置文件内容的几种方式
  6. 样式集(二) 信息填写样式模板
  7. 微信小程序 循迹功能制作
  8. Ant Design Pro 组件事件绑定 Input onChange
  9. 微信小程序的数字有部分会自动加粗的解决方法
  10. LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)