使用在线注意的序列处理制造技术

技术编号:22300073 阅读:41 留言:0更新日期:2019-10-15 08:42
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于从输入序列中的输入的相应编码表示生成包括在多个输出时间步长中的每一个的相应输出的目标序列。该方法包括:对于每个输出时间步长,按照输入顺序从在先前输出时间步长被选择作为先前上下文向量的编码表示的位置开始,遍历编码表示,直到编码表示被选择为输出时间步的当前上下文向量。解码器神经网络在先前输出时间步长处理当前上下文向量和先前输出,以生成每个可能输出的相应输出分数并且更新解码器循环神经网络的隐藏状态。使用输出分数为输出时间步长选择输出。

Sequence Processing Using Online Attention

【技术实现步骤摘要】
【国外来华专利技术】使用在线注意的序列处理
本说明书涉及使用神经网络生成输入序列的表示。
技术介绍
许多数据处理任务涉及将有序的输入序列转换为有序的输出序列。例如,机器翻译系统将一种语言的输入词语序列翻译成另一种语言的词语序列。作为另一示例,发音系统将输入的字素序列转换成目标的音素序列。一些系统使用一个或多个神经网络来执行序列处理任务。神经网络是采用一个或多个非线性单元层来预测针对接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。一些神经网络是递归神经网络。递归神经网络是接收输入序列并且从输入序列生成输出序列的神经网络。具体地,递归神经网络可以在计算当前时间步长的输出中使用来自先前时间步长的网络的内部状态中的一些或全部。递归神经网络的示例是长短期(LSTM)神经网络,其包括一个或多个LSTM存储器块。每个LSTM存储器块可以包括一个或多个单元(cell),每个单元包括输入门、遗忘门和输出门,其允许单元存储单元的先前状态,例如,以用于生成当前激活或被提供到LSTM神经网络的其他组件。
技术实现思路
本说明书描述了被实施为在执行序列处理的一个或多个位置中的一个或多个计算机上的计算机程序的系统。根据第一方面,提供一种从根据输入顺序排列的输入序列中的输入的相应编码表示中生成包括根据输出顺序排列的多个输出时间步长中的每个处的相应输出的目标序列的方法,该方法包括:对于按照输出顺序在第一输出时间步长之后的每个输出时间步长:按照输入顺序从在先前输出时间步长被选择作为先前上下文向量的编码表示的位置开始,根据输入顺序遍历编码表示,直到编码表示被选择作为输出时间步长的当前上下文向量,包括,对于遍历的每个编码表示:从编码表示确定编码表示的选择概率,并且确定先前输出时间步长的解码器递归神经网络的隐藏状态,以及根据选择概率确定是否选择编码表示作为当前上下文向量;使用解码器递归神经网络处理当前上下文向量和先前输出时间步长处的先前输出,以为可能输出的词汇表中的每个可能输出生成相应的输出分数并且更新解码器递归神经网络的隐藏状态;以及使用输出分数选择输出时间步长处的输出。在一些实施方式中,该方法还包括:对于第一输出时间步长:按照输入顺序从第一位置开始,按照输入顺序遍历编码表示,直到编码表示被选择作为第一输出时间步长处的当前上下文向量,包括,对于每个编码表示:从编码表示确定编码表示的选择概率,并且确定解码器递归神经网络的初始隐藏状态,以及根据选择概率确定是否选择编码表示作为当前上下文向量;使用解码器递归神经网络处理当前上下文向量和占位符输出,以为可能输出的词汇表中的每个可能输出生成相应的输出分数并且更新初始隐藏状态;以及使用输出分数选择第一输出时间步长处的输出。在一些实施方式中,该方法还包括:响应于确定不从在先前输出时间步长处被选择作为先前上下文向量的编码表示的输入顺序中的位置开始的位置选择任何编码表示:使用预定上下文向量作为时间步长的当前上下文向量。在一些实施方式中,从编码表示确定编码表示的选择概率,并且确定先前时间步长的解码器递归神经网络的隐藏状态包括:通过使用能量函数处理编码表示和先前时间步长的解码器递归神经网络的隐藏状态来确定编码表示的能量值;以及将sigmoid函数应用于能量值以确定选择概率。在一些实施方式中,采用噪声增强sigmoid函数。在一些实施方式中,能量值满足:其中,h是编码表示,s是隐藏状态,并且其中,W和U是权重矩阵,v是权重向量,b是偏置向量,以及g和r是在关于训练数据来训练解码器递归神经网络期间已经学习的标量参数。在一些实施方式中,在编码器递归神经网络开始生成编码表示之后但是在编码器递归神经网络已经按照输入顺序完成生成最后编码表示之前,开始遍历。在一些实施方式中,使用输出分数选择第一输出时间步长处的输出包括:根据输出分数选择最高分数的输出。在一些实施方式中,使用输出分数选择第一输出时间步长处的输出包括:根据输出分数从可能输出中采样。在一些实施方式中,解码器递归神经网络已经使用编码表示和输出之间的软强制单调性(softlyenforcedmonotonicity)进行训练。在一些实施方式中,输入序列是原始语言中的词语序列,而输出序列是表示原始语言中的词语序列的输出语言中的词语序列。在一些实施方式中,输入序列是表示说出的话语的音频数据序列,而输出序列是说出的话语的转录。根据第二方面,提供一种系统,包括一个或多个计算机和存储可操作的指令的一个或多个存储设备,该指令在由一个或多个计算机执行时,使得一个或多个计算机执行前述方法的任何实施方式的操作。根据第三方面,提供一种编码有指令的计算机存储介质,该指令在由一个或多个计算机执行时,使得一个或多个计算机执行前述方法的任何实施方式的操作。可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过使用描述的注意(attention)机制,本说明书中描述的序列处理系统的解码器以给出的计算复杂度操作,其中是大O表示法,T是输入序列长度,以及U是输出序列长度。大O表示法指示处理的计算复杂性的度量(例如,完成处理所需的算术运算的数量),并且因此是完成处理所需的计算资源(例如,计算能力)的度量。相反,传统序列处理系统的解码器(使用传统的注意机制)以给出的计算复杂度操作。因此,通过使用所描述的注意机制,与使用传统注意机制的传统序列处理系统所使用的相比,本说明书中描述的序列处理系统在处理输入序列以生成与相对应的输出序列的同时消耗较少的计算资源(例如,通过执行较少的算术运算)。此外,在许多情况下,尽管消耗较少的计算资源,但是本说明书中描述的序列处理系统具有与传统序列处理系统类似的精度。序列处理系统的准确性是指序列处理系统响应于处理输入而生成的输出与对应于输入的目标(即,优选的)输出之间的相似性。本说明书中描述的序列处理系统可以在接收到整个输入序列之前开始生成输出序列的输出。具体地,通过使用所描述的注意机制,本说明书中描述的序列处理系统的解码器可以在输入序列的所有的输入编码表示都可用之前开始生成输出序列的输出。相反,传统序列处理系统(使用传统注意机制)不能开始生成输出序列的输出,直到已经接收到整个输入序列。因此,与传统序列处理系统不同,本说明书中描述的序列处理系统可以在线执行序列处理,这在诸如语音识别和机器翻译的应用中是期望的。在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得明显。附图说明图1A示出示例序列处理系统。图1B是以下操作的图示:(i)传统的基于softmax的注意解码器,以及(ii)如本说明书中描述的训练的解码器。图2是使用序列处理系统生成输出序列的示例处理的流程图。图3是用于在训练序列处理系统之后为输出时间步长生成上下文向量的示例处理的流程图。图4是用于在训练序列处理系统时为输出时间步长生成上下文向量的示例处理的流程图。各个附图中相同的附图标记和名称表示相同的元件。具体实施方式图1A示出示例性序列处理系统100。序列处理系统100是实施本文档来自技高网...

【技术保护点】
1.一种从根据输入顺序排列的输入序列中的输入的相应编码表示来生成包括根据输出顺序排列的多个输出时间步长中的每个处的相应输出的目标序列的方法,所述方法包括:对于按照输出顺序在第一输出时间步长之后的每个输出时间步长:从按照输入顺序在先前输出时间步长被选择作为先前上下文向量的编码表示的位置开始,根据输入顺序遍历编码表示,直到编码表示被选择为所述输出时间步长处的当前上下文向量,包括,对于遍历的每个编码表示:从编码表示确定编码表示的选择概率,并且确定先前输出时间步长的解码器递归神经网络的隐藏状态,和根据选择概率确定是否选择所述编码表示作为当前上下文向量;使用解码器递归神经网络处理当前上下文向量和先前输出时间步长处的先前输出,以为可能输出的词汇表中的每个可能输出生成相应的输出分数并且更新解码器递归神经网络的隐藏状态;以及使用输出分数选择在所述输出时间步长处的输出。

【技术特征摘要】
【国外来华专利技术】2017.02.24 US 62/463,5701.一种从根据输入顺序排列的输入序列中的输入的相应编码表示来生成包括根据输出顺序排列的多个输出时间步长中的每个处的相应输出的目标序列的方法,所述方法包括:对于按照输出顺序在第一输出时间步长之后的每个输出时间步长:从按照输入顺序在先前输出时间步长被选择作为先前上下文向量的编码表示的位置开始,根据输入顺序遍历编码表示,直到编码表示被选择为所述输出时间步长处的当前上下文向量,包括,对于遍历的每个编码表示:从编码表示确定编码表示的选择概率,并且确定先前输出时间步长的解码器递归神经网络的隐藏状态,和根据选择概率确定是否选择所述编码表示作为当前上下文向量;使用解码器递归神经网络处理当前上下文向量和先前输出时间步长处的先前输出,以为可能输出的词汇表中的每个可能输出生成相应的输出分数并且更新解码器递归神经网络的隐藏状态;以及使用输出分数选择在所述输出时间步长处的输出。2.根据权利要求1所述的方法,还包括:对于第一输出时间步长:从按照输入顺序的第一位置开始,按照输入顺序遍历编码表示,直到编码表示被选择作为第一输出时间步长处的当前上下文向量,包括,对于每个编码表示:从编码表示确定编码表示的选择概率,并且确定解码器递归神经网络的初始隐藏状态,和根据选择概率确定是否选择所述编码表示作为当前上下文向量;使用解码器递归神经网络处理当前上下文向量和占位符输出,以为可能输出的词汇表中的每个可能输出生成相应的输出分数并且更新初始隐藏状态;以及使用输出分数选择在第一输出时间步长处的输出。3.根据权利要求1或2中的任意一项所述的方法,还包括:响应于确定不从在先前输出时间步长处被选择作为先前上下文向量的编码表示的输入顺序中的位置开始的位置选择任何编码表示:使用预定上下文向量作为时间步长处的当前上下文向量。4.根据权利要求1至3中的任意一项所述的方法,其中:从编码表示确定编码表示的选择概...

【专利技术属性】
技术研发人员:RJ韦斯TM隆PJ刘CA拉费尔D埃克
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1