首页> 中国专利> 通过机器学习的直接的语音到语音翻译

通过机器学习的直接的语音到语音翻译

摘要

本公开提供训练和使用机器学习模型(诸如,例如,序列到序列模型)以执行直接且无文本的语音到语音翻译的系统和方法。特别地,本公开的方面提供一种基于注意力的序列到序列神经网络,其可以将语音从一种语言直接翻译成另一种语言的语音,而不依赖于中间文本表示。

著录项

  • 公开/公告号CN112204653A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN202080002715.4

  • 申请日2020-03-17

  • 分类号G10L13/033(20130101);G10L13/04(20130101);G10L21/003(20130101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:29:07

说明书

相关申请

本申请要求享有美国临时专利申请第62/826,258号的优先权和权益,该美国临时专利申请通过引用全文合并于此。

技术领域

本公开总体上涉及机器学习。更具体地,本公开涉及通过机器学习模型(诸如,序列到序列模型)的直接且无文本的语音到语音翻译。

背景技术

语音到语音翻译(S2ST)是指将一种语言的语音(例如,由第一语音波形表示)翻译成另一种不同语言的语音(例如,由不同的第二语音波形表示)的过程。常规的S2ST系统依赖于组合多个不相干的系统以执行翻译的级联方法。特别地,常规的S2ST系统常被分为分开且依次运行的三个组成部分:自动语音识别(ASR)、文本到文本机器翻译(MT)和文本到语音(TTS)合成。

级联系统具有组成部分之间的复合误差的可能性,诸如,例如,当识别误差导致更大的翻译误差时。级联系统还具有其它缺点,主要在于增加的计算需求和更高的推断延迟,因为需要多个不同的计算步骤。此外,级联系统在翻译期间难以保留副语言和非语言信息,诸如,例如,在合成的翻译语音中保持源说话者的声音、语调、情绪和韵律。最后,级联系统无法学习生成不需要翻译的单词(诸如,名称或其它专有名词)的流畅发音。

发明内容

本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从该描述获悉,或者可以通过实施例的实施而获悉。

本公开的一个示例方面针对一种计算系统。该计算系统包括一个或更多个处理器。该计算系统包括配置为执行直接且无文本的翻译的机器学习翻译模型。机器学习翻译模型包括编码器模型,该编码器模型配置为接收和处理一系列输入声学特征表示,以生成一系列隐藏状态表示,该一系列输入声学特征表示代表第一语言的第一语音。机器学习翻译模型包括注意力模型,该注意力模型配置为接收和处理一系列隐藏状态表示,以生成一系列注意力输出。机器学习翻译模型包括解码器模型,该解码器模型配置为接收和处理一系列注意力输出,以生成一系列输出声学特征表示,该一系列输出声学特征表示代表不同于第一语言的第二语言的第二语音。该计算系统包括共同存储指令的一种或更多种非暂时性计算机可读介质,所述指令当由所述一个或更多个处理器运行时使该计算系统执行操作。所述操作包括获得代表第一语言的第一语音的一系列输入声学特征表示。所述操作包括将一系列输入声学特征表示输入到机器学习翻译模型的编码器模型中。所述操作包括接收代表第二语言的第二语音的一系列输出声学特征表示作为解码器模型的输出。

所述操作还可以包括通过机器学习翻译模型反向传播损失函数以训练机器学习翻译模型。损失函数可以评估一系列输出声学特征表示中的每个与从第二语言的第二语音导出的对应的地面真值声学特征表示之间的相应差异。一个或更多个辅助语音识别模型可以配置为接收和处理来自编码器模型的信息,以预测与第一语言的第一语音或第二语言的第二语音相关联的文本内容的一项或更多项。所述操作还可以包括通过编码器模型的至少一部分反向传播分别与所述一个或更多个辅助语音识别模型相关联的一个或更多个辅助损失函数,以训练编码器模型的所述至少一部分。每个辅助损失函数评估由对应的辅助语音识别模型输出的文本内容的所述一项或更多项与和第一语言的第一语音或第二语言的第二语音相关联的文本内容的对应的地面真值项之间的相应差异。所述一个或更多个辅助语音识别模型可以包括一个或更多个第一语音识别模型,所述一个或更多个第一语音识别模型配置为接收和处理来自编码器模型的信息,以预测第一语言的第一语音中包括的音素、字素、单词或n元语法中的一个或更多个的文本表示。所述一个或更多个辅助语音识别模型可以包括一个或更多个第二语音识别模型,所述一个或更多个第二语音识别模型配置为接收和处理来自编码器模型的信息,以预测第二语言的第二语音中包括的音素、字素、单词或n元语法中的一个或更多个的文本表示。

编码器模型可以包括多层模型。相对于由所述一个或更多个第二语音识别模型接收和处理的来自编码器模型的信息,由所述一个或更多个第一语音识别模型接收和处理的来自编码器模型的信息可以从编码器模型的相对更早的层中提取。

说话者编码器模型可以配置为接收和处理描述由目标说话者发出的参考语音的数据,以生成说话者嵌入。所述操作还可以包括将说话者嵌入与一系列隐藏状态表示一起输入到注意力模型中。在机器学习翻译模型的训练期间,目标说话者还可以是说第二语言的第二语音的第二说话者。在由机器学习翻译模型执行的推断期间,目标说话者还可以是说第一语言的第一语音的第一说话者。

注意力模型可以包括多头注意力模型。注意力模型可以包括执行加法注意力的多头注意力模型。机器学习翻译模型可以包括序列到序列模型。编码器模型和解码器模型之一或两者可以包括神经网络。编码器模型和解码器模型之一或两者可以包括递归神经网络。编码器模型和解码器模型之一或两者可以包括长短期记忆递归神经网络。编码器模型和解码器模型之一或两者可以包括双向递归神经网络。

一系列输入声学特征表示中的一个或两个可以包括一系列输入频谱图。一系列输出声学特征表示可以包括一系列输出频谱图。输入频谱图中的一个或两个可以包括对数频谱图或线性频谱图。输出频谱图可以包括对数频谱图或线性频谱图。

声码器(vocoder)可以配置为接收和处理一系列输出声学特征表示,以生成第二语言的第二语音的波形。所述操作还可以包括将一系列输出声学特征表示直接输入到声码器中,并接收第二语音的波形作为声码器的输出。声码器可以包括格里芬-林声码器或自回归神经网络。

本公开的其它方面针对配置为执行这里描述的一种或更多种方法或使得能够被这里描述的一种或更多种方法执行的各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。

参照以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些及其它特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。

附图说明

在说明书中阐述了针对本领域普通技术人员的对实施例的详细讨论,该详细讨论参照附图,附图中:

图1A描绘了根据本公开的示例实施例的示例计算系统的框图。

图1B描绘了根据本公开的示例实施例的示例计算设备的框图。

图1C描绘了根据本公开的示例实施例的示例计算设备的框图。

图2描绘了根据本公开的示例实施例的示例机器学习翻译模型的框图。

图3描绘了根据本公开的示例实施例的包括编码器模型、注意力模型和解码器模型的示例机器学习翻译模型的框图。

图4描绘了根据本公开的示例实施例的以多任务训练方案训练的示例机器学习翻译模型的框图。

图5描绘了根据本公开的示例实施例的能够生成听起来与目标说话者类似的翻译的示例机器学习翻译模型的框图。

在多个附图中重复的附图标记旨在标识各种实施方式中的相同特征。

具体实施方式

概述

总体上,本公开针对训练和使用机器学习模型(诸如例如序列到序列模型)来执行直接且无文本的语音到语音翻译的系统和方法。特别地,本公开的方面提供一种基于注意力的序列到序列神经网络,其可以直接将语音从一种语言翻译成另一种语言的语音,而不依赖于中间文本表示。根据本公开的一个方面,这里描述的机器学习模型可以被端到端地训练,学习将第一语言(例如,西班牙语)的语音的声学特征表示(例如,频谱图)直接映射到第二种语言(例如,英语)的语音的声学特征表示(例如,声谱图)。例如,第二语言的语音可以对应于第一语言的(例如,也可以是不同的声音中的)语音的翻译内容。根据本公开的另一方面,提供附加技术,其使机器学习模型能够使用目标说话者(例如,在一些情况下可以是说出要翻译的语音的源说话者)的声音来合成翻译语音。根据本公开的又一方面,可以通过合并辅助解码器网络以预测源文字记录(transcript)或目标文字记录来执行多任务训练,从而改善机器学习翻译模型的性能。最后,并入本公开并形成本公开的一部分的美国临时专利申请第62/826,258号描述了对这里描述的系统和方法的示例实施方式执行的示例实验,所述示例实验证明了所提出方法的可行性。

更具体地,本公开的示例方面解决了语音到语音翻译(S2ST)的任务:将一种语言的语音翻译成另一种语言的语音。该应用对于消除不共享共同语言的人之间的交流障碍非常有益。具体地,提供示例系统,其可以训练端到端模型来直接完成此任务,而不依赖于中间文本表示。这与常规的S2ST系统形成对比,常规的S2ST系统常被分为三个组成部分:自动语音识别(ASR)、文本到文本机器翻译(MT)和文本到语音(TTS)合成。

级联系统具有组成部分之间的复合误差的可能性,例如识别误差导致更大的翻译误差。通过训练以端到端地解决任务,直接的S2ST模型避免了此问题。与级联系统相比,它们还具有其它优势,主要在于减少的计算需求和更低的推断延迟,因为仅需要一个解码步骤而不是三个。此外,端到端训练自然地使模型能够在翻译期间保留副语言和非语言信息,例如在合成的翻译语音中保持源说话者的声音、语调、情绪和韵律。最后,端到端方法使模型能够学习生成不需要翻译的单词(诸如名称或其它专有名词)的流畅发音。

因此,本公开的方面针对一种机器学习翻译模型,其可以执行直接且无文本的翻译并且可以以端到端的方式进行训练。作为一个示例,该机器学习翻译模型可以是包括编码器模型、注意力模型和解码器模型的序列到序列模型。编码器模型可以配置为接收和处理一系列输入声学特征表示,以生成一系列隐藏状态表示,该一系列输入声学特征表示代表第一语言的第一语音。注意力模型可以配置为接收和处理一系列隐藏状态表示,以生成一系列注意力输出。解码器模型可以配置为接收和处理一系列注意力输出,以生成一系列输出声学特征表示,该一系列输出声学特征表示代表不同于第一语言的第二语言的第二语音。

为了训练机器学习翻译模型,计算系统可以获得包括多对训练示例的训练数据集。每个训练示例可以包括描述第一语言的第一语音的数据和描述第二语言的第二语音的数据,其中第二语音包括与第一语音相同的内容(例如,基础表达或陈述),但是以不同的语言。作为示例,描述第一语音和第二语音的数据可以是第一语音和第二语音的数字记录,其可以采取数字化语音波形的形式。计算系统可以针对第一语音和第二语音两者生成相应系列的声学特征表示。示例声学特征表示包括各种形式的频谱图,诸如,例如,线性频率频谱图或对数频率频谱图(例如,对数-梅尔(log-mel)频谱图)。特别地,基于描述第二语音的数据生成的一系列声学特征表示可以被视为翻译模型将尝试预测的地面真值(groundtruth)声学特征表示。

具体地,计算系统可以将基于描述第一语言的第一语音的数据而生成的一系列声学特征表示输入到机器学习翻译模型中。作为响应,翻译模型可以预测第二语言的第二语音的一系列输出声学特征表示。计算系统可以评估损失函数,该损失函数评估一系列输出声学特征表示中的每个与从第二语言的第二语音导出的对应的地面真值声学特征表示之间的相应差异。计算系统可以通过翻译模型(例如,首先通过解码器模型,然后通过注意力模型,然后通过编码器模型)反向传播损失函数,以训练翻译模型。例如,可以使用梯度下降方法来更新翻译模型的参数值。因此,翻译模型可以学习以预测和与地面真值翻译语音相关联的地面真值表示相匹配的输出声学特征表示。

在训练之后,机器学习翻译模型可以操作以使得能够将语音从第一语言直接翻译到第二语言。特别地,在推断时间,计算系统(其可以与执行模型的训练的系统相同或不同)可以获得描述第一语言的输入语音的数据(例如,第一语言的输入语音的数字波形)。计算系统可以生成描述第一语言的输入语音的一系列输入声学特征表示(例如,频谱图),并且可以将一系列输入声学特征表示作为输入提供给机器学习翻译模型(例如,作为直接输入提供到编码器模型中)。机器学习翻译模型可以生成与第二语言的预测语音相关联的一系列输出声学特征表示。计算系统可以例如通过使用声码器生成第二语言的语音的预测语音波形。在一些实施方式中,计算系统可以使第二语言的预测语音的语音波形实时回放,使得第一语言的输入语音被快速高效地直接翻译成第二语言的可听语音。

在一些方面,这里提出的S2ST模型类似于最近在用于声音转换的序列到序列模型上的工作,声音转换是以相同的语言但以不同的人的声音重新创建话语的任务。例如,某些现有的声音转换方法包括基于注意力的模型,以基于来自源声音的输入特征(例如,与来自语音识别模型的瓶颈特征相连的频谱图)生成目标声音中的频谱图。然而,与本公开中提出的模型相比,声音转换任务中的输入和输出的对准要简单得多。此外,现有的声音转换方法仅训练特定于单个输入-输出说话者对的模型(即一对一声音转换),而本公开的模型能够进行多对一和多对多说话者配置。

现在参照附图,将更详细地讨论本公开的示例实施例。

示例设备和系统

图1A描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。

用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型电脑或台式电脑)、移动计算设备(例如,智能电话或平板电脑)、游戏控制主机或控制器、可穿戴计算设备、嵌入式计算设备或任何其它类型的计算设备。

用户计算设备102包括一个或更多个处理器112和存储器114。一个或更多个处理器112可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或在操作上相连接的多个处理器。存储器114可以包括一个或更多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器114可以存储由处理器112运行以使用户计算设备102执行操作的数据116和指令118。

在一些实施方式中,用户计算设备102可以存储或包括一个或更多个机器学习翻译模型120。在一些实施方式中,机器学习翻译模型120可以完全在设备侧(例如,在用户计算设备102上)运行,而不涉及服务器计算系统130。例如,机器学习翻译模型120可以是或者可以以其它方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其它类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其它形式的神经网络。示例机器学习翻译模型120参照图2-5来讨论。

在一些实施方式中,一个或更多个机器学习翻译模型120可以通过网络180从服务器计算系统130被接收,被存储在用户计算设备存储器114中,然后由一个或更多个处理器112使用或以其它方式实施。在一些实施方式中,用户计算设备102可以实施单个机器学习翻译模型120的多个并行实例(例如,以跨输入语音的多个实例执行并行的语音到语音翻译)。

另外地或备选地,一个或更多个机器学习翻译模型140可以被包括在服务器计算系统130中或以其它方式由服务器计算系统130存储和实施,该服务器计算系统130根据客户端-服务器关系与用户计算设备102进行通信。例如,机器学习翻译模型140可以作为网络服务的一部分(例如,语音到语音翻译服务)由服务器计算系统140实施。因此,可以在用户计算设备102处存储和实施一个或更多个模型120和/或可以在服务器计算系统130处存储和实施一个或更多个模型140。

用户计算设备102还可以包括一个或更多个接收用户输入的用户输入组件122。例如,用户输入组件122可以是对用户输入物体(例如,手指或手写笔)的触摸敏感的触摸敏感组件(例如,触摸敏感显示屏或触摸板)。触摸敏感组件可以用来实现虚拟键盘。其它示例用户输入组件包括麦克风、传统键盘或用户可通过其提供用户输入的其它机构。

服务器计算系统130包括一个或更多个处理器132和存储器134。一个或更多个处理器132可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或在操作上相连的多个处理器。存储器134可以包括一个或更多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134可以存储由处理器132运行以使服务器计算系统130执行操作的数据136和指令138。

在一些实施方式中,服务器计算系统130包括一个或更多个服务器计算设备或以其它方式由一个或更多个服务器计算设备实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。

如上所述,服务器计算系统130可以存储或以其它方式包括一个或更多个机器学习翻译模型140。例如,模型140可以是或者可以以其它方式包括各种机器学习模型。示例机器学习模型包括神经网络或其它多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。示例模型140参照图2-5来讨论。

用户计算设备102和/或服务器计算系统130可以通过与训练计算系统150的交互来训练模型120和/或140,该训练计算系统150通过网络180通信地耦合。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。

训练计算系统150包括一个或更多个处理器152和存储器154。一个或更多个处理器152可以是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或在操作上连接的多个处理器。存储器154可以包括一个或更多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器154可以存储由处理器152运行以使训练计算系统150执行操作的数据156和指令158。在一些实施方式中,训练计算系统150包括一个或更多个服务器计算设备或由一个或更多个服务器计算设备实现。

训练计算系统150可以包括模型训练器160,该模型训练器160使用各种训练或学习技术(诸如,例如,误差的反向传播)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。在一些实施方式中,执行误差的反向传播可以包括随着时间的推移执行截断反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等),以提高正在被训练的模型的泛化能力。

特别地,模型训练器160可以基于一组训练数据162来训练机器学习翻译模型120和/或140。训练数据162可以包括例如多对训练示例。每个训练示例对可以包括描述第一语言的第一语音的数据和描述第二语言的第二语音的数据,其中第二语音包括与第一语音相同的内容(例如,基础表达或陈述),但是以不同的语言。作为示例,描述第一语音和第二语音的数据可以是第一语音和第二语音的数字记录,其可以采取数字化语音波形的形式。因此,例如,特定的训练示例对可以包括第一语音波形和第二语音波形,第一语音波形包括西班牙语句子“Me gusta comer la cocina de mi abuela”的话语,第二语音波形包括英语中的相同内容“I like to eat my grandmother’s cooking”的话语。西班牙语话语和英语话语的相应说话者可以是同一个人,或者可以是不同的人。可以使用任何不同的语言对。

在一些实施方式中,训练数据162还可以包括话语的文本转录(例如,以两种语言)。例如,可以通过收听话语手动生成文本转录和/或可以通过读取预先存在的文本转录生成话语。在另外的示例中,训练示例对中包括的一些或全部话语可以是使用文本到语音系统(诸如例如并行WaveNet系统)生成的合成话语。

在一些实施方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练系统150在从用户计算设备102接收到的用户特定数据上训练。在一些情况下,该过程可以被称为使模型个性化。

模型训练器160包括用于提供期望功能的计算机逻辑。可以以控制通用处理器的硬件、固件和/或软件来实现模型训练器160。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或更多个处理器运行的程序文件。在其它实施方式中,模型训练器160包括存储在有形的计算机可读存储介质(诸如RAM硬盘或者光学介质或磁性介质)中的一组或更多组计算机可运行指令。

网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般地,可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载通过网络180的通信。

图1A示出了可用于实现本公开的一个示例计算系统。也可以使用其它计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102处既被本地训练又在本地使用。在此类实施方式的一些中,用户计算设备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的结果,提供描述第二语言的语音的一系列输出声学特征表示206。因此,机器学习翻译模型200可以将一种语言的语音的声学特征表示直接翻译为另一种语言的语音的声学特征表示。

一系列输入声学特征表示204可以从描述第一语言的第一语音的数据中得出。例如,描述第一语音的数据可以是第一语音的数字记录,其可以例如采取数字化语音波形的形式。示例声学特征表示包括各种形式的频谱图,诸如例如线性频率频谱图或对数频率频谱图(例如,对数-梅尔频谱图)。在一些实施方式中,可以针对多个时间步长中的每个生成一个输入频谱图,输入波形被离散化为所述多个时间步长。

