CN118043823A - 逐步展开降噪神经网络 - Google Patents
逐步展开降噪神经网络 Download PDFInfo
- Publication number
- CN118043823A CN118043823A CN202280066257.XA CN202280066257A CN118043823A CN 118043823 A CN118043823 A CN 118043823A CN 202280066257 A CN202280066257 A CN 202280066257A CN 118043823 A CN118043823 A CN 118043823A
- Authority
- CN
- China
- Prior art keywords
- output
- sequence
- decoder
- neural network
- output sequence
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 134
- 230000009467 reduction Effects 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000003860 storage Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 37
- 230000001143 conditioned effect Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 5
- 230000006735 deficit Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 15
- 238000010801 machine learning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000026676 system process Effects 0.000 description 5
- 239000000945 filler Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 108091028043 Nucleic acid sequence Proteins 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000006071 cream Substances 0.000 description 1
- 235000021185 dessert Nutrition 0.000 description 1
- 235000015243 ice cream Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
用于使用非自回归神经网络来生成输出序列的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。
Description
背景技术
本说明书涉及使用神经网络来处理输入。
神经网络是采用一层或多层非线性单元来预测针对接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,该系统使用非自回归神经网络来生成输出序列。
特别地,神经网络包括解码器神经网络,该解码器神经网络被配置为接收当前输出序列作为输入。
当前输出序列包括在多个输出位置中的每个输出位置处的输出词元(token)的词表中的相应输出词元。
解码器神经网络被配置为在以上下文输入为条件的同时处理当前输出序列以生成解码器输出,该解码器输出针对多个输出位置中的每个输出位置包括针对输出词元的词表中的每个输出词元的相应分数。
因此,系统可以使用神经网络通过以下操作来迭代地生成新的输出序列:在每次迭代处用使用由解码器神经网络生成的分数选择的词元来替换截至该迭代的当前输出序列中的词元中的一个或多个词元。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
自回归(AR)模型在生成文本和其他词元的序列时显示出优异的结果。然而,虽然它们的训练良好地扩缩,但是对于许多实际应用,采样非常缓慢。此外,对AR模型可以无缝地处理的调节(conditioning)的种类存在限制:从左到右的限制使得难以在撰写不完全的文本草稿或其他不完整序列中“填空”。最后,AR模型要求网络架构是因果性的,严重限制了可以用于文本建模的神经网络架构的种类。
本说明书描述了如何训练非自回归神经网络以准确地生成输出序列以及如何使用经训练的神经网络来解码输出序列。与跟随AR基准并且实际上需要提炼较大AR模型的其他非自回归手段不同,所描述的技术不仅快于AR手段,而且在序列生成任务上实现匹配或超过AR手段的结果的结果。例如,所描述的技术可以用于在机器翻译任务上的非AR模型当中实现最先进的性能。
在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例序列生成系统。
图2是用于训练神经网络系统的示例过程的流程图。
图3示出了当执行单次更新迭代时神经网络系统的训练。
图4是用于生成输出序列的示例过程的流程图。
图5是用于执行后续生成迭代的示例过程的流程图。
各个附图中相同的附图标记和名称指示相同的元件。
具体实施方式
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,其使用非自回归神经网络来生成输出序列。
系统可以被配置为生成各种类型的序列输出中的任一种,例如文本、音频、图像数据等。
作为一个示例,系统可以接收上下文输入作为请求的一部分,并且生成作为对请求的响应的输出序列。作为特定示例,系统可以是对话系统的一部分,并且上下文数据可以是由对话系统的用户提交的提示。
作为另一示例,如果上下文输入是词序列,即,使用一种(例如自然)语言的文本,则由神经网络生成的输出序列可以是输入文本到另一种(例如自然)语言的翻译,即,作为翻译的词序列。
作为另一示例,如果上下文输入是表示口头话语的序列(诸如例如使用时频域表示的数字化音频波形),则由神经网络生成的输出序列可以是作为话语的转录本的文本片段(即,词序列)。
作为另一示例,上下文数据可以是提示,并且输出序列可以是根据提示得到的文本,即,使得神经网络执行条件文本生成任务。
作为另一示例,上下文输入可以是使用自然语言的文本或使用自然语言的文本的特征,并且(当稍后描述的词元可以表示音频帧时)输出序列是定义以自然语言说出的文本的音频的频谱图或其他数据。
作为另一示例,上下文输入可以是图像,即图像像素或图像像素的片块的强度值,并且输出序列是表示图像的解说词的文本序列。
作为另一示例,上下文输入是用于生成图像的任何调节输入,例如文本输入或调节图像的表示,并且目标或最终输出序列表示根据调节输入的图像的像素(当稍后描述的词元可以表示个体像素值或诸如图像片块(patch)的像素组时)。这可以用于例如生成由文本描述的或类似于调节图像的图像,或者用于填补(in-fill)图像。
作为另一示例,上下文输入可以是计算机代码或计算机代码的功能的文本描述,并且输出序列可以是完成上下文输入中的输入代码或执行在上下文输入中描述的功能的使用编程语言的计算机代码序列。
作为另一示例,上下文输入可以是表示分子的序列,例如作为图形或使用SMILES(简化分子输入线输入规范),或DNA或RNA序列,或对于要合成的分子的一个或多个特性或属性的文本描述;并且输出序列可以是表示—例如具有期望的特性或属性的或类似于上下文输入的—要合成的分子的序列。可以根据输出序列来合成分子。
图1示出了示例序列生成系统100。序列生成系统100是被实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中可以实现下面描述的系统、组件和技术。
序列生成系统100使用神经网络系统110来处理上下文输入102以生成输出序列112。
如上所述,系统可以被配置为以任何适当类型的上下文输入102为条件生成任何适当类型的输出序列112。
通常,每个输出序列112包括在多个输出位置中的每个输出位置处的词元的词表中的相应输出词元。
例如,当系统100生成文本序列时,词表中的词元可以是任何适当的文本词元,例如词、词片(word piece)、标点符号等,其表示使用一种或多种自然语言的文本元素,并且可选地,表示在文本语料库中找到的数字和其他文本符号。例如,系统100可以通过应用词元分析器(例如,SentencePiece词元分析器(Kudo等人,arXiv:1808.06226)或另一词元分析器)来将给定的词序列词元化,以将序列划分为来自词表的词元。
为了允许系统100生成可变长度输出序列,词表还可以包括“填充(padding)”词元,其指示在系统100的最终输出中的给定输出位置处应当不存在词元。
更特别地,神经网络系统110包括解码器神经网络120。
解码器神经网络120被配置为接收当前输出序列作为输入,该当前输出序列包括在多个输出位置中的每个输出位置处的输出词元的词表中的相应输出词元,并且在以上下文输入为条件的同时处理当前输出序列以生成解码器输出,该解码器输出包括针对多个输出位置中的每个输出位置的分数分布,该分数分布包括针对输出词元的词表中的每个输出词元的相应分数,例如logit值。如本说明书中所使用的,由神经网络生成的“分数”可以指由神经网络生成的logit值或通过将softmax应用于输出词元的logit值的集合而生成的概率。
通常,解码器神经网络120是并行地生成整个解码器输出的非自回归神经网络,即,在单个正向传递中生成针对所有输出位置的分数分布。然而,解码器神经网络120可以是自回归神经网络,例如递归神经网络。
例如,解码器神经网络120可以被实现为非因果transformer解码器或在单个前向传递(pass)中生成针对多个输出位置的分数分布的另一神经网络。transformer网络可以是特征在于具有一系列自注意力神经网络层的神经网络。自注意力神经网络层具有针对输入的每个元素的注意力层输入,并且在注意力层输入上应用注意力机制以生成针对输入的每个元素的注意力层输出;存在可以使用的许多不同的注意力机制。
系统100然后可以使用解码器输出来更新当前输出序列。
在训练之后,通过使用解码器神经网络120来重复地更新当前输出序列,系统100可以以非自回归方式生成针对给定的接收到的上下文输入102的输出序列112。
也就是说,系统100可以在以上下文输入102为条件的同时在多次生成迭代中的每次生成迭代处更新当前输出序列,并且然后使用在最终生成迭代之后的当前输出序列来生成输出序列112。
因为相对于输出序列112中的位置的数量,生成迭代的数量通常非常小,例如,等于6、8、10、12或16,所以相对于使用自回归模型的系统,系统100可以以大大减少的时延生成输出序列。
在一些情况下,上下文输入102是输出序列112的一部分,即,系统100试图在缺失词元的情况下补全输出序列或生成输出序列112的延续。输出序列112中不是上下文输入的一部分的词元可以从输出词元的词表中随机地初始化。
在一些其他情况下,神经网络系统110还包括编码器神经网络130,其被配置为处理上下文输入102以生成上下文输入102的编码表示,例如,其包括上下文输入的一个或多个嵌入的序列。解码器神经网络120以编码表示为条件,例如,通过关注编码表示。在这些情况下,可以在第一次生成迭代之前随机地初始化输出序列中的所有词元。
例如,当上下文输入102是文本时,编码器神经网络130可以是transformer编码器,其生成嵌入序列,每个嵌入表示上下文输入102中的相应文本词元。
作为另一示例,当上下文输入102是图像时,编码器神经网络130可以是视觉transformer(例如,Dosovitskiy等人,arXiv:2010.11929)或生成嵌入序列的卷积神经网络,每个嵌入表示图像的相应片块。
当神经网络系统110包括编码器神经网络130时,解码器神经网络120可以以各种方式中的任一种以由编码器神经网络130生成的编码表示为条件。作为特定示例,解码器120可以包括将交叉注意力应用到编码表示中的一个或多个交叉注意力层(例如,Vaswani等人,arXiv:1706.03762)。
在一些实施方式中,神经网络系统110包括长度预测神经网络。长度预测神经网络是处理上下文输入102的嵌入以生成长度预测的神经网络,该长度预测定义表示最终输出序列中的输出词元的预测数量的预测目标长度。
然后,系统100包括输出序列的预测目标长度的嵌入,作为用于调节解码器120的编码表示的一部分。以这种方式使用长度预测神经网络可以帮助“引导(guide)”解码器神经网络120确定何时预测针对输出序列中的末端位置的填充词元,而不需要解码器神经网络120生成由长度预测神经网络预测的长度的序列。
下面参考图4和图5描述在推断时使用神经网络系统110来生成输出序列。
在使用神经网络系统110来生成输出序列112之前,系统100内的训练系统150在训练示例160上训练神经网络系统110。
通常,每个训练示例160包括训练上下文输入和训练输出序列,即,应当由神经网络系统110从训练上下文输入生成的真实值(ground truth)训练输出序列。
下面参考图2和图3更详细地描述训练神经网络系统110。
图2是用于训练神经网络系统的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的序列生成系统,例如,图1的序列生成系统100,可以执行过程200。
系统可以在不同批的训练示例上重复地执行过程200的迭代,以更新神经网络系统的参数,即,解码器神经网络和可选的编码器神经网络的参数。
也就是说,在过程200的每次迭代中,系统例如通过从较大的训练数据集采样一批一个或多个训练示例来获得该批,并且使用该批一个或多个训练示例来更新神经网络系统的参数。如果给定输出序列包括少于最大数量的输出词元,则系统可以在使用给定输出序列进行训练之前用填充词元来扩充输出序列。
系统可以继续执行过程200的迭代,直到已经满足用于神经网络系统的训练的终止标准,例如,直到参数已经收敛,直到已经经过阈值量的挂钟(wall clock)时间,或者直到已经执行了过程200的阈值数量的迭代。
每个训练示例包括训练上下文输入和针对训练上下文输入的目标输出序列。
在过程200的每次迭代处,系统针对该批中的每个训练示例执行步骤202-206。
特别地,系统从该批中的目标输出序列生成损坏的输出序列(步骤202)。
系统通过针对输出序列中的一个或多个词元中的每个词元用从词表中随机选择的词元替换输出序列中的输出词元来生成损坏的输出序列。
系统可以以各种方式中的任一种确定用随机选择的词元替换哪些输出词元。
例如,系统可以从在可能的预期损坏比例值上的分布中采样预期损坏比例值。每个损坏比例值定义输出序列中预期通过执行损坏过程而损坏的输出词元的比例。
然后,系统可以针对每个输出位置使用预期损坏比例来确定是否替换目标输出序列中的在输出位置处的输出词元,即,通过确定替换具有等于预期损坏比例的概率的输出词元并且确定不替换具有等于一减去预期损坏比例的概率的输出词元。
对于确定替换输出词元的每个输出位置,系统可以从词表中采样随机词元,并且用从词表中采样的随机词元替换在输出位置处的输出词元。
因此,所得的损坏的输出序列通常将包括来自训练示例中的输出序列的一些随机选择的词元和一些原始词元。
系统然后在一次或多次更新迭代中的每次更新迭代处更新损坏的输出序列(步骤204)。
对于该批中的每个训练示例,更新迭代的数量通常被固定为相同的数量,并且在一些情况下,在整个训练中是固定的。作为特定示例,系统可以在整个训练中针对每个训练示例仅执行单次更新迭代。作为另一特定示例,系统可以在整个训练中针对每个训练示例执行两次更新迭代。
特别地,在每次更新迭代处,系统在解码器神经网络以训练示例中的训练上下文输入为条件的同时使用解码器神经网络来处理截至该更新迭代的损坏的输出序列,以生成针对截至该更新迭代的损坏的输出序列的解码器输出。如上所述,解码器输出包括针对词表中的每个输出词元的相应分数。另外,如上所述,解码器神经网络可以通过在输出序列中包括来自上下文输入的词元(并且防止系统损坏它们)或通过以由编码器神经网络生成的上下文输入的编码表示为条件来以上下文输入为条件。当在推断时使用长度预测神经网络时,系统还可以在训练输出序列的真实值长度上调节解码器(在添加填充词元之前)。
然后,系统通过针对多个输出位置中的每个输出位置使用针对损坏的输出序列的解码器输出从输出词元的词表中选择词元来更新损坏的输出序列。例如,系统可以根据分数对词元进行采样,或者可以选择得分最高的输出词元。
因此,每次更新迭代用已经使用解码器神经网络的输出选择的词元替换截至该迭代的开始的输出序列中的词元。
在已经执行了最后的更新迭代之后,系统在解码器神经网络以训练上下文输入为条件的同时使用解码器神经网络来处理在最后的更新迭代之后的更新后的损坏的输出序列,以生成针对更新后的损坏的输出序列的解码器输出(步骤206)。该解码器输出还包括针对词表中的每个输出词元的相应分数。
然后,系统确定损失函数的关于解码器神经网络的参数的梯度(步骤208)。
损失函数包括第一项,针对每个训练示例,第一项测量相对于目标输出序列的、针对最后更新迭代之后的更新后的损坏的输出序列的解码器输出的质量。测量解码器输出的质量的损失函数项的第一项可以表示针对目标输出序列的重建损失中的第一项。
例如,第一项可以是负对数似然项,针对每个训练示例并且针对每个输出位置,该负对数似然项测量由针对更新后的损坏的输出序列的解码器输出指派给目标输出序列中的在该输出位置处的输出词元的分数的对数。例如,第一项可以是针对每个输出位置的、由针对更新后的损坏的输出序列的解码器输出指派给目标输出序列中的在输出位置处的输出词元的分数的对数之和的针对每个训练示例的平均值的负值。
可选地,损失函数还可以包括针对每次更新迭代的相应的第二项。针对每个训练示例,针对给定更新迭代的第二项测量相对于目标输出序列的、针对截至该更新迭代的损坏的输出序列(即,不同于在最后更新迭代之后的更新后的损坏的输出序列)的解码器输出的质量。测量解码器输出的质量的损失函数项的第二项可以表示针对目标输出序列的重建损失中的第二项。
例如,每个第二项可以是负对数似然项,针对每个训练示例并且针对每个输出位置,该负对数似然项测量由针对截至该更新迭代的损坏的输出序列的解码器输出指派给目标输出序列中的在输出位置处的输出词元的分数的对数。例如,第二项可以是针对每个输出位置的、由针对截至该更新迭代的损坏的输出序列的解码器输出指派给目标输出序列中的在输出位置处的输出词元的分数的对数之和的针对每个训练示例的平均值的负值。
通常,当计算第一项以及当包括第二项时计算第二项的梯度时,系统不贯穿采样操作—即,在更新迭代处使用解码器输出来选择词元的步骤—进行反向传播,。也就是说,当计算每个梯度项时,系统在每次更新迭代之后应用“停止(stop)梯度”。
当损失函数具有多个项时,总损失函数可以是各个项的和或加权和。
系统使用梯度来更新解码器神经网络的参数(步骤210)。例如,系统可以将适当的优化器(例如,Adam优化器、rmsProp优化器、Adafactor优化器或不同的机器学习优化器)应用于梯度和参数以更新参数。
当神经网络系统还包括编码器神经网络时,系统还可以计算关于编码器参数的关于损失函数的梯度,即,通过将梯度穿过解码器神经网络反向传播到编码器神经网络中,并且然后使用梯度,例如,使用如上所述的优化器,来更新编码器神经网络的参数。
当神经网络系统还包括长度预测神经网络时,这可以使用监督训练(例如,基于交叉熵损失)来单独地(但在相同的训练示例上)训练。
因此,通过重复执行过程200,系统可以有效率地训练神经网络以生成准确的输出序列。特别地,系统可以使用比稍后在推断时使用的更少数量的更新迭代,从而提高训练的计算效率。为了对此进行补偿,即,为了确保神经网络仍然被训练以最大化推断准确度,系统从损坏的输出序列开始,而不是从如在推断时所做的从先前分布或噪声分布采样的输出序列开始。这样,模型学习对在推断时间使用的完全展开期间可能遇到的样本进行降噪。
在图3中示出了这种有效率的训练。
图3示出了当执行单次更新迭代时用于训练示例的训练过程的示例。在图3的示例中,词元是例如通过使用词片模型(例如,SentencePiece模型或另一适当的词片词元分析器)对训练数据进行词元化来生成的词片。
如图3所示,训练示例包括训练输出序列310——“A sundae is an ice creamdessert that typically consists of one or”。
然后,系统执行损坏320以生成损坏的训练序列330,该损坏的训练序列330用随机选择的词片替换词片中的多个词片,以产生“A sund loop Ga genes ice greatlyphotograp that76fen$30oneFrench.”。
然后,系统执行“生成式展开(generative unroll)”340,即,执行如上所述的单次更新迭代,以生成更新后的损坏的序列350“A sunday is of optical cream piece thatmay at as one p.”。如从该示例可以看出的,神经网络不能够在单次更新迭代中正确地重建输出序列310,但是更新后的损坏的序列350比损坏的输出序列330更接近输出序列310。
然后,系统计算包括降噪(denoising)项360(上述“第一项”)和展开降噪(unrolled denoising)项370(上述针对单次更新迭代的“第二项”)的损失,降噪项360相对于训练输出序列310测量从损坏的输出序列330生成的解码器输出,展开降噪项370相对于训练输出序列310测量从更新后的损坏的输出序列350生成的解码器输出。
因此,即使仅执行单次更新迭代,损失仍然测量神经网络在从与目标输出显著不同的序列(即,在推断时可能在早期更新迭代处看到的序列)和与目标输出稍微相似的序列(即,在推断时可能在稍后的更新迭代处看到的序列)二者进行预测时的性能。
图4是用于从上下文输入生成最终输出序列的示例过程400的流程图。为了方便起见,过程400将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的神经网络系统(例如,图1的序列生成系统100)可以执行过程400。
系统接收(新的)上下文输入(步骤402)。系统生成包括在多个输出位置中的每个输出位置处的相应输出词元的(新的)输出序列(步骤404)。
例如,系统可以从词表中随机采样每个词元,或者可以从词表中的词元上的先前分布中随机采样每个词元。
作为另一示例,当任务是补全不完整的输出序列(即,包括输出序列中的一些词元但在一个或多个位置处具有缺失词元的序列)并且上下文输入包括不完整的输出序列时,系统可以基于上下文输入来生成新的输出序列,即,通过生成输出序列,该输出序列具有在适当位置处的来自上下文输入的词元并且用随机采样的或来自先前分布的词元替换缺失词元。
例如,当任务需要补全输入序列时,上下文输入可以包括输出序列中的一个或多个初始词元,或者当任务需要“填补(in-fill)”不完全的输入序列时,上下文输入可以包括在整个输出序列中的位置处的一个或多个词元。
当神经网络系统包括编码器神经网络时,系统还使用编码器神经网络来处理上下文输入以生成上下文输入的编码表示,该编码表示包括上下文输入的一个或多个嵌入的序列。
当神经网络系统还包括长度预测神经网络时,系统使用长度预测神经网络来处理上下文输入的一个或多个嵌入,以生成长度预测,该长度预测定义表示最终输出序列中的输出词元的预测数量的预测目标长度。然后,系统包括预测目标长度作为编码表示的一部分,例如,通过将预测目标长度的嵌入级联到由编码器生成的一个或多个嵌入的序列上。
系统然后在多次生成迭代中的每次生成迭代处更新新的输出序列(步骤406)。
特别地,系统通常执行固定数量的生成迭代,例如,4次、8次、12次或16次更新迭代。如上所述,生成迭代的数量通常大于在训练期间使用的更新迭代的数量。
在每次更新迭代时,系统在解码器神经网络以新的上下文输入为条件的同时使用解码器神经网络来更新新的输出序列。
特别地,在每次生成迭代处,系统在解码器神经网络以新的上下文输入为条件的同时使用解码器神经网络来处理自生成迭代起的新的输出序列,以生成针对新的输出序列的解码器输出。
当神经网络系统包括编码器神经网络时,解码器神经网络以编码表示(其可选地还包括长度预测神经网络的输出的嵌入)为条件。
然后,针对多个输出位置的子集,系统使用针对新的输出序列的解码器输出从输出词元的词表中选择词元。子集可以但不必是真子集,其中输出位置的真子集是不包括所有输出位置的子集。在数学上,并且如本文所使用的,子集可以包括多个输出位置中的所有输出位置(即,其包括“非真子集”)。换句话说,然后,针对多个输出位置的真子集或针对所有多个输出位置,系统然后使用针对新的输出序列的解码器输出从输出词元的词表中选择词元。
在一些实施方式中,系统为所有输出位置选择词元,即,子集不是真子集。
在一些其他实施方式中,系统仅为输出位置的真子集选择词元。例如,系统可以随机地选择输出位置的真子集,并且然后仅为真子集中的位置选择新的词元。仅更新输出位置的真子集可以帮助系统生成针对需要多样性的任务的多样化的最终输出序列,例如有条件(conditional)或无条件(unconditional)文本生成。
在一些实施方式中,为了为给定输出位置选择词元,系统可以使用解码器输出对词元进行采样。作为特定示例,系统可以将温度值应用于解码器输出中的每个相应分数,以生成经温度调整的分数并使用经温度调整的分数对词元进行采样。将温度值τ应用于分数score可以包括确定修改的分数scoreτ,使得也就是说,针对每个输出位置,系统可以以降低的温度(即,在零和一之间的温度)使用softmax来处理针对词元的分数(“logit”),以生成在经温度调整的分数(概率)上的分布,并且然后使用经温度调整的分数对词元进行采样。降低温度可以帮助系统以较少的生成迭代收敛到高质量输出序列。
在其他实施方式中,系统使用argmax展开解码(argmax-unrolled decoding)来在每次生成迭代处选择词元。
当执行argmax展开解码时,在第一次生成迭代处,系统例如通过在具有或不具有降低的温度的情况下从分数分布采样来为每个输出位置选择相应的词元。
然后,除了更新后的输出序列之外,系统还将来自先前迭代的解码器输出传递到每个后续生成迭代,并且在后续迭代处,使用来自先前迭代的解码器输出来更新输出序列。下面参考图5更详细地描述当系统使用argmax展开解码时在后续生成迭代处更新输出序列。
系统从在多次更新迭代中的最后生成迭代之后的新的输出序列生成针对新的上下文输入的最终输出序列(步骤408)。
在一些实施方式中,系统直接使用新的输出序列来生成最终输出序列,例如,通过从新的输出序列中移除任何填充词元并提供所得序列作为最终输出序列。
在一些其他实施方式中,系统并行地执行过程400的多次迭代以生成多个新的输出序列,并且然后仅直接使用具有最高得分(例如,最高对数似然)的新的输出序列来生成最终输出序列。
图5是用于当系统使用argmax展开解码时在后续生成迭代处更新输出序列的示例过程500的流程图。为了方便起见,过程500将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,适当编程的神经网络系统,例如,图1的序列生成系统100,可以执行过程500。
如上所述,在第一次生成迭代处,系统使用以上下文输入为条件的解码器神经网络来处理输出序列以生成解码器输出,并且通过针对每个输出位置使用解码器输出从词元的词表中选择相应的词元来更新输出序列。
系统然后在每个后续生成迭代处执行过程500。
系统使用截至该更新迭代的解码器输出来选择输出位置的真子集(步骤502)。特别地,系统可以通过选择阈值数量的最不确定的输出位置来选择真子集。例如,系统可以选择阈值数量的输出位置,在该输出位置处的输出词元接收到解码器输出中的最低分数。
系统使用以上下文输入为条件的解码器神经网络来处理截至生成迭代的输出序列以更新解码器输出(步骤504)。
在更新解码器输出之后,系统通过针对真子集中的每个输出位置使用解码器输出对词元进行采样来生成临时输出序列(步骤506)。
针对不在真子集中的每个输出位置,系统使用解码器输出来选择词元或使用截至该更新迭代的输出位置中的词元作为在输出位置处的词元。
系统使用以上下文输入为条件的解码器神经网络来处理临时输出序列,以生成临时解码器输出(步骤508)。
系统然后更新输出序列(步骤510)。
特别地,系统通过针对不在真子集中的每个输出位置使用解码器输出从词表中选择词元来更新输出序列。更特别地,系统根据解码器输出为位置选择argmax词元(即,具有最高分数的词元)。
针对真子集中的每个输出位置,系统使用临时解码器输出从词表中选择词元。更特别地,系统根据临时解码器输出为该位置选择argmax词元。
因此,相对于不在真子集中的词元使用附加“展开”步来选择最不确定的真子集中的词元。也就是说,通过根据展开的logit而不仅仅是单步预测的logit对低确定性词元进行重采样来执行后续生成迭代。这可以导致采样速度的改进,即,通过要求执行更少的生成迭代,同时维持输出序列质量。
表1
表1示出了各种系统在两个机器翻译任务(英语到德语(EN->DE)和德语到英语(DE->EN))上的性能。特别地,该表按照原始BLEU分数示出了每个系统在每个任务上的性能。其他系统包括自回归(AR)系统和其他非AR系统两者。该表示出了所描述的技术(SUNDAE)在argmax展开解码(“deterministic(确定性)”)和没有argmax展开解码(“stochastic(随机性)”)两者的情况下以及针对不同生成步T的性能。
如从表1可以看出,即使时延减少所描述的技术与AR系统相比具有竞争力并且所描述的技术实现比其他非AR系统更好的性能。此外,如从表1可以看出,对于较少数量的生成步骤,确定性变体实现了优于随机变体的性能。
表2
表2示出了在不同数量的生成步T的情况下由所描述的技术相对于AR模型(上述基于Transformer的模型)在EN->DE翻译任务上实现的改进。如从该表中可以看出,即使在16个生成步的情况下,所描述的技术也相对于AR模型实现了显著的加速,并且对于较少数量的生成步,可以实现高达4.7倍的速度改进,同时仍然实现合理的质量。
本说明书结合系统和计算机程序组件使用术语“配置”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作时使得系统执行这些操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使得该装置执行这些操作或动作。
在本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形地体现的计算机软件或固件中、在计算机硬件中(包括在本说明书中公开的结构及其结构等同物)或在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。可替选地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,该人工生成的传播信号被生成以编码用于传输到合适的接收器装置以供数据处理装置执行的信息。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如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 (25)
1.一种训练神经网络系统的方法,所述神经网络系统包括解码器神经网络,所述解码器神经网络被配置为接收当前输出序列作为输入并且在以上下文输入为条件的同时处理所述当前输出序列以生成解码器输出,所述当前输出序列包括在多个输出位置中的每个输出位置处的输出词元的词表中的相应的输出词元,所述解码器输出针对所述多个输出位置中的每个输出位置包括针对所述输出词元的词表中的每个输出词元的相应的分数,所述方法包括:
获得一批一个或多个训练示例,每个训练示例包括训练上下文输入和针对所述训练上下文输入的目标输出序列;
针对所述批中的每个训练示例:
通过以下操作来从所述目标输出序列生成损坏的输出序列:针对所述输出序列中的一个或多个词元中的每个词元用从所述词表中随机选择的词元替换所述输出序列中的所述输出词元;
通过在一次或多次更新迭代中的每次更新迭代处进行以下操作来更新所述损坏的输出序列:
在所述解码器神经网络以所述训练上下文输入为条件的同时使用所述解码器神经网络来处理截至所述更新迭代的所述损坏的输出序列,以生成针对截至所述更新迭代的所述损坏的输出序列的解码器输出;以及
通过针对所述多个输出位置中的每个输出位置使用针对所述损坏的输出序列的所述解码器输出从所述输出词元的词表中选择词元,来更新所述损坏的输出序列;以及
在所述解码器神经网络以所述训练上下文输入为条件的同时使用所述解码器神经网络来处理在最后更新迭代之后的更新后的损坏的输出序列,以生成针对更新后的损坏的输出序列的解码器输出;
确定损失函数的关于所述解码器神经网络的参数的梯度,所述损失函数包括第一项,针对每个训练示例,所述第一项测量相对于所述目标输出序列的、针对所述最后更新迭代之后的更新后的损坏的输出序列的所述解码器输出的质量;以及
使用所述梯度来更新所述解码器神经网络的所述参数。
2.根据权利要求1所述的方法,其中,仅执行一次更新迭代。
3.根据权利要求1或权利要求2所述的方法,其中,针对每个训练示例并且针对每个输出位置,所述第一项测量由针对更新后的损坏的输出序列的所述解码器输出指派给所述目标输出序列中的在所述输出位置处的输出词元的分数的对数。
4.根据任一前述权利要求所述的方法,其中:
所述损失函数包括针对每次更新迭代的相应的第二项,针对每个训练示例,所述第二项测量相对于所述目标输出序列的、针对截至所述更新迭代的所述损坏的输出序列的所述解码器输出的质量。
5.根据权利要求4所述的方法,其中,针对每个训练示例并且针对每个输出位置,所述第二项测量由针对截至所述更新迭代的所述损坏的输出序列的所述解码器输出指派给所述目标输出序列中的在所述输出位置处的输出词元的分数的对数。
6.根据任一前述权利要求所述的方法,其中,通过针对所述输出序列中的一个或多个词元中的每个词元用从所述词表中随机选择的词元替换所述输出序列中的所述输出词元来从所述目标输出序列生成损坏的输出序列包括:
从第一分布采样预期损坏比例值;
针对每个输出位置,使用所述预期损坏比例来确定是否替换所述目标输出序列中的在所述输出位置处的输出词元;
针对确定替换其中的输出词元的每个输出位置:
从所述词表中采样随机词元;以及
用来自所述词表的采样的随机词元替换在所述输出位置处的输出词元。
7.根据权利要求6所述的方法,其中,针对每个输出位置,使用所述预期损坏比例来确定是否替换在所述输出位置处的输出词元包括:
从通过所述预期损坏值来参数化的伯努利分布采样针对所述输出位置的变量。
8.根据任一前述权利要求所述的方法,其中,通过针对所述多个输出位置中的每个输出位置使用针对所述损坏的输出序列的所述解码器输出从所述输出词元的词表中选择词元来更新所述损坏的输出序列包括针对每个输出位置:
根据针对所述输出位置的相应的分数来从所述词表中采样输出词元。
9.根据任一前述权利要求所述的方法,其中,所述神经网络系统包括编码器神经网络,所述编码器神经网络被配置为处理所述上下文输入以生成所述上下文输入的编码表示,其中,针对每个训练示例,所述解码器神经网络以由所述编码器神经网络生成的所述训练上下文输入的编码表示为条件,并且其中,所述方法还包括:
确定所述损失函数的关于所述编码器神经网络的所述参数的梯度;以及
使用所述梯度来更新所述编码器神经网络的所述参数。
10.根据任一前述权利要求所述的方法,还包括:
在训练之后,接收新的上下文输入;
生成新的输出序列,所述新的输出序列包括在所述多个输出位置中的每个输出位置处的相应的输出词元;
在多次生成迭代中的每次生成迭代处更新所述新的输出序列,所述更新包括在每次生成迭代处:
在所述解码器神经网络以所述新的上下文输入为条件的同时使用所述解码器神经网络来更新所述新的输出序列;以及
从在所述多次更新迭代中的最后生成迭代之后的所述新的输出序列生成针对所述新的上下文输入的最终输出序列。
11.根据权利要求10所述的方法,其中,在所述解码器神经网络以所述新的上下文输入为条件的同时使用所述解码器神经网络来更新所述新的输出序列包括:
在所述解码器神经网络以所述新的上下文输入为条件的同时使用所述解码器神经网络来处理截至所述生成迭代的新的输出序列,以生成针对所述新的输出序列的解码器输出;以及
针对所述多个输出位置的子集,使用针对所述新的输出序列的所述解码器输出从所述输出词元的词表中选择词元。
12.根据权利要求11所述的方法,其中,所述子集是真子集,并且其中,所述方法还包括随机地选择所述子集中的所述多个输出位置。
13.根据权利要求11所述的方法,其中,所述子集不是真子集。
14.根据权利要求11至13中任一项所述的方法,其中,使用针对所述新的输出序列的所述解码器输出从所述输出词元的词表中选择词元包括:将温度值应用于所述解码器输出中的每个相应的分数以生成经温度调整的分数,并且使用所述经温度调整的分数对所述词元进行采样。
15.一种由一个或多个计算机执行的方法,所述方法包括:
接收上下文输入;
生成输出序列,所述输出序列包括多个输出位置中的每个输出位置处的相应的输出词元,其中每个输出词元是从输出词元的词表中选择的;
使用以所述上下文输入为条件的解码器神经网络来处理所述输出序列以生成解码器输出,所述解码器输出针对每个输出位置包括相应的分数分布,所述相应的分数分布包括针对所述输出词元的词表中的每个输出词元的相应的分数;
通过针对每个输出位置使用所述解码器输出从所述词元的词表中选择相应的词元来更新所述输出序列;以及
在所述多次生成迭代中的每次生成迭代处:
使用截至所述生成迭代的所述解码器输出来选择所述输出位置的真子集;
使用以所述上下文输入为条件的所述解码器神经网络来处理截至所述生成迭代的所述输出序列以更新所述解码器输出;
在更新所述解码器输出之后,生成临时输出序列,包括:针对所述真子集中的所述输出位置中的每个输出位置,使用所述解码器输出对词元进行采样;
使用以所述上下文输入为条件的所述解码器神经网络来处理所述临时输出序列以生成临时解码器输出;以及
通过以下操作来更新所述输出序列:
针对不在所述真子集中的每个输出位置,使用所述解码器输出来从所述词表中选择词元;
针对所述真子集中的每个输出位置,使用所述临时解码器输出来从所述词表中选择词元;
从在所述多次更新迭代中的最后更新迭代之后的输出序列生成最终输出序列。
16.根据权利要求15所述的方法,其中,所述解码器神经网络是非自回归模型,所述非自回归模型并行地生成针对所述输出位置的相应的分数分布。
17.根据权利要求15或16所述的方法,还包括:
使用编码器神经网络来处理所述上下文输入以生成所述上下文输入的编码表示,所述上下文输入的所述编码表示包括所述上下文输入的一个或多个嵌入的序列,其中:
所述解码器神经网络以所述编码表示为条件。
18.根据权利要求17所述的方法,还包括:
使用长度预测神经网络来处理所述上下文输入的所述一个或多个嵌入以生成长度预测,所述长度预测定义表示所述最终输出序列中的输出词元的预测数量的预测目标长度,其中所述编码表示包括所述预测目标长度的嵌入。
19.根据权利要求15至18中任一项所述的方法,其中,生成输出序列包括:针对所述输出位置中的一个或多个输出位置,从所述词元的词表中随机地采样词元。
20.根据权利要求15至19中任一项所述的方法,其中,生成临时输出序列包括:针对不在所述真子集中的所述输出位置中的每个输出位置,使用所述解码器输出来选择词元或使用截至所述更新迭代的输出位置中的词元作为在所述输出位置处的词元。
21.根据权利要求15至20中任一项所述的方法,其中,针对不在所述真子集中的每个输出位置,使用所述解码器输出来从所述词表中选择词元包括:根据所述解码器输出来针对所述位置选择argmax词元。
22.根据权利要求15至21中任一项所述的方法,其中,针对所述真子集中的每个输出位置,使用所述临时解码器输出来从所述词表中选择词元包括:根据所述临时解码器输出来针对所述位置选择argmax词元。
23.根据权利要求1至22中任一项所述的方法,其中:
a)所述训练上下文输入或上下文输入是定义使用一种语言的文本的序列,并且所述目标输出序列或最终输出序列表示所述文本的到另一种语言的翻译;或者
b)所述训练上下文输入或上下文输入是表示口头话语的序列,并且所述目标输出序列或最终输出序列表示作为所述话语的转录本的文本片段;或者
c)所述训练上下文输入或上下文输入是表示使用自然语言的文本或文本的特征的序列,并且所述目标输出序列或最终输出序列是定义正在用所述自然语言说出的所述文本的音频的数据;或者
d)所述训练上下文输入或上下文输入是表示图像的像素的序列,并且所述目标输出序列或最终输出序列是表示针对所述图像的解说词的文本序列;或者
e)所述训练上下文输入或上下文输入是表示用于生成图像的调节输入的序列,并且所述目标输出序列或最终输出序列表示根据所述调节输入的图像的像素。
24.一种系统,包括:
一个或多个计算机;以及
存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求1至23中任一项所述的相应的操作。
25.存储指令的一个或多个计算机可读存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求1至23中任一项所述的方法的相应的操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163252979P | 2021-10-06 | 2021-10-06 | |
US63/252,979 | 2021-10-06 | ||
US63/252,617 | 2021-10-06 | ||
PCT/EP2022/077806 WO2023057565A2 (en) | 2021-10-06 | 2022-10-06 | Step-unrolled denoising neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118043823A true CN118043823A (zh) | 2024-05-14 |
Family
ID=91000695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280066257.XA Pending CN118043823A (zh) | 2021-10-06 | 2022-10-06 | 逐步展开降噪神经网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118043823A (zh) |
-
2022
- 2022-10-06 CN CN202280066257.XA patent/CN118043823A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109844773B (zh) | 使用卷积神经网络处理序列 | |
CN110326002B (zh) | 使用在线注意的序列处理 | |
US20220075944A1 (en) | Learning to extract entities from conversations with neural networks | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
CN111727442A (zh) | 使用质量分数来训练序列生成神经网络 | |
US20200410344A1 (en) | Fast decoding in sequence models using discrete latent variables | |
US20220230065A1 (en) | Semi-supervised training of machine learning models using label guessing | |
WO2018067495A1 (en) | Processing text sequences using neural networks | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
US20230205994A1 (en) | Performing machine learning tasks using instruction-tuned neural networks | |
US11481609B2 (en) | Computationally efficient expressive output layers for neural networks | |
US20200372356A1 (en) | Generating neural network outputs using insertion commands | |
US20220398437A1 (en) | Depth-Parallel Training of Neural Networks | |
CN118043823A (zh) | 逐步展开降噪神经网络 | |
US20210383222A1 (en) | Neural network optimization using curvature estimates based on recent gradients | |
WO2022251720A1 (en) | Character-level attention neural networks | |
WO2023057565A2 (en) | Step-unrolled denoising neural networks | |
US20240169184A1 (en) | Efficient decoding of output sequences using adaptive early exiting | |
US20230075716A1 (en) | Sequence modeling using imputation | |
EP4360005A1 (en) | Sequence error correction using neural networks | |
EP4150616A1 (en) | End-to-end speech waveform generation through data density gradient estimation | |
WO2024068781A1 (en) | Discrete token processing using diffusion models | |
WO2022051548A1 (en) | Conditional output generation through data density gradient estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |