用于稳健语音识别的变量组件深度神经网络的制作方法

文档序号:10598384阅读:295来源:国知局
用于稳健语音识别的变量组件深度神经网络的制作方法
【专利摘要】提供了用于结合环境变量的语音识别的系统和方法。该系统包括:语音捕捉设备(202);特征提取模块(204);环境变量模块(206),其中所述环境变量模块确定环境变量的值;以及语音识别解码器(208),其中所述语音识别译码器利用深度神经网络(DNN)来识别由所述语音捕捉装置捕捉的语音,其中所述DNN的一个或多个组件被建模为环境变量的一组函数。
【专利说明】用于稳健语音识别的变量组件深度神经网络
[0001 ] 背景
[0002] 语音识别和利用语音识别技术的应用已变得常见并且越来越流行。许多这些应用 也被纳入到个人计算机、膝上型计算机、移动设备、以及其它类似类型的装置中。这些设备 通常位于不同的地方,或从一个地方移动到另一个地方。如此,背景噪声和其它环境因素将 取决于位置而不同。这些环境因素中的一些对语音识别的质量和一致性具有影响。如此,当 用户在不同的位置使用语音识别应用,所识别语音的质量往往较差或不一致。
[0003] 各实施例正是对于这些和其它一般考虑事项而做出的。而且,尽管讨论了相对具 体的问题,但是应当理解,各实施例不应被限于解决本【背景技术】中所标识的具体问题。
[0004] 概述
[0005] 该技术涉及用于结合环境变量的语音识别的系统和方法。所述系统和方法捕捉诸 如来自用户的语音用于识别。然后,利用深度神经网络(DNN)(更具体地是变量组件DNN (VCDNN))来识别所述语音。VCDNN通过结合环境变量来处理并识别所捕捉的语音。环境变量 可以是取决于环境条件或用户、客户端设备、以及环境的关系的任何变量。例如,所述环境 变量可以基于环境噪声。一种这样的环境变量可以是信噪比。其它环境变量还可包括语音 捕捉设备离用户的距离、用户的语速,讲话者的声道长度、以何角度接收来自用户的语音、 用户的年龄、或其它类似的变量。环境变量可利用用户讲话被同时测量。
[0006] VCDNN可以不同的方式结合环境变量,并且几乎DNN的任何组件可被建模作为诸如 环境变量的多项式函数之类的一组功能。例如,可利用变量参数DNN(VPNN),其中加权矩阵 组件与偏置组件是环境变量相关的。在另一个例子中,可利用变量输出DNN(VODNN),其中每 个隐藏层的输出是环境变量相关的。在又一示例中,可利用变量激活DNN(VADNN),其中在 DNN节点的激活函数的参数被建模为环境变量相关。在每个示例中,可计算变量相关组件用 于在测试中被检测的环境条件或在识别期间使用与它们相关联的多项式函数来测量数据。 通过以这样的方式将环境变量结合于DNN,可跨多个不同的环境实现高质量语音识别结果。
[0007] 提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概 念。本
【发明内容】
并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于 限定所要求保护的主题的范围。
[0008] 附图简述
[0009] 参考以下附图描述非限制性和非穷尽的实施例。
[0010] 图1描绘了用于语音识别的环境。
[0011] 图2描绘了用于语音识别的系统。
[0012] 图3示出VPDNN中一层的流程图。
[0013] 图4示出V0DNN中一层的框架。
[0014]图5描绘了 VADNN中一层的流程图。
[0015] 图6描绘了用于基于VCDNN的语音识别的方法。
[0016] 图7是示出可用来实施本公开的各实施例的计算设备的示例物理组件的框图。
[0017] 图8A和8B是可用来实施本公开的各实施例的移动计算设备的简化框图。
[0018] 图9是可在其中实施本公开的各实施例的分布式计算系统的简化框图。
[0019] 图10示出用于执行本公开的一个或多个实施例的平板计算设备。
[0020] 详细描述
[0021] 在下面的详细描述中,参考构成其一部分的附图,在附图中,通过例图,示出了具 体的实施例或示例。可将这些方面组合起来,也可利用其它方面,并且可作出结构上的改变 而不背离本公开的精神或范围。因此,下面的【具体实施方式】不应以限制性的意义来理解,而 是本公开的范围是由所附权利要求及其等效方案来定义的。
[0022] 本公开一般涉及改进语音识别的稳健性。在某种程度上,本公开涉及跨多种环境 改进语音识别。例如,语音识别结果的质量通常在安静环境和有噪声的环境之间变化。本公 开提供通过将环境变量纳入深度神经网络(DNN)的组件以供语音识别系统中使用来提供跨 多个环境的较高质量结果的系统和方法。这样的语音识别系统和方法可在本文中被称为 "噪声稳健"语音识别系统和方法。
[0023] 先前对于创建噪声稳健的语音识别系统的尝试(尽管不断地比它们的前代产品更 好)仍然留有改进的余地。例如,利用上下文相关的深度神经网络隐式马尔可夫模型(CD-DNN-HMM)的系统已在自动语音识别上显示出对传统高斯混合模型(GMM-HMM)的优越性。对 于这两种DNN-HMM和GMM-HMM系统,基于模型的噪声稳健的方法是包括用于训练数据的在各 种条件下的噪声语音,这被称作多条件训练。然而,利用过去GMM-HMM和DNN-HMM的多条件训 练会遭受一些限制。例如,利用固定参数组建模各种训练环境导致"扁平"分布,这在区分环 境中较不有用。如此,针对在特定环境中的识别语音,"扁平"模式不是最优匹配模型。而且, 通常难以收集训练数据以覆盖所有可能类型的环境,这导致在未见的噪声环境中的性能不 可预测。
[0024] 变量参数HMM(VPHMM)系统寻求解决这些限制,但仍有其自身的限制。在基于VPHMM 的语音识别中,诸如状态发射参数(GMM均值和方差)或适配矩阵的HMM参数,被建模为连续 环境相关变量的多项式函数。在识别的时候,特定于给定环境变量值的一组GMM均值和方差 (或适配矩阵)被实例化并用于识别。即使没在训练中看出测试环境,由于环境变量方面的 均值和方差的改变可通过多项式来预测,因此所估计的GMM参数可仍然有效。
[0025] 然而,对这些现有方法的改进是可能的,并在本公开中讨论。更具体地,本公开涉 及被称为基于变量组件DNN(VCDNN)的语音识别系统的基于模型的噪声稳健语音识别系统。 利用基于VCDNN的语音识别,DNN中的几乎任何组件可被建模作为一组环境变量的多项式函 数。作为一个示例,可利用变量参数DNN(VPNN),其中加权矩阵组件与偏置组件是环境变量 相关的。在另一个例子中,可利用变量输出DNN(VODNN),其中每个隐藏层的输出是环境变量 相关的。在又一示例中,可利用变量激活DNN(VADNN),其中在DNN节点的激活函数的参数被 建模为环境变量相关。在每个示例中,可计算变量相关组件用于在测试中被检测的环境条 件或在识别期间使用与它们相关联的多项式函数来测量数据。
[0026] 转向图1,图1描绘了包括用户102和客户端设备104的环境100。环境100中的用户 102向客户端设备104说话。在接收到来自用户102的语音之际,客户端设备104利用基于 VCDNN的语音识别来完成语音识别,如以下更加详细描述的。此外,如以下澄清的,使用 VCDNN的语音识别可至少部分地采用附加的设备或应用(诸如服务器或基于云的应用)来执 行。
[0027] 环境100可随着用户102访问分开的客户端设备(诸如膝上型计算机或个人计算 机)来改变。环境1〇〇还可随着用户102改变位置或随着环境100在用户102周围改变来改变。 例如,客户端设备104可以是诸如智能电话的移动设备。用户102可希望使得客户端设备104 上的语音识别功能能在多个环境中被执行。例如,用户可在噪杂的街道上来尝试使得语音 识别功能被执行在客户端设备104上。稍后,用户可在安静的办公室中来尝试使得语音识别 功能被执行在客户端设备上。由于语音识别过程中对VCDNN的利用,用户102将在两种环境 上都接收到较高质量的结果。
[0028] 图2描绘了用于噪声稳健语音识别的系统200。图2示出客户端设备104、语音识别 解码器208、以及应用212的更详细示图。客户端设备104可包括语音捕捉设备202、特征提取 模块204、和环境变量模块206。语音捕捉设备202捕捉由用户102所讲的语音。语音捕捉设备 202可以是硬件和软件组件的组合,诸如话筒和数字化软件,以及其它公知的语音捕捉设 备。在各实施例中,也可通过特征提取模块204提取特征向量。特征向量可以是表示语音输 入的数字特征的n维向量集。用于提取特征向量的多种可接受方法对本领域技术人员而言 是公知的,包括对数Mel过滤器组、Mel-频率倒谱技术(Me 1-frequency cepstral technique)、线性预测、以及感知线性预测等等。在这些实施例中,特征向量被从语音捕捉 设备202捕捉的语音输入中提取。然后,特征向量被发送到语音识别解码器208。
[0029] 环境变量模块206确定在VCDNN中将使用的环境变量和环境变量值。环境变量可以 是取决于环境条件或用户、客户端设备、以及环境的关系的任何变量。例如,所述环境变量 可基于环境噪声。一种这样的环境变量是信噪比。其它环境变量包括语速或离语音捕捉设 备202的距离。VCDNN利用SNR作为环境变量,该环境变量模块206在语音捕捉期间计算、测量 和/或确定信噪比。可通过测量每个语音帧的噪声来确定SNR。可比较或从所捕捉的语音中 减去所测量的噪声来确定信噪比。然后,所确定的信噪比可被VCDNN利用。在语速被用作环 境变量的示例中,语度可被计算或从所捕捉的语音中直接确定。在利用离话筒的距离的示 例中,该距离可通过视频分析或其它距离测量工具(诸如激光或基于光测量)来确定。另一 个环境变量可以是以何角度接收来自用户的语音。可以用户的距离类似的方式来确定该角 度。关于用户的特征还可作为环境变量被利用。例如,环境变量可以是讲话者的年龄。其它 环境变量还可包括讲话者的声道长度。在实施例中,环境变量是可能对语音识别结果具有 潜在影响的可在运行时被测量的任何标量值。
[0030] 每个环境变量可被连续地或基本上连续地测量。当前的环境变量可作为标量值被 测量。例如,当被测量时,信噪比的值是标量值。如此,环境变量适于近似以及结合于其它函 数中的多项式函数。本领域的技术人员将理解,存在用于测量或确定上述环境变量的其它 方法。
[0031] 语音识别解码器208识别由用户102所讲的语音。语音识别解码器利用VCDNN模块 210来完成识别。在一些示例中,VCDNN模块210可被结合或使用于语音识别解码器208的声 学模型。VCDNN模块接收所捕捉的语音或特征向量以及利用相应的VCDNN处理语音或向量, 诸如VPDNN、V0DNN、或VADNN。VCDNN还纳入环境变量的值。一个或多个VCDNN部件可以被参数 化作为标量值的函数。相应的VCDNN的操作将在下面进一步详细讨论。
[0032] 可通过语音识别解码器208进一步处理所述VCDNN模块的输出。例如,语音识别解 码器可进一步包括在其它模型或自动语音识别组件之间的语言模型、语音模型、和/或词 法。这些模块中的每一个可被进一步利用于识别用户102所讲的语音。所讲的语音的识别之 际,语音识别解码器208输出所识别的语音。所识别的语音输出可被发送给应用212以使用。 应用212可以是任何能够以经识别的语音的形式接收输入的应用。例如,应用212可以是语 音到文本应用,诸如消息应用或其组件。应用212还可以是智能个人助理的一部分,诸如来 自华盛顿州雷蒙德市的微软公司的CORTANA智能个人助理。
[0033] 虽然被描绘为跨多个设备发生,但可在诸如客户端和服务器的单个设备或跨多个 设备上执行系统200的功能。例如,当使用多个设备时,语音捕捉设备202可以在客户端设备 104上,且特征提取模块204也可由客户端设备104执行。在这样的示例中,语音识别解码器 208可在服务器或其它网络或基于云的组件上操作。应用212还可驻留在客户端或服务器 中。通过使语音识别解码器208在服务器上操作,更多资源可在解码和识别过程中使用。在 其它示例中,除了捕捉语音输入之外的所有功能可均由服务器或其它网络或基于云的组件 实现。替换地,所有特征可由一个设备(诸如客户端设备104)执行。本领域技术人员还将意 识到适于与此处公开的方法和系统一起使用的用于自动语音识别的其它架构。
[0034] 图3示出基于VTONN语音识别中被利用的VTONN中一层的流程图。在讨论图3中示出 的流程图之前,CD-DNN-HMM和VPHMM的一般背景可有助于理解本公开。在CD-DNN-HMM的框架 中,经绑定的上下文相关的HMM状态的对数似然(在此被称为"senone" ")在传统的GMM-HMM 系统中使用DNN而非GMM计算。DNN可被视为多层感知器(MLP),包括一个输入层、一个输出层 以及许多隐藏层。输出层的每个节点代表一个senone。
[0035] 双曲函数可被选为用于DNN的隐藏层,并且第1隐藏层o1的输出的激活函数可如下 给出:
[0036] O^fsigmCu1) (1)
[0037] u^d1)^1^1 (2)
[0038] 其中是第1层的输入,W1和b1相应的是加权矩阵和第1层的偏移,其中fsigm(x) = 1/(l+ex)〇
[OO39 ]输出层(层L)的激活函数是sof tmax函数:
a)
[0041 ] 因此,senone后验概率p(sk|x)是:
(4)
[0043] 其中x是DNN的输入特征向量,sk是响应于顶层的单元k的senone,以及S是senone 的总数量。第一层的输入o*3 = x。然后根据下式计算HMM p (x | s)的senone发射似然性
[0044] p(x | s) =P(s | x) ? p(x)/P(s) (5)
[0045] P(s)是senone s的先验概率。p(x)可独立于s,并且在HMM解码期间可被忽略。
[0046] 在DNN训练中,可被使用的一个优化准则是由参考标记表示的后验分布与 预测分布P(s |x)之间的交叉熵。目标函数为:
[0047] Fcb ^ - UA
[0048] 通常基于强制对齐结果来决定参考标记: , 、 (1 if x is aligned to seone Si ~
[0049] |.)(融()叫 〇 也e {1}
[0050] 然后等式(6)可被简化为:
[0051] FcE = -log(p(s/ | x)) (8)
[0052] 其中s'是语音输入x的参考senone。
[0053] 利用上述目标函数,可用D. Yu、L. Deng和G. Dah 1在Pro c中的"在用于现实世界语音 识别的上下文相关DBN-HMM中预训练和微调的角色"中介绍的方法来训练DNN。关于深度学 习和无监督特征学习的NIPS研讨会(2010),其包括无监督的预训练以及受监督的微调。还 可利用其它训练方法。在微调阶段使用的算法可以是误差后向传播的,其中加权矩阵W和层 1的偏移b被更新为:
[0054] W1 =: (9)
[0055] Sl = bl + ael (10)
[0056] a表示学习速率。和e1相应的是层1的输入和误差向量。可通过传播来自其上层 的误差来计算e1。
[0057] e} - (["
[0058] 是层1+1的第i行第k列中的加权矩阵W1+1中的元素,而ef是层1+1的误差向量 e1+1中的第k元素。N1+1是层1+1的单元号。顶层(例如输出层)的错误可以是在等式(8)中定义 的目标函数的导数。
(12)
[0060] 5SS'是 Kronecker 增量函数。
[0061] 在传统的GMM-HMM系统中,在不同环境下的语音分布由相同的参数集(高斯均值和 方差)建模。因此,传统的GMM-HMM不完美,因为它不建模诸如SNR的任何声学环境变化。 VPHMM尝试将GMM参数建模为SNR函数,例如高斯组件m被建模为 v)和E(m,v)是环境变量v的多项式函数。例如,ii(m,v)可被表示为
[0062] ~ (13)
[0063]其中Cj(m)是具有与输入特征向量一样维度的向量,并且对应于第j阶环境变量。 多项式函数的选择是基于其用于连续函数的良好近似属性,其简单的求导操作,以及在环 境方面的均值和方差平滑变化,并且可由低阶多项式建模的事实。还可利用附加函数类型。 [0064]在VPHMM的训练中,可基于具有EM算法的最大似然准则估计cj (m)(以及其它参 数)。在测试阶段,用所确定的SNR值来计算高斯均值和方差。即使没有在训练中看出所确定 的SNR,多项式函数可帮助计算适当的模型参数,所以基于VPHMM的语音识别能够在未见环 境中比它的前代产品工作得更好。
[0065] 回到图3和V⑶NN,基于V⑶NN的语音识别代表了通过针对环境建模它们变化的DNN 组件,其没有被标准DNN考虑。在基于VPDNN的语音识别中,如图3中的流程图所示的,加权矩 阵W以及层1的偏移b被建模为环境变量v的函数:
[0066] fi(v) , hl = fl(v) 0<1<L (14)
[0067] 此处,可使用含有义,和欠两者的多项式函数。SNR可被选为环境变量,位于上述所 讨论的其它环境变量中。因此导致下列等式:
[0068] 0<!<£ (15)
[0069] hl ^ 〇 < / < L {U\)
[0070] J是多项式函数阶。/<是具有与W1相同维度的矩阵,而g是具有与b1相同维度的向 量。
[0071 ]在图3中示出VPDNN的一层的流程图。输入向量302由加权函数接收,分别由加权函 数指示符304A-C表示。虽然只描绘了三个加权函数,在这样描绘中的加权函数的数量取决 于所选的多项式阶,如在加权函数指示符304C中指示的J。每个表示加权函数指示符的 304A-C,分别表示在等式(15)和(16)中表示的从j = 0到j = J的特定j值评估的总和。在加权 函数之后,如乘法指示符306A-C指示的,加权函数的结果与相应环境变量v(例如W)的第j 次幂(power)(如环境变量指示符308A-C指示的)相乘。然后如求和指示符310指示的,将来 自从j = 〇到j = J的每一级的结果相加。由激活函数指示符312表示的激活函数接收求和结 果。继激活函数的评估之后,产生输出向量314。本领域技术人员将理解,图3只示出VPDNN中 的一层,并且在各实施例中,利用了许多附加层。
[0072] 在基于VPDNN的语音识别系统的训练中,确定< 和g而非标准DNN中的W1和b1。从 等式(15)和(16)可以看出,如果J被设置为零(J = 0),VPDNN等同于标准DNN,所以没有必要 从头开始确定和4。和M可基于微调阶段中的标准DNN用以下的初始值更新:
[0073] H[} - |:4 - (i./.)
[0074] Hj = 0 pj = 0 / > 1 (18)
[0075] 和匕是标准DNN中层1的加权矩阵和偏移。
[0076] 将上述的等式(15)和(16)以及误差后向传播算法合并,可确定更新公式和乂:
[0077] 沒/ = W/. (.19)
[0078] I?) ^ -i- (20)
[0079] 在识别阶段中,根据诸如SNR的具有估计、计算或经测量的环境变量的等式(15)和 (16)来实例化加权矩阵W以及每层的偏移b。可以与标准DNN相同的方式计算后验senone。
[0080] 图4示出V0DNN中一层的框架。在基于V0DNN的语音识别中,由函数描述每个隐藏层 的输出,诸如环境变量v的多项式函数。
[0081 ] ? 0 < / < l (21)
[0082] 其中
[0083] uj ^ Q < l < L (22)
[0084]如在基于VPDNN的语音识别中,基于具有与等式(17)和(18)给定的相同初始值的 标准DNN来更新和/^。类似地,可通过合并等式(21)和(22)以及误差后向传播算法获得 更新公式:
[0085] il/ ? 4- ao1'^ (ej f i?1
[0086] ? 4- aeh} i'34)
[0087] 其中
[0088] ei'(〇 l£'L:〇£^iV 〇>
[0089] e;&)是层1的误差向量4的第i个元素,并且私;,,是层1 + 1的矩阵//;,/行k列的元 素。
[0090] 在基于V0DNN的语音识别的识别阶段中,根据诸如SNR的具有估计、测量或经计算 的环境变量的等式(21)来计算每个隐藏层的输出。根据具有环境独立参数W 1和bl的等式(4) 和(2)来计算例如后验s enone的顶层输出。
[0091]如图4所示,表示V0DNN中一层的框架,输入向量40 2被加权函数接收,分别由加权 函数指示符404A-C表示。虽然只描绘了三个加权函数,在这样描绘中的加权函数的数量取 决于所选的多项式阶,如在加权函数指示符404C中指示的J。每个表示加权函数指示器的 404A-C,分别表示从j = 0到j = J的特定j值的评估。在加权函数之后,激活函数评估加权函 数的结果,分别由激活函数指示符406A-C表示。如乘法指示符408A-C指示的,激活函数的评 估结果与相应环境变量v(例如的第j次幂(power)(如环境变量指示符410A-C指示)相 乘。然后如求和指示符412指示的,将来自从j = 0到j=J的每一级的结果相加。利用求和结 果来产生输出向量414。本领域技术人员将理解,图4只示出V0DNN中的一层,并且在各实施 例中,利用了许多附加层。
[0092]图5描绘了VADNN中一层的流程图,其中DNN节点的激活函数具有环境变量相关的 参数。例如,隐藏层每个节点都使用双曲函数:
[0093] fsigm(x) = l/(l+ex) (26)
[0094] 利用基于VADNN的语音识别,双曲函数具有通用形式
[0095] fsigm(x) = l/(l+eax+m) (27)
[0096] 对于层1中的每个节点n,<和m(两者都是环境变量相关的:
[0097] (28)
[0098] m卜珠 (
[0099] 《和^丨可利用以下的误差后向传播算法来获得
[moo] cj ~ cj + a(ei ° ul )i:!; (30)
[0101] ~ + aelp? (31)
[0102]如图5所示,由加权函数指示符504表示的加权函数接收输入向量502。逐元素线性 变换(例如ax+m)的系数,被确定为j = 0到j = J级。然后,如乘法指示符508A-C指示,所确定 的系数与相应环境变量v(例如V3)的第j次幂(power)(如环境变量指示符510A-C指示的)相 乘。然后如求和指示符512指示的,将来自从j = 0到j=J的每一级的结果相加。由激活函数 指示符514表示的激活函数接收求和结果。继激活函数的评估之后,产生输出向量516。本领 域技术人员将理解,图5只示出VADNN中的一层,并且在各实施例中,利用了许多附加层。 [0103] 在实施例中,可归一化诸如SNR的环境变量v用于VPDNN、V0DNN、以及VADNN,因为与 相应的DNN组件相比,环境变量的数值范围往往过大。例如,双曲函数可被用于环境变量归 一化的目的。双曲函数不仅缩小的数值范围内,而且在相似环境中造成很高SNR的影响。这 将是合理的,因为,例如,40dB和60dB的SNR不会在语音识别中造成明显的差异。同样的逻辑 还适用于非常低SNR的情况。
[0104] 图6描绘了利用基于VCDNN的语音识别的方法。尽管该方法被示出且被描述为顺序 地执行的一系列动作,但可以理解并意识到,该方法不受该顺序的次序的限制。例如,一些 动作可按与本文描述的次序不同的次序进行,如本领域技术人员所领会的。另外,一些动作 可以与另一动作同时发生。例如,统计权重的调整可与该应用对所识别单词的处理同时进 行。此外,在一些实例中,实现本文描述的方法并不需要所有动作。
[0105] 此外,本文描述的动作可以是可由一个或多个处理器实现的和/或存储在一个或 多个计算机可读介质上的计算机可执行指令。计算机可执行指令可包括例程、子例程、程 序、执行的线程等。另外,该方法的动作的结果可以存储在计算机可读介质中,显示在显示 设备上,等等。
[0106] 如图6中描绘的,语音在操作602处捕捉。语音可由语音捕捉设备202捕捉。在操作 604,特征向量可被从所捕捉的语音提取。特征向量可通过特征提取模块204被提取。在可选 操作606,可接收环境变量的选择。例如,用户可选被用于基于VCDNN的语音识别的环境变 量。作为另一示例,计算机应用还可指示将被利用的环境变量。在其它实施例中选择是不必 要的,并且利用默认环境变量(诸如SNR)。在操作608,确定针对环境变量的值或多个值。环 境变量的确定可由环境变量模块206执行。在各实施例中,环境变量被连续地测量,或环境 变量的组件被连续地测量。例如,其中环境变量是SNR,可连续地对每个语音帧测定背景噪 声。
[0107] 在操作610,利用VCDNN来识别用户所讲的语音。在各实施例中,只有一种类型的 VCDNN的被用于识别语音,如操作612、操作614、以及操作616的单独路径所指示的。如此,在 那些实施例中只采取一个示出的路径。例如,在操作612,利用基于VPDNN的语音识别来识别 语音。在另一个示例中,在操作614,利用基于V0DNN的语音识别来识别语音。在又一个示例 中,在操作616,利用基于VADNN的语音识别来识别语音。在这样的实施例中,只利用VPDNN、 V0DNN、以及VADNN中的一个来识别语音。
[0108] 在识别语音之际,在操作618产生所识别的语音。所识别的语音输出可由诸如应用 212的应用接收。然后,应用处理以取决于应用类型的方式处理所识别的语音。例如,当应用 确定所识别的语音是命令,则该应用将响应于该命令。在另一个示例中,其中应用是语音到 文本的应用,该应用可以文本形式显示所识别的语音。
[0109]本文中所公开的方法和系统也示出了令人满意的结果。所提出的方法已用Aurora 4评估,(如2002年,密西西比州立大学的信号与信息处理研究所,N. Par ihar和J. Pi cone在 技术报告"Aurora工作组:DSR前端LVCSR评估AU/384/02"中所讨论的),Aurora 4是一项基 于华尔街日报语料库(WSJ0)的噪声稳健的中等词汇表的任务。Aurora 4具有两个训练集: 干净的以及多条件的。.它们每个都包括7138条话语(约14小时的语音数据)。对于多条件训 练集,一半数据是用森海塞尔(Sennheiser)话筒记录的,而其它的是用次要话筒。此外,加 入了具有从10到20dB SNR的6种类型的噪声(汽车、胡言乱语、餐馆、街道、机场以及火车)。 用森海塞尔话筒记录的子集被称为信道wvl数据,而其它部分为信道wv2数据。
[0110] 测试集包含14个子集。其中的两个是干净的,而其它12个是嘈杂的。如在多条件测 试集中,使用相同类型的话筒来记录嘈杂测试集。此外,往多条件测试集中相同的6种类型 的噪声加入5到15dB之间的SNR。
[0111] 基线⑶-DNN-HMM系统的声学特征是24维对数Mel过滤器组特征,再加上它们的一 阶和二阶导数特征,总共72维。DNN输入层的维数为792,从11帧的上下文窗口形成。它的输 出层包含1209个单位,这意味着在HMM系统中有1209个senone ANN具有5个隐藏层,每层有 2048个单元。
[0112] 在实验中,按照多项式的阶检查基于V⑶NN的语音识别的性能。标准DNN和VCDNN两 者都用来自多条件训练集的wvl数据训练。测试数据是干净的和嘈杂wvl的子集。结果再现 于下表1,其示出一阶VPDNN和基于V0DNN的语音识别在标准DNN中相对单词错误率减少 (WERR)分别达到6.53%和5.92%。然而与一阶比较,二阶和三阶VCDNN没有显示出显著增 益。这结果指示,用于对由DNN框架内的SNR改变而引起的变化进行建模,尤其是当计算资源 可能受限时,一阶多项式可以是好的选择。如此,一阶多项式被利用于下述实验鉴于在测试 条件下基于VPDNN的语音识别比基于V0DNN的语音识别执行得稍好,下述结果集中于基于 VPDNN的语音识别。
[0113] 下面的表2,示出不同噪声条件和SNR的一阶基于VPDNN的语音识别的分解结果。可 以看出,在除汽车噪声的所有噪声种类中,基于VPDNN的语音识别基本上优于标准基于DNN 的语音识别。此外,相比于可见条件(>10dB),在未见SNR条件(从5dB到10dB)下基于VPDNN的 语音识别接收更好的效果(8.47%的相应WERR)。该结果指示,标准的基于DNN的语音识别能 够对它可见的各种环境建模,但对于未见的环境,基于VPDNN的语音识别执行得更好。还在 基于V0DNN的语音识别中观察到类似的结果(5dB〈SNR〈 10dB条件下7.08 %的相应WERR,SNR> 10dB条件下4.26%的相应WERR)。
[0114] 表1.在多项式的阶数方面的V⑶NN性能
[0116] 表2.-阶VPDNN的分解结果
[0118] 表3.具有不同大小的标准DNN与一阶VPDNN的比较
[0120]最后,基于DNN的语音识别性能与使用基于DNN的语音识别更少的参数检查。每个 隐藏层具有1024个单位的VPDNN被评估比较于每个隐藏层具有2048个单位的标准DNN。结果 在上表3中给出。用wvl数据评估所有的测试集,相比于每个隐藏层具有2048个单位的标准 DNN,每个隐藏层具有1024个单位的一阶VPDNN相应的WERR达到3.22%,但是而计算和存储 器成本降低了一半。
[0121]图7是示出可用来实施本公开的各实施例的计算设备700的物理组件(即硬件)的 框图。以下描述的计算设备组件可具有可被执行来采用在此描述的方法的用于例如客户端 的语音识别应用713的计算机可执行指令和/或用于例如客户端的VCDNN模块711的计算机 可执行指令。在基本配置中,计算设备700可包括至少一个处理单元702以及系统存储器 704。取决于计算设备的配置和类型,系统存储器704可包括但不限于易失性存储(例如,随 机存取存储器)、非易失性存储(例如,只读存储器)、闪存、或者此类存储器的任何组合。系 统存储器704可包括操作系统705和适合于运行诸如关于图1-6讨论的VCDNN语音识别的软 件应用720(尤其是参考语音识别应用713或VCDNN模块711)的一个或多个程序模块706。语 音识别应用713可包括诸如应用212等应用。V⑶NN模块711和语音识别应用713可包括图1中 描绘的特征中的多个。例如,操作系统705可适合于控制计算设备700的操作。此外,本发明 的各实施例可以结合图形库、音频库、语音数据库、语音合成应用、其它操作系统、或任何其 它应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图7中用虚线708内 的那些组件示出。计算设备700可具有附加特征或功能。例如,计算设备700也可以包括附加 的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或带。这种附加存储器在图7中用 可移动存储设备709和不可移动存储设备710示出。
[0122] 如上所声明的,大量程序模块和数据文件可被存储在系统存储器704中。尽管在处 理单元702上执行,程序模块706 (例如,VCDNN模块711或语音识别应用713)可执行包括但不 限于在此描述的各实施例的过程。根据本发明的实施例可使用的、尤其用于生成屏幕内容 和音频内容的其它程序模块可包括电子邮件和联系人应用、字处理应用、电子表格应用、数 据库应用、幻灯片演示应用、绘图、消息收发应用、地图应用、语音到文本应用、文本到语音 应用和/或计算机辅助应用程序、智能个人助理应用等。
[0123] 此外,本公开的各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集 成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例 如,可以通过片上系统(S0C)来实践本公开的各实施例,其中,可以将图7中示出的每个或许 多组件集成到单个集成电路上。此类S0C设备可包括一个或多个处理单元、图形单元、通信 单元、系统虚拟化单元、以及各种应用功能,所有这些单元被集成(或烧制)到芯片基板上, 作为单个集成电路。当通过S0C操作时,在此所述的关于客户端切换协议的能力的功能可以 通过在单个集成电路(芯片)上集成有计算设备700的其它组件的专用逻辑来操作。本发明 的实施例还可使用能够执行诸如例如,AND(与)、0R(或)和NOT(非)的逻辑运算的其它技术 来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施例可以在通用 计算机或任何其它电路或系统中实现。
[0124] 计算设备700还可具有一个或多个输入设备712,诸如键盘、鼠标、笔、声音或语音 输入设备、触摸或滑动输入设备等。这些输入设备可结合或取代语音捕捉设备202使用。还 可包括输出设备714,诸如显示器、扬声器、打印机等。前述设备是示例,并且可使用其它设 备。计算设备700可包括允许与其它计算设备718通信的一个或多个通信连接716。合适的通 信连接716的示例包括但不限于RF发射机、接收机、和/或收发机电路系统、通用串行总线 (USB)、并行和/或串行端口。
[0125] 如本文中所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质 可包括以用于存储信息(诸如计算机可读指令、数据结构、或者程序模块)的任何方法和技 术实现的易失性和非易失性、可移除和不可移除介质。系统存储器704、可移动存储设备709 和不可移动存储设备710都是计算机存储介质(例如,存储器存储)的示例。计算机存储介质 可包括RAM、ROM、电可擦除只读存储器(EEPR0M )、闪存或其它存储器技术、CD-ROM、数字多功 能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储信 息且可由计算设备700访问的任何其它制品。任何此类计算机存储介质可以是计算设备700 的一部分。计算机存储介质不包括载波或者其它经传播或经调制的数据信号。计算机存储 介质可被存储、合并到或与计算机存储设备结合地使用。
[0126] 通信介质可通过计算机可读指令、数据结构、程序模块、或者经调制的数据信号 (诸如载波或者其他传送机制)中的其他数据体现,并且包括任何信息传递介质。术语"已调 制数据信号"可以描述以对信号中的信息进行编码的方式来设置或改变其一个或多个特征 的信号。通过示例而非限制,通信介质可包括诸如有线网络或直接有线连接之类的有线介 质、以及诸如声、射频(RF)、红外和其它无线介质之类的无线介质。
[0127] 图8A和8B示出可用来实施本公开的各实施例的移动计算设备800,例如移动电话、 智能电话、可穿戴计算机(诸如智能手表)、平板计算机、膝上型计算机等。在一些实施例中, 客户端可以是移动计算设备。参照图8A,解说用于实现各实施例的移动计算设备800的一个 实施例。在基本配置中,移动计算设备800是具有输入元件和输出元件两者的手持计算机。 移动计算设备800通常包括显示器805以及允许用户将信息输入移动计算设备800的一个或 多个输入按钮810。移动计算设备800的显示器805还可用作输入设备(例如,触摸屏显示 器)。如果被包括在内,任选的侧输入元件815允许进一步的用户输入。侧输入元件815可以 是旋转开关、按钮、或者任何其它类型的手动输入元件。在替换实施例中,移动计算设备800 可合并或多或少的输入元件。例如,在一些实施例中,显示器805可以不是触摸屏。在又一替 换实施例中,移动计算设备800是便携式电话系统,诸如蜂窝电话。移动计算设备800还可包 括任选的小键盘835。可选的小键盘835可以是物理小键盘或者在触摸屏显示器上生成的 "软"键区。在各个实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器805、视觉 指示器820(例如,发光二极管)、和/或音频换能器825(例如,扬声器)。在一些实施例中,移 动计算设备800合并用于向用户提供触觉反馈的振动换能器。在又一实施例中,移动计算设 备800合并输入和/或输出端口,诸如音频输入(例如,话筒插孔)、音频输出(例如,头戴式耳 机插孔)、以及用于发送信号或接收来自外部设备的信号的视频输出(例如,HDMI端口)。
[0128] 图8B是解说移动计算设备的一个实施例的体系结构的框图。即,移动计算设备800 可结合系统(例如,架构)802以实现某些实施例。在一个实施例中,系统802被实现为能够运 行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、文本 到语音应用以及媒体客户端/播放器)的"智能电话"。在一些实施例中,系统802被集成为计 算设备,诸如集成个人数字助理(PDA)和无线电话。
[0129] 一个或多个应用程序866可被加载到存储器862中,并且在操作系统864上或者与 其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM) 程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序、文本到语音应用等 等。系统802还包括存储器862内的非易失性存储区域868。非易失性存储区域868可用于存 储持久性信息,如果系统802断电,该持久性信息则不会丢失。应用程序866可使用和存储非 易失性存储区域868中的信息,诸如电子邮件应用所使用的电子邮件或其它消息等。同步应 用(未示出)还驻留在系统802上,并且被编程为与驻留在主机计算机上的相应同步应用交 互以使存储在非易失性存储区域868中的信息保持与存储在主机计算机的相应信息同步。 应当理解,其它应用可被加载到存储器862中并在移动计算设备800上运行,包括如在此描 述的用于使用基于VCDNN的语音识别来识别语音的指令(例如,和/或任选地VCDNN模块 711)。
[0130]系统802具有可被实现为一个或多个电池的电源870。电源870可能进一步包括外 部电源,诸如补充电池或对电池再充电的AC适配器或供电底座(powered docking cradle)〇
[0131] 系统802还可包括执行发射和接收射频通信的功能的无线电872。经由通信载体或 服务供应者,无线电872促进系统802和"外部世界"之间的无线连接。在操作系统864的控制 下进行与无线电872之间的传输。换句话说,可经由操作系统864将无线电872接收到的通信 散布到应用程序866反之亦然。
[0132] 视觉指示器820可用于提供视觉通知,和/或音频接口 874可用于经由音频换能器 825生成听得见的通知。在所解说的实施例中,视觉指示器820是发光二极管(LED)而音频换 能器825是扬声器。这些设备可直接耦合到电源870以使它们在激活时保持开启达通知机制 所陈述的持续时间,即使处理器860以及其它组件可能关闭以节约电池电量。LED可被编程 为无限地保持开启,直至用户采取措施来指示该设备的开启状态。音频接口874用于向用户 提供听得见的信号且接收来自用户的听得见的信号。例如,除了被耦合到音频换能器825之 外,音频接口 874还可被耦合到话筒来接收可听输入,例如促成电话通话或捕捉语音以供语 音识别。根据本发明的实施例,话筒还可用作音频传感器以促进对通知的控制。系统802可 进一步包括允许板载相机830的操作来记录静止图像、视频流等的视频接口 876。
[0133] 实现系统802的移动计算设备800可具有附加特征或功能。例如,移动计算设备800 还可包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或带。这种附加存储 设备在图8B中用非易失性存储区868示出。
[0134] 如上所述,通过移动计算设备800生成或捕捉且经由系统802存储的数据/信息可 在本地被存储在移动计算设备800上,或者该数据可被存储在可由该设备经由无线电872或 者经由移动计算设备800与关联于移动计算设备800的单独计算设备(例如,分布式计算网 络中的服务器计算机(诸如因特网))之间的有线连接访问的任意数量的存储介质上。如应 当领会的,可经由移动计算设备800、经由无线电872、或者经由分布式计算网络访问此类数 据/信息。类似地,可以在根据熟知的数据/信息转移和存储装置(包括电子邮件和协同数 据/信息共享系统)的用于存储和使用的计算设备之间容易地转移此类数据/信息。
[0135] 图9示出了用于处理如以上描述的在计算系统处从远程源(诸如计算设备904、平 板906或移动设备908)接收的数据的系统的架构的一个实施例。在服务器设备902处显示的 内容可按不同的通信信道或其它存储类型来被存储。例如,可使用目录服务922、web门户 924、邮箱服务926、即时消息存储928、或者社交网站930来存储各种文档。语音识别应用713 可被与服务器902进行通信的客户端使用。服务器902可通过网络915向诸如个人计算机 904、平板计算设备906和/或移动计算设备908(例如,智能电话)的客户端计算设备提供数 据并接收来自该客户端计算设备的数据。作为示例,以上描述的计算机系统可被具体化在 个人计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)中。除了接收被 用于要在图形始发系统处预处理或在接收计算系统处后处理的图形数据之外,计算设备的 这些实施例中的任意可获得来自存储916的内容。
[0136] 图10示出可执行在此公开的一个或多个实施例的示例性平板计算设备1000。另 外,本文中所描述的实施例和功能可在分布式系统(例如,基于云的计算系统)上操作,其中 应用功能、存储器、数据存储和检索、以及各种处理功能可在分布式计算网络(诸如因特网 或内联网)上彼此远程地操作。各种类型的用户界面和信息可经由板上计算设备显示器或 者经由与一个或多个计算设备相关联的远程显示单元显示。例如,各种类型的用户界面和 信息可显示并且在各种类型的用户界面和信息在其上投影的墙面上交互。与通过其可实践 本发明的实施例的多个计算系统的交互包括按键输入、触摸屏输入、语音或其它音频输入、 其中相关联的计算设备配备有用于捕捉和解释用户手势以控制计算设备的功能的检测(例 如,相机)功能的手势输入等等。
[0137] 以上参考例如根据本发明的各实施例的方法、系统和计算机程序产品的框图和/ 或操作图示描述了本发明的各实施例。框图中所注释的功能/动作可以不按照如任一流程 图中所示的次序发生。例如,连续示出的两个框实际上可基本并发地执行,或者取决于所涉 及的功能/动作,这些框有时可以相反的次序执行。
[0138] 此外,为了保护用户的隐私,用户的、或来自用户的、或从用户的输入得到的可能 私密的数据的任何聚集可在此处公开的系统或方法中使用之前首先被匿名化。这种匿名化 可包括移除可将要利用的结果联系到个体用户的部分或全部元数据或其它数据。所期望匿 名化程度可由用户选择或定制。
[0139] 本申请中提供的一个或多个实施例的描述和说明不旨在以任何方式限制或约束 如权利要求所要求保护的发明范围。本申请中提供的实施例、示例和细节被认为是足以传 达所有权,且使得他人能够制作并使用所要求保护的发明的最佳模式。而且,术语示例性的 '°'以及"解说性的"仅意在指示示例,而不是指定一个示例必然相对于任何其它示例更有用 或有益。所要求保护的发明不应被理解为限制于本申请中所提供的任何实施例、示例或细 节。不管是组合还是单独地示出和描述,各个(结构和方法)特征旨在选择性地包括或省略 以产生具有一组特定特征的实施例。在被提供本申请的描述和说明的情况下,本领域的技 术人员能够想象到落在所要求保护的发明的更宽泛方面以及本申请中所具体化的一般发 明概念的精神内的变体、修改和替换实施例并不背离该更宽泛的范围。
【主权项】
1. 一种用于识别语音的方法,所述方法包括: 捕捉语音输入; 为环境变量确定数值; 利用深度神经网络(DNN)来识别所捕捉的语音输入,其中DNN的一个或多个组件被建模 为一组环境变量的函数;以及 产生经识别语音的输出。2. 如权利要求1所述的方法,其特征在于,所述DNN的一个或多个组件至少包括一个或 多个加权矩阵和一个或多个DNN偏移中的一组。3. 如权利要求1所述的方法,其中所述DNN的一个或多个组件是所述DNN隐藏层的一个 或多个输出。4. 如权利要求1所述的方法,其中所述DNN的一个或多个组件是所述DNN中一个或多个 节点的一个或多个激活函数。5. 如权利要求1所述的方法,其中所述环境变量基于环境的噪声。6. 如权利要求5所述的方法,其特征在于,所述环境变量是信噪比。7. -种用于识别语音的系统,所述系统包括: 语首捕捉设备; 特征提取模块; 环境变量模块,其中所述环境变量模块确定环境变量的值;以及 语音识别解码器,其中所述语音识别译码器利用深度神经网络(DNN)来识别由所述语 音捕捉装置捕捉的语音,其中所述DNN的一个或多个组件被建模为环境变量的一组函数。8. 如权利要求7所述的系统,其特征在于,所述DNN的一个或多个组件至少包括一个或 多个加权矩阵和一个或多个DNN偏移中的一组。9. 如权利要求7所述的系统,其中所述DNN的一个或多个组件是所述DNN隐藏层的一个 或多个输出。10. 如权利要求7所述的系统,其中所述DNN的一个或多个组件是所述DNN中一个或多个 节点的一个或多个激活函数。11. 如权利要求7所述的系统,其中所述环境变量基于环境的噪声。12. 如权利要求11所述的系统,其特征在于,所述环境变量是信噪比。
【文档编号】G10L15/16GK105960672SQ201480075008
【公开日】2016年9月21日
【申请日】2014年9月9日
【发明人】J·李, R·赵, Y·宫
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1