使用以比特值为条件的回归神经网络生成输出示例制造技术

技术编号:25409343 阅读:23 留言:0更新日期:2020-08-25 23:11
用于使用神经网络生成输出示例的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括,在每个生成时间步长处,使用回归神经网络并根据隐藏状态,处理包括序列中前一生成时间步长处的N比特输出值的第一回归输入,以生成第一分数分布;使用第一分数分布选择N个比特的前一半的值;使用回归神经网络并根据相同的隐藏状态,处理第二回归输入,该第二回归输入包括(i)前一生成时间步长处的N比特输出值和(ii)N个比特的前一半的值,以生成第二分数分布;以及使用第二分数分布选择输出值的N个比特的后一半的值。

【技术实现步骤摘要】
【国外来华专利技术】使用以比特值为条件的回归神经网络生成输出示例
技术介绍
本说明书涉及使用神经网络生成输出示例。神经网络是采用非线性单元的一个或多个层来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外,还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层的输入,即下一个隐藏层或输出层。网络的每个层根据相应的参数集的当前值,从接收到的输入生成输出。一些神经网络是回归神经网络。回归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,回归神经网络可以使用来自先前时间步长的网络的一些或全部内部状态来计算当前时间步长的输出。回归神经网络的示例是包括一个或多个LSTM存储器块的长短期记忆(LongShort-TermMemory,LSTM)神经网络。每个LSTM存储器块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,其允许该单元存储该单元的先前状态,例如,用于生成当前激活或要提供给LSTM神经网络的其他组件的状态。
技术实现思路
本说明书描述了在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统通过在多个生成时间步长的每一个处生成相应的输出值,使用回归神经网络生成输出示例。输出示例中的每个输出值都是N比特值。在每个生成时间步长,系统生成N个比特的前一半的值,然后生成以N个比特的前一半的值为条件的N个比特的后一半的值。例如,系统可以生成输出值的N/2个最高有效位的值,然后以已经生成的最高有效位的值为条件生成输出值的N/2个最低有效位的值。因此,在一个方面,提供了一种生成输出示例的方法,该输出示例包括在生成时间步长序列的每个生成时间步长处的相应的N比特输出值。该方法可以包括,对于每个生成时间步长,使用回归神经网络并根据回归神经网络的隐藏状态,处理包括序列中前一生成时间步长处的N比特输出值的第一回归输入,以生成在生成时间步长处的输出值中的N个比特的前一半的可能值上的第一分数分布,并且使用该第一分数分布选择输出值的N个比特的前一半的值。该方法可以包括,对于每个生成时间步长,使用回归神经网络并根据相同的隐藏状态,处理第二回归输入,该第二回归输入包括(i)序列中前一生成时间步长处的N比特输出值,以及(ii)N个比特的前一半的值,以生成在生成时间步长处的输出值中N个比特的后一半的可能值上的第二分数分布,并且使用该第二分数分布选择输出值的N个比特的后一半的值。如稍后进一步描述的,该方法的实现方式适于在具有有限计算能力和存储器带宽的处理单元上实现,诸如在移动设备中找到的。例如,该方法的实现方式使用计算架构,其中处理单元被配置为将生成N比特输出值分为两半,生成N个比特的前一半,然后生成N个比特的后一半。通过以这种方式将输出空间划分为两个较小的输出空间而不是一个大的输出空间,序列矩阵-向量乘积计算的数量可以减小一个数量级,促进该方法的实时实现方式。可选地,输出值可以在生成时间步长中的每一个处以相应的条件输入为条件。第一回归输入和第二回归输入中的每一个还可以包括生成时间步长的条件输入。在生成时间步长处生成条件输入可以包括使用条件神经网络来处理条件特征。在实现方式中,处理第一回归输入可以包括处理第一回归输入以生成更新隐藏状态的前一半,然后使用一个或多个第一输出层处理更新隐藏状态的前一半以生成第一分数分布。处理第二回归输入可以包括处理第二回归输入以生成更新隐藏状态的后一半,以及使用一个或多个第二输出层处理更新隐藏状态的后一半以生成第二分数分布。在特定实现方式中,一个或多个第一输出层可以被配置为将第一权重矩阵应用于更新隐藏状态的前一半,以生成第一投影更新隐藏状态。然后,该方法可以将元素方式(element-wise)非线性激活函数应用于第一投影更新隐藏状态以生成第一激活向量,将第二权重矩阵应用于第一激活向量以生成第一罗吉斯(logits),然后将softmax函数应用于第一logits以生成第一分数分布。类似地,一个或多个第二输出层可以被配置为将第三权重矩阵应用于更新隐藏状态的后一半,以生成第二投影更新隐藏状态。然后,该方法可以将元素方式非线性激活函数应用于第二投影更新隐藏状态以生成第二激活向量,将第四权重矩阵应用于第二激活向量以生成第二logits,并将softmax函数应用于第二logits以生成第二分数分布。回归神经网络可以包括一个或多个门。然后,处理第一回归输入可以包括通过将回归权重矩阵应用于隐藏状态来确定每个门的相应回归贡献。然后,该方法还可以包括,对于一个或多个门中的每一个,从第一回归输入确定门的第一输入贡献,从至少门的回归贡献和门的第一输入贡献确定门的第一门向量,以及从第一门向量和隐藏状态生成更新隐藏状态的前一半。类似地,处理第二回归输入可以包括,对于一个或多个门中的每一个,从第二回归输入确定门的第二输入贡献,从至少门的回归贡献和门的第二输入贡献确定门的第二门向量,以及从第二门向量和隐藏状态生成更新隐藏状态的后一半。在实现方式中,处理第二回归输入可以包括生成更新隐藏状态的后一半,而无需从第一回归输入的处理中重新计算门的回归贡献。在实现方式中,回归神经网络仅包括单个回归层。应用于回归神经网络的先前状态的单个回归层可以提供上下文的高度非线性变换,这由回归神经网络的隐藏状态以已经压缩的形式表示。因此,这进一步促进了该方法在具有有限计算能力的处理单元上的部署。在该方法的一些实现方式中,N个比特的前一半是最高有效位,而N个比特的后一半是输出示例(数据项)的最低有效位。在一些实现方式中,可以通过分别从第一分数分布和第二分数分布中采样来选择N个比特的前一半和后一半的值。该方法的实现方式仅允许在生成输出示例的开始时,将回归神经网络的参数加载到处理单元的寄存器中一次。然后,回归神经网络的参数可以在输出示例的生成的整个过程中保持(persist)在寄存器中。这有助于减少实现该方法时使用的存储器带宽。在一些实现方式中,该方法在诸如手机的移动设备的处理单元上操作。在另一方面,提供了一种处理单元,其被配置为在生成时间步长序列的每个生成时间步长处生成包括相应的N比特输出值的输出示例。处理单元被配置为将N比特输出值的生成分为两半,以生成N个比特的前一半,然后生成N个比特的后一半。处理单元可以被配置为,对于每个生成时间步长,使用回归神经网络并根据回归神经网络的隐藏状态,处理包括序列中前一生成时间步长处的N比特输出值的第一回归输入,以生成在生成时间步长处的输出值中的N个比特的前一半的可能值上的第一分数分布,然后使用该第一分数分布选择输出值的N个比特的前一半的值。处理单元还可以被配置为,对于每个生成时间步长,使用回归神经网络并根据相同的隐藏状态,处理第二回归输入,该第二回归输入包括(i)序列中前一时间步处的N比特输出值,以及(ii)N个比特的前一半的值,以生成在生成时间步长处的输出值中的N个比特的后一半的可能值上的第二分数分布,然后使用该第二分数分布选择输出值的N个比特的后一半的值。可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多本文档来自技高网...

【技术保护点】
1.一种生成输出示例的方法,所述输出示例包括在生成时间步长序列的每个生成时间步长处的相应的N比特输出值,所述方法包括对于每个生成时间步长:/n使用回归神经网络并根据所述回归神经网络的隐藏状态来处理包括序列中前一生成时间步长处的所述N比特输出值的第一回归输入,以生成在所述生成时间步长处的输出值中的N个比特的前一半的可能值上第一分数分布;/n使用所述第一分数分布选择所述输出值的N个比特的前一半的值;/n使用所述回归神经网络并根据所述相同的隐藏状态来处理第二回归输入,所述第二回归输入包括(i)序列中前一生成时间步长处的所述N比特输出值,以及(ii)所述N个比特的前一半的值,以生成在所述生成时间步长处的所述输出值中的所述N个比特的后一半的可能值上第二分数分布;以及/n使用所述第二分数分布选择所述输出值的N个比特的后一半的值。/n

【技术特征摘要】
【国外来华专利技术】20180209 US 62/628,9131.一种生成输出示例的方法,所述输出示例包括在生成时间步长序列的每个生成时间步长处的相应的N比特输出值,所述方法包括对于每个生成时间步长:
使用回归神经网络并根据所述回归神经网络的隐藏状态来处理包括序列中前一生成时间步长处的所述N比特输出值的第一回归输入,以生成在所述生成时间步长处的输出值中的N个比特的前一半的可能值上第一分数分布;
使用所述第一分数分布选择所述输出值的N个比特的前一半的值;
使用所述回归神经网络并根据所述相同的隐藏状态来处理第二回归输入,所述第二回归输入包括(i)序列中前一生成时间步长处的所述N比特输出值,以及(ii)所述N个比特的前一半的值,以生成在所述生成时间步长处的所述输出值中的所述N个比特的后一半的可能值上第二分数分布;以及
使用所述第二分数分布选择所述输出值的N个比特的后一半的值。


