著录项信息
专利名称 | 用于大词汇量连续语音识别的深度信任网络 |
申请号 | CN201110289015.0 | 申请日期 | 2011-09-14 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2012-04-11 | 公开/公告号 | CN102411931A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G10L15/14 | IPC分类号 | G;1;0;L;1;5;/;1;4;;;G;1;0;L;1;5;/;1;6查看分类表>
|
申请人 | 微软公司 | 申请人地址 | 美国华盛顿州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 微软技术许可有限责任公司 | 当前权利人 | 微软技术许可有限责任公司 |
发明人 | L·邓;D·俞;G·E·达尔 |
代理机构 | 上海专利商标事务所有限公司 | 代理人 | 胡利鸣 |
摘要
本发明涉及用于大词汇量连续语音识别的深度信任网络。在此描述了一种方法,该方法包括致使处理器接收采样的行为,其中该采样是讲出的发言、在线手写采样或者移动图像采样之一。该方法还包括致使处理器至少部分基于深度结构与依赖于上下文的隐马尔科夫模型(HMM)的组合的输出对该采样进行解码的动作,其中该深度结构被配置为输出依赖于上下文的单元的后验概率。该深度结构是深度信任网络,其包括许多层非线性单元,这些非线性单元具有通过预训练步骤以及之后的细调步骤所训练的层之间的连接权重。
1.一种用于对采样进行解码的方法,包括以下计算机可执行动作:
致使处理器接收采样,其中该采样是讲出的发言、在线手写采样、或者描述物体的运动的视频信号之一;以及
致使处理器至少部分基于深度结构与隐马尔科夫模型HMM的依赖于上下文的组合的输出对该采样进行解码,其中该深度结构被配置为输出依赖于上下文的单元的后验概率;
其中该方法进一步包括:在该深度结构与该HMM的组合的训练阶段期间,对该深度结构执行预训练。
2.如权利要求1所述的方法,其特征在于,该采样是讲出的发言,并且其中该依赖于上下文的单元是senone。
3.如权利要求1所述的方法,其特征在于,该深度结构是深度信任网络DBN。
4.如权利要求3所述的方法,其特征在于,该DNB是概率生成性模型,该概率生成性模型包括处于表示数据矢量的所观察到的变量的单个底层之上的多层随机隐藏单元。
5.如权利要求4所述的方法,其特征在于,该DBN是前馈人工神经网络ANN。
6.如权利要求1所述的方法,其特征在于,进一步包括:在该深度结构与该HMM的组合的训练阶段期间,从高斯混合模型GMM-HMM系统中导出该深度结构与该HMM的组合。
7.如权利要求1所述的方法,其特征在于,该深度结构包括多个隐藏随机层,并且其中预训练包括使用不受监督的算法来初始化所述隐藏随机层之间的连接的权重。
8.如权利要求7所述的方法,其特征在于,进一步包括:使用反向传播来进一步细化所述隐藏随机层之间的连接的权重。
9.一种计算机实现的语音识别系统,包括:
处理器(802);以及
能够由该处理器来执行的多个组件,所述多个组件包括:
深度结构与HMM的计算机可执行的组合(106),该组合(106)接收输入采样,其中该输入采样是讲出的发言或者在线手写采样之一,其中深度结构与HMM的组合输出与该输入采样有关的依赖于上下文的单元的随机分布;以及
解码器组件(108),该解码器组件(108)至少部分基于与该输入采样有关的依赖于上下文的单元的随机分布对来自该输入采样的词语序列进行解码;
其中在该深度结构与该HMM的组合的训练阶段期间,对该深度结构执行预训练。
10.如权利要求9所述的系统,其特征在于,该输入采样是讲出的发言,并且其中该依赖于上下文的单元是senone。
11.如权利要求9所述的系统,其特征在于,该深度结构是深度信任网络DBN。
12.如权利要求11所述的系统,其特征在于,该DNB是概率生成性模型,该概率生成性模型包括处于表示数据矢量的所观察到的变量的单个底层之上的多层随机隐藏单元。
13.如权利要求12所述的系统,其特征在于,该组件进一步包括转换器/训练器组件,该转换器/训练器组件至少部分基于高斯混合模型GMM-HMM系统生成深度结构与HMM的组合。
14.如权利要求11所述的系统,其特征在于,该HMM被配置为输出与该输入采样相对应的依赖于上下文的单元之间的转移概率。
用于大词汇量连续语音识别的深度信任网络\n技术领域\n[0001] 本发明涉及用于大词汇量连续语音识别的深度信任网络。\n背景技术\n[0002] 语音识别已经是大量研究和商业开发的课题。例如,语音识别系统已经并入到移动电话、台式计算机、汽车等等中以便提供对用户所提供的语音输入的具体响应。例如,在配备有语音识别技术的移动电话中,用户可以讲出移动电话中所列出的联系人的姓名,并且移动电话可以发起对该联系人的呼叫。此外,许多公司当前正在使用语音识别技术在标识出公司雇员以及标识出产品或服务的问题等等方面来帮助顾客。\n[0003] 然而,即使在几十年的研究以后,自动语音识别(ASR)系统在现实世界使用场景中的性能依然远远不能令人满意。按常规而言,隐马尔科夫模型(HMM)已经是用于大量词汇连续语音识别(LVCSR)的主要技术。HMM是一种生成性模型,其中可观察的声学特性被假定是从在状态S={s1,…,sK}之间转移的隐马尔科夫过程生成的。HMM中的关键参数是:初始状态概率分布π={qt=sj|qt-1=si},其中qt是在时间t的状态;转移概率aij=p(qt=sj|qt-1=si);以及用于估计观察概率p(xt|si)的模型。\n[0004] 在用于ASR的常规HMM中,观察概率是使用高斯混合模型(GMM)被建模的。这些GMM-HMM通常被训练以最大化生成所观察到的特性的可能性。最近,已经开发出了各种区别策略和大余量技术。然而,这样的技术的潜力受到GMM发射分布模型的局限性的限制。\n[0005] 已经尝试了扩展常规的GMM-HMM架构,使得区别性训练成为模型的固有部分。例如,已经提出使用人工神经网络(ANN)来估计观察概率。这样的模型已经被称为ANN-HMM混合模型,并且在不久前曾被认为是用于LVCSR的有前景的技术。然而,这样的混合体已经与许多局限性相关联。例如,仅仅使用反向传播来训练前馈ANN未良好地利用两个以上的隐藏层。因此,在常规ASR系统存在不足的条件下,所期望的是改进的ASR系统。\n发明内容\n[0006] 以下是在本文详细描述的主题的简要概述。本发明内容不旨在是关于权利要求的范围的限制。\n[0007] 在此描述了与自动语音识别(ASR)有关的各种技术。更具体而言,在此描述了与供用在ASR中的依赖于上下文的深度信任网络(DBN)-隐马尔科夫模型(HMM)有关的各种技术。DBN可以被配置为输出senone的分布,并且HMM可以被配置为输出senone之间的转移概率。Senone是可以由HMM中的状态来表示的基本子音素单元。可替代地,如果HMM中的状态的数目极其巨大,则senone可以被表示为聚类的依赖于状态的输出分布。这两个输出可以被解码器用于对采样进行解码,其中该采样是讲出的词语、词语的一部分、或者短语。\n[0008] 此外,在此描述了训练DBN-HMM以供在ASR中使用。根据一示例,DBN-HMM可以使用嵌入式韦特比(Viterbi)算法来训练。为了支持训练和利用DBN-HMM,可以开发出一系列工具。这样的工具中的一些包括:用于将高斯混合模型(GMM)-HMM转换成DBN-HMM的工具、用于将训练数据中的帧对齐以训练DBN-HMM的工具、以及DBN-HMM解码器。\n[0009] 尽管依赖于上下文的DBN-HMM在此已经参考了DBN-HMM结合ASR的训练和利用,但是应当理解,依赖于上下文的DBN-HMM可以用在其他上下文中。例如,依赖于上下文的DBN-HMM可以与在线手写识别和自动人类活动识别/检测结合使用。此外,可以使用DBN以外的其他深度结构来执行ASR和其他顺序模式识别任务。\n[0010] 在阅读并理解了附图和描述后,可以明白其他方面。\n附图说明\n[0011] 图1是通过利用混合深度信任网络(DBN)-隐马尔科夫模型(HMM)来促进执行自动语音识别(ASR)的示例性系统的功能框图。\n[0012] 图2是混合DBN-HMM的示例性描述。\n[0013] 图3是促进训练DBN-HMM的示例系统的功能框图。\n[0014] 图4是促进预训练DBN的示例系统的功能框图。\n[0015] 图5是示出用于通过利用混合DBN-HMM来对采样进行解码的示例方法的流程图。\n[0016] 图6是示出用于训练DBN-HMM以供在ASR系统中使用的示例性方法的流程图。\n[0017] 图7示出了示例性的深度隐藏条件随机场。\n[0018] 图8是示例性计算系统。\n具体实施方式\n[0019] 现在将参考附图来描述关于自动语音识别(ASR)系统的各种技术,其中贯穿全文,相同的附图标记表示相同的元素。另外,本文出于解释的目的示出并描述了各示例系统的若干功能框图;然而可以理解,被描述为由特定系统组件执行的功能可以由多个组件来执行。类似地,例如可以将一组件配置为执行被描述为由多个组件执行的功能,并且在此所述的方法中的一些步骤可以被省略、重排序、或者组合。\n[0020] 参考图1,示出了促进执行ASR的示例性系统100。系统100包括接收采样104的语音识别系统102。该采样可以是来自个体的在特定时间量内所讲出的词语(例如其通过利用麦克风被捕捉)。采样104可以通过利用模数转换器来被数字化,并且可以在期望时受到某种形式的归一化。尽管在此所提供的示例指示:采样104是讲出的发言,但是应当理解,系统100可以被配置为执行在线手写识别和/或实时姿势识别。因此,采样104可以是在线手写采样或者描述诸如人类之类的对象的运动的视频信号。\n[0021] 语音识别系统102包括依赖于上下文的深度信任网络(DBN)-隐马尔科夫模型(HMM)系统106。DNB是一种概率生成性模型,其具有处于表示数据矢量的所观察到的变量的单个底层之上的多层随机隐藏单元。前馈人工神经网络(ANN)也可以被认为是DBN,其中前馈人工神经网络的权重已经以下面所描述的预训练阶段的方式被初始化。HMM是一种生成性模型,其中可观测的声学特性被假定是从在状态S={s1,…,sK}之间转移的隐马尔科夫过程生成的。DBN-HMM系统106是依赖于上下文的,因为DBN被配置为接收从采样104导出的观察的矢量以及输出关于senone对应于采样104的概率。Senone是可以由HMM中的状态来表示的基本子音素单元。可替代地,如果HMM中的状态的数目极其巨大,则senone可以被表示为聚类的依赖于状态的输出分布。DBN-HMM系统106中的HMM确定senone之间的转移概率。因此,DBN-HMM系统106中的DBN可以输出关于senone的概率。语音识别系统102还包括解码器108,该解码器接收DBN-HMM系统106的输出,并且生成输出110,其中输出110是对对应于采样104的词语或短语的指示。\n[0022] 根据一示例,语音识别系统102可以部署在多种上下文中。例如,语音识别系统\n102可以部署在移动电话中,使得移动电话可以响应于用户所讲出的命令作出行动。在另一示例中,语音识别系统102可以部署在汽车中,使得汽车可以响应于用户所讲出的命令作出行动。内部可以采用语音识别系统102的其他系统包括自动转录系统、工业自动化系统、银行系统、以及其他采用ASR技术的合适系统。\n[0023] 附加地,依赖于上下文的DBN-HMM系统106可以部署在其他类型的系统中。例如,DBN-HMM系统106可以用在在线手写字符识别系统中(例如在个体在触敏屏上书写的情况下)。在这样的实施例中,DBN-HMM系统106中的DBN可以被配置为输出关于任意上下文单元的概率(senone与音素单元相关并且因此不适用于这样的系统)。另外还有,DBN-HMM系统106中的DBN可以被其他一些合适的深度结构代替。另一类型的深度结构的示例包括深度结构化的条件随机场(CRF)或者其他深度结构常规神经网络。\n[0024] 现在参考图2,示出了示例的DBN-HMM 200。DBN-HMM 200包括DBN202。DBN 202可以接收采样110或其一些衍生物,其可以分割成随时间t的多个所观察到的变量204。所观察到的变量204可以表示时间上不同的实例的数据矢量。DBN 202还包括多层随机隐藏单元206。DBN 202具有顶部两层随机隐藏单元206之间的非定向连接208以及从上面的层到所有其他层的定向连接210。在下面将详细描述的预训练阶段期间,可以将权重w分别分配给定向和非定向连接208和210。附加地或可替代地,DBN 202可以是使用DBN预训练策略被预训练的前馈神经网络,其中λ是用于将二元概率的矢量转换成多项概率(在这种情况下为多senone)的softmax权重。\n[0025] 在该示例性的实施例中,DBN 202可以被训练为使得最上面的层(第M层)中的输出单元可以被建模为依赖于上下文的单元,比如senone。更详细而言,DBN-HMM 200包括HMM 212。HMM 212例如可以被配置为输出多个senone 214的转移概率。转移概率被示为HMM 212的senone 214组之间的定向箭头216。在此处将描述的训练阶段期间,DBN 202的输出单元可以在HMM 212中的senone 214对齐,其中这样的输出单元通过softmax权重λ对senone后验概率进行建模。HMM 212可以输出senone 214之间的转移概率。如下面将会示出的那样,这样的输出(senone后验概率和转移概率)可以用于对采样110进行解码。\n[0026] 通过使用DBN 202更好地预测senone,依赖于上下文的DBN-HMM 200可以实现在与常规三音素GMM-HMM相比时改善的识别精确度。更确切而言,解码器108(图1)可以按如下方式确定经编码的词语序列:\n[0027] \n[0028] 其中p(w)是语言模型(LM)概率,并且\n[0029] p(x|w)=∑q p(x,q|w)p(q|w) (2)\n[0030] \n[0031] 是声学模型(AM)概率。值得注意的是,观察概率\n[0032] p(xt|qt)=p(qt|xt)p(xt)/p(qt) (4)\n[0033] 其中p(xt|qt)是从DBN 202中估计的状态(senone)后验概率,p(qt)是从训练集合中估计的每个状态(senone)的先验概率,并且p(xt)不依赖于词语序列并且因此可以被忽略。值得注意的是,在一些条件下,除以先验概率p(qt)不能改善识别精确度,并且因此可以被省略。然而,尤其是当训练发言包括相对长的无声片段时,除以先验概率可以减轻标签偏差问题。\n[0034] 另外值得注意的是,增加正确状态 的 可以自动地减小竞争状态的概率。\n给定上述条件,发言(采样110)的正确词语序列可以被表示成 并且与 相关联的最佳对齐可以使用GMM-HMM,并且DBN-HMM可以分别被表示成 和 另外可以假定:\nDBN可以更好地估计帧后验概率,例如\n[0035] \n[0036] 在给定相同的初始状态概率和转移概率的情况下,正确词语序列 的后验概率的对数的改变如下:\n[0037] \n[0038] \n[0039] \n[0040] \n[0041] \n[0042] \n[0043] \n[0044] \n[0045] 其中当采用DBN-HMM时,≥步骤保持,因为 是比 更好的对齐。这暗示:\n由于帧级后验概率(或似然性)使用来自GMM-HMM(其在下面描述)的对齐而被改善,正确词语序列的后验概率可以被改善并且更好的识别精确度可以获得。\n[0046] 现在参考图3,示出了促进训练DBN-HMM系统106的示例性系统300。系统300包括转换器/训练器组件302,其接收经训练的GMM-HMM系统304,并且将这样的系统304转换成DBN-HMM系统。GMM-HMM系统304可以是已经根据常规的训练技术进行了训练的最佳绑定状态的依赖于上下文的GMM-HMM系统,其中状态绑定是基于数据驱动的决策树被确定的。GMM-HMM可以被表示成gmm-hmm以供参考。\n[0047] 转换器/训练器组件302包括分析器组件306,该分析器组件分析gmm-hmm并且从\n0开始给每个senone分配有序的senone标识符。Senone标识符可以被表示成senoneid。\n分析器组件306可以进一步分析gmm-hmm以生成从训练数据中的每个物理三音素状态到相应senoneid的映射。该映射可以被表示成state2id。\n[0048] 转换器/训练器组件302进一步包括转换器组件308,该转换器组件使用senone到senoneid映射将gmm-hmm转换成DBN-HMM。该DBN-HMM可以被表示成dbn-hmm1。来自gmm-hmm的三音素和senone结构可以被转换器组件308用于生成dbn-hmm1。\n[0049] 转换器/训练器组件302还包括预训练器组件301,该预训练器组件可以在dbn-hmm1中的DBN中自底向上对每个层进行预训练。下面将提供关于预训练的更多细节。\n所得到的经预训练的DBN可以被称为ptdbn。\n[0050] 扩充器组件312可以然后扩充词典使得每个词语发音都具有至少两个更多的变型:第一变型,其中短的停顿(sp)被附加到每个词语;以及第二变型,其中无声(sil)被添加到每个词语。经扩充的词典可以被表示成lex-aug。\n[0051] 转换器/训练器组件302进一步包括对齐器组件314,该对齐器组件可以利用gmm-hmm来生成用于训练经训练的GMM-HMM系统304的训练数据集的状态级对齐。该对齐可以被表示成align-raw(对齐-粗略)。该对齐器组件314可以之后将每个三音素状态转换成senoneid,由此将align-raw转换成align(对齐)。\n[0052] 调谐器组件316可以之后利用与align中的每帧相关联的senoneid来使用反向传播或其他合适的方法从ptdbn开始对DBN进行细调。换言之,对ptdbn中的层之间的连接所分配的权重可以在执行反向传播时被用作初始权重。经细调的DBN可以被表示成dbn。\n[0053] 转换器/训练器组件302可以进一步包括估计器组件318,该估计器组件可以估计先验概率p(si)=n(si)/n,其中n(si)是与align中的senone Si相关联的帧的数目,并且n是帧的总数。然后,估计器组件318可以使用dbn和dbn-hmm1重新估计转移概率以最大化观察到特征的似然性。该新的DBN-HMM可以被表示成dbn-hmm2。\n[0054] 然后,可以给dbn-hmm2提供确认数据,并且可以至少部分基于dbn-hmm2的输出对确认采样进行解码。如果确认数据中不存在所观察到的识别精确度改善,则dbn-hmm2可以被用作DBN-HMM系统106。否则,可以采用dbn、dbn-hmm2、以及lex-aug来生成训练数据上的新的状态级对齐align-raw。然后,对齐器组件314可以接收align-raw,并且对齐器组件314、调谐器组件316、以及估计器组件318可以如上面所述那样操作,直到不存在识别精确度改善。训练的结果是DBN-HMM系统106,该DBN-HMM系统可以部署在语音识别系统102中。\n[0055] 应当理解,上述过程在本质上是示例性的,并且不旨在在所附权利要求书的范围方面进行限制。例如,上述过程可以以各种方式进行修改。例如,分析器组件306和转换器组件308可以相组合,并且由转换器/训练器组件302所承担的彼此之间没有依赖性的动作可以被重排序。附加地,DBN-HMM系统106可以在不将GMM-HMM用作初始模型的情况下被直接训练,在这种条件下,与GMM-HMM转换相关的步骤/组件可以被省略。在这种情况下,可以添加如下组件:所述组件被配置为构建决策树以绑定依赖于上下文的音素以及生长DBN-HMM。\n[0056] 在一示例性的实施例中,所得到的DBN-HMM系统106中的每个senone都可以被标识为(伪)单混合高斯,该(伪)单混合高斯的尺寸等于senone的总数。例如,该高斯的方差(精度)可以是不相关的,并且可以被设置成任何正值(例如总是被设置成1)。每个senone的平均值的第一尺寸的值可以被设置成上述相应的senoneid。其他尺寸的值可以被设置成任何值,比如0。在这样的实施例中,对每个senone求值基本上等价于利用由senoneid指示的索引对由DBN产生的特性(对数似然性)进行查表。\n[0057] 现在转到图4,示出了促进最初训练DBN的示例性系统400。具体而言,系统400可以用于输出上述ptdbn。在一示例性实施例中,经训练的受限玻尔兹曼机(RBM)可以结合输出ptdbn使用。RBM是一种非定向图形模型,其根据二元随机隐藏单元层和随机可见单元层来构建,该层例如可以是以隐藏单元为条件的柏努利或高斯分布。可见和隐藏单元形成不具有可见-可见或隐藏-隐藏连接的二分图。具体而言,可以假定可见单元是二元的。\n在此描述可以如何处理实数值语音数据。\n[0058] RBN根据下式将能量分配给分别由v和h来表示的可见和隐藏状态矢量的每个配置:\n[0059] E(v,h)=-bTv-cTh-vTWh, (7)\n[0060] 其中w是可见/隐藏连接权重的矩阵,b是可见单元偏差,并且c是隐藏单元偏差。\n可见和隐藏单元的任何特定设定的概率可以按下式根据该配置的能量来给定:\n[0061] \n[0062] 其中归一化因子Z=∑v,he-E(v,h)被称为分割函数。每个中都缺乏直接连接允许导出P[v,h]和P[h,v]的相对简单精确的表达式,因为可见单元在给定隐藏单元状态的情况下是有条件地独立的,并且反之亦然。对于二元情况而言,可以获得下式:\n[0063] P(h|v)=σ(c+vTW) (9)\n[0064] P(v|h)=σ(b+hTWT) (10)\n[0065] 其中σ表示按元素的逻辑斯蒂S形曲线(logistic sigmoid),σ(x)=(1+e-x)-1。\n[0066] 在RBM中,数据的对数似然性的梯度是难以精确计算的。对于任意模型参数θ,数据的对数似然性的导数的一般形式可以为如下形式:\n[0067] \n[0068] 具体而言,对于可见-隐藏权重更新,可以获得下式:\n[0069] Δwij∝data-model (12)\n[0070] 第一期望data是可见单元vi和隐藏单元hj在训练数据中一起启用的频率,并且model是在由该模型定义的分布下的该相同期望。项<.>model可以为了精确计算而采取指数量的时间——因此,可以采用逼近。由于RBM是玻尔兹曼机与专家模型的积之间的交集,因此它们可以使用对比散度(CD)来训练。可见-隐藏权重的一步CD更新为如下形式:\n[0071] Δwij∝data-1, (13)\n[0072] 其中<.>1表示一步重建的期望。换言之,期望可以利用通过运行吉布斯(Gibbs)采样器生成的采样(其使用等式(9)和(10)来定义)被计算出,并且针对一个完整步对数据初始化。其他模型参数的类似更新规则可以通过用能量函数的合适部分导数替换等式(13)中的 来导出。\n[0073] 尽管具有等式(1)的能量函数的RBM适用于二元数据,但是在语音识别中,声学输入通常是用实数值特征矢量来表示的。高斯-柏努利受限的玻尔兹曼机(GRBM)仅仅需要稍微修改等式(7)。因此,可以结合预训练GBN使用的示例性GRBM能量函数为如下形式:\n[0074] \n[0075] 应当注意,等式(14)显式地假定可见单元具有每个尺寸的方差为1的对角协方差高斯噪声模型。在GRBM情况下,等式(9)不改变,但是等式(10)变为如下形式:\n[0076] \n[0077] 其中I是合适的单位矩阵。在一示例性的实施例中,可见单元可以被设置成等于其平均值,而不是从上面的分布中采样。\n[0078] 系统400包括RBM训练器组件402,该训练器组件接收RBM 404或GRBM(统称RBM \n404)并且如上面所描述的那样通过利用CD来训练这样的RBM 404以生成经训练的RBM \n406。经训练的RBM 406然后可以用于重新表示期望用于训练DBN的训练数据。更具体而言,系统400包括预训练器组件310,该预训练器组件被配置为接收DBN以及生成ptdbn。\n为了为每个数据矢量v执行预训练,可以采用等式(9)来计算隐藏单元激活概率h的矢量。\n这样的隐藏激活概率可以用作新的RBM的训练数据。因此,每组RBM权重都可以用于从上一层的输出中提取特征。一旦预训练器组件310停止训练RBM,就可以获得ANN的隐藏层的所有权重的初始值,其中该ANN具有与经训练的RBM的数目相等数目的隐藏层。预训练器组件310的输出可以是经预训练的DBN 408(ptdbn)。在预训练以后,可以添加softmax输出层并且使用反向传播来加以区分地细调网络中的所有权重。\n[0079] 现在参考图5和6,示出并描述了示例性方法。尽管所述方法被描述为顺序执行的一系列动作,但能够理解,该方法不受该顺序的次序的限制。例如,一些动作能以与本文描述的不同的次序发生。另外,动作可以与另一动作同时发生。此外,在一些情况下,实现本文描述的方法并不需要所有动作。\n[0080] 此外,本文描述的动作可以是可由一个或多个处理器实现的和/或存储在一个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可包括例程、子例程、程序、执行的线程等。此外,该方法的动作的结果可以存储在计算机可读介质中,在显式设备上显式和/或等等。计算机可读介质可以是非瞬时介质、诸如存储器、硬盘驱动器、CD、DVD、闪存驱动器等。\n[0081] 单单参考图5,示出了促进对个体的发言进行解码的示例性方法500。方法500始于502,并且在504从用户接收采样发言。该发言可以是单个词语或n个词语的序列。在\n506,使用依赖于上下文的DBN-HMM来生成关于该发言的senone的后验概率以及senone之间的转移概率。在508,至少部分基于由依赖于上下文的DBN-HMM所输出的后验概率和转移概率来对采样发言进行解码。方法500在510完成。\n[0082] 现在转到图6,示出了促进训练DBN-HMM以供在语音识别系统中使用的示例性方法600。方法600对应于上述系统300。方法600始于602,并且在604使用加标签的数据来训练GMM-HMM系统。例如,GMM-HMM可以是聚类的交叉词语三音素GMM-HMM,该GMM-HMM是使用加标签的数据利用最大似然性(ML)、最大互信息(MMI)以及最小音素差错(MPE)标准而被训练的。该GMM-HMM可以使用状态绑定的三音素模型,其中绑定结构是至少部分基于数据驱动的决策树而确定的。再次,该GMM-HMM可以被表示成gmm-hmm。\n[0083] 在606,分析gmm-hmm,并且给每个senone赋予从0开始的有序的senoneid。附加地,分析gmm-hmm以生成从gmm-hmm中的每个物理三音素状态到相应senoneid的映射。该映射可以被表示成state2id。\n[0084] 在608,使用state2id映射将gmm-hmm转换成相应的DBN-HMM(dbm-hmm1)。\ngmm-hmm的三音素和senone结构可以用在dbm-hmm1中。\n[0085] 在610,使用结合图4所描述的自底向上逐层算法来训练dbm-hmm1中的DBN中的每层以创建ptdbn。\n[0086] 在612,扩充词典使得每个词语发音都具有至少两个附加的变型:一个附加有短的停顿(sp),以及一个附加有无声(sil)。经扩充的词典可以被表示成lex-aug。\n[0087] 在614,使用gmm-hmm和lex-aug对加标签的训练数据生成状态级对齐,使得训练数据中的基本上相似的三音素状态彼此对齐。\n[0088] 在616,加标签的训练数据中的三音素状态被转换成senoneid以生成align(对齐)。由于senoneid被映射到三音素状态,因此能够理解,senoneid也可以被映射到训练数据中的帧。\n[0089] 在618,从ptdbn开始使用反向传播或其他合适的技术将与align中的每帧相关联的senoneid用于细调DBN。所得到的DBN可以被表示成dbn。\n[0090] 在620,确定senone的先验概率。p(si)=n(si)/n,其中n(si)是与align中的senone si相关联的帧的数目,并且n是帧的总数。\n[0091] 在622,使用dbn和dbn-hmm1来重新估计senone之间的转移概率以最大化观察到加标签的数据中的特征的似然性。换言之,在618的细调动作中学习到的权重可以用于将特征转换成senone后验概率。该后验概率可以除以在动作620确定的先验概率以生成转移概率。经更新的DBN-HMM可以被表示成dbn-hmm2。\n[0092] 在624,将确认数据集提供给dbn-hmm2,并且这样的确认数据集基于dbn-hmm2的输出被解码。如果识别到改善,则在626,可以使用dbn、dbn-hmm2和lex-aug来生成新的状态级对齐align-raw,并且方法可以返回到616。如果在确认数据集中未看到识别精确度改善,则可以输出dbn-hmm2以供在语音识别系统中使用,并且方法600在628完成。\n[0093] 同样,如上所述,方法600中的一些动作可以相组合或者省略。例如,在一示例性实施例中,可以不使用GMM-HMM来构建DBN-HMM。附加地,参照方法600所描述的一个或多个动作可以省略或者与其他动作相组合。\n[0094] 上面所示和所述的系统和方法总体上涉及将混合的DBN用在语音识别系统中,如上所示,可以使用其他深度结构。可以使用的示例性深度结构是深度隐藏条件随机场(DHCRF)。现在参考图7,示出了示例性的DHCRF 700。在一示例中,DHCRF的第N层可以是隐藏条件随机场(HCRF),并且中间层可以是不使用状态转移特征的第0阶CRF。\n[0095] 在一示例性DHCRF 700中,层j处的观察序列oj包括两部分:在先层的观察序列oj-1、以及从在先层j-1中计算出的帧级对数余量后验概率 其中 是层\nj-1处的状态值。在第一层处的粗略观察可以表示为o=[ot],t=1,…,T。\n[0096] DHCRF中的参数估计和序列推断二者都可以自底向上逐层地执行。最后一层的状态序列条件概率可以示为如下形式:\n[0097] \n[0098] 其中N是层的总数,(·)T是(·)的转置, 是最后一层处的观察\n序列,w是输出序列(senone、音素、词语等等), 是假设的状态序列,f(w,N N N N N N T\ns,o)=[f1(w,s,o),…,fT(w,s,o)] 是最后一层处的特征矢量, 是N\n模型参数(权重矢量),并且 是保证概率p(w|o ;\nN\nλ)和为1的分割函数(归一化因子)。能够确定,可以通过仅仅对无效音素或词语序列进行求和来排除无效序列。\n[0099] 与最后一层形相比,中间层j处的状态条件概率可以为下列形式:\n[0100] \nj\n[0101] 这在两方面不同于(16)。首先,在(17)中未使用转移特征,并且观察特征f(s,j\no)可以简化为 这在下面予以定义。其次,在(17)中未对具有所有可能的分段的状态序列进行求和。\n[0102] DHCRF的权重可以使用受监督和不受监督的学习来习得。对DHCRF 700的训练监督仅在最后一层处可用,并且可以直接由要解决的问题来确定。例如,在音素识别任务中,音素序列w在训练阶段期间在最后一层处是已知的。因此,最后一层处的参数估计可以以受监督的方式执行。然而,监督对中间层不可用,其中这些中间层的作用是将原始观察转换成一些中间抽象表示。出于该原因,可以使用不受监督的方法来学习中间层中的参数。\n[0103] 存在若干用于学习DHCRF 700中的中间层表示的方法。例如,中间层学习问题可以铸造到多目标编程(MOP)问题中,其中平均帧级条件熵被最小化,并且状态占有熵在基本上相似的时间被最大化。最小化平均帧级条件熵可以迫使中间层是每个输入矢量的子类(或聚类)的清晰指标,同时最大化占有熵保证输入矢量由不同中间状态不同地表示。MOP优化算法改变优化这两个相对立的标准的步骤,直到不再可能有标准的进一步改善或者达到最大数目的迭代。然而,MOP优化可能在中间层中的类的数目变为更高(比如在音素识别任务中)时变得困难,因为难以在陷入局部最优的概率极大地增加的情况下控制何时切换为优化其他标准。\n[0104] 可替代地,可以采用基于GMM的算法来学习DHCRF 700中的中间层的参数。该算法可以利用逐层方法。一旦较低层已经被训练,则该层的参数就可以被固定,并且下一层的观察序列使用新近训练的较低层参数被生成。该过程可以继续,直到所有层都被训练。\n[0105] 更具体而言,为了学习中间层的参数,具有对角协方差的单个GMM(其从使用高斯分裂策略被优化的相应HMM模型中被初始化)可以被训练。然后,可以通过假定每个高斯分量都是状态来将下列值作为状态值分配给层j处的每个观察帧 其中 和 是层j处的第i个高斯分量的平均值和方差:\n[0106] \n[0107] 然后,CRF的在层j处的参数可以通过按下式最大化正则化的对数条件概率来习得:\n[0108] \n[0109] 其中k是发言ID,||.||1是L1用于实施与每个状态值相关联的参数的稀疏性的L1范数, 是用于向较小权重赋予偏好的L2范数的平方,并且σ1和σ2是用于确定每个正则化项的重要性的正值。可以使用正则化的双平均方法来解决L1/L2正则化项的该优化问题。\n[0110] 根据一示例,可以在中间层中不使用转移特征。更确切而言,可以按下式仅仅使用第一和第二阶观察特征:\n[0111] \n[0112] \n[0113] 其中o是按元素的积。\n[0114] DHCRF 700的最后一层可以被训练以以受监督的方式优化下式:\n[0115] \n(k)\n[0116] 其中w 是没有分段信息的第k个发言的输出单元的标签。在最后一层中,可将下式用作特征:\n[0117] \n[0118] \n[0119] \n[0120] \n[0121] 其中当x为真时δ(x)=1并且否则δ(x)=0。 是二元语言模型\n(LM)特征,其中每个输出单元序列w都包括I个输出单元(例如senone、音素或词语),是状态转移特征,并且 和 分别是从观察生成的第一和第\n二阶统计数据。\n[0122] 现在参考图8,示出了可以根据本文公开的系统和方法使用的示例计算设备800的高级图示。例如,计算设备800可以用在支持ASR的系统中。在另一示例中,计算设备\n800的至少一部分可以用在支持训练DBN-HMM以供在ASR使用的系统中。计算设备800包括执行存储在存储器802中的指令的至少一个处理器804。存储器804可以是或可以包括RAM、ROM、EEPROM、闪存、或其它适合的存储器。这些指令可以是例如用于实现被描述为由上述一个或多个组件执行的功能的指令或用于实现上述方法中的一个或多个的指令。处理器\n802可以通过系统总线806访问存储器804。附加于存储可执行指令,存储器804还可以存储训练数据集、确认数据集、GMM-HMM等等。\n[0123] 计算设备800附加地包括可由处理器802通过系统总线806访问的数据存储808。\n数据存储可以是或可以包括任何合适的计算机可读存储,包括硬盘、存储器等。数据存储\n808可以包括可执行指令、GMM-HMM、训练数据集、确认数据集等等。计算设备800还包括允许外部设备与计算设备800进行通信的输入接口810。例如,可以使用输入接口810来从外部计算机设备、用户等接收指令。计算设备800还包括将计算设备800与一个或多个外部设备进行接口的输出接口812。例如,计算设备800可以通过输出接口812显示文本、图像等。\n[0124] 另外,尽管被示为单个系统,但可以理解,计算设备800可以是分布式系统。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由计算设备800执行的任务。\n[0125] 如此处所使用的,术语“组件”和“系统”旨在涵盖硬件、软件、或硬件和软件的组合。因此,例如,系统或组件可以是进程、在处理器上执行的进程、或处理器。另外,组件或系统可以位于单个设备上或分布在若干设备之间。此外,组件或系统可指存储器的一部分和/或一系列晶体管。\n[0126] 注意,出于解释目的提供了若干示例。这些示例不应被解释为限制所附权利要求书。另外,可以认识到,本文提供的示例可被改变而仍然落入权利要求的范围内。
法律信息
- 2015-05-20
专利权的转移
登记生效日: 2015.04.29
专利权人由微软公司变更为微软技术许可有限责任公司
地址由美国华盛顿州变更为美国华盛顿州
- 2014-01-29
- 2012-05-23
实质审查的生效
IPC(主分类): G10L 15/14
专利申请号: 201110289015.0
申请日: 2011.09.14
- 2012-04-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-05-17
|
2004-11-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |