CN115803806A - 用于训练双模式机器学习言语识别模型的系统和方法 - Google Patents

用于训练双模式机器学习言语识别模型的系统和方法 Download PDF

Info

Publication number
CN115803806A
CN115803806A CN202180046025.3A CN202180046025A CN115803806A CN 115803806 A CN115803806 A CN 115803806A CN 202180046025 A CN202180046025 A CN 202180046025A CN 115803806 A CN115803806 A CN 115803806A
Authority
CN
China
Prior art keywords
mode
streaming
recognition
speech
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180046025.3A
Other languages
English (en)
Inventor
余家辉
庞若鸣
韩玮
安莫尔·古拉蒂
邱中镇
李博
塔拉·N·赛纳特
吴永辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN115803806A publication Critical patent/CN115803806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本公开的系统和方法涉及一种计算系统,所述计算系统包括一个或多个处理器和机器学习多模式言语识别模型,所述机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作。所述计算系统可以进行操作,所述操作包括:获得言语数据和真实值标签;以及使用所述上下文识别模式来处理所述言语数据以获得上下文预测数据。所述操作可以包括:评估所述上下文预测数据与所述真实值标签之间的差异;以及使用所述流式识别模式来处理所述言语数据以获得流式预测数据。所述操作可以包括:评估所述流式预测数据与所述真实值标签以及所述上下文和流式预测数据之间的差异。所述操作可以包括:调整所述言语识别模型的参数。

Description

