CN111699497A - 使用离散潜变量的序列模型的快速解码 - Google Patents

使用离散潜变量的序列模型的快速解码 Download PDF

Info

Publication number
CN111699497A
CN111699497A CN201980012517.3A CN201980012517A CN111699497A CN 111699497 A CN111699497 A CN 111699497A CN 201980012517 A CN201980012517 A CN 201980012517A CN 111699497 A CN111699497 A CN 111699497A
Authority
CN
China
Prior art keywords
sequence
output
neural network
input
latent variables
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
CN201980012517.3A
Other languages
English (en)
Inventor
卢卡什·米奇斯瓦夫·凯泽
奥克·罗伊
阿希什·泰库·瓦斯瓦尼
尼基·帕马
塞缪尔·本吉奥
雅各布·D·乌斯克雷特
诺姆·M·沙泽尔
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 CN111699497A publication Critical patent/CN111699497A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于从输入序列生成输出序列。方法之一包括接收输入序列;使用潜在预测模型处理输入序列,该潜在预测模型被配置为自回归预测比输出序列短并且编码该输出序列的离散潜变量序列,其中,该序列中的每个离散潜变量均选自离散潜变量集;以及使用并行解码器模型,处理输入序列和所预测的离散潜变量序列,该并行解码器模型被配置为从输入序列和所预测的离散潜变量序列并行地生成输出序列中的输出。

Description

使用离散潜变量的序列模型的快速解码
技术领域
本说明书涉及从输入序列使用神经网络生成输出序列。
背景技术
许多数据处理任务涉及将有序的输入序列转换为有序的输出序列。例如,机器翻译系统将一种语言的输入单词序列翻译成另一种语言的单词序列。作为另一示例,发音系统将输入字素序列转换成目标音素序列。
一些系统使用基于深度神经网络的自回归序列模型来执行序列处理任务。
神经网络是针对接收到的输入采用一个或多个非线性单元层预测输出的机器学习模型。除了输入层和输出层之外,深度神经网络还包括多个隐藏层。每个隐藏层的输出通常用作该网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层从接收到的输入根据相应参数集的当前值生成输出。
一些深度神经网络是递归神经网络。递归神经网络是接收输入序列并且从输入序列生成输出序列的神经网络。具体地,递归神经网络可以在计算当前时间步长的输出中使用来自先前时间步长的网络的一些或全部内部状态。
另一种深度神经网络架构是深度卷积神经网络,其中,Wavenet是一个示例。尤其是,具有Wavenet架构的卷积神经网络通过屏蔽卷积层的多个块处理已经生成的输出序列,将新输出重复添加到输出序列中,来自回归地生成输出。
另一种深度神经网络架构是变换器架构。变换器架构包括编码器神经网络和解码器神经网络,该编码器神经网络对输入序列重复施加自注意力以生成输入序列中的输入的编码表示,以及该解码器神经网络通过对输入序列的编码表示施加注意力和对已生成的输出序列施加屏蔽自注意力来自回归地生成输出序列。
发明内容
本说明书描述了一种系统,该系统被实现为在一个或多个位置中的一个或多个计算机上的计算机程序,该系统由输入序列生成输出序列,即,将输入序列转换为输出序列,该输出序列包括按输出顺序,处于多个位置中的每个位置的相应输出,该输入序列包括按输入顺序,处于多个位置的每个位置的相应输入。
可以实施本说明书中描述的主题的特定实施方式,以实现以下优点中的一个或多个。
自回归模型,例如Wavenet模型或变换器模型,已经显示出在各种输出生成任务(例如语音识别、机器翻译、图像生成等)上实现高质量性能。但是,自回归模型要求在多个时间步长的每个步长上将新输出添加到当前输出序列的末尾,并且新输出以当前输出序列为条件。以这种方式顺序地生成输出会导致较长的推理时间和大量的计算资源消耗,尤其是当生成的输出序列较长时。另一方面,所描述的技术仅自回归地生成较短的(例如,四倍或八倍短的)潜变量序列,然后从潜变量序列并行地生成输出序列。因此,相对于传统的自回归模型,显著地降低解码时间(即,生成输出序列所需的时间)和资源消耗。此外,生成的输出序列的质量仍然很高。因此,与传统方法相比,所描述的技术允许在更少的时间内并且在消耗更少的计算资源的同时生成高质量的输出序列。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点根据说明书、附图和权利要求将变得显而易见。
附图说明
图1示出了示例性神经网络系统。
图2是示出潜在离散潜变量和预测输出的相关性结构的示意图。
图3是用于从输入序列生成输出序列的示例性过程的流程图。
图4是用于训练潜在预测模型和并行解码器模型的示例性过程的流程图。
各个附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了一种被实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,该系统从包括按输入顺序处于多个位置中的每个位置处的相应输入的输入序列生成包括按输出顺序处于多个位置中的每个位置处的相应输出的预测目标序列,即,将输入序列转换为预测目标序列。
例如,该系统可以是神经机器翻译系统。也就是说,如果输入序列是以原始语言的单词序列,例如句子或短语,则目标序列可以是转换为目标语言的输入序列的翻译,即表示以原始语言的单词序列的以目标语言的单词序列。
作为另一示例,该系统可以是语音识别系统。即,如果输入序列是表示所说话语的音频数据的序列,则目标序列可以是表示该话语的音素、字符或单词的序列,即输入序列的转录。
作为另一示例,该系统可以是自然语言处理系统。例如,如果输入序列是以原始语言的单词序列,例如句子或短语,则目标序列可以是以原始语言的输入序列的摘要,即,具有比输入序列更少单词但保留输入序列的基本含义的序列。作为另一示例,如果输入序列是形成问题的单词的序列,则目标序列可以是形成对该问题的答案的单词序列。
作为另一个示例,该系统可以是计算机辅助医学诊断系统的一部分。例如,输入序列可以是来自电子病历的数据序列,而目标序列可以是预测治疗的序列。
作为另一示例,该系统可以是图像处理系统的一部分。例如,输入序列可以是图像,即来自图像的颜色值序列,而输出可以是描述图像的文本序列。作为另一示例,输入序列可以是文本序列或不同的上下文,而输出序列可以是描述上下文的图像。
作为另一示例,该系统可以是图像生成系统,其生成以特定类型的输入为条件的图像,例如较小的图像、对象类别或自然语言文本序列。在这些示例中,系统可以将图像的表示接收为序列,然后将输出图像生成为颜色值序列(即,输出图像的像素的颜色通道值的序列)或颜色值的二维结构。
作为另一示例,该系统可以是提取摘要系统的一部分。特别地,输入序列可以是来自多个输入文档的文本,并且可选地,来自文档的标题的文本,而输出序列可以是输入文档的文本摘要。
图1示出了示例性神经网络系统100。神经网络系统100是被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中,可以实现下文所述的系统、组件和技术。
神经网络系统100接收输入序列102并处理输入序列102,以将输入序列102转换为输出序列152,即输入序列102的预测目标序列。
输入序列102具有按输入顺序的在多个输入位置中的每个位置处的相应输入令牌,并且输出序列152具有按输出顺序的在多个输出位置中的每个位置处的相应输出令牌。即,输入序列102具有根据输入顺序排列的多个输入,并且输出序列152具有根据输出顺序排列的多个输出。
如上所述,神经网络系统100可以执行需要处理顺序输入以产生顺序输出的各种任务中的任何一个。
神经网络系统100包括潜在预测模型110和并行解码器模型120。
潜在预测模型110被配置为接收输入序列并且处理输入序列以预测针对输入序列对目标序列进行编码的离散潜变量的序列,即,预测对将要由系统100针对输入序列生成的输出序列进行编码的离散潜变量的序列。换句话说,潜在预测模型110处理输入序列x以生成预测序列lp(x),该预测序列lp(x)是将对目标序列进行编码的离散潜变量的序列的预测。
潜变量序列被称为离散潜变量序列,因为序列中的每个潜变量都是离散的,即从具有固定数量的潜变量的可能潜在潜变量集中选择的,而不是连续的。
如将在下文更详细地描述,潜在预测模型110已经被训练为生成与将由自编码器函数130生成的序列匹配的预测序列,该自编码器函数130可访问针对输入序列的已知目标输出序列。作为生成序列的一部分,自编码器函数130从离散潜变量集中选择每个潜变量。
潜在预测模型110被配置为自回归地预测该预测序列中的潜变量。即,潜在预测模型110一个接一个地生成序列中的每个潜变量,即,每个潜变量以已经生成的序列中的潜变量为条件。特别地,潜在预测模型110可以是基于多个自注意力层的模型,例如具有变换器架构的模型。
尽管潜在预测模型110自回归地生成序列,但是潜变量序列比将要生成的输出序列短。例如,潜变量序列可以包括m个潜变量,而输出序列可以包括n个输出,其中,m小于n。例如,m可以是n的1/8、1/4或1/2。因为潜变量序列更短,所以潜在预测模型110可以比可以生成输出序列的传统的自回归模型更快地生成潜变量序列。
并行解码器模型120从预测的潜变量序列和输入序列102生成输出序列152。特别地,并行解码器模型是从所预测的潜变量序列lp(x)和输入序列x生成预测目标序列ad(l,x)的并行模型。因为并行解码器模型120是并行模型,所以并行解码器模型120一遍并且彼此独立地生成预测目标序列中的所有输出。因此,并行解码器模型120可以在最短的时间内将预测潜在序列扩展到包括n个输出的序列,并且预测潜在序列的生成不会显著地影响生成预测目标序列的等待时间。
并行解码器模型120可以被实现为包括多个步长的层的深度神经网络,每个步长使该输入序列到该步长的长度加倍。一旦各层的步长生成了与预测目标序列长度相同的序列,就可以由具有变换器架构的自注意力解码器处理相同长度的序列,以生成输出序列152。
层的多个步长中的每一个都可以包括卷积层的残差块,该残差块接收该步长的输入序列并生成与该步长的输入序列具有相同长度的替代输入序列。每个步长还可以包括具有点积注意力的编码器-解码器注意力层,该层在替代输入序列中的每个位置处的输入序列x上都起作用。可选地,该编码器-解码器注意力层之后可以是残差连接。编码器/解码器注意力层的输出(或残差连接的输出)可以由向上卷积处理,该向上卷积将序列的内部维数加倍,然后执行将序列重新整形以使输入的长度为层的步长的两倍的重新整形操作。并行解码器模型120将预测潜变量序列的长度重复加倍,直到该模型使用多个层步长生成了与输出序列长度相同的序列。
因此,并行解码器模型120以预测潜变量序列和输入序列为条件并行地生成输出序列。
与传统的自回归模型相比,所描述的系统不是直接自回归地生成整个输出序列,而是仅自回归地生成较短的离散变量序列,然后并行地从离散潜变量序列生成输出序列。
为了配置潜在预测模型110和并行解码器模型120以生成准确的输出序列,训练引擎140训练模型110和120以确定模型110和120的参数的训练值。特别地,训练引擎140在包括多个输入-输出对的训练数据上,与自编码器函数130一起训练潜在预测模型110和并行解码器模型120。每对包括输入序列和应当为该输入序列生成的已知目标序列。因此,在训练时,系统100可以具有对输入序列102的已知目标序列104的访问。
自编码器函数130被配置为处理已知目标序列104和输入序列102,以生成对目标序列104进行编码的离散潜变量序列,即,可以由其精确地重构目标序列102的离散潜变量序列。
特别地,如上所述,自编码器函数130可以被实现为包括多个卷积层和关注输入序列的一个或多个注意力层的深度神经网络。例如,自编码器函数130可以被实现为残差卷积的堆栈,即,实现为卷积层,然后是关注x的注意力层和卷积步长的堆栈的残差块。因此,这些层产生包括m个初始编码器输出的初始编码器输出。
自编码器函数130还包括离散化瓶颈,该离散化瓶颈将每个初始编码器输出映射到来自离散潜变量集的离散潜变量,以生成离散潜变量的序列。在训练期间,还由训练引擎140调整该离散潜变量集中的潜变量。
自编码器函数130可以使用多种离散化瓶颈中的任何一个来执行映射。
离散化瓶颈的一个示例是Gumbel-Softmax离散化函数。在Jang,Eric、Gu,Shixiang和Poole,Ben的Categorical reparameterization with gumbel-softmax.CoRR,abs/1611.01144,2016.URL http://arxiv.org/abs/1611.01144中描述了这种瓶颈以及在训练期间当采用这种瓶颈时调整潜变量的方法。
离散化瓶颈的另一个示例是改进的语义散列瓶颈。在Kaiser,
Figure BDA0002623631030000081
和Bengio,Samy的Discrete autoencodersfor sequence models.CoRR,abs/1801.09797,2018.URLhttp://arxiv.org/abs/1801.09797中描述了这种瓶颈以及在训练期间当采用该瓶颈时调整潜变量的方法。
离散化瓶颈的另一个示例是矢量量化-变分自编码器(VQ-VAE)瓶颈。VQ-VAE瓶颈维护潜变量集,并且对于每个初始编码器输出,都将该集中最接近的潜变量选择为与初始编码器输出相对应的离散潜变量。在van den Oord,Aaron,Vinyals,Oriol,andKavukcuoglu,Koray的Neural discrete representation learning.CoRR,abs/1711.00937,2017.URL http://arxiv.org/abs/1711.00937中描述了这种瓶颈以及当使用该瓶颈时在训练期间调整潜变量的方法。
尽管可以采用这些瓶颈中的任何一个,但是当离散潜变量K的集合很大时,也可以不执行这些方法中的某些方法。
为了解决这个问题,自编码器可以采用投影矢量量化(DVQ)瓶颈或切片矢量量化(SVQ)瓶颈。
在SVQ中,离散化瓶颈将每个初始编码器输出分为nd个较小的切片。离散化瓶颈为每个切片维护单独的离散潜变量切片子集,并为每个切片从相应的子集中选择最接近该切片的离散潜变量切片。然后,系统生成与编码器输出相对应的离散潜变量,作为所选择的潜变量切片的级联。潜变量切片在训练期间以与VQ-VAE瓶颈中的潜变量相同的方式进行更新。
在PVQ中,离散化瓶颈维护着固定的nd个随机初始化投影函数的集合。每个投影函数都将长度为D的编码器输出投影到尺寸为D/nd的切片中。对于每个初始编码器输出,离散化瓶颈会应用每个投影,以将初始编码器输出投影到nd个切片中。离散化瓶颈为每个切片维护单独的离散潜变量切片子集,并对每个切片,从相应子集中选择最接近该切片的离散潜变量切片。然后,系统生成与编码器输出相对应的离散潜变量,作为所选择的潜变量切片的级联。潜变量切片在训练期间以与VQ-VAE瓶颈中的潜变量相同的方式进行更新。
因此,所有离散化瓶颈都将初始编码器序列中的每个初始编码器输出映射到离散潜变量集中的离散潜变量。
在给定输入-输出对上训练模型时,系统100还使用并行解码器模型120处理由自编码器函数130生成的潜变量序列,以生成重构目标序列ad(ae(y;x);x)。然后,训练引擎140使用ad(ae(y;x);x)、lp(x)、ae(y;x)和已知目标序列y来训练模型110、120和130。
因此,在训练期间,函数ae(y,x)和ad(l,x)一起形成目标y的自编码器,其另外可以访问输入序列x。
在下文中,将参考图4更详细地讨论联合地训练模型110、120和130。
图2是示出离散潜变量和预测输出的相关性结构的示意图200。特别地,在示意图200的图形表示中,将输入序列x表示为单个节点230,通过由并行解码器模型生成的预测输出y1至yn分别被表示为各个节点240,并且将由潜在预测模型生成的离散潜变量l1至lm被表示为各个节点250。在示意图200中,如果节点a的概率取决于节点b,则从节点a到另一个节点b绘制箭头。
如在示意图200中可以看到的,每个潜变量11至1m取决于输入序列x。另外,每个潜变量li取决于序列中具有索引小于i的所生成的潜变量,即,序列中的该潜变量之前的潜变量。因此,这表示潜在预测模型自回归地生成以输入序列为条件的潜变量序列。
另外,每个预测输出y1至yn都取决于所有潜变量l1至lm以及输入序列x。但是,任何预测输出都不取决于任何其他预测输出。因此,这表示并行解码器模型以潜变量为条件的同时,并行且彼此独立地生成所有预测输出。
因此,示意图200示出了相对于常规自回归模型,由所描述的系统实现的增加的并行性和更快的解码。特别地,常规的自回归模型自回归地生成整个输出序列,即,输出序列中的每个输出取决于输出序列中的该输出之前的所有输出。另一方面,所描述的系统仅自回归地生成短得多的潜在序列,然后并行地生成以较短的潜在序列为条件的整个输出序列。相对于相当或更差执行的自回归模型,这允许解码时间减少一个数量级。
图3是用于从输入序列生成输出序列的示例性过程的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的神经网络系统,例如图1的神经网络系统100可以执行过程300。
系统接收包括输入x1至xk的输入序列x(步骤310)。
系统使用潜在预测模型来处理输入序列,以预测离散潜变量序列,该离散潜变量序列对输入序列的目标序列进行编码,但是比目标序列短(步骤320)。换句话说,预测的离散潜变量序列具有m个潜变量,而目标序列具有n个输出,其中,n大于m。特别地,潜在预测模型被配置为自回归地预测以输入序列为条件的离散潜变量序列。
系统使用并行解码模型来处理预测离散潜变量序列和输入序列,以预测输入序列的目标序列(步骤306)。特别地,并行解码模型被配置为并行且相互独立地生成以离散潜变量序列为条件的目标序列中的所有输出。也就是说,并行解码模型将m个潜变量的序列扩展为单次通过并行解码模型包括n个输出的序列。
在一些实施方式中,系统使用并行解码模型生成多个候选预测目标序列,然后使用功率更高的自回归解码模型对候选预测目标序列进行重新评分。然后,系统可以选择得分最高的候选预测翻译,作为最终预测目标序列。在Gu,Jiatao、Bradbury,James、Xiong,Caiming,Li、Victor O.K.和Socher,Richard的Non-autoregressive neural machinetranslation.CoRR,abs/1711.02281,2017.URL http://arxiv.org/abs/1711.02281中更详细地描述了这种技术。
图4是用于训练潜在预测模型和并行解码器模型的示例性过程的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的神经网络系统,例如图1的神经网络系统100可以执行过程400。
该系统接收包括包括输入x1至xk的输入序列x和包括输出y1至yn的目标序列y的输入-输出对(步骤410)。
系统使用自编码器函数处理目标序列和输入序列,以生成离散潜变量序列ae(y,x)(步骤420)。
系统使用潜在预测模型处理输入序列以生成所预测的离散潜变量序列lp(x),该离散潜变量序列lp(x)表示输入序列的目标序列但比目标序列短(步骤430)。特别地,潜在预测模型被配置为自回归地预测以输入序列为条件的离散潜变量序列。
系统使用并行解码模型来处理离散潜变量序列ae(y,x)和输入序列x,以生成输入序列的所预测的目标序列ad(ae(y,x))(步骤440)。特别地,并行解码模型被配置为并行且相互独立地生成以离散潜变量序列为条件的目标序列中的所有输出。
如上所述,在一些实施方式中,并行解码模型包括对潜变量进行解压缩以生成与目标序列长度相同的序列的第一子网,以及由相同长度序列生成所预测的目标序列的自注意力解码器。在这些实施方式中的一些中,系统在训练的初始阶段(即对在训练期间处理的阈值数量的初始输入-输出对),将真实目标序列y作为自注意力解码器的输入。这样确保在完成“预训练”之后,自注意力解码器具有可以通过并行解码模型的其余部分反向传播并进入自编码器函数和离散化瓶颈的合理的梯度。
该系统相对于损失函数的三个模型的参数确定梯度,该梯度取决于(i)来自将预测目标序列ad(ae(y,x))与目标序列y进行比较的自编码器重建损失,以及(ii)来自将离散潜变量序列ae(y,x)与所预测的潜变量序列lp(x)进行比较的潜在预测损失(步骤450)。例如,损失函数可以是自编码器重构损失和潜在预测损失的和或加权和。系统可以通过反向传播(即通过三个模型中的每个反向传播梯度)来计算相对于每个参数的梯度。用来比较潜变量序列的函数可以是例如距离量度,而用于比较输出序列的函数可能取决于系统被配置为生成的输出的类型。例如,当输出是文本序列时,比较函数可以是困惑度函数。系统还使用适合于所采用的离散化瓶颈的技术,计算对离散潜变量集中的潜变量的更新。
系统可以对最小批量对中的多个输入-输出对中的每一个执行过程400,以确定用于每个对的相应梯度。然后,系统可以组合(例如,平均或求和)梯度,根据被用来训练技术的基于梯度的技术的更新规则,例如rmsProp更新规则、SGD更新规则或Adam更新规则,从组合梯度中确定对三个模型的参数的当前值的更新,并且将更新添加到参数的当前值以确定参数的更新值。
系统可以如上所述重复地更新参数值和潜变量以训练模型来有效地生成针对接收到的输入的所预测的目标输出。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。对于要被配置成执行特定操作或动作的一个或多个计算机的系统意指系统已在其上安装了在操作中使该系统执行这些操作或动作的软件、固件、硬件或软件、固件、硬件的组合。对于要被配置成执行特定操作或动作的一个或多个计算机程序意指该一个或多个程序包括指令,所述指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用包括本说明书中公开的结构及其结构等同物的计算机硬件或者用它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可作为一个或多个计算机程序被实现,所述一个或多个计算机程序即在有形非暂时性存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或多个的组合。替换地或此外,可将程序指令编码在人工生成的传播信号上,所述传播信号例如是机器生成的电、光或电磁信号,该传播信号被生成来对信息进行编码以用于传输到适合的接收器装置以供由数据处理装置执行。
术语“数据处理装置”指代数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序可用包括编译或解释语言或声明或过程语言的任何形式的编程语言编写;并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。程序可以但是不必对应于文件系统中的文件。程序可以被存储在保持其它程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本;在专用于所述程序的单个文件中或者在多个协调文件中,例如存储代码的一个或多个模块、子程序或部分的文件。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛地用于指代任何数据集:数据不需要被以任何特定方式构造,或者根本不构造,并且它可被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可包括多个数据集,其中的每一个可以被不同地组织和访问。
类似地,在本说明书中术语“引擎”广泛地用于指代被编程来执行一个或多个具体功能的基于软件的系统、子系统或过程。通常,引擎将作为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件被实现。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,可在同一计算机或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程计算机执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还可由例如是FPGA或ASIC的专用逻辑电路执行,或者通过专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可基于通用微处理器或专用微处理器或两者,或任何其它种类的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或者实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可由专用逻辑电路补充或者并入在专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者操作上被耦合以从所述一个或多个大容量存储设备接收数据或者将数据传送到所述一个或多个大容量存储设备,或者两者以用于存储数据。然而,计算机不必具有这样的设备。此外,计算机可被嵌入在另一设备中,所述另一设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制器、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例包括半导体存储设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备以及用户可用来向该计算机提供输入的键盘和定点设备,所述显示设备例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,所述定点设备例如是鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到请求而向用户的设备上的web浏览器发送网页。另外,计算机可通过向个人设备发送文本消息或其它形式的消息并且继而从用户接收响应消息来与用户交互,所述个人设备例如是正在运行消息传送应用的智能电话。
用于实现机器学习模型的数据处理装置还可包括例如用于处理机器学习训练或生产,即推理、工作负载的公共和计算密集部分的专用硬件加速器单元。
可使用机器学习框架来实现和部署机器学习模型。所述机器学习框架例如是TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可被实现在计算系统中,所述计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可用来与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过例如通信网络的任何形式或介质的数字数据通信来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备传输例如HTML页面的数据例如以用于向与作为客户端的设备交互的用户显示数据并从该用户接收用户输入的目的。可在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的范围的限制,而是相反地被解释为对可能特定于特定发明的特定实施例的特征的描述。也可在单个实施例中组合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,也可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能在上面被描述按照某些组合起作用并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然按照特定次序在附图中描绘并在权利要求书中记载操作,但是这不应该被理解为要求按照所示的特定次序或者以先后次序执行这样的操作,或者要求执行所有图示的操作以实现所预期的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,所描述的程序组件和系统一般地可被一起集成在单个软件产品中或者包装到多个软件产品中。
已描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可被以不同的次序执行并仍然实现所预期的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所预期的结果。在一些情况下,多任务处理和并行处理可以是有利的。

