A method, system and apparatus for training a neural network on training input by optimizing an objective function, including a computer program coded on a computer storage medium, the neural network comprising a first subnetwork followed by a second subnetwork. In one aspect, a method includes: using the neural network to process training input to generate training model output, including using the first sub-network to process sub-network input for the training input to generate sub-network activation according to the current value of the parameters of the first sub-network, and providing the sub-network activation as input to generate sub-network activation. The second subnetwork is described; the composite gradient of the objective function for the first subnetwork is determined by processing the activation of the subnetwork according to the current value of the parameters of the composite gradient model by using the composite gradient model; and the current value of the parameters of the first subnetwork is updated by using the composite gradient model.
【技术实现步骤摘要】
【国外来华专利技术】使用合成梯度来训练神经网络
技术介绍
本说明书涉及训练神经网络。神经网络是采用非线性单元的一个或多个层来针对接收到的输入预测输出的机器学习模型。一些神经网络除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应的参数集的当前值来从接收到的输入生成输出。一些神经网络是递归神经网络。递归神经网络是接收输入序列并且从该输入序列生成输出序列的神经网络。特别地,递归神经网络可在在当前时间步计算输出时使用来自先前时间步的网络的内部状态中的一些或全部。
技术实现思路
本说明书描述作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,所述系统在多个训练输入上训练神经网络,即,以通过优化目标函数来确定神经网络的参数的训练值。一般而言,本说明书中描述的主题的一个创新方面可用由一个或多个计算机执行的用于通过优化目标函数来在多个训练输入上训练神经网络的方法加以具体实现,其中,神经网络被配置成接收网络输入并且处理该网络输入以生成网络输出;神经网络包括后面有第二子网络的第一子网络;并且第一子网络被配置成在通过神经网络对所述网络输入的所述处理期间,接收子网络输入,处理子网络输入以生成子网络激活,并且将子网络激活作为输入提供给第二子网络。方法包括使用神经网络来处理训练输入以为训练输入生成训练模型输出的动作,包括使用第一子网络来处理用于训练输入的子网络输入以根据第一子网络的参数的当前值来为训练输入生成子网络激活并且将子网络激活作为输入提供给第二子网络;通过使用合成梯度模型来根据合成梯度模型的参数的当前值处理子网 ...
【技术保护点】
1.一种由一个或多个计算机执行的用于通过优化目标函数来在多个训练输入上训练神经网络的方法,其中,所述神经网络被配置成接收网络输入并且处理所述网络输入以生成网络输出,其中,所述神经网络包括后面有第二子网络的第一子网络,其中,所述第一子网络被配置成在通过所述神经网络对所述网络输入的处理期间,接收子网络输入,处理所述子网络输入以生成子网络激活,并且将所述子网络激活作为输入提供给所述第二子网络,并且其中,所述方法包括针对每个训练输入:使用所述神经网络来处理所述训练输入以为所述训练输入生成训练模型输出,包括:使用所述第一子网络来处理用于所述训练输入的子网络输入以根据所述第一子网络的参数的当前值为所述训练输入生成子网络激活,以及将所述子网络激活作为输入提供给所述第二子网络;通过使用合成梯度模型来根据所述合成梯度模型的参数的当前值处理所述子网络激活而确定用于所述第一子网络的所述目标函数的合成梯度;以及使用所述合成梯度来更新所述第一子网络的所述参数的所述当前值。
【技术特征摘要】
【国外来华专利技术】2016.05.20 US 62/339,7641.一种由一个或多个计算机执行的用于通过优化目标函数来在多个训练输入上训练神经网络的方法,其中,所述神经网络被配置成接收网络输入并且处理所述网络输入以生成网络输出,其中,所述神经网络包括后面有第二子网络的第一子网络,其中,所述第一子网络被配置成在通过所述神经网络对所述网络输入的处理期间,接收子网络输入,处理所述子网络输入以生成子网络激活,并且将所述子网络激活作为输入提供给所述第二子网络,并且其中,所述方法包括针对每个训练输入:使用所述神经网络来处理所述训练输入以为所述训练输入生成训练模型输出,包括:使用所述第一子网络来处理用于所述训练输入的子网络输入以根据所述第一子网络的参数的当前值为所述训练输入生成子网络激活,以及将所述子网络激活作为输入提供给所述第二子网络;通过使用合成梯度模型来根据所述合成梯度模型的参数的当前值处理所述子网络激活而确定用于所述第一子网络的所述目标函数的合成梯度;以及使用所述合成梯度来更新所述第一子网络的所述参数的所述当前值。2.根据权利要求1所述的方法,其中,所述合成梯度模型是与所述神经网络、所述第一子网络和所述第二子网络中的每一个不同的神经网络。3.根据权利要求1或2中的任一项所述的方法,还包括针对每个训练输入:确定用于所述第一子网络的目标梯度;以及基于所述目标梯度与所述合成梯度之间的误差来更新所述合成梯度模型的所述参数的所述当前值。4.根据权利要求3所述的方法,其中,确定用于所述第一子网络的所述目标梯度包括:通过所述神经网络反向传播所述目标函数的实际梯度以确定所述目标梯度;或者通过所述第二子网络反向传播用于所述第二子网络的合成梯度以确定用于所述第一子网络的所述目标梯度。5.根据权利要求1至4中的任一项所述的方法,其中,所述第一子网络包括多个神经网络层,并且其中,使用所述合成梯度来更新所述第一子网络的所述参数的所述当前值包括:通过所述第一子网络反向传播所述合成梯度以更新所述第一子网络的所述参数的所述当前值。6.根据权利要求1至4中的任一项所述的方法,其中,所述神经网络...
【专利技术属性】
技术研发人员:奥里奥尔·温亚尔斯,亚历山大·本杰明·格拉韦斯,沃伊切赫·恰尔内茨基,科拉伊·卡武克曲奥卢,西蒙·奥辛德罗,麦克斯维尔·埃利奥特·耶德贝里,
申请(专利权)人:渊慧科技有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。