<ins id="h37n9"><span id="h37n9"></span></ins>
<cite id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></cite>
<cite id="h37n9"><span id="h37n9"></span></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<cite id="h37n9"></cite><var id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></var>
<var id="h37n9"><video id="h37n9"></video></var><cite id="h37n9"></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<var id="h37n9"></var>
<menuitem id="h37n9"><strike id="h37n9"></strike></menuitem>
<var id="h37n9"></var>
<var id="h37n9"><video id="h37n9"><var id="h37n9"></var></video></var> <cite id="h37n9"></cite>
<cite id="h37n9"></cite>
<var id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></var>
<menuitem id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></menuitem>
<var id="h37n9"></var>
<menuitem id="h37n9"></menuitem>
<cite id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></cite> <cite id="h37n9"><span id="h37n9"><var id="h37n9"></var></span></cite><var id="h37n9"></var>
<cite id="h37n9"></cite>
<cite id="h37n9"><video id="h37n9"><thead id="h37n9"></thead></video></cite><menuitem id="h37n9"></menuitem>
<var id="h37n9"><span id="h37n9"></span></var>
<menuitem id="h37n9"></menuitem>

欢迎光临四川省巨高科技有限公司

联系我们|网站地图|巨高资讯

13880394188

网站优化 WEBSITE CONSTRUCTION

巨高科技专业从事网站优化的服务团队,专注提供成都网站优化、成都SEO、成都网站关键词优化、成都网站优化培训、成都网站优化公司、成都网站优化推广

当前位置:首页>网站优化 >网站优化技术 >百度优化:语音识别中声学模型得分计算优化方法 >

百度优化:语音识别中声学模型得分计算优化方法