Claims (18)

1.一种从包括多个输入的输入序列生成包括多个输出的输出序列的方法,所述方法包括:
接收所述输入序列;
使用潜在预测模型处理所述输入序列,所述潜在预测模型被配置为自回归地预测离散潜变量序列,所述离散潜变量序列比所述输出序列短并且对所述输出序列进行编码,其中,所述序列中的每个离散潜变量选自离散潜变量集;以及
使用并行解码器模型,处理所述输入序列和所预测的离散潜变量序列,所述并行解码器模型被配置为从所述输入序列和所预测的离散潜变量序列并行地生成所述输出序列中的输出。
2.根据任一前述权利要求所述的方法,其中,所述潜在预测模型是基于注意力的自回归深度神经网络。
3.根据任一前述权利要求所述的方法,其中,所述并行解码器模型包括:
第一深度神经网络,所述第一深度神经网络被配置为处理所述输入序列和所预测的离散潜变量序列,以生成具有与输出序列相同长度的第一序列;以及
解码器深度神经网络,所述解码器深度神经网络被配置为处理所述第一序列以生成输出序列。
4.根据权利要求3所述的方法,其中,所述解码器深度神经网络是包括多个自注意力层的基于自注意力的深度神经网络。
5.根据权利要求3或4中任一项所述的方法,其中,所述第一深度神经网络包括神经网络层的多个步长,其中,所述神经网络层的每个步长被配置为接收步长输入序列并生成具有所述步长输入序列两倍长度的步长输出序列。
6.根据权利要求5所述的方法,其中,神经网络层的每个步长包括参与所述输入序列的至少一个编码器-解码器注意力层。
7.根据任一前述权利要求所述的方法,其中,所述并行解码器模型和所述潜在预测模型与自编码器函数一起已经被联合地训练,所述自编码器函数是深度神经网络,所述深度神经网络被配置为处理所述输入序列和用于所述输入序列的已知目标序列以生成对所述已知目标序列进行编码的离散潜变量序列。
8.根据权利要求7所述的方法,其中,所述自编码器函数包括:
多个神经网络层,所述多个神经网络层被配置为处理所述输入序列和所述已知目标序列,以生成包括m个初始编码器输出的初始编码器输出,其中,m是所述离散潜变量序列的长度;以及
离散化瓶颈,所述离散化瓶颈被配置为对所述初始编码器输出中的每一个,基于所述初始编码器输出,从所述离散潜变量集中选择离散潜变量。
9.根据权利要求8所述的方法,其中,所述离散化瓶颈是切片矢量量化瓶颈或投影矢量量化瓶颈。
10.一种包括一个或多个计算机以及一个或多个存储设备的系统,所述存储设备存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1-9中任一项所述的方法的操作。
11.一个或多个存储指令的计算机存储介质,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行权利要求1-10中任一项所述的方法的操作。
12.一种系统,包括:
一个或多个计算机,所述一个或多个计算机实现潜在变换器LT模型,所述LT模型是神经网络模型,所述神经网络模型包括处理输入输出对(x,y)=(x1...xk,y1...yn)的组件,所述组件包括:
自编码器组件,所述自编码器组件被配置为实现函数ae(y;x),所述函数ae(y;x)被配置为使用切片矢量量化瓶颈或投影矢量量化瓶颈来将y自编码为离散潜变量的较短序列
Figure FDA0002623631020000031
潜在预测组件,所述潜在预测组件被配置为实现潜在预测模型
Figure FDA0002623631020000032
所述潜在预测模型
Figure FDA0002623631020000033
被配置为基于x而自回归地预测
Figure FDA0002623631020000034
以及
解码器组件,所述解码器组件被配置为实现解码器函数
Figure FDA0002623631020000035
所述解码器函数
Figure FDA0002623631020000036
是被配置为从
Figure FDA0002623631020000037
和输入序列x解码y的并行模型。
13.根据权利要求12所述的系统,其中:
所述函数ae(y;x)和
Figure FDA0002623631020000038
一起形成所述目标y的自编码器,所述自编码器具有对所述输入序列x的附加访问。
14.根据权利要求12或13任一项所述的系统,其中:
所述自编码器组件、潜在预测组件和解码器组件会产生来自将ad(ae(y;x);x)与y进行比较的自编码器重建损耗lr,以及来自将
Figure FDA0002623631020000039
与所生成的
Figure FDA00026236310200000310
进行比较的潜在预测损失llp
15.根据权利要求14所述的系统,其中:
所述LT模型通过最小化lr+llp来训练。
16.根据权利要求12至15任一项所述的系统,其中,所述潜在预测模型
Figure FDA00026236310200000311
是基于注意力的自回归深度神经网络。
17.根据权利要求12至16任一项所述的系统,其中,函数ae(y;x)是包括多个神经网络层和离散化瓶颈的深度神经网络,所述多个神经网络层被配置为处理所述输入序列和所述已知目标序列以生成包括m个初始编码器输出的初始编码器输出,所述离散化瓶颈被配置为:对所述初始编码器输出的每一个,使用所述切片矢量量化瓶颈或所述投影矢量量化瓶颈,基于所述初始编码器输出从所述离散潜变量集选择离散潜变量。
18.一个或多个编码有指令的计算机可读存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机实现根据权利要求11至17任一项所述的系统。
CN201980012517.3A 2018-02-09 2019-02-11 使用离散潜变量的序列模型的快速解码 Pending CN111699497A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862628912P 2018-02-09 2018-02-09
US62/628,912 2018-02-09
PCT/US2019/017534 WO2019157462A1 (en) 2018-02-09 2019-02-11 Fast decoding in sequence models using discrete latent variables