为了训练机器学习翻译模型200,计算系统可以获得包括多对训练示例的训练数据集。每个训练示例对可以包括描述第一语言的第一语音的数据和描述第二语言的第二语音的数据,其中第二语音包括与第一语音相同的内容(例如,基础表达或陈述),但是以不同的语言。作为示例,描述第一语音和第二语音的数据可以是第一语音和第二语音的数字记录,其可以采取数字化语音波形的形式。计算系统可以针对第一语音和第二语音两者生成相应系列的声学特征表示。特别地,基于描述第二语音的数据生成的一系列声学特征表示可以被视为翻译模型将尝试预测的地面真值声学特征表示。

具体地,计算系统可以将基于描述第一语言的第一语音的数据而生成的一系列输入声学特征表示204输入到机器学习翻译模型200中。作为响应,翻译模型可以预测第二语言的第二语音的一系列输出声学特征表示206。计算系统可以评估损失函数,该损失函数评估一系列输出声学特征表示206中的每个与从第二语言的第二语音中导出的对应的地面真值声学特征表示之间的相应差异。计算系统可以通过翻译模型200反向传播损失函数,以训练转换模型200。例如,可以使用梯度下降方法来更新翻译模型200的参数值。因此,翻译模型20可以学习预测和与地面真值翻译语音相关联的地面真值表示相匹配的输出声学特征表示206。

在训练之后,机器学习翻译模型200可以操作以使得能够将语音从第一语言直接翻译到第二语言。特别地,在推断时间,计算系统(其可以与执行模型的训练的系统相同或不同)可以获得描述第一语言的输入语音的数据(例如,第一语言的输入语音的数字波形)。计算系统可以生成描述第一语言的输入语音的一系列输入声学特征表示204(例如,频谱图),并且可以将一系列输入声学特征表示204作为输入提供给机器学习翻译模型200。机器学习翻译模型可以生成与第二语言的预测语音相关联的一系列输出声学特征表示206。输出声学特征表示206的数量可以与输入声学特征表示204的数量相同或不同。例如,在一些实施方式中,可以针对每个时间步长预测两个步谱图帧。

计算系统可以例如通过使用声码器208生成第二语言的语音的预测语音波形210。因此,声码器208可以将频谱图转换成时域波形。示例声码器包括格里芬-林(Griffin-Lim)声码器和/或诸如WaveRNN神经声码器的自回归神经网络。

在一些实施方式中,计算系统可以使第二语言的语音的预测语音波形210实时回放,使得第一语言的输入语音被快速高效地直接翻译成第二语言的可听语音。

图3描绘了根据本公开的示例实施例的示例机器学习翻译模型300的框图。除了翻译模型300被示出为包括编码器模型302、注意力模型306和解码器模型310以外,机器学习翻译模型300与图2的翻译模型200类似。

编码器模型302可以配置为接收和处理代表第一语言的第一语音的一系列输入声学特征表示204,以生成一系列隐藏状态表示304。编码器模型302可以配置为直接在特征表示204(例如,频谱图)上操作。因此,在一些实施方式中,特征表示204(例如,频谱图)可以直接输入到编码器模型302中,而没有任何中间的时间减少。

在一些实施方式中,编码器模型302可以具有显著增加的容量,以便处理具有挑战性的语音到语音翻译任务。例如,编码器模型302可以比用于其它任务的编码器相对更深。作为一个示例,编码器模型302可以包括8个双向LSTM层的堆叠。

注意力模型可以配置为接收和处理一系列隐藏状态表示304以生成一系列注意力输出308。解码器模型可以配置为接收和处理一系列注意力输出308以生成代表不同于第一语言的第二语言的第二语音的一系列输出声学特征表示206。