用于训练双模式机器学习言语识别模型的系统和方法
相关申请
本申请要求2020年10月2日提交的美国临时专利申请第63/086,937号的优先权和权益,美国临时专利申请第63/086,937号以引用的方式全部并入本文。
技术领域
本公开大体上涉及言语识别。更具体地,本公开涉及训练和利用双模式机器学习言语识别模型。
背景技术
言语识别技术对于克服人机之间的通信差距已变得越来越重要。低延时流式言语识别(例如在线言语识别、迭代言语识别等)用于若干场景中,在这些场景中,在说出字词(例如虚拟助理任务等)时尽可能快地识别每个字词是很重要的。虽然对于许多言语识别场景,低延时流式识别通常是优选的,但是这通常经受预测错误(例如高字词误差率等)。对于精度至关重要的场景(例如视频共享平台上的离线视频字幕等),全上下文言语识别技术通常是优选的。在全上下文言语识别中,整个言语段被提供为输入,使得可以凭借后来出现的上下文来处理言语的较早部分。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述或可以根据描述来获知或可以通过实践实施例而获知。
本公开的一个示例方面涉及一种用于利用多模式言语识别模型的计算机实现的方法。该方法可以包括:由包括一个或多个计算装置的计算系统获得机器学习多模式言语识别模型,该机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作,其中流式识别模式被配置为对言语数据的一个或多个部分中的每一者进行迭代编码,并且其中上下文识别模式被配置为对言语数据的一个或多个部分中的每一者进行同时编码。该方法可以包括:由计算系统获得与言语识别任务对应的言语数据。该方法可以包括:由计算系统基于言语识别任务来从机器学习多模式言语识别模型的流式识别模式和上下文识别模式中确定所选择的模式。该方法可以包括:由计算系统使用机器学习多模式言语识别模型的所选择的模式来处理附加言语数据以获得言语识别输出。
本公开的另一示例方面涉及一种用于训练机器学习模型以进行多模式言语识别的计算系统。例如,计算机系统可以用于训练机器学习模型以进行多模式言语识别,如以上方面中所阐述。该计算系统可以包括一个或多个处理器。该计算系统可以包括机器学习多模式言语识别模型,该机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作。流式识别模式可以被配置为对言语数据的一个或多个部分中的每一者进行迭代编码以获得流式预测数据(例如以因果方式)。上下文识别模式可以被配置为对言语数据的一个或多个部分中的每一者进行同时编码以获得上下文预测数据(例如以非因果方式)。该计算系统可以包括一种或多种存储计算机可读指令的有形、非暂时性计算机可读介质,该计算机可读指令在被一个或多个处理器执行时使该一个或多个处理器进行操作。该操作可以包括:获得言语数据和相关联的真实值标签。该操作可以包括:使用机器学习多模式言语识别模型的上下文识别模式来处理言语数据以获得上下文预测数据。该操作可以包括:评估上下文损失函数,该上下文损失函数评估上下文预测数据与真实值标签之间的差异。该操作可以包括:使用机器学习多模式言语识别模型的流式识别模式来处理言语数据以获得流式预测数据。该操作可以包括:评估流式损失函数,该流式损失函数评估流式预测数据与真实值标签之间的差异和上下文预测数据与流式预测数据之间的差异。该操作可以包括:至少部分地基于上下文损失函数和流式损失函数来调整机器学习多模式言语识别模型的一个或多个参数。
本公开的另一示例方面涉及一种或多种存储计算机可读指令的有形、非暂时性计算机可读介质,该计算机可读指令在被一个或多个处理器执行时使该一个或多个处理器进行操作。该操作可以包括:获得机器学习多模式言语识别模型,该机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作,其中流式识别模式被配置为对言语数据的一个或多个部分中的每一者进行迭代编码,并且其中上下文识别模式被配置为对言语数据的一个或多个部分中的每一者进行同时编码。该操作可以包括:获得与言语识别任务对应的言语数据。该操作可以包括:基于言语识别任务来从机器学习多模式言语识别模型的流式识别模式和上下文识别模式中确定所选择的模式。该操作可以包括:使用机器学习多模式言语识别模型的所选择的模式来处理附加言语数据以获得言语识别输出。
本公开的其它方面涉及各种系统、设备、非暂时性计算机可读介质、用户接口和电子装置。
将参考以下描述和随附权利要求书更好地理解本公开的各种实施例的这些和其它特征、方面和优点。并入于本说明书中并且构成本说明书的一部分的附图图示了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在本说明书中阐述了针对本领域的普通技术人员的实施例的详细讨论,该说明书参考了附图,在附图中:
图1A描绘了根据本公开中所描述的示例的进行多模式言语识别的示例计算系统的框图。
图1B描绘了根据本公开中所描述的示例的进行多模式言语识别的示例计算装置的框图。
图1C描绘了根据本公开中所描述的示例的进行机器学习多模式言语识别模型的训练的示例计算装置的框图。
图2描绘了根据本公开中所描述的示例的示例机器学习多模式言语识别模型的框图。
图3描绘了根据本公开中所描述的示例的示例机器学习多模式言语识别编码器/解码器模型的框图。
图4描绘了根据本公开中所描述的示例的示例机器学习多模式言语识别模型的数据流程图。
图5描绘了根据本公开中所描述的示例的机器学习多模式言语识别模型的示例双模式注意力层的数据流程图。
图6描绘了根据本公开中所描述的示例的机器学习多模式言语识别模型的示例双模式卷积层和示例双模式池化层的数据流程图。
图7描绘了根据本公开中所描述的示例的进行机器学习多模式言语识别模型的训练的示例方法的流程图。
在多个图上重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
概述
通常,本公开涉及言语识别。更具体地,本公开涉及训练和利用多模式机器学习言语识别模型。作为示例,多模式机器学习言语识别模型可以配置为在两种模式下操作:流式识别模式或上下文识别模式。流式识别模式可以配置为对言语数据的部分进行迭代编码以获得流式预测数据(例如在说出/流式传输言语数据时逐字词对该言语数据中所包括的语句进行在线编码等)。另一方面,上下文识别模式可以配置为对言语数据的部分进行同时编码以获得上下文预测数据(例如同时对言语数据的所有部分进行离线编码等)。机器学习多模式言语识别模型可以使用任一模式来对言语数据进行编码,并且可以基于与言语数据相关联的言语识别任务来在模式之间切换(例如使用流式识别模式来处理虚拟助理任务、使用上下文识别模式来处理视频字幕任务等)。以这种方式,机器学习多模式言语识别模型可以用于进行流式言语识别和上下文言语识别两者,因此消除了为各种言语识别模式设计、训练和利用单独模型的需要。
在一些实施方式中,言语数据可以是或以其它方式包括光谱数据(例如利用光谱仪获得等)。可替代地或另外,在一些实施方式中,言语数据可以是或以其它方式包括音频数据(例如音素、原始波形、原始音频等)。例如,言语数据可以是利用音频捕获装置捕获到的原始音频。针对另一示例,言语数据可以是经由波形捕获装置收集的原始波形数据。因而,应注意,言语数据可以是、包括或基于与言语的收集和/或分析相关联的任何数据。
另外,在一些实施方式中,机器学习多模式言语识别模型的两种模式可以以蒸馏上下文识别模式的性能的方式进行训练,以进一步优化流式识别模式。作为示例,言语数据可以与相关联的真实值标签一起获得(例如言语数据中所包括的言语的真实值文本转录等)。可以使用机器学习多模式言语识别模型的上下文识别模式来处理言语数据以获得上下文预测数据(例如充分考虑言语数据的每个部分的预测等)。可以评估上下文损失函数,该上下文损失函数评估上下文预测数据与真实值标签之间的差异。接下来,可以使用机器学习多模式言语识别模型的流式识别模式来处理言语数据以获得流式预测数据(例如迭代地考虑言语数据的每个部分的预测等)。可以评估流式损失函数,该流式损失函数评估流式预测数据与真实值标签之间的差异。另外,损失流式损失函数可以评估上下文预测数据与流式预测数据之间的差异(例如基于上下文识别模式的更准确处理的蒸馏损失等)。可以基于两个损失函数来调整模型的参数。以这种方式,上下文识别模式的较高精度预测可以用作蒸馏训练信号,因此提高了流式识别模式的精度和发射延时两者。
具体地,在一些示例中,可以评估损失函数,该损失函数评估上下文损失项和流式损失项。例如,流式损失项可以评估流式预测数据与真实值标签之间的差异,并且上下文损失项可以评估上下文预测数据与真实值标签之间的差异。可以基于损失函数来调整模型的参数。另外,在一些实施方式中,损失函数可以包括蒸馏项。蒸馏项可以评估上下文预测数据与流式蒸馏数据之间的差异。以这种方式,可以将上下文识别模式的上下文准确预测精度蒸馏到流式识别模式。
更具体地,计算系统可以包括机器学习多模式言语识别模型。机器学习多模式言语识别模型(例如编码器、编码器和解码器等)可以是或以其它方式包括一个或多个神经网络(例如深度神经网络)等。神经网络(例如深度神经网络)可以是前馈神经网络、卷积神经网络、循环神经网络(例如RNN-T等)和/或各种其它类型的神经网络。作为示例,机器学习多模式言语识别模型可以包括多个机器学习层。这些层可以包括逐点运算符(例如前馈网络、残差连接、激活层、步进层、暂退层等)、卷积层、循环神经网络层、长短期记忆层、平均池化层、自注意力层、变换器层和/或规范化层。
机器学习多模式言语识别模型可以配置为在流式识别模式或上下文识别模式下操作。流式识别模式可以配置为对言语数据的一个或多个部分中的每一者进行迭代编码以获得流式预测数据(例如以因果方式处理言语数据等)。作为示例,流式识别模式可以以自回归方式对言语数据进行迭代编码,其中言语数据的当前部分的每个预测以先前部分预测为条件(例如当处理言语数据的一部分时,不考虑未来言语部分/上下文等)。
上下文识别模式可以配置为对言语数据的一个或多个部分中的每一者进行同时编码以获得上下文预测数据。更具体地,上下文识别模式可以同时处理言语数据的每个部分,使得任何言语部分的处理可以影响另一言语部分的处理(例如以因果方式处理言语数据等)。作为示例,上下文识别模式可以以并行方式对言语数据进行同时编码,其中言语数据的当前部分的每个预测以先前部分预测和未来部分预测为条件(例如当处理言语数据的一部分时,考虑了过去言语部分/上下文和未来言语部分/上下文两者等)。
应注意,在一些实施方式中,机器学习多模式言语识别模型可以是整体模型的编码器部分。作为示例,机器学习多模式言语识别模型可以是机器学习模型的编码器并且生成编码,该编码是或以其它方式包括言语预测数据(例如流式预测数据、上下文预测数据等)。机器学习模型的解码器可以处理言语预测数据以获得言语识别输出。可替代地,在一些实施方式中,机器学习多模式言语识别模型可以是或以其它方式包括编码器-解码器架构。
在一些实施方式中,机器学习多模式言语识别模型的每个层可以是流式层或双模式层。流式层可以配置为在流式识别模式下操作,并且双模式层可以配置为在流式识别模式或上下文识别模式中的任一者下操作。应注意,由于流式层不在两种模式下操作,因此当切换机器学习多模式言语识别模型的模式时,确实需要调整或重新配置流式层。更具体地,流式层的功能性可以不知道模型的当前配置模式,并且因此可以保持静态,而不管模型的当前模式。
在一些实施方式中,双模式层可以配置为在流式识别模式(例如非因果模式等)或上下文识别模式(例如非因果模式等)中的任一者下操作。作为示例,机器学习多模式言语识别模型和双模式层中的每一者可以配置为在流式识别模式下操作。机器学习多模式言语识别模型可以将上下文识别模式确定为所选择的模式(例如基于与附加言语数据相关联的言语识别任务等)。作为响应,双模式层中的每一者可以从流式识别模式切换到上下文识别模式,以便于使用机器学习多模式言语识别模型来进行上下文识别。
作为示例,至少一个双模式层可以是或以其它方式包括双模式卷积层。为了支持卷积层的双模式性质(例如具有共享权重的流式模式和上下文模式等),可以构建内核大小为k的正常卷积,其可以在上下文识别模式下应用。接下来,在流式识别模式下应用内核之前,可以通过构建布尔掩码并且与全上下文卷积内核相乘来模拟内核大小为(k+1)/2的因果卷积。双模式卷积层可以包括(k-1)/2个附加参数来支持全上下文卷积(k)。相比之下,流式模式卷积层可以包括((k+1)/2)个参数。尽管与标准化卷积层相比,这可以引入参数开销,但应注意,在基于卷积的模型中,这些逐时间卷积层仅占极小量的总模型大小(例如大多数权重处于是逐点运算符的1×1卷积层上等)。因而,通过利用双模式卷积层引入的任何参数开销都可以被视为是可忽略不计的。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式池化层。双模式池化层可以包括一个或多个节点(例如平均池化(经由时间)层、前馈层、激活层、另一前馈层、逐元素乘法层等的顺序堆叠)。为了支持两种模式,可以调整一个或多个节点之间的连接。作为示例,可以将第一节点(例如前馈层等)与后续卷积层之间的连接调整为替代地连接到双模式池化层的不同节点。应注意,在一些实施方式中,双模式平均池化层可以是无参数的,因此避免了引入附加模型大小。在一些实施方式中,双模式池化层可以在流式模式下并行训练,并且可以容易地实现(例如利用TensorFlow、PyTorch等中的“cumsum”函数)。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式注意力层。自注意力(例如内部注意力等)可以被视为是对单个序列的不同位置进行加权以便计算相同序列的表示的注意力机制。另外,注意力层本身为无参数的并且可以由键与查询的矩阵乘法组成。在一些实施方式中,在与该值进行另一矩阵乘法之前,该乘法之后可以是通过键处理的softmax规范化函数。在流式识别模式下,双模式注意力层可以仅对“剩余”上下文进行规范化(例如softmax等)(例如仅从已经处理的言语数据的部分中计算自注意力等)。相反,在上下文识别模式下,可以在言语数据的整个上下文中进行规范化(例如从言语数据的每个部分中计算自注意力等)。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式规范化层。可以为双模式规范化层实例化流式规范化函数和上下文规范化函数。基于机器学习多模式言语识别模型的模式,可以使用两个规范化函数中的一者。以这种方式,双模式规范化层可以基于机器学习多模式言语识别模型的模式的切换(例如从batchnorm函数切换到layernorm函数等)来在规范化函数之间切换。
应注意,任何逐点运算符可以是或以其它方式被包括作为双模式层。逐点运算符可以是或以其它方式包括在每个时间步长内连接输入和输出神经元的神经网络层(例如排除不同时间步长当中的交叉连接等)。例如,这些层可以包括前馈层、全连接层、1×1卷积层、激活层(例如ReLU、Swish、残差和稠密连接、步进层、暂退层、逐元素乘法等。另外,一些这些层可以是机器学习多模式言语识别模型的卷积变换器部分或以其它方式包括在该卷积变换器部分中。例如,卷积变换器部分可以包括若干双模式层,诸如前馈层的第一半、多头自注意力层、卷积层、前馈层的第二半等。
计算系统可以获得言语数据和相关联的真实值标签。言语数据可以是训练数据,并且可以包括多个部分(例如言语数据段等)。作为示例,言语数据的每个部分可以包括一个或多个语言单元(例如音素、字素、字词、字母等)。另外或可替代地,可以基于时间(例如与各种时间段对应的多个词元等)来分派言语数据。另外,与言语数据相关联的真实值标签可以是言语数据中所包括的任何言语的文本表示。
可以使用机器学习多模式言语识别模型的上下文识别模式来处理言语数据以获得上下文预测数据。上下文预测数据可以是或以其它方式包括言语数据中所包括的言语的预测文本转录。例如,言语数据可以包括由用户向虚拟助理应用说出的语句,并且上下文预测数据可以包括语句的预测文本转录。应注意,上下文预测数据可以基于对语句的非因果(例如全上下文)理解。更具体地,言语数据的每个部分的处理可以至少部分地基于言语数据的任何其它部分,如先前所描述。
可以评估上下文损失函数,该上下文损失函数评估上下文预测数据与真实值标签之间的差异。上下文损失函数可以是或以其它方式包括各种损失函数,诸如均方误差、似然损失、交叉熵损失、合页损失和/或各种其它损失函数。
可以使用机器学习多模式言语识别模型的流式识别模式来处理言语数据以获得流式预测数据。流式预测数据可以是或以其它方式包括以与上下文预测数据相同的方式包括在言语数据中的言语的预测文本转录。应注意,上下文预测数据可以基于对语句的因果(例如非上下文)理解。更具体地,言语数据的每个部分的处理可以仅基于言语数据的已经进行处理的部分,如先前所描述。
可以评估流式损失函数,该流式损失函数评估流式预测数据与真实值标签之间的差异。另外,流式损失函数可以评估流式预测数据与上下文预测数据之间的差异。流式损失函数可以是或以其它方式包括各种损失函数,诸如均方误差、似然损失、交叉熵损失、合页损失和/或各种其它损失函数。
可以至少部分地基于上下文损失函数和流式损失函数来调整机器学习多模式言语识别模型的一个或多个参数。例如,可以通过模型反向传播两个损失函数以更新模型的一个或多个参数(例如基于损失函数的梯度)。梯度下降技术可以用于在多次训练迭代中迭代地更新参数。可替代地,在一些实施方式中,可以处理两个损失函数以生成最终损失(例如相加、求平均值、连结等),该最终损失可以用于调整模型的参数。
更具体地,为了在每次训练迭代中给定数据批次的情况下训练机器学习多模式言语识别模型,在一些实施方式中,可以对来自两种模型模式的一者进行随机采样以用于训练。可替代地,在一些实施方式中,可以训练两种模式,并且可以聚合两种损失。在被称为随机采样训练的前一种途径中,可以通过在训练期间设置不同采样概率来控制流式识别模式和上下文识别模式的重要性。在被称为联合训练的后一种途径中,也可以通过分配不同损失权重来控制重要性以平衡流式识别和上下文识别模式。
另外,如先前所描述,可以在相同通用模型(例如就地知识蒸馏等)内动态地将来自上下文识别模式(例如“教师”模式等)的知识蒸馏到流式识别模式(例如“学生”模式等)中。这种蒸馏可以通过利用流式损失函数评估上下文预测数据与流式预测数据之间的差异来完成(例如鼓励预测词元概率的一致性等)。由于每次迭代通常需要计算两种模式下的预测,因此可以利用“教师”预测(例如上下文预测数据等)而无需任何附加计算或存储器成本。这种高效知识蒸馏可以用作在三个部分Plabel、Pblank和1-Plabel-Pblank的概率内在上下文识别模式(例如“教师”)与流式识别模式(例如“学生”)之间的KL散度。通常,上下文识别模式的预测具有较低延时,这是由于该模式不具有延迟其输出的动机。因此,由上下文识别模式生成的预测可能并不一定在时间上与流式模式对准。因而,可以通过将上下文识别模式的预测向右移位一帧或多帧来利用时间松弛,因此提高了质量和训练稳定性。
在一些实施方式中,计算系统可以获得与言语识别任务(例如转录任务、隐藏字幕任务、虚拟助理任务、安全识别任务、言语分析任务、带宽约束任务、延时约束任务、语音识别任务等)对应的附加言语数据。基于言语识别任务,可以从机器学习多模式言语识别模型的流式识别模式和上下文识别模式中确定所选择的模式。作为示例,言语识别任务可以与在虚拟助理装置处接收到的言语指令相关联。基于任务,可以将所选择的模式确定为流式识别模式。作为示例,言语识别任务可以与用于配字幕的新发行电影的离线转录相关联。基于任务,可以将所选择的模式确定为上下文识别模式。可以使用机器学习多模式言语识别模型的所选择的模式来处理附加言语数据以获得言语识别输出。
在一些实施方式中,计算系统可以响应于获得了言语识别输出而至少部分地基于言语识别输出来进行一个或多个动作。作为示例,如果言语识别输出包括对虚拟助理应用的指令的转录,那么虚拟助理应用可以进行或被指令进行转录指令(例如添加日历条目、返回当前时间或天气等)。作为另一示例,如果言语识别输出包括与视频相关联的音频文件的字幕,那么计算系统可以向视频显示应用提供字幕,以使得字幕可以覆盖在视频的顶部。因而,计算系统可以进行与言语识别任务相关联的任何动作,以便于完成言语识别任务。
在一些实施方式中,所提出的言语识别技术可以被提供为可用于基于云的机器学习平台的各种用户的云服务。例如,用户可以供应或以其它方式标识一个或多个言语数据示例(例如流式识别言语数据、上下文识别言语数据等)。然后可以进行本文中所描述的进程,以对由用户标识或提供的示例言语数据自动进行言语识别。例如,可以与作为服务的模型训练结合进行言语识别。训练模型可以作为输出被提供给用户(例如代表与用户相关联的一个或多个装置自动部署或部署到该一个或多个装置)。
本公开提供若干技术效果和益处。作为一个示例技术效果和益处,本公开的系统和方法使得能够用一个多模式言语识别模型来利用流式识别技术和上下文识别技术两者。在若干尖端技术(例如人机理解、语音识别、语义理解、转录等)中大量利用了流式言语识别技术和上下文言语识别技术两者。因而,先前已经要求了设计、训练、存储和利用每种模式的模型。然而,本公开消除了对将两个或更多个模型用于各种言语识别上下文的需要,因此显著地降低了与设计、训练、验证和存储用于言语识别的附加模型相关联的大量运算成本(例如功率、存储器、存储装置、处理时间、资源利用等)。另外,双模式性质降低了利用两个单独模型(例如两个单独模型的部署、维护、监测等)所固有的复杂性,因此显著增加了用户友好性并且减少了与利用两个模型相关联的开销。
作为另一示例技术效果和益处,本公开的系统和方法实现了流式言语识别的进一步改进。例如,通过在上下文和流式识别模式下联合训练机器学习多模式言语识别模型,上下文识别模式的相对较高精度可以用作流式识别模式的蒸馏训练信号。以这种方式,流式识别模式的性能(例如发射延时、字词精度等)可以在没有任何附加处理成本的情况下得以改进(例如利用单独模型作为蒸馏训练信号等。对流式识别性能的这些改进可以减少错误字词预测的数量,因此节省了与附加处理或不正确预测相关联的若干资源(例如存储器使用、网络带宽使用等)。
示例装置和系统
图1A描绘了进行多模式言语识别的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算装置102、服务器计算系统130和训练计算系统150。
用户计算装置102可以是任何类型的计算装置,诸如例如个人计算装置(例如膝上型计算机或桌上型计算机)、移动计算装置(例如智能电话或平板)、游戏控制台或控制器、可穿戴计算装置、嵌入式计算装置或任何其它类型的计算装置。
用户计算装置102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理装置(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器装置、磁盘等以及它们的组合。存储器114可以存储数据116和指令118,这些指令在被处理器112执行时使用户计算装置102进行操作。
在一些实施方式中,用户计算装置102可以存储或包括一个或多个机器学习多模式言语识别模型120。例如,机器学习多模式言语识别模型120可以是或可以以其它方式包括各种机器学习模型,诸如神经网络(例如深度神经网络)或其它类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、循环神经网络(例如长短期记忆循环神经网络)、卷积神经网络或其它形式的神经网络。参考图1至图3讨论了示例机器学习多模式言语识别模型120。
在一些实施方式中,可以通过网络180从服务器计算系统130接收一个或多个机器学习多模式言语识别模型120,将这些机器学习多模式言语识别模型存储在用户计算装置存储器114中,然后由一个或多个处理器112使用或以其它方式实现这些机器学习多模式言语识别模型。在一些实施方式中,用户计算装置102可以实现单个机器学习多模式言语识别模型120的多个并行实例(例如以跨机器学习多模式言语识别模型的多个实例进行并行机器学习多模式言语识别)。
更具体地,机器学习多模式言语识别模型120可以配置为在两种模式下操作:流式识别模式或上下文识别模式。流式识别模式可以配置为对言语数据的部分进行单独和/或迭代编码以获得流式预测数据(例如在说出/流式传输言语数据时逐字词对该言语数据中所包括的语句进行在线编码等)。另一方面,上下文识别模式可以配置为对言语数据的部分进行同时编码以获得上下文预测数据(例如同时对言语数据的所有部分进行离线编码等)。机器学习多模式言语识别模型120可以使用任一模式来对言语数据进行编码,并且可以基于与言语数据相关联的言语识别任务来在模式之间切换(例如使用流式识别模式来处理虚拟助理任务、使用上下文识别模式来处理视频字幕任务等)。以这种方式,机器学习多模式言语识别模型120可以用于进行流式言语识别和上下文言语识别两者,因此消除了为各种言语识别模式设计、训练和利用单独模型的需要。
另外或可替代地,可以将一个或多个机器学习多模式言语识别模型140包括在服务器计算系统130中或以其它方式由服务器计算系统130存储和实现,该服务器计算系统根据客户端-服务器关系与用户计算装置102进行通信。例如,机器学习多模式言语识别模型140可以由服务器计算系统140实现为web服务(例如言语识别服务)的一部分。因此,可以在用户计算装置102处存储和实现一个或多个模型120和/或可以在服务器计算系统130处存储和实现一个或多个模型140。
用户计算装置102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如手指或触控笔)的触摸敏感的触摸敏感组件(例如触摸敏感显示屏或触摸板)。触摸敏感组件可以用于实现虚拟键盘。其它示例用户输入组件包括麦克风、传统键盘或用户可以借以提供用户输入的其它构件。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理装置(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器装置、磁盘等以及它们的组合。存储器134可以存储数据136和指令138,这些指令在被处理器132执行时使服务器计算系统130进行操作。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算装置或以其它方式由一个或多个服务器计算装置实现。在服务器计算系统130包括多个服务器计算装置的情况下,这种服务器计算装置可以根据顺序计算架构、并行计算架构或它们的某种组合来操作。
如上文所描述,服务器计算系统130可以存储或以其它方式包括一个或多个机器学习多模式言语识别模型140。例如,模型140可以是或可以以其它方式包括各种机器学习模型。示例机器学习模型包括神经网络或其它多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图1至图3讨论了示例模型140。
用户计算装置102和/或服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150进行的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分开或可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理装置(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器装置、磁盘等以及它们的组合。存储器154可以存储数据156和指令158,这些指令在被处理器152执行时使训练计算系统150进行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算装置或以其它方式由一个或多个服务器计算装置实现。
训练计算系统150可以包括模型训练器160,该模型训练器使用各种训练或学习技术(诸如例如误差的反向传播)来训练存储在用户计算装置102和/或服务器计算系统130处的机器学习模型120和/或140。例如,可以通过模型反向传播损失函数以更新模型的一个或多个参数(例如基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、合页损失和/或各种其它损失函数。梯度下降技术可以用于在多次训练迭代中迭代地更新参数。
在一些实施方式中,进行误差的反向传播可以包括:进行经由时间的截断的反向传播。模型训练器160可以进行若干概括技术(例如权重衰减、丢失等)以提高所训练的模型的概括能力。
具体地,模型训练器160可以基于训练数据162的集合来训练机器学习多模式言语识别模型120和/或140。训练数据162可以包括例如言语数据和相关联的真实值标签。言语数据可以是训练数据,并且可以包括多个部分(例如言语数据段等)。作为示例,言语数据的每个部分可以包括一个或多个语言单元(例如音素、字素、字词、字母等)。另外或可替代地,可以基于时间(例如与各种时间段对应的多个词元等)来分派言语数据。另外,与言语数据相关联的真实值标签可以是言语数据中所包括的任何言语的文本表示。
在一些实施方式中,如果用户已经提供同意,那么训练示例可以由用户计算装置102提供。因此,在这种实施方式中,可以通过在从用户计算装置102接收到的用户特定数据上训练计算系统150来训练向用户计算装置102提供的模型120。在一些情况下,此进程可以被称为使模型个性化。
模型训练器160包括用于提供期望功能性的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储装置上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其它实施方式中,模型训练器160包括一个或多个计算机可执行指令集合,该一个或多个计算机可执行指令集合存储在有形计算机可读存储介质(诸如RAM硬盘或光学介质或磁性介质)中。
网络180可以是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如互联网)或它们的某种组合,并且可以包括任何数量的有线或无线链路。通常,可以使用各种通信协议(例如TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如HTML、XML)和/或保护方案(例如VPN、安全HTTP、SSL),经由任何类型的有线和/或无线连接来进行通过网络180的通信。
本说明书中所描述的机器学习模型可以用于各种任务、应用和/或用例中。
在一些实施方式中,本公开的机器学习模型的输入可以是文本或自然语言数据。机器学习模型可以处理文本或自然语言数据以生成输出。作为示例,机器学习模型可以处理自然语言数据以生成语言编码输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成翻译输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成分类输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成文本分割输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成语义意图输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成质量提高的文本或自然语言输出(例如比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成预测输出。
在一些实施方式中,本公开的机器学习模型的输入可以是言语数据。机器学习模型可以处理言语数据以生成输出。作为示例,机器学习模型可以处理言语数据以生成言语识别输出。作为另一示例,机器学习模型可以处理言语数据以生成言语翻译输出。作为另一示例,机器学习模型可以处理言语数据以生成潜在嵌入输出。作为另一示例,机器学习模型可以处理言语数据以生成编码言语输出(例如言语数据的编码和/或压缩表示等)。作为另一示例,机器学习模型可以处理言语数据以生成质量提高的言语输出(例如比输入言语数据质量更高的言语数据等)。作为另一示例,机器学习模型可以处理言语数据以生成文本表示输出(例如输入言语数据的文本表示等)。作为另一示例,机器学习模型可以处理言语数据以生成预测输出。
在一些实施方式中,本公开的机器学习模型的输入可以是潜在编码数据(例如输入的潜在空间表示等)。机器学习模型可以处理潜在编码数据以生成输出。作为示例,机器学习模型可以处理潜在编码数据以生成识别输出。作为另一示例,机器学习模型可以处理潜在编码数据以生成重构输出。作为另一示例,机器学习模型可以处理潜在编码数据以生成搜索输出。作为另一示例,机器学习模型可以处理潜在编码数据以生成重新聚类输出。作为另一示例,机器学习模型可以处理潜在编码数据以生成预测输出。
在一些实施方式中,本公开的机器学习模型的输入可以是传感器数据。机器学习模型可以处理传感器数据以生成输出。作为示例,机器学习模型可以处理传感器数据以生成识别输出。作为另一示例,机器学习模型可以处理传感器数据以生成预测输出。作为另一示例,机器学习模型可以处理传感器数据以生成分类输出。作为另一示例,机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,机器学习模型可以处理传感器数据以生成分割输出。作为另一示例,机器学习模型可以处理传感器数据以生成可视化输出。作为另一示例,机器学习模型可以处理传感器数据以生成诊断输出。作为另一示例,机器学习模型可以处理传感器数据以生成检测输出。
在一些情况下,输入包括表示口头话语的音频数据,并且任务是言语识别任务。输出可以包括映射到口头话语的文本输出。
图1A图示了可以用于实现本公开的一个示例计算系统。也可以使用其它计算系统。例如,在一些实施方式中,用户计算装置102可以包括模型训练器160和训练数据集162。在这种实施方式中,可以在用户计算装置102处本地地训练和使用模型120。在一些这种实施方式中,用户计算装置102可以实现模型训练器160以基于用户特定数据来使模型120个性化。
图1B描绘了进行多模式言语识别的示例计算装置10的框图。计算装置10可以是用户计算装置或服务器计算装置。
计算装置10包括若干应用(例如应用1至N)。每个应用包含其自身的机器学习库和机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息传送应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B中所图示,每个应用可以与计算装置的若干其它组件(诸如例如一个或多个传感器、上下文管理器、装置状态组件和/或附加组件)进行通信。在一些实施方式中,每个应用可以使用API(例如公共API)与每个装置组件进行通信。在一些实施方式中,由每个应用使用的API特定于该应用。
图1C描绘了进行机器学习多模式言语识别模型的训练的示例计算装置50的框图。计算装置50可以是用户计算装置或服务器计算装置。
计算装置50包括若干应用(例如应用1至N)。每个应用与中央智能层进行通信。示例应用包括文本消息传送应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用API(例如跨所有应用的公共API)与中央智能层(和存储在其中的模型)进行通信。
中央智能层包括若干机器学习模型。例如,如图1C中所图示,相应机器学习模型(例如模型)可以针对每个应用提供并且由中央智能层管理。在其它实施方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如单个模型)。在一些实施方式中,中央智能层被包括在计算装置50的操作系统内或以其它方式由计算装置50的操作系统实现。
中央智能层可以与中央装置数据层进行通信。中央装置数据层可以是用于计算装置50的数据的集中式储存库。如图1C中所图示,中央装置数据层可以与计算装置的若干其它组件(诸如例如一个或多个传感器、上下文管理器、装置状态组件和/或附加组件)进行通信。在一些实施方式中,中央装置数据层可以使用API(例如私有API)与每个装置组件进行通信。
示例模型布置
图2描绘了示例机器学习多模式言语识别模型200的框图。在一些实施方式中,机器学习多模式言语识别模型200被训练成接收描述言语数据的输入数据204的集合,并且作为接收输入数据204的结果,提供转录输入数据204或以其它方式对其进行编码的输出数据206。作为示例,机器学习多模式言语识别模型200可以配置为在两种模式下操作:流式识别模式或上下文识别模式。流式识别模式可以配置为对言语数据204的部分进行单独和/或迭代编码以获得流式预测数据(例如在说出/流式传输言语数据时逐字词对该言语数据中所包括的语句进行在线编码等)。另一方面,上下文识别模式204可以配置为对言语数据的部分进行联合和/或同时编码以获得上下文预测数据(例如同时对言语数据的所有部分进行离线编码等)。机器学习多模式言语识别模型200可以使用任一模式来对言语数据204进行编码,并且可以基于与言语数据204相关联的言语识别任务来在模式之间切换(例如使用流式识别模式来处理虚拟助理任务、使用上下文识别模式来处理视频字幕任务等)。基于机器学习多模式言语识别模型200可以获得描述、指示和/或转录输入数据204的内容的输出数据206。
图3描绘了示例机器学习多模式言语识别编码器/解码器模型300的框图。除了机器学习多模式言语识别模型300进一步包括机器学习多模式言语识别编码器202和机器学习多模式言语识别解码器302之外,机器学习多模式言语识别模型300类似于图2的机器学习多模式言语识别模型200。作为示例,机器学习多模式言语识别编码器202可以是机器学习多模式言语识别模型300的编码器并且可以生成编码304,该编码是或以其它方式包括言语预测数据(例如流式预测数据、上下文预测数据等)。机器学习多模式言语识别解码器302可以是机器学习多模式言语识别模型的解码器部分。机器学习多模式言语识别解码器302可以处理言语预测数据304以获得输出数据206,该输出数据是或以其它方式包括言语识别输出。
图4描绘了示例机器学习多模式言语识别模型400的数据流程图。作为示例,言语识别模型402/404的现代流式识别模式402A和上下文识别模式402B共同共享大多数神经架构和训练配方,其中最显著的差异在言语识别编码器402中。通常,神经网络言语识别编码器402的流式识别模式402A为自回归模型,其中当前时间步长的每次预测都以先前预测(无未来上下文)为条件。相反,言语识别编码器402的上下文识别模式可以是全上下文的且非因果的。
图5描绘了机器学习多模式言语识别模型的示例双模式注意力层500的数据流程图。如所描绘,双模式注意力层500可以包括规范化函数502。将机器学习多模式言语识别模型的模式从上下文识别模式504A切换到流式识别模式504B可以包括掩蔽规范化函数的一个或多个输入。例如,通过从模式504A切换到504B,输入中的一者或多者被掩蔽softmax规范化函数502掩蔽。
图6描绘了机器学习多模式言语识别模型的示例双模式卷积层600A和示例双模式池化层600B的数据流程图。
作为示例,为了支持双模式卷积层600A的双模式性质(例如具有共享权重的流式模式和上下文模式等),可以构建内核大小为k的正常卷积,其可以在上下文识别模式下应用。接下来,在流式识别模式下应用内核之前,可以通过构建布尔掩码并且与双模式卷积层600A相乘来模拟内核大小为(k+1)/2的因果卷积。双模式卷积层600A可以包括(k-1)/2个附加参数来支持全上下文卷积(k)。相比之下,流式模式卷积层可以包括(k+1)/2个参数。尽管与标准化卷积层相比,这可以引入参数开销,但应注意,在基于卷积的模型中,这些逐时间卷积层仅占极小量的总模型大小(例如大多数权重处于1×1卷积层上,这些卷积层是逐点运算符等)。因而,通过利用双模式卷积层600A引入的任何参数开销都可以被视为是可忽略不计的。
作为另一示例,双模式池化层600B可以包括一个或多个节点(例如平均池化(经由时间)层、前馈层、激活层、另一前馈层、逐元素乘法层等的顺序堆叠)。为了支持两种模式,可以调整双模式池化层600B的一个或多个节点之间的连接。作为示例,相反,可以将第一节点(例如前馈层等)与后续卷积层(例如层600A)之间的连接调整为连接到双模式池化层600B的不同节点。应注意,在一些实施方式中,双模式池化层600B可以是无参数的,因此避免了引入附加模型大小。在一些实施方式中,双模式池化层600B可以在流式模式下并行训练,并且可以容易地实现(例如利用TensorFlow、PyTorch等中的“cumsum”函数)。
示例方法
图7描绘了进行机器学习多模式言语识别模型的训练的示例方法700的流程图。尽管为了说明和讨论的目的,图7描绘了以特定顺序进行的步骤,但本公开的方法不限于特定说明的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新排列、组合和/或调整方法700的各种步骤。另外,应理解,虽然图7表示了一种用于进行多模式言语识别模型的训练的示例方法,但训练这种模型的其它方法也是可能的。如本文中所描述的多模式言语识别模型的使用不以训练根据图7中所描绘的示例的模型为依据。
在702中,计算系统可以获得言语数据。更具体地,计算系统可以获得言语数据和相关联的真实值标签。言语数据可以是训练数据,并且可以包括多个部分(例如言语数据段等)。作为示例,言语数据的每个部分可以包括一个或多个语言单元(例如音素、字素、字词、字母等)。另外或可替代地,可以基于时间(例如与各种时间段对应的多个词元等)来分派言语数据。另外,与言语数据相关联的真实值标签可以是言语数据中所包括的任何言语的文本表示。
在704中,计算系统可以使用机器学习多模式言语识别模型来处理言语数据以获得上下文预测数据。更具体地,计算系统可以使用机器学习多模式言语识别模型的上下文识别模式来处理言语数据以获得上下文预测数据。上下文预测数据可以是或以其它方式包括言语数据中所包括的言语的预测文本转录。例如,言语数据可以包括由用户向虚拟助理应用说出的语句,并且上下文预测数据可以包括语句的预测文本转录。应注意,上下文预测数据可以基于对语句的非因果(例如全上下文)理解。更具体地,言语数据的每个部分的处理可以至少部分地基于言语数据的任何其它部分。
更具体地,计算系统可以包括机器学习多模式言语识别模型。机器学习多模式言语识别模型(例如编码器、编码器和解码器等)可以是或以其它方式包括一个或多个神经网络(例如深度神经网络)等。神经网络(例如深度神经网络)可以是前馈神经网络、卷积神经网络、循环神经网络(例如RNN-T等)和/或各种其它类型的神经网络。作为示例,机器学习多模式言语识别模型可以包括多个机器学习层。这些层可以包括逐点运算符(例如前馈网络、残差连接、激活层、步进层、暂退层等)、卷积层、循环神经网络层、长短期记忆层、平均池化层、自注意力层、变换器层和/或规范化层。
机器学习多模式言语识别模型可以配置为在流式识别模式或上下文识别模式下操作。流式识别模式可以配置为对言语数据的一个或多个部分中的每一者进行单独和/或迭代编码以获得流式预测数据(例如以非因果方式处理言语数据等)。作为示例,流式识别模式可以以自回归方式对言语数据进行单独和/或迭代编码,其中言语数据的当前部分的每次预测以先前部分预测为条件(例如当处理言语数据的一部分时,不考虑未来言语部分/上下文等)。
上下文识别模式可以配置为对言语数据的一个或多个部分中的每一者进行联合和/或同时编码以获得上下文预测数据。更具体地,上下文识别模式可以同时处理言语数据的每个部分,使得任何言语部分的处理可以影响另一言语部分的处理(例如以因果方式处理言语数据等)。作为示例,上下文识别模式可以以并行方式对言语数据进行联合和/或同时编码,其中言语数据的当前部分的每次预测以先前部分预测和未来部分预测为条件(例如当处理言语数据的一部分时,考虑了过去言语部分/上下文和未来言语部分/上下文两者等)。
应注意,在一些实施方式中,机器学习多模式言语识别模型可以是整体模型的编码器部分。作为示例,机器学习多模式言语识别模型可以是机器学习模型的编码器并且生成编码,该编码是或以其它方式包括言语预测数据(例如流式预测数据、上下文预测数据等)。机器学习模型的解码器可以处理言语预测数据以获得言语识别输出。可替代地,在一些实施方式中,机器学习多模式言语识别模型可以是或以其它方式包括编码器-解码器架构。
在一些实施方式中,机器学习多模式言语识别模型的每个层可以是流式层或双模式层。流式层可以配置为在流式识别模式下操作,并且双模式层可以配置为在流式识别模式或上下文识别模式中的任一者下操作。应注意,由于流式层不在两种模式下操作,因此当切换机器学习多模式言语识别模型的模式时,确实需要调整或重新配置流式层。更具体地,流式层的功能性可以不知道模型的当前配置模式,并且因此可以保持静态,而不管模型的当前模式。
在一些实施方式中,双模式层可以配置为在流式识别模式(例如非因果模式等)或上下文识别模式(例如非因果模式等)中的任一者下操作。作为示例,机器学习多模式言语识别模型和双模式层中的每一者可以配置为在流式识别模式下操作。机器学习多模式言语识别模型可以将上下文识别模式确定为所选择的模式(例如基于与附加言语数据相关联的言语识别任务等)。作为响应,双模式层中的每一者可以从流式识别模式切换到上下文识别模式,以便于使用机器学习多模式言语识别模型来进行上下文识别。
作为示例,至少一个双模式层可以是或以其它方式包括双模式卷积层。为了支持卷积层的双模式性质(例如具有共享权重的流式模式和上下文模式等),可以构建内核大小为k的正常卷积,其可以在上下文识别模式下应用。接下来,在流式识别模式下应用内核之前,可以通过构建布尔掩码并且与全上下文卷积内核相乘来模拟内核大小为(k+1)/2的因果卷积。双模式卷积层可以包括(k-1)/2个附加参数来支持全上下文卷积(k)。相比之下,流式模式卷积层可以包括(k+1)/2个参数。尽管与标准化卷积层相比,这可以引入参数开销,但应注意,在基于卷积的模型中,这些逐时间卷积层仅占极小量的总模型大小(例如大多数权重处于1×1卷积层上,这些卷积层是逐点运算符等)。因而,通过利用双模式卷积层引入的任何参数开销都可以被视为是可忽略不计的。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式池化层。双模式池化层可以包括一个或多个节点(例如平均池化(经由时间)层、前馈层、激活层、另一前馈层、逐元素乘法层等的顺序堆叠)。为了支持两种模式,可以调整一个或多个节点之间的连接。作为示例,可以将第一节点(例如前馈层等)与后续卷积层之间的连接调整为替代地连接到双模式池化层的不同节点。应注意,在一些实施方式中,双模式平均池化层可以是无参数的,因此避免了引入附加模型大小。在一些实施方式中,双模式池化层可以在流式模式下并行训练,并且可以容易地实现(例如利用TensorFlow、PyTorch等中的“cumsum”函数)。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式注意力层。自注意力(例如内部注意力等)可以被视为是对单个序列的不同位置进行加权以便计算相同序列的表示的注意力机制。另外,注意力层本身为无参数的并且可以由键与查询的矩阵乘法组成。在一些实施方式中,在与该值进行另一矩阵乘法之前,该乘法之后可以是通过键处理的softmax规范化函数。在流式识别模式下,双模式注意力层可以仅对“剩余”上下文进行规范化(例如softmax等)(例如仅从言语数据的已经处理的部分中计算自注意力等)。相反,在上下文识别模式下,可以在言语数据的整个上下文中进行规范化(例如从言语数据的每个部分中计算自注意力等)。
作为另一示例,至少一个双模式层可以是或以其它方式包括双模式规范化层。可以为双模式规范化层实例化流式规范化函数和上下文规范化函数。基于机器学习多模式言语识别模型的模式,可以使用两个规范化函数中的一者。以这种方式,双模式规范化层可以基于机器学习多模式言语识别模型的模式的切换(例如从batchnorm函数切换到layernorm函数等)来在规范化函数之间切换。
应注意,任何逐点运算符可以是或以其它方式被包括进来作为双模式层。逐点运算符可以是或以其它方式包括在每个时间步长内连接输入和输出神经元的神经网络层(例如排除不同时间步长当中的交叉连接等)。例如,这些层可以包括前馈层、全连接层、1×1卷积层、激活层(例如ReLU、Swish、残差和稠密连接、步进层、暂退层、逐元素乘法等。另外,若干这些层可以是机器学习多模式言语识别模型的卷积变换器部分或以其它方式包括在该卷积变换器部分中。例如,卷积变换器部分可以包括若干双模式层,诸如前馈层的第一半、多头自注意力层、卷积层、前馈层的第二半等。
在706中,计算系统可以评估上下文损失函数。更具体地,计算系统可以评估上下文损失函数,该上下文损失函数评估上下文预测数据与真实值标签之间的差异。上下文损失函数可以是或以其它方式包括各种损失函数,诸如均方误差、似然损失、交叉熵损失、合页损失和/或各种其它损失函数。
在708中,计算系统可以使用机器学习多模式言语识别模型来处理言语数据以获得流式预测数据。更具体地,计算系统可以使用机器学习多模式言语识别模型的流式识别模式来处理言语数据以获得流式预测数据。流式预测数据可以是或以其它方式包括以与上下文预测数据相同的方式包括在言语数据中的言语的预测文本转录。应注意,上下文预测数据可以基于对语句的因果(例如非上下文)理解。更具体地,言语数据的每个部分的处理可以仅基于言语数据的已经进行处理的部分,如先前所描述。
在710中,计算系统可以评估流式损失函数。更具体地,计算系统可以评估流式损失函数,该流式损失函数评估流式预测数据与真实值标签之间的差异。另外,流式损失函数可以评估流式预测数据与上下文预测数据之间的差异。流式损失函数可以是或以其它方式包括各种损失函数,诸如均方误差、似然损失、交叉熵损失、合页损失和/或各种其它损失函数。
在712中,计算系统可以调整机器学习多模式言语识别模型的参数。更具体地,计算系统可以至少部分地基于上下文损失函数和流式损失函数来调整机器学习多模式言语识别模型的一个或多个参数。例如,可以通过模型反向传播两个损失函数以更新模型的一个或多个参数(例如基于损失函数的梯度)。梯度下降技术可以用于在多次训练迭代中迭代地更新参数。可替代地,在一些实施方式中,可以处理两个损失函数以生成最终损失(例如相加、求平均值、连结等),该最终损失可以用于调整模型的参数。
更具体地,为了在每次训练迭代中给定数据批次的情况下训练机器学习多模式言语识别模型,在一些实施方式中,可以对来自两种模型模式的一者进行随机采样以用于训练。可替代地,在一些实施方式中,可以训练两种模式,并且可以聚合两种损失。在被称为随机采样训练的前一种途径中,可以通过在训练期间设置不同采样概率来控制流式识别模式和上下文识别模式的重要性。在被称为联合训练的后一种途径中,也可以通过分配不同损失权重来控制重要性以平衡流式识别和上下文识别模式。
另外,如先前所描述,可以在相同通用模型(例如就地知识蒸馏等)内动态地将来自上下文识别模式(例如“教师”模式等)的知识蒸馏到流式识别模式(例如“学生”模式等)中。这种蒸馏可以通过由流式损失函数评估上下文预测数据与流式预测数据之间的差异来完成(例如鼓励预测词元概率的一致性等)。由于每次迭代通常需要两种模式下的预测的计算,因此可以利用“教师”预测(例如上下文预测数据等)而无需任何附加运算或存储器成本。这种高效知识蒸馏可以用作在三个部分:Plabel、Pblank和1-Plabel-Pblank的概率上在上下文识别模式(例如“教师”)与流式识别模式(例如“学生”)之间的KL散度。通常,上下文识别模式的预测具有较低延时,这是由于该模式不具有延迟其输出的动机。因此,由上下文识别模式生成的预测可能并不一定在时间上与流式模式对准。因而,可以通过将上下文识别模式的预测向右移位一个或多个帧来利用时间松弛,因此提高了质量和训练稳定性。
在一些实施方式中,计算系统可以获得与言语识别任务(例如转录任务、隐藏字幕任务、虚拟助理任务、安全识别任务、言语分析任务、带宽约束任务、延时约束任务、语音识别任务等)对应的附加言语数据。基于言语识别任务,可以从机器学习多模式言语识别模型的流式识别模式和上下文识别模式中确定所选择的模式。作为示例,言语识别任务可以与在虚拟助理装置处接收到的言语指令相关联。基于任务,可以将所选择的模式确定为流式识别模式。作为示例,言语识别任务可以与用于配字幕的新发行电影的离线转录相关联。基于任务,可以将所选择的模式确定为上下文识别模式。可以使用机器学习多模式言语识别模型的所选择的模式来处理附加言语数据以获得言语识别输出。
在一些实施方式中,计算系统可以响应于获得了言语识别输出而至少部分地基于言语识别输出来进行一个或多个动作。作为示例,如果言语识别输出包括对虚拟助理应用的指令的转录,那么虚拟助理应用可以进行或被指令进行转录指令(例如添加日历条目、返回当前时间或天气等)。作为另一示例,如果言语识别输出包括与视频相关联的音频文件的字幕,那么计算系统可以向视频显示应用提供字幕,以使得字幕可以覆盖在视频的顶部。因而,计算系统可以进行与言语识别任务相关联的任何动作,以便于完成言语识别任务。
附加公开
本文中所讨论的技术参考服务器、数据库、软件应用和其它基于计算机的系统以及所采取的动作和向这种系统和从这种系统发送的信息。基于计算机的系统的固有灵活性允许组件之间和组件当中的任务和功能性的多种可能配置、组合和划分。例如,本文中所讨论的进程可以使用单个装置或组件或组合工作的多个装置或组件来实现。数据库和应用可以在单个系统上实现或分布在多个系统上。分布式组件可以按顺序或并行地操作。
虽然已经相对于本主题的各种特定示例实施例详细地描述了本主题,但每个示例都是通过说明而非限制本公开的方式提供。本领域的技术人员在获得对前述内容的理解后可以容易地产生对这种实施例的更改、变型和等效物。因此,本主题公开并不排除如对于本领域的普通技术人员将容易地显而易见的本主题的这种修改、变型和/或添加。例如,作为一个实施例的一部分说明或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开旨在涵盖这种更改、变型和等效物。

Claims (21)

1.一种用于利用多模式言语识别模型的计算机实现的方法,包括:
由包括一个或多个计算装置的计算系统获得机器学习多模式言语识别模型,所述机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作,其中所述流式识别模式被配置为对言语数据的一个或多个部分中的每一个进行迭代编码,并且其中所述上下文识别模式被配置为对所述言语数据的所述一个或多个部分中的每一个进行同时编码;
由所述计算系统获得与言语识别任务相对应的言语数据;
由所述计算系统基于所述言语识别任务来从所述机器学习多模式言语识别模型的所述流式识别模式和所述上下文识别模式中确定选择的模式;以及
由所述计算系统使用所述机器学习多模式言语识别模型的所述选择的模式来处理附加言语数据以获得言语识别输出。
2.根据权利要求1所述的计算机实现的方法,其中所述机器学习多模式言语识别模型包括多个层,其中每个层包括被配置为在所述流式识别模式下操作的流式层或被配置为在所述流式识别模式和所述上下文识别模式下选择性地操作的双模式层。
3.根据权利要求2所述的计算机实现的方法,其中至少一个双模式层包括双模式卷积层,所述双模式卷积层包括卷积内核,并且其中切换所述模式包括将掩码应用于所述卷积内核。
4.根据权利要求1至3中任一项所述的计算机实现的方法,其中所述选择的模式包括所述上下文识别模式,并且其中所述言语识别任务包括:
转录任务;
隐藏字幕任务;或者
言语分析任务。
5.根据权利要求1至4中任一项所述的计算机实现的方法,其中所述选择的模式包括所述流式识别模式,并且其中所述言语识别任务包括:
带宽约束任务;
延时约束任务;
语音识别任务;或者
虚拟助理任务。
6.根据权利要求1至5中任一项所述的计算机实现的方法,其中所述方法进一步包括:响应于获得所述言语识别输出,由所述计算系统至少部分地基于所述言语识别输出来执行一个或多个动作。
7.一种用于训练机器学习模型以进行多模式言语识别的计算实现的方法:
其中机器学习多模式言语识别模型被配置为在至少流式识别模式和上下文识别模式下操作,其中所述流式识别模式被配置为对言语数据的一个或多个部分中的每一个进行迭代编码以获得流式预测数据,并且其中所述上下文识别模式被配置为对所述言语数据的所述一个或多个部分中的每一个进行同时编码以获得上下文预测数据;
所述方法包括:
获得所述言语数据和相关联的真实值标签;
使用所述机器学习多模式言语识别模型的所述上下文识别模式来处理所述言语数据以获得上下文预测数据;
评估上下文损失函数,所述上下文损失函数评估所述上下文预测数据与所述真实值标签之间的差异;
使用所述机器学习多模式言语识别模型的所述流式识别模式来处理所述言语数据以获得流式预测数据;
评估流式损失函数,所述流式损失函数评估所述流式预测数据与所述真实值标签之间的差异;以及
至少部分地基于所述上下文损失函数和所述流式损失函数来调整所述机器学习多模式言语识别模型的一个或多个参数。
8.根据权利要求7所述的方法,其中所述流式损失函数进一步评估所述上下文预测数据与所述流式预测数据之间的差异。
9.根据权利要求8所述的方法,其中评估所述上下文损失函数和所述流式损失函数包括:评估包括多个项的损失项,并且其中所述多个损失项包括:
上下文损失项,所述上下文损失项评估所述上下文预测数据与所述真实值标签之间的所述差异;
流式损失项,所述流式损失项评估所述流式预测数据与所述真实值标签之间的所述差异;以及
蒸馏损失项,所述蒸馏损失项评估所述上下文预测数据与所述流式预测数据之间的所述差异。
10.根据权利要求7至9中任一项所述的方法,其中所述机器学习多模式言语识别模型包括多个层,其中每个层包括被配置为在所述流式识别模式下操作的流式层或被配置为在所述流式识别模式和所述上下文识别模式下选择性地操作的双模式层。
11.根据权利要求10所述的方法,其中在使用所述流式识别模式来处理所述言语数据之前,所述方法包括:将所述双模式层中的一个或多个的模式从所述流式识别模式切换到所述上下文识别模式。
12.根据权利要求11所述的方法,其中至少一个双模式层包括双模式卷积层,所述双模式卷积层包括卷积内核,并且其中切换所述模式包括将掩码应用于所述卷积内核。
13.根据权利要求11或12所述的方法,其中至少一个双模式层包括双模式池化层,所述双模式池化层包括一个或多个节点,并且其中切换所述模式包括:调整所述一个或多个节点中的至少一个到所述多个层中的相邻层的对应节点的连接。
14.根据权利要求11至13中任一项所述的方法,其中至少一个双模式层包括双模式注意力层,所述双模式注意力层包括规范化函数,并且其中切换所述模式包括:掩蔽所述规范化函数的一个或多个输入。
15.根据权利要求11至14中任一项所述的方法,其中至少一个双模式层包括双模式规范化层,所述双模式规范化层包括流式规范化函数和上下文规范化函数,其中所述双模式规范化层被配置为利用所述上下文规范化函数,并且其中切换所述模式包括:重新配置所述层以利用所述流式规范化函数。
16.根据权利要求11至15中任一项所述的方法,其中所述多个层的子集包括卷积变换器部分,所述卷积变换器部分包括:
前馈层的第一半;
多头自注意力层;
卷积层;以及
前馈层的第二半。
17.根据权利要求7至16中任一项所述的方法,其中所述方法进一步包括:
获得与言语识别任务相对应的附加言语数据;
基于所述言语识别任务来从所述机器学习多模式言语识别模型的所述流式识别模式和所述上下文识别模式中确定选择的模式;以及
使用所述机器学习多模式言语识别模型的所述选择的模式来处理所述附加言语数据以获得言语识别输出。
18.根据权利要求17所述的方法,其中所述言语识别任务包括:
转录任务;
隐藏字幕任务;或者
虚拟助理任务。
19.一种或多种存储计算机可读指令的有形、非暂时性计算机可读介质,所述计算机可读指令在被一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
获得机器学习多模式言语识别模型,所述机器学习多模式言语识别模型被配置为在流式识别模式或上下文识别模式下操作,其中所述流式识别模式被配置为对言语数据的一个或多个部分中的每一个进行迭代编码,并且其中所述上下文识别模式被配置为对所述言语数据的所述一个或多个部分中的每一个进行同时编码;
获得与言语识别任务相对应的言语数据;
基于所述言语识别任务来从所述机器学习多模式言语识别模型的所述流式识别模式和所述上下文识别模式中确定选择的模式;以及
使用所述机器学习多模式言语识别模型的所述选择的模式来处理附加言语数据以获得言语识别输出。
20.根据权利要求19所述的一种或多种有形、非暂时性介质,其中所述选择的模式包括所述上下文识别模式,并且其中所述言语识别任务包括:
转录任务;
隐藏字幕任务;或者
言语分析任务。
21.根据权利要求19所述的一种或多种有形、非暂时性介质,其中所述选择的模式包括所述流式识别模式,并且其中所述言语识别任务包括:
带宽约束任务;
延时约束任务;
语音识别任务;或者
虚拟助理任务。
CN202180046025.3A 2020-10-02 2021-10-01 用于训练双模式机器学习言语识别模型的系统和方法 Pending CN115803806A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063086937P 2020-10-02 2020-10-02
US63/086,937 2020-10-02
PCT/US2021/053128 WO2022072801A2 (en) 2020-10-02 2021-10-01 Systems and methods for training dual-mode machine-learned speech recognition models

Publications (1)

Publication Number Publication Date
CN115803806A true CN115803806A (zh) 2023-03-14

Family

ID=78500715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046025.3A Pending CN115803806A (zh) 2020-10-02 2021-10-01 用于训练双模式机器学习言语识别模型的系统和方法

Country Status (4)

Country Link
US (1) US20230237993A1 (zh)
EP (1) EP4154248A2 (zh)
CN (1) CN115803806A (zh)
WO (1) WO2022072801A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558265A (zh) * 2024-01-12 2024-02-13 联通(广东)产业互联网有限公司 方言流式语音识别方法、装置、电子设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053968A1 (en) * 2022-09-09 2024-03-14 Samsung Electronics Co., Ltd. Methods and systems for enabling seamless indirect interactions
CN115662401B (zh) * 2022-12-14 2023-03-10 国家电网有限公司客户服务中心 一种基于持续学习的客服通话语音识别方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366673B2 (en) * 2001-06-15 2008-04-29 International Business Machines Corporation Selective enablement of speech recognition grammars
CN104769668B (zh) * 2012-10-04 2018-10-30 纽昂斯通讯公司 改进的用于asr的混合控制器
US11011162B2 (en) * 2018-06-01 2021-05-18 Soundhound, Inc. Custom acoustic models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558265A (zh) * 2024-01-12 2024-02-13 联通(广东)产业互联网有限公司 方言流式语音识别方法、装置、电子设备及存储介质
CN117558265B (zh) * 2024-01-12 2024-04-19 联通(广东)产业互联网有限公司 方言流式语音识别方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP4154248A2 (en) 2023-03-29
US20230237993A1 (en) 2023-07-27
WO2022072801A2 (en) 2022-04-07
WO2022072801A3 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
US20210295858A1 (en) Synthesizing speech from text using neural networks
US11869530B2 (en) Generating audio using neural networks
CN111312245B (zh) 一种语音应答方法、装置和存储介质
CN115803806A (zh) 用于训练双模式机器学习言语识别模型的系统和方法
WO2022121251A1 (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
KR20190019748A (ko) 자연어 생성 방법 및 장치
US20210089909A1 (en) High fidelity speech synthesis with adversarial networks
JP7164098B2 (ja) 音声を認識する方法及び装置
KR20220130565A (ko) 키워드 검출 방법 및 장치
CN118043885A (zh) 用于半监督语音识别的对比孪生网络
US20240104352A1 (en) Contrastive Learning and Masked Modeling for End-To-End Self-Supervised Pre-Training
CN115101075A (zh) 一种语音识别的方法以及相关装置
CN114373443A (zh) 语音合成方法和装置、计算设备、存储介质及程序产品
KR20220133064A (ko) 대화 요약 모델 학습 장치 및 방법
WO2020162240A1 (ja) 言語モデルスコア計算装置、言語モデル作成装置、それらの方法、プログラム、および記録媒体
CN112951270A (zh) 语音流利度检测的方法、装置和电子设备
CN116894431B (zh) 文本处理模型训练方法、文本改写方法及装置和存储介质
CN117521674B (zh) 对抗信息的生成方法、装置、计算机设备和存储介质
US20240135187A1 (en) Method for Training Large Language Models to Perform Query Intent Classification
KR102663654B1 (ko) 적응형 시각적 스피치 인식
Sbattella Generative Empathetic Data-Driven Conversational Agents for Mental Healthcare
CN118057356A (zh) 对话语句重写方法、装置、计算机设备及存储介质
CN113705256A (zh) 翻译模型的训练方法及其翻译方法、装置和电子设备
CN114548423A (zh) 以全向处理为特征的机器学习注意力模型
CN116306795A (zh) 一种训练方法、题目知识点的确定方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination