以声音特征为条件的声学模型
1.本技术要求2020年4月27日提交的标题为“acoustic model conditioning on sound features”的美国临时申请62/704,202号的优先权。
技术领域
2.本技术属于神经网络的领域,具体而言属于基于声音嵌入作为条件的领域。
背景技术:3.我们正处于历史的一个转折点,在这里自然语言话音接口作为一种新型的人机接口即将起飞。它们转录话音的能力将很快取代键盘,成为输入文本的最快且最准确的方式。它们支持自然语言命令的能力将很快取代鼠标和触摸屏,成为操纵非文本控制的方式。在四面八方,它们将为人类提供干净、无菌的方式来控制机器工作、娱乐、教育、放松和协助进行琐碎的任务。
4.然而,自然语言话音接口提供所有这些益处的能力目前被其识别话音的能力的不准确所阻碍。有时弄错单词可能会很有趣,比如将爱尔兰口音的“thirty
‑
three”捕捉为“dirty tree”。在一些情况下,它可能是令人沮丧的,比如从嘈杂的汽车中将“text mom”捕捉为“text tom”、“text none”、“text some”。在一些情况下,话音识别差错可能是危险的,比如把高声的医生口述的失语症(aphasia)医学诊断捕捉为不食症(aphagia)!。
5.图1示出了虚拟助手情境中的话音识别失败的场景。用户10是一个拥有独特声道的人,他们说话时带有新西兰口音,并且他们在一个嘈杂的房间中,雨落在窗户11上。用户10呼唤12,让虚拟助手预测新西兰首都奥克兰(auckland)明天是否会下雨。来自旧金山湾区一家公司的虚拟助手13将auckland这个词识别为湾区城市oakland,并给出了关于那里天气的无用响应14。来自美国西北一家公司的另一位虚拟助手15把auckland这个词识别为加拿大西部的城市falkland,并且也给出了无用响应16。
6.对于不常见的口音、不常见的语音类型、在不常见的环境条件中(比如有噪音、背景音或音乐)、使用不常见的设备以及在其他不常见的场景中的话音,传统的话音识别遭遇准确率的问题,使得它们只适合于狭窄的用途,比如在安静的家中播放音乐。只有解决了这些问题,带有语音接口的产品才能实现其在日常生活中的潜在作用。
技术实现要素:7.以声音特征为条件的声学模型(条件声学模型)提供了一种简单且强大的技术,大大改善了自动话音识别(automatic speech recognition,asr)的准确性。
8.用途
9.条件声学模型在语音类型、口音、环境条件等等那些不常见的用例中提供了最大的改进。它有一些特殊的益处,比如即使在有背景噪声、音乐或话音的情况下,也能使asr准确。
10.许多asr系统使用在数据上训练的神经网络。神经网络体系结构在其层数、节点
数、卷积、递归和训练方法方面有很大的不同。本发明提供了对asr准确性的益处,而不管使用的具体神经网络体系结构如何。此外,通过提供改善的准确性,与传统的asr方案将会需要的相比,可以用更少的时间和更少的训练数据来训练asr系统以满足所需的准确性规格。这使得话音识别产品和服务的提供商能够开发新的特征,并且更快地将其推向市场,从而改善他们的市场竞争地位和整体盈利能力。
11.asr的这些益处可以在如图1的示例中那样的响应于关键短语而唤醒的虚拟助手内实现,但也可以在听写系统、车辆控制接口、零售贩卖系统以及识别经常说出的已知关键短语的语音接口的任何其它应用中实现。
12.实现方式
13.声学模型(acoustic model,am)是asr的计算机化系统的方法,也是其关键成分。具体地,am推断话音音频中的音素的概率。条件声学模型依赖于从具有已知音素序列的关键短语的第一话音片段编码声音嵌入。在机器学习中,嵌入是一个特殊的术语,它简单地意味着将输入表示投射到另一个更方便的表示空间中。第一音频片段可能只有几个音频样本或者单一的频谱帧那么少,或者可能有一串几个单词那么多。编码的向量在第一音频片段结束后立即或不久就被计算并存储。
14.条件声学模型随后在紧随在关键短语音频之后的包含话语的第二话音音频片段上执行音素概率的推断。am的输入既是话音音频的话语片段,也是存储的向量。输出是至少一个的概率,但在许多实现方式中,是一组音素中每个音素的概率的softmax集合。
15.一些实现方式将神经网络用于声学模型,并且在标记的话音音频样本上训练神经网络,每个样本具有对应的关键短语声音嵌入。这个对应关系确保了声音嵌入对am的学习预测的影响对于每个训练数据样本将会有正确的方向和比例。
16.在支持各种各样的用户的asr系统的情况下,如果训练样本包括多种语音和多种口音,那么由此产生的推断准确性是最好的。此外,如果训练音频样本中的至少一些与噪声音频样本混合在一起,则推断准确性是最好的。然而,如果与关键短语音频混合的噪声和与训练话语音频混合的噪声具有相同的噪声剖面,则声音嵌入的学习效果将是最好的。
17.各种类型的编码器是可能的。有些可能是精心编程的。有些可能是从数据中学习的模型,比如神经网络。可以将预训练的模型用于编码器。然而,也可以将编码器模型与声学模型联合训练。这可包括将声学模型梯度反向传播到编码器模型内的神经网络节点。联合训练一般将会给出更好的准确性,因为编码器学习的声音嵌入优化了声音嵌入的迷惑性,为训练的am模型提供了分辨能力。
18.也可以让一个或多个联合训练的和一个或多个独立训练的编码模型对来自关键短语音频的声音嵌入进行编码和存储,并且将编码作为输入提供给声学模型。
19.可以在不同的设备中具有编码器和声学模型。例如,具有麦克风和计算机化代码以运行唤醒短语侦测器的客户端设备也可以计算关键短语的编码。它随后可将随后的具有话语的第二音频片段与编码的向量一起发送到运行条件声学模型的asr服务器。基于服务器的asr在用户设备处以较低的成本和功耗要求提供了高准确性。
20.然而,也可以对声音嵌入进行编码,并且将其用在全都在同一系统内的条件声学模型中。那可能是一服务器,其接收关键短语音频和随后的具有话语的话语音频片段。然而,该系统可完全被包含在能够在没有网络连接的情况下以“飞行模式”执行asr的用户设
备(例如汽车或移动手机)内。
附图说明
21.图1示出了传统系统中的话音识别失败。
22.图2示出了具有关键短语和话语的话音音频的波形。
23.图3示出了一般的和经处理的话音音频内的信息的表格。
24.图4a示出了根据一实施例的编码器和有条件声学模型的图。
25.图4b示出了根据一实施例的多个编码器和有条件声学模型的图。
26.图5示出了根据一实施例训练以声音嵌入为条件的声学模型的图。
27.图6示出了根据一实施例联合训练编码器和以声音嵌入为条件的声学模型的图。
28.图7示出了根据一实施例利用与噪声相混合的训练数据联合训练编码器和以声音嵌入为条件的声学模型的图。
29.图8示出了根据一实施例的具有编码器的设备的图,该编码器提供向量来调节云服务器上的声学模型。
30.图9a示出了根据一实施例的云服务器。
31.图9b示出了根据一实施例的云服务器的图。
32.图10示出了根据一实施例的具有编码器和条件声学模型来进行本地话音识别的移动手机。
33.图11a示出了根据一实施例的封装的片上系统。
34.图11b示出了根据一实施例的片上系统的图。
35.图12示出了根据一实施例的非暂态计算机可读介质。
具体实施方式
36.下文描述了条件声学模型的相关方面的各种设计选择。除注明外,不同方面的设计选择是相互独立的,并且以任意组合方式一起工作。
37.声学模型
38.asr的声学模型取得包括话音音频片段的输入,并且产生一个或多个音素的推断概率的输出。一些模型可以推断senone概率,这是音素概率的一种类型。在一些应用中,声学模型的输出是一组可识别音素或senone上的概率的softmax集合。
39.一些asr应用在从音频的帧计算的频谱分量上运行声学模型。频谱分量例如是在25毫秒的音频样本的窗口上计算的梅尔频率倒谱系数(mel
‑
frequency cepstral coefficient,mfcc)。例如,声学模型推断可以以每10毫秒的间隔重复。
40.频谱分量可以是从音频波形的样本计算的,例如由作为话音控制设备的用户接口的一部分的麦克风捕捉的音频波形。或者,声学模型可以被训练为直接取得这种样本作为输入。
41.单个系统或设备可包括一个以上的声学模型。一个简单的模型可能对于仅仅在关键短语被说出时断言触发信号的短语侦测器来说已经足够了。用于高准确性话音识别的声学模型可使用具有尽可能多的层和节点的神经网络,以在高性能计算机处理器上实时可用的合理资源预算内实现,或者甚至非实时地实现以便分析记录的话音。一些声学模型可被
设计为中等准确水平,以适应合理词汇量的便携式电池供电设备的处理功率预算。
42.一些声学模型可计算输入特征的卷积,以利用不同粒度水平的信息,这可改善推断精度。一些声学模型可采用递归,例如长短期记忆(long short
‑
term memory,lstm)或门控递归单元(gated recurrent unit,gru)神经网络节点,以利用输入信号的时间变化中包含的信息。
43.图2示出了示例话音波形。它包括第一话音片段21,其中说话者说了一个关键短语。关键短语是具有已知单词的短语,因此,是已知的音素序列。关键短语对于例如唤醒语音虚拟助手是有用的,该虚拟助手识别并且响应作为查询或命令的短话语。一些示例是“okay google”和“alexa”。关键短语也作为语音命令出现在用于控制执行自动听写的系统的话音中。一些示例是“句号”、“换行”和“撤销”。
44.在话音波形中的关键短语21之后是第二话音片段22,它是一个话语(utterance)。话语是先验未知单词和音素的话音。条件声学模型的一个目标是提供用户话语的asr的高准确性。
45.图3示出了话音音频的不同表示中包含的信息的表格。话语的音频一般来说包括关于正在说出的音素的信息。它还包含关于说话者的语音的信息,包括诸如说话者的声道的生理学之类的信息,这些信息也可用于诸如估计说话者的性别和年龄的目的。话语音频还包括关于说话者的口音、语速以及说话者如何将其思想转化为话音的其他属性的信息。话语音频还包括关于环境的信息,比如连续的背景噪声,如马达和风,以及影响作为声音的气压波到该声音的数字捕捉表示之间的转移函数的其他失真参数。
46.关键短语音频包括了除了正在说出的音素之外的所有该信息。这是因为关键短语具有一组已知的音素。只要系统正确识别出关键短语被说出,关键短语内的音素就是预先已知的,并且因此是话音音频中包含的冗余信息。
47.相比之下,声学模型的期望输出是音素。良好创建的声学模型会拒绝来自话音音频的语音、口音和环境信息,只输出被说出的音素。
48.当像图2的示例中一样,关键短语22之后不久就跟随着话语23时,语音、口音和环境信息很有可能在关键短语音频和话语音频之间是大致相同的。因此,通过对关键短语音频的特征进行分析,并且以适当的编码来表示它们,就可以将它们馈送给条件声学模型,该条件声学模型可以拒绝这些特征,从而更准确地识别话音音频的表示音素的特征。
49.从关键短语音频中编码特征的步骤和利用声学模型来推断音素的步骤都可以通过精心构造的数字信号处理算法来完成,或者通过在大型多样化数据集合上训练一个或多个模型(例如神经网络)来完成,或者通过信号处理和训练模型两者的组合来完成。训练的条件声学模型被训练成具有编码的关键短语音频特征的输入。用于识别和编码关键短语音频的特征的模型可以独立训练,或者可以与声学模型联合训练。
50.在支持不同类型的设备或环境的系统中,例如在支持远场设备(如智能扬声器)和近场设备(如移动手机)的云asr系统中,可以具有多个声学模型。类似地,支持不同语言或区域的asr的系统也可具有多个声学模型。可以使用编码器来创建输出,该输出简单地在它估计将会最适当的声学模型之间进行选择。
51.声音嵌入
52.来自关键短语的编码语音、口音和环境信息被表示为声音嵌入。声音嵌入捕捉了
关于说话者语音的物理属性、其口音和话音风格的属性以及其环境的属性的信息,其环境的属性例如是背景噪声、混响以及麦克风和模拟到数字转换器的转移函数。通过捕捉关键短语的声音嵌入,声音嵌入对于短语之间的变化免疫,并且大部分对于由于语境和情绪引起的变化免疫。通过捕捉话语前不久的声音嵌入,它们不会遭遇由于不同的设备特性引起的变化或者由于温度、情感、健康和其他身体因素引起的语音的不同变化。
53.声音嵌入与用于说话者识别的特征向量(例如用于呼叫中心安全目的的特征向量)不同。这种说话者识别特征向量旨在拒绝环境信息,以便对环境变化和不同时间和捕捉设备的变化免疫。这种系统通过要求说话者多次重复某个短语或者采用其它技术从环境信息中辨别说话者的语音来实现这一点。
54.声音嵌入也不同于用于分类(diarization)的说话者id信息,它们是独立于短语的。它们使用独立于短语的算法,这些算法针对话音的音素内容是未知的这一事实进行补偿。
55.声音嵌入处于包括环境信息但不包括语音信息的空间中。这种空间可以通过训练编码器的过程来学习。在这种情况下,训练将包括许多语音、口音和环境变化,但全都是在说出预先定义的关键短语音素之时的。
56.学习声音嵌入空间相当于从数据中学习短语相关的i向量或x向量空间。例如,不需要在按诸如性别、口音或噪声之类的类别标注的数据上进行训练。嵌入空间会学习该信息。对于不使用条件声学模型之间的联合训练的系统,可以使用现成的或者第三方的编码器模型,例如用于x向量或i向量的编码器。
57.编码器
58.图4a示出了以声音特征为条件的声学模型的图。编码器41接收关键短语音频并且计算声音嵌入。在关键短语的末尾处或末尾附近,声音嵌入被存储。
59.编码器可以在少至几毫秒的音频上操作。它可以在从恒定时间段缓冲的音频片段上操作,例如在短语侦测器被触发之前的0.2或1.0秒。编码器可在如下的音频片段上操作:该音频片段开始于语音活动检测器(voice activity detector,vad)触发为检测到语音的时间之时、此前不久或者此后不久,直到短语侦测器被触发之时、此前不久或者此后不久为止。编码器可以在如下的音频片段上操作:该音频片段开始于所识别的不是关键短语的单词完成之后不久,直到关键短语被识别之时、此前不久或者此后不久为止。编码器可以在从vad结束直到vad开始的非话音音频片段上操作。对关键短语音频进行分割以供编码器使用的各种机制是可能的。重要的是,编码器主要分析包括语音、口音和/或环境信息的声音,但不是预先未知音素的话音。
60.在图4a中,条件声学模型42取得话语音频和存储的声音嵌入并且推断音素概率。存储的声音嵌入保持不变,并且只有当检测到新的关键短语并且编码器41再次运行以重新生成声音嵌入时,或者当会话结束或者经过了很长一段时间、此后说话者或环境可能已改变时,才会被替换。
61.多个编码器
62.在联合训练的编码器和条件声学模型的情况下,单个良好训练的编码器一般将是对计算资源的最高效利用,以实现准确性的提高。然而,对于一些实现方式,使用预先训练的编码器可能是有益的,例如现成的编码器、来自不同代码库的编码器或者针对特定应用
进行优化的编码器。这可以提供模块化,来以最低限度的再培训工作为不同的应用定制系统。
63.具有一个以上的编码器也可能是有利的。例如,这样是有用的:有一个在许多应用或语言上有用的通用声音嵌入编码器,然后有模块化编码器来改善针对特定应用或语言的准确性。这样的一个简单示例是具有性别检测编码器和语言检测编码器的系统,每个编码器对作为条件声学模型的有用输入的关键短语的声音嵌入进行编码。
64.对于可以使用的编码器的数目和可以用作条件声学模型的输入的声音嵌入的数目,理论上是没有限制的。每个都通过处理关键短语话音音频来输出1个或多个维度值的向量。图4b示出了使用创建多个声音嵌入的多个编码器43的以声音嵌入为条件的声学模型的图。多个声音嵌入在处理关键短语结束时被存储,然后被用作条件声学模型44的输入,该模型对话语音频进行操作以预测音素概率。
65.还可以让不同的编码器或编码器和声学模型以不同的采样率或比特深度操作。这在以下情况下可能是有用的:例如,如果编码器在原始输入音频上以高准确度操作,但通过带宽受限的连接将压缩音频传输到声学模型,或者如果短语侦测器以低采样率捕捉音频以节省功率,并且该音频片段被用于计算声音嵌入,同时采样率被增大以便声学模型在话语话音上运行。
66.听写系统
67.以声音嵌入为条件的声学模型在通用虚拟助手、汽车控制系统和其他语音用户接口中在每查询基础上是有用的,然而它在听写系统中也是有用的。听写系统每当检测到关键短语时,就可以重新计算和存储声音嵌入。这可以在关键短语之后不断改善识别,直到会话结束或者捕捉另一个关键短语时为止。
68.关键短语可以是常见的命令,如“句号”、“换行”或者“撤销”。一般来说,以高准确度检测到关键短语,是重要的。由于长单词在话音识别中具有较大的确定性,所以可以使用在超过一定长度(例如10个音素)的任何单词期间说出的音频。也可以将识别概率得分超过阈值作为存储新的声音嵌入的条件。
69.更新后的声音嵌入的计算和存储可以对听写系统的用户静默地且不可见地发生。它也可以是用户可以选择的一个可选功能。
70.训练
71.可以设计不从数据中学习的声学模型。然而,本节将聚焦于从数据训练声学模型的方式。本节将聚焦于神经网络作为学习的模型的示例类型,尽管有可能训练其他类型的统计模型,例如隐藏马尔可夫模型(hidden markov model,hmm)。
72.由于以声音嵌入为条件的声学模型的准确度的改善,因此对于给定的目标准确度,比如目标误词率,可以用更少的训练时间、更少的训练迭代和/或更少的训练数据来实现该目标。
73.与传统声学模型的一个关键区别是,条件声学模型能够访问包括语音、口音和环境信息的音频,并且实际上,它被它是已知短语的话音这个事实隐含地“标记”。
74.图5示出了训练声学模型。它使用既具有关键短语话音片段也具有在关键短语之后不久的话语片段的话音记录53作为训练数据。编码器模型51处理关键短语话音片段以计算声音嵌入。
75.这并不是严格必要的,但许多训练系统在标记的数据上使用监督学习。在这种情况下,话语音频被标记54。标记通常涉及人类倾听话语,检查机器转录是否正确,并且如果机器转录不正确,则输入正确的转录。人类标记员倾向于使用人类可读的文本来输入标签。这随后被转换为音素的序列。对于同音异义词,可以从上下文中选择正确的音素,或者可以从训练中排除这种样本。无论采用何种方案,声学模型训练55的输入都是来自标记的音素的地面真实序列、被时间对齐以匹配音素的音频样本或者频谱值、以及声音嵌入。训练的结果是声学模型52,该声学模型52能够利用声音嵌入在输入话音音频上执行推断,比在没有声音嵌入的情况下训练的声学模型能够实现的更准确。
76.与任何训练过的模型一样,如果训练数据53的语料库是多样化的,并且跨越了模型在实际使用中将会遇到的话音的范围,则训练过的声学模型52将是最准确的。
77.联合训练
78.计算声音嵌入的编码器可以用数字信号处理算法来实现。它们也可以是从数据中学习的统计模型。具体而言,它们可以利用神经网络来实现。编码器神经网络可包括卷积层、递归节点、长期递归节点(比如lstm或gru)以及至少一个或两个“深度”前馈层中的一个或多个。
79.可以训练编码器神经网络来学习嵌入空间,该嵌入空间在关键短语音频上给出各种各样的声音嵌入。这可以独立于条件声学模型来执行。如果独立训练由不同的团队或公司执行,或者作为不同项目的一部分执行,或者针对不同的性能要求执行,比如编码器是针对低功耗嵌入式系统进行优化的,而声学模型是针对高性能的云计算数据中心进行优化的,那么独立训练可以是一种良好的方案。
80.然而,也可以联合训练编码器模型和条件声学模型。图6示出了编码器模型和条件声学模型的联合训练。如上所述,对于独立声学模型训练,训练从训练数据63的语料库开始。训练数据样本每个包含关键短语,其后不久是话语。话语音频片段被标记64。关键短语音频被编码器模型61编码,并且所得到的声音嵌入与其对应的话语音频片段和地面真实标签一起被用于执行训练的迭代65。训练迭代根据成本函数计算声学模型62内的参数的梯度,并且通过该模型反向传播这些梯度。梯度随后被反向传播到编码器模型66的训练过程,该训练过程更新编码器模型61的参数。通过多次迭代运行,编码器模型学习创建对于声学模型的调节更有用的声音嵌入,并且声学模型学习使用声音嵌入来实现比模型被独立训练的情况下更好的准确度。
81.许多asr系统将语言模型应用到来自声学模型的假设音素序列。一些实验系统使用联合训练的声学和语言模型或者单位神经网络,它们直接从话音音频的片段推断文本。使得诸如“端到端”的话音识别神经网络以从关键短语音频计算的声音嵌入为条件可以改善整体的准确性。这可能是因为学习了从包含有音素信息的信号中排除声音嵌入中的语音、口音和环境信息的神经网络也可以通过从涉及从音频推断单词的更高级别特征的推断中排除该信息而受益。
82.噪声混合
83.在干净的话音音频上训练的声学模型在真实世界嘈杂话音音频中的准确度不如在嘈杂话音上训练的模型。然而,对于尚未构建或发布到市场的产品,收集准确表示asr的预期噪声条件的训练数据,是困难的。一种常见的技术是将噪声与相对干净的话音音频混
合,以调节训练音频数据。这可通过将话音音频与噪声的记录混合、通过信号处理应用有意失真、合成诸如混响之类的效果以及使用类似技术以模拟真实世界条件来完成。
84.条件声学模型受益于具有表示在真实世界话语音频中有可能存在的噪声和失真的声音嵌入。这种可能性很高,因为声音嵌入是从其后不久跟随着要识别的话语的音频计算出来的。这样做的益处是为声学模型提供环境信息,例如噪声和失真。结果,为了对编码器和条件声学模型进行最优的联合训练,在关键短语和话语音频两者中混合相同剖面的噪声或失真,是重要的。混合的噪声不需要在关键短语和话语之间完全相同,但它应当具有相同的剖面。也就是说,它应当是由相同的配方生成的,或者是从连续噪声的单一记录会话生成的。
85.图7示出了编码器模型和条件声学模型的联合训练,其中在训练中混合了噪声。它使用了训练数据73的语料库,该语料库包括话音音频片段的样本,其中既有关键短语,也有随后不久的口头话语。话语音频片段被标记74。噪声模型77产生与话语话音片段78和关键短语话音片段79混合的噪声。具有混合噪声的关键短语被用于编码器训练76,并且被编码器模型71用于计算声音嵌入。声音嵌入和标签在声学模型训练过程75中与混合噪声的话语话音片段一起应用,以产生训练后的条件声学模型72。
86.声学模型训练75计算梯度,并且将其反向传播到编码器训练76,以在每次训练迭代中联合训练编码器模型71和条件声学模型72。
87.计算机化系统
88.许多计算机化系统可使用条件声学模型进行高准确度asr。一些示例是执行asr的服务器(例如云服务器)、嵌入式系统、物联网(internet of things,iot)设备、移动电话或其他便携式手持设备、个人计算机听写系统、汽车和其他交通工具的语音控制系统以及零售贩卖系统和设备。下一节将描述一些示例,以说明可适用于各种其他应用的相关功能。
89.客户端
‑
服务器系统
90.一些系统,例如家庭智能扬声器,使用客户端
‑
服务器方案。智能扬声器设备可包括编码器功能。当它捕捉到用户说出唤醒短语的音频时,其被作为关键短语音频,被编码,并且被发送到服务器。服务器可以提供诸如asr、自然语言理解(natural language understanding,nlu)、从第三方应用编程接口(application programming interface,api)请求数据以及向设备返回命令之类的服务。
91.图8示出了根据一实施例,用户80与设备82通信,设备82通过网络83作为客户端耦合到服务器81。设备82接收到其后紧接着话语的关键短语的话音音频。设备82通过以软件实现的编码器86对关键短语音频进行处理,以从关键短语音频计算声音嵌入。设备82将声音嵌入存储在存储器中,然后进而将存储的声音嵌入传输到服务器81,从语音中捕捉话语音频,并且将话语音频传输到服务器81。服务器81进而利用全都在高性能处理器上以软件实现的条件声学模型85来执行asr 84。条件声学模型85使用设备82发送的声音嵌入。
92.在设备上编码声音嵌入可能是有益的,以防万一不同的设备基于其计算能力使用不同的编码器。例如,像智能扬声器这样的壁式插座设备通常能够比像智能电话这样的电池供电便携式设备维持更大的处理性能。在设备上运行编码器有益也是因为这样做,就不必通过网络将唤醒短语音频传输到服务器。
93.单一系统
94.也可以在用户本地的设备内实现与编码器86、asr 84和条件声学模型85等同的功能。这样做是有益的,因为设备从而可以在没有互联网连接的情况下执行话音识别。这对于可能会驾驶到没有移动无线网络连接的地方的汽车来说或者用户可能在旅行期间或者为了维持隐私而转为“飞行模式”的移动设备来说是重要的。
95.也可以具有双模式系统,这种系统在网络连接可用时将声音嵌入和话语音频传输到服务器,但在没有网络连接可用时则切换到本地asr的模式。
96.服务器系统
97.编码器86、asr 84和条件声学模型85的功能也可以全部在服务器上执行。要做到这一点,需要将关键短语的音频从客户端发送到服务器,以便编码器功能进行处理。这可以是一个优点,以便服务器操作者可以容易地升级编码器或条件声学模型。这也可以因为如下原因而是一个优点:因为服务器一般比客户端设备具有更多的处理能力,因此更容易设计一个具有哑巴客户端的系统,这些客户端简单地将音频传递到服务器,而无需本地编码器的复杂性。
98.图9a示出了具有多个刀片的数据中心中的服务器系统91的图片。
99.图9b是服务器系统中的功能的框图,该功能对于以声音特征作为声学模型的条件可能是有用的。服务器系统91包括中央处理单元(cpu)92的一个或多个集群和图形处理单元(gpu)93的一个或多个集群。各种实现方式可以使用cpu和gpu的任一者或两者,用于推断和训练的任一者或两者。也可以使用现场可编程门阵列(fpga)、专用集成电路(asic)、张量处理单元(tpu)或者其它协处理器、加速器或专用设备。
100.cpu 92和gpu 93通过互连94连接到随机存取存储器(ram)设备95。ram设备可以存储临时数据值,例如声音嵌入、cpu和gpu的软件指令、神经网络或其他模型的参数值、音频数据、操作系统软件以及系统操作所必需的其他数据。
101.服务器系统91还包括与互连94连接的网络接口96。网络接口96发送和接收来自远程客户端设备的数据,例如声音嵌入,话语的话音音频,以及在一些情况下,关键短语,以及系统操作所必需的其他数据。
102.用户设备
103.如上所述,许多类型的设备可以向用户呈现语音控制的接口。图10示出了一个示例,该示例是移动电话。用户100向移动电话101提供话音音频。移动电话101处于飞行模式中,如由看起来像飞机的图标102所指示。
104.移动电话101包括编码器106,其接收话音音频并从关键短语的话音音频编码声音嵌入。移动电话101还包括接收话音音频和声音嵌入的asr功能104。asr功能104包括声学模型105,该声学模型105使用声音嵌入来从话音音频推断音素概率。
105.结果,移动电话可以识别用户话音并且执行本地功能,例如打开应用或者播放存储在设备ram中的音乐或电影。
106.soc
107.许多嵌入式设备、iot设备、移动设备和其他具有直接用户接口的设备都由soc控制并且由soc执行asr。soc具有集成的处理器和数十或数百个接口来控制设备功能。图11a示出了具有用于表面安装焊接到印刷电路板的球栅阵列的封装片上系统设备111的底侧。各种封装形状和大小对于各种soc实现方式是可能的。
108.图11b示出了片上系统111的框图。它包括cpu核心112的多核集群和gpu核心113的多核集群。处理器通过片上网络114连接到用于诸如声音嵌入之类的数据的易失性程序和数据存储的片外动态随机存取存储器(dram)接口115以及用于闪速ram非暂态计算机可读介质中的计算机程序代码的非易失性存储的闪速接口116。soc 111还具有显示接口116,用于显示图形用户界面,用于诸如向用户显示asr转录或者显示虚拟助手命令的结果之类的功能,以及i/o接口模块117,用于根据不同外围设备的需要,与各种i/o接口设备连接。i/o接口使能了传感器,例如触摸屏传感器、地理位置接收器、麦克风、扬声器、蓝牙外设和usb设备,例如键盘和鼠标,等等。soc 111还包括网络接口118来允许处理器通过诸如wifi、3g、4g长期演进(lte)、5g和其他无线接口标准无线电之类的有线或无线连接以及以太网连接硬件接入互联网。通过经由接口115执行存储在ram设备中的指令或者经由接口116执行存储在闪速设备中的指令,cpu 112和gpu 113执行如本文所述的方法的步骤。
109.crm
110.程序代码、诸如声音嵌入、关键短语和话语的音频数据之类的数据、操作系统代码和其他必要数据由非暂态计算机可读介质存储。
111.图12示出了示例计算机可读介质121,该介质是闪速随机存取存储器(ram)芯片。数据中心通常使用闪速存储器来为服务器处理器存储数据和代码。移动设备通常使用闪速存储器来为soc内的处理器存储数据和代码。非暂态计算机可读介质121存储包括指令的代码,所述指令如果被一个或多个计算机执行则将使得计算机执行本文描述的方法的步骤。其他数字数据存储介质在各种应用中可能是适当的。
112.特别说明
113.所示出和描述的示例使用某些口头语言。各种实现方式对于其他语言或者语言组合类似地操作。一些实现方式是无屏幕的,例如耳机,其没有显示屏幕。一些实现方式是固定的,例如自动售货机。一些实现方式是移动的,例如汽车。一些实现方式是便携的,例如移动电话。一些实现方式可以植入人体中。一些实现方式包括手动接口,例如键盘或触摸屏。一些实现方式包括使用人类思想作为自然语言表达形式的神经接口。
114.一些实现方式通过在通用cpu上运行软件来发挥作用,例如具有arm或x86体系结构的cpu。一些对功率敏感的实现方式和一些要求特别高性能的实现方式使用硬件优化。一些实现方式使用专门的片上系统中的具有可配置指令集合的应用可定制处理器,例如来自synopsys的arc处理器和来自cadence的xtensa处理器。一些实现方式使用烧制到fpga中的专用硬件块。一些实现方式使用gpu的阵列。一些实现方式使用具有定制逻辑的asic,以给出最佳性能。一些实现方式采用硬件描述语言代码,例如用verilog语言编写的代码。
115.本文记载原理、特征和实施例的描述涵盖其结构和功能等同。本领域技术人员将会认识到许多修改和变化。