在一些实施方式中,解码器模型310可以具有与在名称为“使用神经网络从文本合成语音”的通过引用全文合并于此的美国专利申请第16/058,640号中描述的模型类似的架构。特别地,类似于在美国专利申请第16/058,640号中描述的模型,解码器模型310可以包括前置网络(pre-net)组件、自回归LSTM堆叠组件和后置网络(post-net)组件。然而,在一些实施方式中,可以修改美国专利申请第16/058,640号中描述的架构,以将多头加法注意力(例如,具有4个头)而不是位置敏感型注意力用于注意力模型306。

在一些实施方式中,可以使用明显更窄的32维前置网络瓶颈,而不是256维。在一些实施方式中,可以使用缩减因子2,使得针对每个解码器时间步长预测两个频谱图帧。在一些实施方式中,解码器模型310可以包括4、6或其它数量的LSTM层。在一些实施方式中,解码器模型310可以使用注意力丢弃、LSTM走神(zone-out)正则化,全部具有0.1的概率。例如,训练可以使用批量大小为1024的Adafactor优化器。

在一个特定示例中,编码器模型302可以将采取80通道对数-梅尔频谱图特征的形式的输入声学特征表示204映射到隐藏状态表示304,该隐藏状态表示304被传递给注意力模型306,该注意力模型306可以执行基于注意力的对准机制来调节解码器模型310(例如,其可以是自回归解码器),该解码器模型进而以与翻译语音对应的1025维对数压缩的频谱图帧的形式预测输出声学特征表示206。在一些实施方式中,可以通过堆叠(例如,利用微分系数和加速度系数)80通道对数-梅尔频谱图的多个(例如,3个)相邻帧来创建输入特征帧。

图4描绘了图3的示例机器学习翻译模型300的框图,其中根据本公开的示例实施例,翻译模型300以多任务训练方案来训练。特别地,在示出的训练方案中,机器学习翻译模型300与多个辅助语音识别模型402-412一起被训练。

尽管示出了六个辅助语音识别模型402-412,但是可以使用任何数量的不同语音识别模型(例如,一个、两个、三个等)。因此,辅助语音识别模型402-412中的每个是可选的。可以使用它们的任何组合,并且在一些实施例中,不使用它们中的任何一个。此外,在一些实施方式中,仅在训练期间使用辅助语音识别模型402-412,以协助训练机器学习翻译模型300。在这样的实施方式中,在推断期间不使用或实施辅助语音识别模型402-412。

辅助语音识别模型402-412中的每个配置为从编码器模型302接收和处理信息,以预测与第一语言的第一语音或第二语言的第二语音相关联的文本内容的一项或更多项。作为示例,模型402配置为预测第二语言的语音的音素452;模型404配置为预测第二语言的语音的字素454;模型406配置为预测第二语言的语音的n元语法456;模型408配置为预测第一语言的语音的音素458;模型410配置为预测第一语言的语音的字素460;模型412配置为预测第一语言的语音的n元语法462。

为了执行多任务学习方案,除了基于输出声学特征表示206的损失函数之外,计算系统还可以通过编码器模型302的至少一部分反向传播一个或更多个附加损失函数,以训练编码器模型302的所述至少一部分。特别地,每个附加损失函数可以对应于模型402-412之一,并且可以评估由这种模型预测的文本内容的一项或更多项中的每个与和第一语言的第一语音或第二语言的第二语音相关联的文本内容的对应的地面真项之间的相应差异。因此,作为一个示例,与模型402相关联的附加损失函数可以评估第二语言的语音的预测音素452与第二语言的语音中实际包含的地面真值音素之间的差异。因此,(多个)附加损失函数可以用于使编码器模型302正规化,并帮助编码器模型302捕获与音素、字素、n元语法等有关的信息。