来源:成都网站建设 时间:2016-11-23 点击?#38382;?b id="click">1612次

  摘要

  语音是人们沟通交流最直接、最自然的交互方式。自计算机问世以来,人们就一直希望可以通过语音实现人和计算机之间的交互,而语音识别技术,目标就是通过把人类的语音中的词汇内容转换为相应的文本,架起了人机交互的桥梁。对于一个语音识别系统,速度和精度是两个核心指标,直接决定着系统是否可用。其中,识别速度的提升意味着可以降低成本,同时提供更多的语音服务,一直是语音识别技术研究的重点方向。在语音识别系统中,声学模型得分的运算量一般会达到整个系统的40%-70%,因此也是识别速度优化的重点模块。本文就来讲讲如何优化声学模型得分计算。

  基本概念介绍

  特征向量:语音数据在识别前首先会被分成多帧数据,一般帧长为25毫秒,帧移为10毫秒。每一帧语音数据经过特征提取之后,会生成一帧特征,称之为一个特征向量或特征矢量,其中n为特征向量的维数。

  HMM state:语音识别中的建模单元,简称为state,使用混合高斯模型(GMM)模型描述,每个mixture服从正态分?#35745;?#20013;为均值向量,为协方差矩阵,是对角阵。

  似然值:特征向量O在state?#31995;?#22768;学模型得分。其计算步骤分为两步:

  a)计算O在每个mixture分?#21487;系?#20284;然值,其计算公式为:

  其中,j表示state的第j个mixture分量,是常量,为O在第j个mixture分?#21487;系?#20284;然值。

  其中,m为state中mixture分量的个数,为O在state?#31995;?#20284;然值,等于各mixture的似然值在log域的相加,因而这步被称为logAdd操作。

  优化方法

  下面先介绍三种无损识别精度的优化方法:

  1、代码加速:使用SSE指令或者intel IPP加速库

  这种方法利用编程语言指令集的优化,通过减少CPU需要操作的指令数来达到加速。其中的intel IPP加速库直接提供了一套计算似然值的函数库,加速效果非常明显,可?#28304;?#21040;40%。

  2、硬件加速:使用GPU加速

  GPU一直以其强大的计算能力著称,十分适合矩阵相乘这类计算密集型的运算。为?#22235;?#20805;分发挥GPU的加速效果,我们需要对似然值的计算公式略作改写:

  经过转换之后,每个mixture都可以用一个行向量表示,m个mixture可以组成一个大矩阵M = (A1,A2,…,Am)T,同理n帧的特征矢量?#37096;?#20197;组成一个矩阵F = (Z1,Z2,…,Zn)。这样同时求解多个mixture在多帧?#31995;?#20284;然值就可以用两个矩阵的乘积?#35789;?#29616;。而每个state各mixture分量的logAdd过程相互独立,因此这一步?#37096;?#20197;在GPU上并行计算。一般情况下,GPU可?#28304;?#21040;100倍以?#31995;?#21152;速效果,也就意味着GPU可以将原来在语音识别中最耗时的声学得分计算所占比重降?#38477;?#20110;1%。由于这种方法需要一个额外的硬件设备GPU,价格比较昂贵,因而并没有被大规模使用。

  3、 CPU cache加速:一次计算state在多帧特征?#31995;?#20284;然值

  这种方法利用了语音识别的特点,在识别过程中一旦某个state被激活之后,在后面的连续几帧中这个state极有可能仍会处于活跃状态,即在处理后面的特征时还需要计算这个state的似然值。那么我们可以在第一次激活state时,同时计算这个state在从当前帧开始的连续多帧,也?#25442;?#23548;致过多不必要的计算。另一方面却可以利用CPU cache,不用多次从内存中加载state的模型?#38382;?#21040;CPU中,从而达到加速的目的。这种方法约有10%的加速效果,一般配合方法1使用。

  上面介绍的三种方法,都是对声学模型得分进行?#21496;?#30830;计算,因此?#25442;?#24102;来任何识别精度的下降。如果想做进一步优化,就需要对state的似然值计算公式做些调整。

  1、动态高斯选择法

  其思想是用似然值最大的mixture分量来近似logAdd:

  那么如何来选出这个最大?#30340;?大家可能认为这还不简单?把每个mixture的似然值先计算出来,然后选个最大值就可以了。那接下来我们看看有没有更好的方法?仔细分析mixture似然值的计算公式:

  我们会发现,这是一个随i增加而递减的函数。我们可以先计算出,在计算其他的时,在i从1增加的n的过程中,我们可以判?#31995;?#21069;已经计算出来的值是否比小,如果已经比小,那们这个mixture一定不是最大?#27169;?#22240;为随着i的增加,这个值会?#27426;?#20943;小,因而这个mixture就可以直接跳过,从而减少计算量。这种方法约有15%的加速效果,但是会带来0.5个点左?#19994;?#35782;别率损失

  2、高斯选择法

  动态高斯选择法可以认为是在state的mixture分量里挑出一个最好?#27169;?#32780;高斯选择法认为在state的各个mixture中,只有一到两个占主导地位(dominant)的mixture,贡献了整个state的似然值。

  动态高斯选择法?#21069;?#25152;有的mixture都计算完了之后才知道哪个最好,和动态高斯选择法不同,高斯选择法是直接挑选dominant的mixture,并只计算这些mixture的似然值。其过程大致可以分为3个部分

  a)将声学空间,即声学模型中所有state的所有mixture划分成若干个区域,每个区域称之为一个码本(codeword)

  b)生成每个码本的shortlist,即如何把每个state中的mixture分配到各个码本中去。

  c)在识别过程中,先将特征向量O?#25104;?#21040;一个码本中去,state中落在码本shortlist的mixture就是dominant的mixture,对这些mixture进行计算。

  使用高斯选择法后,声学模型打分计算可以降到原来的20%左右,加速效果非常明显。但是高斯选择法对如何构建码本,以及码本的shortlist有很高要求。不同的构建方法效果会千差万别,一个好的高斯选择法带来的识别率损失非常小,可以做到0.2个点以内。

  小结

  本文介绍了五种从不同的角度优化声学模型打分的方法,各自优缺点如下:

  1、代码加速法:简单实用有效,在实际语音识别系统中可谓是标配。

  2、硬件加速法:快!而且快的离谱!能将声学模型得分计算的负载降到接近0,缺点是成本高,一般只有对识别速度要求非常?#37327;?#26102;才会使用。

  3、CPU cache法:利用了语音识别自身的特点,虽然和其他方法相比,加速效果显得一般,但优点是可以和其他方法结合使用。在实际使用中还需要谨慎选择每次连续计算的帧数,避免多余计算。

  4、动态高斯选择法:加速效果中等,对识别率影响较大,一般使用的比较少。

  5、高斯选择法:加速效果仅次于GPU,同时对识别率影响小,可以与代码加速法结合使用。缺点是这个方法技术难度较高,需要训练,依赖数据。如果不想花钱,又想达到GPU的效果,这个方法是不错的选择。