Publications (1)

Publication Number Publication Date
CN111699497A true CN111699497A (zh) 2020-09-22

Family

ID=65529821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980012517.3A Pending CN111699497A (zh) 2018-02-09 2019-02-11 使用离散潜变量的序列模型的快速解码

Country Status (4)

Country Link
US (1) US20200410344A1 (zh)
EP (1) EP3732627A1 (zh)
CN (1) CN111699497A (zh)
WO (1) WO2019157462A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767377A (zh) * 2021-01-27 2021-05-07 电子科技大学 一种级联医学图像增强方法
CN113936243A (zh) * 2021-12-16 2022-01-14 之江实验室 一种离散表征的视频行为识别系统及方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929607B2 (en) * 2018-02-22 2021-02-23 Salesforce.Com, Inc. Dialogue state tracking using a global-local encoder
JP7063052B2 (ja) * 2018-03-28 2022-05-09 富士通株式会社 適合度算出プログラム、適合度算出方法、適合度算出装置、識別プログラム、識別方法及び識別装置
CN111353315B (zh) * 2020-01-21 2023-04-25 沈阳雅译网络技术有限公司 一种基于随机残差算法的深层神经机器翻译系统
CN113590858B (zh) * 2021-06-30 2023-10-03 北京百度网讯科技有限公司 目标对象的生成方法、装置、电子设备以及存储介质
US20230169281A1 (en) * 2021-11-23 2023-06-01 Baidu Usa Llc Fused acoustic and text encoding for multimodal bilingual pretraining and speech translation
CN117219294B (zh) * 2023-11-09 2024-03-29 中国科学技术大学 一种面向罕见病的药物智能推荐方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224776A (ja) * 1993-01-22 1994-08-12 Toshiba Corp 復号装置
CN101107863A (zh) * 2005-01-19 2008-01-16 汤姆森特许公司 用于实时并行编码的方法和装置
US20150356401A1 (en) * 2014-06-06 2015-12-10 Google Inc. Generating representations of input sequences using neural networks
US20170230675A1 (en) * 2016-02-05 2017-08-10 Google Inc. Compressing images using neural networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604956B2 (en) * 2017-10-27 2023-03-14 Salesforce.Com, Inc. Sequence-to-sequence prediction using a neural network model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224776A (ja) * 1993-01-22 1994-08-12 Toshiba Corp 復号装置
CN101107863A (zh) * 2005-01-19 2008-01-16 汤姆森特许公司 用于实时并行编码的方法和装置
US20150356401A1 (en) * 2014-06-06 2015-12-10 Google Inc. Generating representations of input sequences using neural networks
US20170230675A1 (en) * 2016-02-05 2017-08-10 Google Inc. Compressing images using neural networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAMESH NALLAPATI ETAL: "Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond", pages 1 - 12 *
张文娜;李军;: "基于潜变量的驾驶员路径选择行为分析", 科学技术与工程, no. 34, pages 285 - 289 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767377A (zh) * 2021-01-27 2021-05-07 电子科技大学 一种级联医学图像增强方法
CN113936243A (zh) * 2021-12-16 2022-01-14 之江实验室 一种离散表征的视频行为识别系统及方法

Also Published As

Publication number Publication date
WO2019157462A1 (en) 2019-08-15
EP3732627A1 (en) 2020-11-04
US20200410344A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US11869530B2 (en) Generating audio using neural networks
US11862142B2 (en) End-to-end text-to-speech conversion
US10586531B2 (en) Speech recognition using convolutional neural networks
CN111699497A (zh) 使用离散潜变量的序列模型的快速解码
KR20200129198A (ko) 어텐션-기반의 시퀀스 변환 신경망
CN111386537A (zh) 基于注意力的仅解码器的序列转换神经网络
CN111587441A (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