2.根据任一前述权利要求所述的方法,其中,所述输出值在生成时间步长中的每一个处以相应的条件输入为条件,并且其中,所述第一回归输入和所述第二回归输入各自还包括用于所述生成时间步长的所述条件输入。


3.根据权利要求2所述的方法,还包括:
通过使用条件神经网络处理条件特征,在所述生成时间步长处生成所述条件输入。


4.根据任一前述权利要求所述的方法,其中所述回归神经网络包括一个或多个第一输出层和一个或多个第二输出层,并且其中处理所述第一回归输入包括:
处理所述第一回归输入以生成更新隐藏状态的前一半;以及
使用所述一个或多个第一输出层处理所述更新隐藏状态的前一半,以生成所述第一分数分布。


5.根据权利要求4所述的方法,其中处理所述第二回归输入包括:
处理所述第二回归输入以生成更新隐藏状态的后一半;以及
使用所述一个或多个第二输出层处理所述更新隐藏状态的后一半,以生成所述第二分数分布。


6.根据权利要求5所述的方法,其中,所述一个或多个第一输出层被配置为:
将第一权重矩阵应用于所述更新隐藏状态的前一半以生成第一投影更新隐藏状态,
将元素方式的非线性激活函数应用于所述第一投影更新隐藏状态以生成第一激活向量,
将第二权重矩阵应用于所述第一激活向量以生成第一logits,以及
对第一logits应用softmax函数以生成所述第一分数分布。


7.根据权利要求6所述的方法,其中,所述一个或多个第二输出层被配置为:
将第三权重矩阵应用于所述更新隐藏状态的后一半以生成第二投影更新隐藏状态,
将所述元素方式的非线性激活函数应用于所述第二投影更新隐藏状态以生成第二激活向量,
将第四权重矩阵应用于所述第二激活向量以生成第二logits,以及
将所述softmax函数应用于所述第二logits以生成所述第二分数分布。


8.根据权利要求5-7中任一项所述的方法,其中所述回归神经网络包括一个或多个门,并且其中处理所述第一回归输入包括:
通过将回归权重矩阵应用于所述隐藏状态来确定每个门的相应回归贡献;以及
对于所述一个或多个门中的每一个:
从所述第一回归输入确定门的第一输入贡献,以及
从至少所述门的回归贡献和所述门的第一输入贡献来确定门的第一门向量;以及
从所述第一门向量和所述隐...

【专利技术属性】
技术研发人员:NE卡尔赫布伦纳K西蒙扬EK埃尔森
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:英国;GB

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

1