尽管辅助语音识别模型402-412中的每个被示出为包括相应的注意力模型和相应的解码器模型,但是模型402-412可以具有与所示不同的架构。在一些实施方式中,辅助语音识别模型402-412的每个中的注意力模型是单头加法注意力模型。在一些实施方式中,辅助语音识别模型402-412的每个中的解码器模型是2层LSTM。在一些实施方式中,辅助语音识别模型402-412的每个中的解码器模型使用注意力丢弃、LSTM走神正则化,全部具有0.1的概率。例如,训练可以使用批量大小为1024的Adafactor优化器。

如图4所示,编码器模型302的最后一层的输出被传递到主要的注意力模型306和解码器模型310,而编码器模型302的中间激活被传递到预测与源语音和目标语音对应的文本序列的辅助模型402-412。如图所示,相对于由预测第二语言的方面的辅助语音识别模型402-406接收和处理的来自编码器模型302的信息,由预测第一语言的方面的辅助语音识别模型408-412接收和处理的来自编码器模型302的信息从编码器模型302的相对更早的层中提取。这是因为编码器模型302的较早的层更有可能良好地表示第一语言内容,而较深的层可能学习对关于第二语言内容的更多信息进行编码。

图5描绘了根据本公开的示例实施例的能够生成听起来与目标说话者类似的翻译的示例机器学习翻译模型300的框图。特别地,如图5所示,可以结合附加说话者编码器模型502来训练和/或使用机器学习翻译模型300。

说话者编码器模型502可以从目标说话者获得参考语音504,并且可以生成描述目标说话者的语音的说话者嵌入506。说话者嵌入506可以与一系列隐藏状态表示304一起输入到注意力模型306中。例如,可以执行连接操作508以将说话者嵌入506在输入到注意力模型306中之前连接到一系列隐藏状态表示304(例如,连接到一系列隐藏状态表示304中的每个)。参考语音504可以为第一语言或第二语言。

在一些实施方式中,在机器学习翻译模型300的训练期间,说参考语音504的目标说话者也是说第二语言的第二语音的第二说话者,第二语言的第二语音用于生成地面真值声学特征表示。然而,在一些实施方式中,在由机器学习翻译模型300执行的推断期间,说参考语音504的目标说话者也是说第一语言的第一语音的第一说话者,第一语言的第一语音是翻译努力的目标。

因此,为了控制输出说话者标识(例如,从预测的输出声学特征表示206产生的语音波形的声音),可以将可选的说话者编码器模型502结合到系统中。例如,说话者编码器模型502可以是神经网络。在一些实施方式中,说话者编码器模型502可以在说话者验证任务上被区别地预训练,并通过根据参考话语504计算说话者嵌入506而用于调节解码器模型310。例如,说话者嵌入506可以为256个维度。例如,说话者编码器模型502可以在覆盖包括英语和西班牙语的8种语言的一组851K说话者(扬声器)上进行训练。

在一些实施方式中,说话者编码模型502和说话者嵌入506的使用可以与翻译同时实现跨语言声音转换。

附图中所示的示例实施例可以被组合。例如,说话者编码模型502和说话者嵌入506可以与辅助语音识别模型402-412中的一个或更多个同时使用。

附加公开

这里讨论的技术参照服务器、数据库、软件应用和其它基于计算机的系统,还参照对此类系统采取的行动以及发送给此类系统的信息和从此类系统发送的信息。基于计算机的系统的固有灵活性允许在组件之间进行多种可能的配置、组合以及任务和功能的划分。例如,这里讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,或分布在多个系统上。分布式组件可以顺序或并行操作。

虽然已经关于本主题的各种特定示例实施例详细描述了本主题,但是每个示例都作为说明来提供,而不是对本公开的限制。本领域技术人员在理解了前述内容时可以容易地对这些实施例进行改变、变化和等同。因此,对于本领域普通技术人员将容易地明显的是,本公开不防碍包括对本主题的此类修改、变化和/或添加。例如,作为一个实施例的部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,意图是本公开覆盖这样的改变、变化和等同。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号