WO2023059969A1 PCT指定期内 多语言自动语音识别的无监督和监督联合训练
多语言 ASR 的无监督和监督联合训练 技术领域 [0001] 本公开涉及用于多语言自动语音识别(ASR)的联合无监督和监督训练。 背景 [0002] 自动语音识别 (ASR),即获取音频输入并将其转录为文本的过程,已成为移动设备和其他设备中使用的一项重要技术。 通常,自动语音识别试图通过获取音频输入(例如,语音话语)并将音频输入转录为文本来提供对一个人所说内容的准确转录。 基于深度神经网络的持续发展,现代 ASR 模型在准确性(例如,低单词错误率 (WER))和延迟(例如,用户说话和转录之间的延迟)方面继续提高性能。 然而,开发基于深度学习的 ASR 模型的一个挑战是 ASR 模型的参数往往会过度拟合训练数据,从而导致 ASR 模型在训练数据不够广泛时难以泛化看不见的数据。 因此,在更大的训练数据集上训练 ASR 模型可以提高 ASR 模型的准确性。 可以合并未标记的训练数据和标记的训练数据以增加用于训练 ASR 模型的训练数据量。 概括 [0003] 本公开的一方面提供用于训练多语言自动语音识别(ASR)模型的联合无监督和监督训练(JUST)框架。 JUST 框架包括一个特征编码器,该特征编码器被配置为接收与语音发音相对应的音频特征作为输入,并在多个时间步长中的每个时间步长处生成潜在语音表示。 JUST 框架还包括一个量化器,该量化器被配置为接收由特征编码器在多个时间步长中的每个时间步长生成的潜在语音表示作为输入,并在 多个时间步长中的每一个,目标量化向量令牌和目标令牌索引,用于特征编码器生成的相应潜在语音表示。 这里,目标令牌索引将相应的潜在语音表示映射到存储在码本中的目标量化矢量令牌。 JUST 框架还包括一个对比网络,该网络被配置为:在屏蔽潜在语音表示的一个子集之后,接收由特征编码器在多个时间步长中的每个时间步生成的潜在语音表示作为输入; 在多个时间步长中的每一个,为对应的未掩蔽或掩蔽的潜在语音表示生成对比上下文向量; 并且在多个时间步长中的每一个,基于对应的对比上下文向量和量化器为对应的潜在语音表示生成的对应的目标量化向量标记来导出对比自监督损失。 JUST 框架还包括掩码语言建模 (MLM) 模块,该模块被配置为:接收由对比网络在多个时间步长中的每个时间步生成的对比上下文向量作为输入; 在多个时间步长的每一个处生成高级上下文向量; 对于每个高级上下文向量,学习使用基于量化器在相应时间步长生成的目标标记索引的交叉熵损失来预测相应时间步长的目标标记索引。 JUST 框架还包括解码器,该解码器被配置为接收由 MLM 模块在多个时间步长中的每个时间步长生成的高级上下文向量作为输入,并预测话语的语音识别假设。 在这里,JUST 框架在基于交叉熵损失和对比自监督损失的无监督损失以及基于预测的语音识别假设和话语的地面实况转录的监督损失上训练多语言 ASR 模型。 [0004]本公开的实施方式可以包括以下可选特征中的一个或多个。 在一些实现中,特征编码器包括两个卷积神经网络 (CNN) 块。 在一些示例中,掩蔽潜在语音表示的子集包括用相应的随机向量随机替换潜在语音表示的子集中的每个潜在语音表示。 contrastive net导出的contrastive self-supervised loss可能进一步是 基于从存储在码本中的目标量化向量令牌统一采样的 K 个负样本/干扰器,这些令牌对应于来自潜在表示的掩码子集的掩码潜在表示。 [0005] 在一些实现中,监督损失进一步基于与码本相关联的基于熵的多样性损失。 多语言 ASR 模型是针对以多种不同语言所说的训练话语进行训练的。 在一些示例中,训练多语言ASR模型包括训练没有事先预训练的多语言ASR模型。 在其他示例中,训练多语言 ASR 模型包括从预训练检查点微调多语言 ASR 模型。 在一些实现中,训练多语言ASR模型包括在无监督损失和监督损失上联合训练多语言ASR模型。 监督损失可能包括循环神经网络转换器 (RNN-T) 损失。 [0006] 本公开的另一方面提供了一种系统,其包括数据处理硬件和存储指令的存储器硬件,当在数据处理硬件上执行指令时使数据处理硬件执行操作。 这些操作包括接收对应于语音话语的音频特征,并在多个时间步长的每一个处基于音频特征生成潜在语音表示。 这些操作还包括在多个时间步长中的每个时间步长处生成目标量化矢量令牌和对应潜在语音表示的目标令牌索引。 目标令牌索引将相应的潜在语音表示映射到存储在码本中的目标量化矢量令牌。 这些操作还包括在多个时间步长中的每个时间步长处为对应的未掩蔽或掩蔽的潜在语音表示生成对比上下文向量。 操作还包括在多个时间步长中的每一个处,基于对应的对比向量和对应的目标量化向量令牌导出对比自监督损失。 这些操作还包括在多个时间步长的每个时间步基于对比上下文向量生成高级上下文向量,并且对于每个高级上下文向量,使用以下方法学习在相应的时间步长预测目标令牌索引 基于目标令牌索引的交叉熵损失。 这些操作还包括预测基于话语的语音识别假设 在高级上下文向量上,使用基于对比自监督损失和交叉熵损失的无监督损失以及基于预测语音识别假设和地面的监督损失来训练多语言自动语音识别 (ASR) 模型 - 话语的真实转录。 [0007] 本公开的实施方式可以包括以下可选特征中的一个或多个。 在一些实施方式中,生成潜在语音表示包括由特征编码器在多个时间步长中的每一个处生成潜在语音表示。 特征编码器包括两个卷积神经网络 (CNN) 块。 这些操作可以进一步包括通过用相应的随机向量随机替换潜在语音表示的子集中的每个潜在语音表示来掩蔽潜在语音表示的子集。 在一些示例中,对比自监督损失进一步基于来自存储在码本中的目标量化向量令牌的 K 个负样本/干扰器均匀样本,这些样本对应于来自潜在表示的掩码子集的掩码潜在表示。 [0008]在一些实现中,无监督损失进一步基于与码本相关联的基于熵的多样性损失。 多语言 ASR 模型可以针对以多种不同语言所说的训练话语进行训练。 在一些示例中,训练多语言ASR模型包括训练没有事先预训练的多语言ASR模型。 训练多语言 ASR 模型可以包括从预训练检查点微调多语言 ASR 模型。 在一些实现中,训练多语言ASR模型包括在无监督和监督损失上联合训练多语言ASR模型。 在一些示例中,监督损失包括循环神经网络转换器 (RNN-T) 损失。 [0009] 本公开的一个或多个实施方式的细节在附图和下面的描述中阐述。 其他方面、特征和优点将从描述和附图以及权利要求中显而易见。 附图说明 [0010] 图1是示例语音识别系统的示意图。 [0011] 图2是递归神经网络-转换器(RNN-T)模型架构的示意图。 [0012] 图3A和3B是用于训练语音识别模型的示例训练过程的示意图。 [0013] 图4是使用无监督和监督训练联合训练自动语音识别模型的方法的示例操作安排的流程图。 [0014] 图5是可用于实现本文描述的系统和方法的示例计算设备的示意图。 [0015] 各图中相似的参考符号表示相似的元件。 详细说明 [0016] 预训练自动语音识别 (ASR) 模型的使用证明了一种从大规模未标记训练数据中学习一般潜在表示的有效方法。 预训练 ASR 模型显着降低了下游微调的训练复杂性。 在这里,微调是指使用小型标记训练数据集对预训练的 ASR 模型进行监督训练,因为 ASR 模型已经使用未标记的训练数据进行了预训练。 因此,在对 ASR 模型进行预训练后,预训练的 ASR 模型可以仅使用较小和/或多样性较低的标记训练数据集进行训练(即微调训练)。 值得注意的是,与未接受预训练并使用更大和/或更多样化的标记训练数据集进行训练的 ASR 模型相比,使用较小的标记训练数据集对预训练的 ASR 模型进行微调仍然可以获得相似(或更好)的性能。 [0017] 预训练 ASR 模型通常包括两阶段方法。 在第一阶段,ASR 模型使用源自未标记训练数据的自我监督损失进行训练,以学习一般的潜在表示。 此后,在第二阶段,ASR 模型根据监督损失微调其训练。 这里,训练的第二阶段只需要一小组标记的训练数据(即具有相应标记转录的音频数据),因为 ASR 模型已经使用未标记的训练数据进行了预训练。 这种两阶段训练方法已被证明对序列是成功的 建模,但这种方法存在一些问题。 例如,预训练模型容易发生灾难性遗忘。 也就是说,预训练模型可能会忘记先前在训练的第一阶段使用未标记的训练数据学习的潜在表示。 换句话说,在第二阶段使用监督损失训练 ASR 模型可能会覆盖从第一阶段训练中学到的潜在表示,从而减少在第一阶段预训练 ASR 模型所获得的任何好处。 当标记的训练数据集很大时,忘记以前学习的潜在表示尤其普遍。 [0018]两阶段训练方法的另一个问题是预训练检查点选择。 预训练检查点是 ASR 模型的预训练(即第一阶段)结束和微调训练(即第二阶段)开始的地方。 因此,预训练检查点根据 ASR 模型接受的预训练量而变化。 特别是,问题在于确定何时停止预训练并开始微调训练。 值得注意的是,进行过多的预训练实际上会导致 ASR 模型性能下降。 另一方面,执行太少的预训练也会导致 ASR 模型性能下降。 此外,预训练检查点选择问题在多语言 ASR 模型中更为严重,因为多语言训练数据集的不同语言往往是不平衡的。 [0019] 因此,本文的实现针对使用联合无监督和监督训练(JUST)过程来训练自动语音识别(ASR)模型。 JUST 过程可以从头开始训练 ASR 模型(即未接受任何预训练的 ASR 模型)或从预训练检查点训练预训练 ASR 模型。 此外,JUST 过程可以训练单语言或多语言 ASR 模型。 显而易见,JUST 过程使用源自交叉熵损失和自监督损失的无监督损失以及源自预测语音识别假设和地面实况转录的监督损失来训练 ASR 模型。 [0020] 图1图示了实现驻留在用户104的用户设备102和/或远程计算设备201(例如,分布式系统的一个或多个服务器)上的ASR模型200的自动语音识别(ASR)系统100 在云计算环境中执行)与用户设备 102 通信。虽然用户设备 102 被描绘为移动计算设备(例如,智能电话),但是用户设备 102 可以对应于任何类型的计算设备,例如 ,但不限于平板设备、笔记本电脑/台式电脑、可穿戴设备、数字助理设备、智能扬声器/显示器、智能电器、汽车信息娱乐系统或物联网 (loT) 设备, 并配备有数据处理硬件111和存储硬件113。 [0021] 用户设备102包括音频子系统108,其被配置为接收用户104说出的话语106(例如,用户设备102可以包括一个或多个用于记录所说话语106的麦克风)并将话语106转换成相应的数字格式 与能够由 ASR 系统 100 处理的输入声学帧(即,音频特征)110 相关联。在所示示例中,用户以英语的自然语言针对短语“What is the weather in New”说出相应的话语 106 约克城?” 并且音频子系统108将话语106转换为对应的声学帧110以输入到ASR系统100。此后,ASR模型200接收对应于话语106的声学帧110作为输入,并生成/预测作为输出 ,话语106的相应转录120(例如,识别结果/假设)。在所示示例中,用户设备102和/或远程计算设备201还执行用户界面生成器107,该用户界面生成器107被配置为呈现转录的表示 120 将话语 106 发送给用户设备 102 的用户 104。在一些配置中,从 ASR 系统 100 输出的转录 120 例如由在用户设备 102 或 远程计算设备201,执行用户命令。 附加地或备选地,文本到语音系统(例如,在用户设备102或远程计算设备201的任何组合上执行)可以将转录转换成合成语音以供另一设备的可听输出。 例如,原始话语106可以对应于用户104正在发送给朋友的消息,其中转录120被转换成合成语音用于向朋友的可听输出以收听原始话语106中传达的消息。 [0022]参考图2,示例ASR模型200可以是基于帧对齐的换能器模型200,其包括遵守与交互式应用相关联的等待时间约束的递归神经网络换能器(RNN-T)模型架构。 RNN-T模型架构的使用是示例性的,并且基于帧对齐的换能器模型200可以包括其他架构,例如转换器-换能器、一致性转换器和一致性编码器模型架构等等。 RNN-T 模型 200 提供了一个小的计算足迹并且使用比传统的 ASR 架构更少的内存要求,使得 RNN-T 模型架构适合于完全在用户设备 102 上执行语音识别(例如,不需要与远程服务器通信) ). RNN-T模型200包括编码器网络210、预测网络220和联合网络230。编码器网络210大致类似于传统ASR系统中的声学模型(AM),包括一堆自 -注意层(例如,Conformer 或 Transformer 层)或堆叠长短期记忆 (LSTM) 层的循环网络。 例如,编码器网络 210 读取一系列 d 维特征向量(例如,声学帧 110(图 1))x = (xr, X2, ■ ■ , XT),其中 xt G Rd,并在每个 输出步骤高阶特征表示。 这种高阶特征表示表示为 h nc , ... , h^ nc . [0023] 类似地,预测网络220也是LSTM网络,它像语言模型(LM)一样,处理到目前为止由最终Softmax层240输出的非空白符号序列,哟,。 . . 进入密集表示 p u 最后,使用 RNN-T 模型架构,编码器产生的表征和预测! on/decoder 网络 210、220 由联合网络 230 组合。预测网络 220 可以由嵌入查找表代替,以通过输出查找的稀疏嵌入代替处理密集表示来改善延迟。 联合网络 230 然后预测 P(yt \x t ., 是 0 , ... , 是 u ),这是下一个输出符号的分布。 换句话说,联合网络230在每个输出步骤(例如,时间步骤)生成可能的语音识别假设的概率分布。 这里,“可能的语音识别假设” 对应于一组输出标签,每个标签代表指定自然语言中的符号/字符。 例如,当自然语言是英语时,输出标签集可以包括二十七(27)个符号,例如,一个标签用于英语字母表中的 26 个字母中的每一个,一个标签指定一个空格。 因此,联合网络230可以输出一组值,这些值指示预定的一组输出标签中的每一个出现的可能性。 这组值可以是一个向量,并且可以指示输出标签组上的概率分布。 在某些情况下,输出标签是字素(例如,单个字符,可能还有标点符号和其他符号),但输出标签集并不受此限制。 例如,除了字素之外或代替字素,输出标签集可以包括词片和/或整个单词。 联合网络230的输出分布可以包括每个不同输出标签的后验概率值。 因此,如果有 100 个不同的输出标签表示不同的字素或其他符号,则联合网络 230 的输出 yi 可以包括 100 个不同的概率值,每个输出标签一个。 概率分布然后可用于在波束搜索过程中(例如,通过 Softmax 层 240)选择和分配分数给候选正字法元素(例如,字素、词块和/或单词)以确定转录 120。 [0024]Softmax 层 240 可以采用任何技术来选择分布中具有最高概率的输出标签/符号作为 RNN-T 模型 200 在相应输出步骤预测的下一个输出符号。 以这种方式,RNN-T 模型 200 不进行条件独立假设,而是每个符号的预测不仅以声学为条件,而且以到目前为止输出的标签序列为条件。 RNN-T 模型 200 确实假设输出符号独立于未来的声学帧 110,这允许以流方式使用 RNN-T 模型。 [0025] 在一些示例中,RNN-T 模型 200 的编码器网络 210 包括一堆自注意层/块,例如一致性块。 在这里,每个构形器块都包括一系列多头自注意力、深度卷积和前馈层。 编码器网络210可以包括代替自注意层/块的LSTM层。 [0026] 预测网络220可以具有两个2,048维的LSTM层,每个层之后还跟着640维的投影层。 或者,预测网络220可以包括一堆变换器或一致性块,或者代替LSTM层的嵌入查找表。 最后,联合网络230也可以具有640个隐藏单元。 softmax层240可以由使用多个训练数据集中的所有唯一词片或字素生成的统一词片或字素集组成。 [0027] 图3A和3B图示了用于训练ASR模型200(图2)的示例JUST训练过程300。 ASR模型200可以是多语言ASR模型或单语言ASR模型。 在一些实施方式中,示例JUST训练过程300(也简称为“训练过程300”)训练未训练的ASR模型200。也就是说,训练过程300训练尚未预训练的ASR模型200。 在其他示例中,训练过程300从预训练检查点训练预训练ASR模型200。 在这里,ASR 模型 200 已经被预训练并且训练过程 300 从预训练的检查点微调预训练的 ASR 模型。 [0028] 训练过程300可以使用可用的训练数据来训练ASR模型200,训练数据包括一组未转录的语音话语(即,未标记的训练数据)302和一组转录的语音话语(即,标记的训练数据)304。每个un -转录的语音话语302包括纯音频数据(即,未配对的数据),使得未转录的语音话语302不与任何对应的转录配对。 另一方面,每个相应的转录语音话语 304 包括与相应的转录语音话语 304 的相应语音表示(即配对数据)配对的相应地面实况转录 306。 此外,未转录的语音话语集302和转录的语音话语集304各自可以分别包括非合成语音表示、由文本到语音(TTS)系统使用文本话语(不是 所示),或其某种组合。 在一些示例中,未转录的语音话语集合 302 和转录的集合 语音话语304各自包括以多种不同语言说出的用于训练多语言ASR模型的话语。 [0029] 为简单起见,训练过程300包括无监督损失部分300a(图3A)和监督损失部分300b(图3B)。 训练过程300基于来自无监督损失部分300a的无监督损失355(图3A)和来自有监督损失部分300b的有监督损失365(图3B)来训练ASR模型200。 在一些示例中,训练过程300联合使用无监督损失355和监督损失365训练ASR模型200。 [0030]继续图3A和3B,无监督损失部分300a和监督损失部分300b均包括特征编码器311、掩蔽模块215、对比网络320和掩蔽语言建模(MLM)模块330。这里,训练 过程300(即,无监督损失部分300a和监督损失部分300b)可以使用包括未转录语音集合302、转录语音集合304和/或其某种组合(未示出)的训练数据。 在其他情况下,无监督损失部分 300a 使用未转录的语音话语 302 训练 ASR 模型 200,而监督损失部分 300b 使用转录的语音话语 304 训练 ASR 模型 200。 [0031] 特征编码器311被配置为接收一系列输入音频特征/向量作为输入 (例如,梅尔频谱图,诸如图1的声学帧110)对应于未转录的语音话语302之一或转录的语音话语304之一,其中L表示训练语音话语的原始长度。 输入音频特征/向量的序列与未转录的语音话语302之一或转录的语音话语304之一相关联。在接收到输入音频特征/向量序列之后,特征编码器311生成作为输出, 在多个时间步长中的每一个,一个潜在的语音表示({z [ =1 )212.这里,潜在语音表示212对应于以下各项中的相应一个:未转录的语音话语302之一; 或转录的语音话语之一 304。在一些实现中,特征编码器 311 包括两个卷积神经网络 (CNN) 块(例如,两个卷积层) 每个过滤器大小为 3x3,步幅为 (2, 2)。 在这些实现中,两个CNN块中的第一个CNN块可以包括128个通道并且两个CNN块中的第二个CNN块包括32个通道。 在其他实施方式中,特征编码器311包括特征维度和序列长度减少4倍的子采样块。 [0032] 从特征编码器 311 输出的潜在语音表示 212 可以被馈送到掩蔽模块 215,其中一些潜在语音表示 212 被随机选择并替换为在所有掩蔽时间步长之间共享的训练特征向量,以提供相应的掩蔽潜在语音表示 212、212米。 备选地,随机选择的潜在语音表示212可以被随机特征向量代替以生成相应的掩蔽潜在语音表示212m。 在一些示例中,掩蔽模块215通过随机抽样而不放回地将所有时间步长T的一定比例p作为起始索引来掩蔽随机选择的潜在语音表示212,然后掩蔽来自每个样本索引的后续M个连续时间步长, 其中一些跨度可能会重叠。 如此,掩蔽模块215仅掩蔽潜在语音表示的整个集合212的子集,从而产生隐蔽语音表示的掩蔽子集212m和未掩蔽的潜在语音表示的子集212、212u。 [0033] 对比网络320被配置为接收由特征编码器311在屏蔽潜在语音表示的子集212m之后的多个时间步长中的每一个处生成的潜在语音表示212作为输入。 换句话说,对比网络320接收掩蔽的潜在语音表示的子集212m和未掩蔽的潜在语音表示的子集212u。 此后,对比网络 320 在多个时间步长的每一个生成对比上下文向量({} =1 ) 322 用于相应的未掩蔽的潜在语音表示 212u 或相应的掩蔽的潜在语音表示 212m。 对比网络 320 可以包括一堆一致性块,每个块都具有多头自注意、深度卷积和前馈层。 例如,对比 net 32​​0 可能包括 8 个 conformer 块,其中每个 conformer 块包括一个隐藏维度 1024、8 个注意力头和一个大小为 5 的卷积核。 [0034]现在参考图3A,在一些实现中,无监督损失部分300a包括也接收潜在语音表示212的量化器310。具体地,量化器310被配置为接收潜在语音表示212作为输入,潜在语音表示212由 特征编码器311在多个时间步长的每一个处生成目标量化矢量标记312和目标标记索引314,用于由特征编码器311生成的相应潜在语音表示212作为输出 . 这样,量化器310生成目标量化矢量令牌( ; ) 312 和目标标记索引 (y) 314 使用不包括任何掩蔽的潜在语音表示 212。 这里,量化器310根据qt生成目标量化向量标记312。 310 将所有潜在语音表示 212 汇总为代表性目标量化向量标记(即,判别语音标记)312。由量化器 310 生成的代表性目标量化向量标记 312 表示一组有限的代表性目标量化向量标记,称为 码本 315。码本 315 存储在量化器 310 中,V 表示码本 315 的大小。目标令牌索引 314 将每个对应的潜在语音表示 212 映射到码本 315 中存储的目标量化矢量令牌 312 中的相应一个 此外,码本315中的所有代表性目标量化矢量标记312在训练过程300期间都是可学习的。 [0035] 无监督损失部分 300a 依赖于代码本 315 来表示正训练示例和负训练示例。 据此,训练过程 300 使用基于熵的多样性损失£ d 与码本 315 相关联以增加码本 315 中代表性目标量化矢量标记 312 的使用。也就是说,训练过程 300 鼓励平等使用每个码本 (G) 315 中的 V 条目,从而最大化平均的熵 每个码本 p 的码本条目上的 softmax 分布 g 在一批由以下代表的训练话语中: 在一些示例中,训练过程300使用单个码本315而不是多个码本315。 [0036] MLM模块330被配置为接收对比网络320在多个时间步长中的每一个生成的对比上下文向量322作为输入,并且生成高级上下文向量({m £} =1 ) 334 在多个时间步长中的每一个。 即,MLM模块330通过从对比上下文向量322中提取高级上下文语音表示来生成高级上下文向量334。每个高级上下文向量334表示由线性层生成的目标标记索引预测。 MLM 模块 330 可以包括 16 个一致性块的堆栈,每个块具有 1024 的隐藏维度、8 个注意头和 5 的卷积核大小。 [0037] 在一些实施方式中,无监督损失部分300a包括无监督损失模块350,其导出无监督损失355。无监督损失模块350可以驻留在对比网络320(未示出)上、驻留在MLM模块330上,或者是独立的 模块(例如,既不驻留在对比网络 320 上,也不驻留在 MLM 模块 330 上)。 无监督损失模块 350 接收对比上下文向量 322 和目标量化向量标记 312。对于每个相应的潜在语音表示 212,无监督损失模块 350 基于相应的对比上下文向量 322 从 对比网络 320 和量化器 310 生成的相应目标量化矢量标记 312。无监督损失模块 350 可以通过以下方式导出对比自监督损失 355a:^) 大号 c = - 日志 - z - ( 2 ) 模拟 (c £ , q 模拟(c £ , q 在等式 2 中,£ c 表示对比自监督损失355a,qt表示作为正样本的目标量化向量标记312,以及 表示从同一话语中其他掩蔽潜在语音表示 212m 的目标量化向量标记 (qj) 均匀采样的 K 个负样本/干扰子。 此外,在等式 2 中,sim(a, Z>) 表示 a 和 b 之间的余弦相似度的指数。 因此,由无监督损失模块350导出的对比自监督损失355a进一步基于从存储在码本315中的目标量化向量标记312均匀采样的K个负样本/干扰因子,其对应于来自掩蔽的掩蔽的潜在语音表示212m 潜在语音表示的子集 212m。 [0038] 无监督损失模块 350 还接收目标标记索引 324 和高级上下文向量 334。这里,对于每个相应的潜在语音表示 212,无监督损失模块 350 确定交叉熵损失(£ m ) 355、355b 通过将相应的目标标记索引 324 与相应的高级上下文向量进行比较(即,目标标记索引预测)334。因此,对于每个高级上下文向量 334,MLM 模块 330 学习预测目标 基于由量化器310在相应时间步生成的目标令牌索引314,使用交叉熵损失355b在相应时间步生成令牌索引314。 [0039] 无监督损失模块 350 提供包括对比自监督损失 355a 和交叉熵损失 355b 的无监督损失 355 作为对 ASR 模型 200 的反馈。无监督损失 355 基于对比自监督损失 355a 和基于 交叉熵损失 355b 表示为: 在等式 3 中,£ u 表示无监督损失355并且a表示加权参数。 训练过程300的无监督损失部分300a可以基于无监督损失355更新ASR模型200的参数。 [0040] 现在参考图3B,在一些实现中,监督损失部分300b还包括解码器340和监督损失模块360。MLM模块330被配置为接收由对比网络320在 多个时间步长中的每一个,并生成高级上下文向量作为输出 在多个时间步长中的每个时间步长有 334 个。 即,MLM模块330通过从对比上下文向量322中提取高级上下文语音表示来生成高级上下文向量334。每个高级上下文向量334表示由线性层生成的目标标记索引预测。 [0041] 解码器340被配置为接收由MLM模块330在多个时间步长中的每个时间步长生成的高级上下文向量334作为输入,并预测话语的语音识别假设342。 解码器340可以包括具有3072个隐藏单元的基于两层768维长短期记忆(LSTM)的递归神经网络转换器(RNN-T)。 这里,解码器340可以为对应的高级上下文向量334生成可能的语音识别假设342的概率分布。监督损失模块360生成监督损失(L s ) 365 通过比较可能的语音识别假设 342 和地面实况转录 306 的概率分布。也就是说,监督损失模块 360 将相应转录的语音话语 304 的可能语音识别假设 342 的概率分布与地面- 真值转录对应于相应的转录语音话语304。在一些示例中,监督损失365包括RNN-T损失。 训练过程300的监督损失部分300b可以提供监督损失365作为对ASR模型200的反馈。因此,训练过程300的监督损失部分300b可以基于监督损失365更新ASR模型200的参数 . [0042] 返回参考图3A和3B,在一些实施方式中,训练过程300基于由以下表示的无监督损失355和监督损失365确定总损失: £ = £ s +(3£ u (4) 在等式 4 中,£ 表示总损失,[J 表示权衡权重。 因此,训练过程 300 可以使用总损失训练 ASR 模型 200,使得训练过程 300 使用无监督损失 355 和监督损失 365 联合训练 ASR 模型 200。值得注意的是,联合训练 ASR 模型 200 和总损失 由于训练过程 300 使用无监督损失 355 和监督损失 365 联合(即同时)训练 ASR 模型 200,因此损失£消除了 ASR 模型 200 忘记先前在预训练期间学习的潜在表示的风险。此外,训练 由于联合训练方法,过程300消除了预训练检查点选择。 即,训练过程300在单阶段方法中使用无监督损失355和监督损失365联合训练ASR模型200,从而消除使用两阶段方法预训练ASR模型200的问题。 [0043] 图4是使用无监督和监督训练联合训练ASR模型200的方法400的示例操作布置的流程图。 方法400可以使用存储在存储器硬件520(图5)上的指令在数据处理硬件510(图5)上执行。 数据处理硬件510和存储器硬件520可以驻留在对应于计算设备500(图5)的图1的远程计算机/服务器201上。 [0044] 在操作402,方法400包括接收对应于未转录的语音话语302之一或转录的语音话语304之一的音频特征110。在操作404,方法400包括在多个时间步长中的每一个处生成 ,基于音频特征110的潜在语音表示212。在操作406,方法400包括在每个 在多个时间步长中,目标量化向量令牌 312 和对应潜在语音表示 212 的目标令牌索引 314。这里,目标令牌索引 314 将对应潜在语音表示 212 映射到存储在 码本315。在操作408,方法400包括在多个时间步长中的每一个处为对应的未掩蔽或掩蔽的潜在语音表示212u、212m生成对比上下文向量322。 在操作410,方法400包括在多个时间步长的每一个处基于对应的对比上下文向量322和对应的目标量化向量令牌312导出对比自监督损失355a。 [0045] 在操作 412,方法 400 包括在多个时间步长中的每一个基于对比上下文向量 322 生成高级上下文向量 334。在操作 414,对于每个高级上下文向量 334,方法 400 方法 400 包括学习使用基于目标标记索引 314 的交叉熵损失 355b 在相应的时间步长预测目标标记索引 314。在操作 416,方法 400 包括基于高-预测话语的语音识别假设 342。 级上下文向量334。在操作416,方法400包括使用基于对比自监督损失355a和交叉熵损失355b的无监督损失355和基于预测语音的监督损失365来训练多语言ASR模型200 识别假设 342 和话语 302、304 的真实转录 306。 [0046] 图5是可用于实施本文档中描述的系统和方法的示例计算设备500的示意图。 计算设备500旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。 此处所示的组件、它们的联系和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施。 [0047] 计算设备500包括处理器510、存储器520、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540、以及连接到处理器的低速接口/控制器560。 低速总线570和存储设备530。组件510、520、530、540、550和560中的每一个都使用各种总线互连,并且可以安装在公共主板上或以其他合适的方式安装。 处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上以在诸如显示器的外部输入/输出设备上显示用于图形用户界面(GUI)的图形信息的指令 580耦合到高速接口540。在其他实施方式中,可以适当地使用多个处理器和/或多条总线以及多个存储器和多种类型的存储器。 此外,可以连接多个计算设备500,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。 [0048] 存储器520在计算设备500内非暂时性地存储信息。存储器520可以是计算机可读介质、易失性存储单元或非易失性存储单元。 非暂时性存储器520可以是用于在临时或永久的基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备500使用的物理设备。非易失性存储器的示例 包括但不限于闪存和只读存储器 (ROM) / 可编程只读存储器 (PROM) / 可擦除可编程只读存储器 (EPROM) / 电子可擦除可编程只读存储器 (EEPROM)(例如,通常 用于固件,例如引导程序)。 易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。 [0049] 存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。 在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备,或设备阵列,包括设备 在存储区域网络或其他配置中。 在另外的实施方式中,计算机程序产品有形地体现在信息载体中。 这 计算机程序产品包含指令,这些指令在执行时会执行一种或多种方法,例如上述方法。 信息载体是计算机或机器可读介质,例如存储器520、存储设备530或处理器510上的存储器。 [0050] 高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低带宽密集型操作。 这种职责分配只是示范性的。 在一些实施方式中,高速控制器540耦合到存储器520、显示器580(例如,通过图形处理器或加速器),以及高速扩展端口550,其可以接受各种扩展卡(未示出) ). 在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。低速扩展端口590可以包括各种通信端口(例如,USB、蓝牙、以太网、无线 以太网)可以耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪,或网络设备(例如交换机或路由器),例如通过网络适配器。 [0051] 如图所示,计算设备500可以以多种不同的形式实现。 例如,它可以实现为标准服务器500a或在一组这样的服务器500a中多次实现,实现为膝上型计算机500b,或实现为机架服务器系统500c的一部分。 [0052]可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现本文描述的系统和技术的各种实施方式。 这些不同的实现可以包括在一个或多个计算机程序中的实现,这些计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,被耦合以从其接收数据和指令以及传输数据 和指令,存储系统,至少一个输入设备,和至少一个输出设备。 [0053] 这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器来实现 语言。 如本文所用,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程 用于向可编程处理器提供机器指令和/或数据的逻辑设备 (PLD),包括接收机器指令作为机器可读信号的机器可读介质。 术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。 [0054] 本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,也称为数据处理硬件,执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。 过程和逻辑流程也可以由专用逻辑电路执行,例如 FPGA(现场可编程门阵列)或 ASIC(专用集成电路)。 适用于执行计算机程序的处理器包括,例如,通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。 通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。 计算机的基本要素是用于执行指令的处理器和一个或多个用于存储指令和数据的存储设备。 一般而言,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备接收数据或将数据传输至一个或多个大容量存储设备,例如磁盘、磁光盘或光盘。 然而,计算机不需要有这样的设备。 适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,例如 EPROM、EEPROM 和闪存设备; 磁盘,例如内部硬盘或可移动磁盘; 磁光盘; 和 CD ROM 和 DVD-ROM 磁盘。 这 处理器和存储器可以由专用逻辑电路补充或合并到专用逻辑电路中。 [0055] 为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备例如CRT(阴极射线管)、LCD(液晶显示器)监视器或用于显示信息的触摸屏的计算机上实现 给用户和可选的键盘和定点设备,例如鼠标或轨迹球,用户可以通过它们向计算机提供输入。 其他类型的设备也可用于提供与用户的交互; 例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈; 并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。 此外,计算机可以通过向用户使用的设备发送文档和从其接收文档来与用户交互; 例如,通过向用户客户端设备上的网络浏览器发送网页以响应从网络浏览器接收到的请求。 [0056]已经描述了许多实施方式。 然而,应当理解,在不脱离本公开的精神和范围的情况下可以进行各种修改。 因此,其他实施方式在所附权利要求的范围内。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手