最新快乐扑克3开奖结果
<ins id="h37n9"><span id="h37n9"></span></ins>
<cite id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></cite>
<cite id="h37n9"><span id="h37n9"></span></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<cite id="h37n9"></cite><var id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></var>
<var id="h37n9"><video id="h37n9"></video></var><cite id="h37n9"></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<var id="h37n9"></var>
<menuitem id="h37n9"><strike id="h37n9"></strike></menuitem>
<var id="h37n9"></var>
<var id="h37n9"><video id="h37n9"><var id="h37n9"></var></video></var> <cite id="h37n9"></cite>
<cite id="h37n9"></cite>
<var id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></var>
<menuitem id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></menuitem>
<var id="h37n9"></var>
<menuitem id="h37n9"></menuitem>
<cite id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></cite> <cite id="h37n9"><span id="h37n9"><var id="h37n9"></var></span></cite><var id="h37n9"></var>
<cite id="h37n9"></cite>
<cite id="h37n9"><video id="h37n9"><thead id="h37n9"></thead></video></cite><menuitem id="h37n9"></menuitem>
<var id="h37n9"><span id="h37n9"></span></var>
<menuitem id="h37n9"></menuitem>
<ins id="h37n9"><span id="h37n9"></span></ins>
<cite id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></cite>
<cite id="h37n9"><span id="h37n9"></span></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<cite id="h37n9"></cite><var id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></var>
<var id="h37n9"><video id="h37n9"></video></var><cite id="h37n9"></cite>
<var id="h37n9"><strike id="h37n9"></strike></var>
<var id="h37n9"></var>
<menuitem id="h37n9"><strike id="h37n9"></strike></menuitem>
<var id="h37n9"></var>
<var id="h37n9"><video id="h37n9"><var id="h37n9"></var></video></var> <cite id="h37n9"></cite>
<cite id="h37n9"></cite>
<var id="h37n9"><video id="h37n9"><menuitem id="h37n9"></menuitem></video></var>
<menuitem id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></menuitem>
<var id="h37n9"></var>
<menuitem id="h37n9"></menuitem>
<cite id="h37n9"><strike id="h37n9"><thead id="h37n9"></thead></strike></cite> <cite id="h37n9"><span id="h37n9"><var id="h37n9"></var></span></cite><var id="h37n9"></var>
<cite id="h37n9"></cite>
<cite id="h37n9"><video id="h37n9"><thead id="h37n9"></thead></video></cite><menuitem id="h37n9"></menuitem>
<var id="h37n9"><span id="h37n9"></span></var>
<menuitem id="h37n9"></menuitem>
五星一码不定位分析表 黑龙江时时几点结束 极速赛车是私人平台开 极速时时开奖网 靠谱的河北时时官网 福彩36选7玩法 内蒙古时时和直走势图 2k能力值排名 重庆时时计划软件破解版 二维码软件公司 广东十一选五视频直播 月圆之夜破解版 彩票报刊金猪报六肖十二码 安徽时时网 老时时彩开奖记录结果 3d预测最准的专家预测
在线客服
在线客服
服务?#35748;?/div>
  • 13880394188