用于正则化神经网络的系统和方法技术方案

技术编号:21772944 阅读:21 留言:0更新日期:2019-08-03 21:54
本公开通常涉及机器学习。更具体地,本公开涉及通过在神经网络的训练期间解相关神经网络的神经元或其他参数来正则化神经网络的系统和方法,从而促进这些参数相互创新。

System and Method for Regularized Neural Networks

【技术实现步骤摘要】
用于正则化神经网络的系统和方法相关申请本申请要求美国临时专利申请号62/660,617的优先权,该临时专利申请通过引用整体并入本文。
本公开通常涉及机器学习。更具体地,本公开涉及通过在神经网络的训练期间解相关(decorrelate)神经网络的神经元和/或其他组件或参数来正则化神经网络的系统和方法。
技术介绍
神经网络在大数据预测方面已经提供了巨大突破,以及改善了机器学习的预测准确度和能力。然而,由于神经网络为了实现这样的性能而试图学习的非常大量的参数,因此它们可能显著地过度拟合训练数据,潜在地引起对训练期间未观察到的数据的不良泛化。神经网络还遭受训练中潜在的不稳定性和不可再现性。对于不可再现性,例如,有可能在相同的数据上两次独立训练相同的网络结构仍然可以得到两个非常不同的神经网络,并且有可能对训练期间未观察到的数据产生不同的预测。这可以发生在不保证以相同的顺序访问训练示例的高度并行化和分布式的训练系统中。然后,如果网络然后控制哪些后续训练示例被看见,那么该网络可以随着协变量移位非常不同地演进。这些偏差可以从训练示例的不同随机初始化、并行化和/或顺序产生。已经示出了神经网络中存在大量冗余。冗余可能导致上述过度拟合和其他问题。具体地,网络可以被很好地过度参数化,其中一些参数可以由其他参数预测。因为学习(遗憾)惩罚支付给比所需更多的参数,并且收敛速度和泛化能力减慢,所以这特别导致具有有限的训练示例的过度拟合。因此,当在相同的数据上重新训练但具有训练示例的潜在的不同初始化、并行化和顺序时,神经网络遭受过度拟合、对看不见的数据的潜在的不良泛化、不稳定性和不可再现性。这些问题使得使用神经网络部署大规模系统变得困难,有时甚至是不可能的,由于在提供更准确的预测时无法利用神经网络的显著优势和优点而导致巨大损失。当前的解决方案要求在训练和部署中重复,引起CPU和内存的过度利用,并且由于缺乏资源而阻碍部署更多系统的能力。
技术实现思路
本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中学习,或者可以通过实施例的实践来学习。本公开的一个示例方面针对一种用于训练神经网络的计算机实施的方法。该方法包括由一个或多个计算设备获得描述神经网络的数据。神经网络包括多层神经元。该方法包括由一个或多个计算设备通过神经网络反向传播损失函数来训练神经网络。损失函数描述神经网络相对于一组训练示例的性能。由一个或多个计算设备通过神经网络反向传播损失函数包括,对于神经网络的多个层中的一个或多个层中的每个层:由一个或多个计算设备确定损失函数相对于层中包括的神经元的梯度。对于至少该层,损失函数包括创新损失项,该创新损失项为层中包括的一个或多个神经元或单元中的每一个提供基于层中的一个或多个其他神经元的能力的损失值,以预测这样的神经元的值。通过一个或多个计算设备通过神经网络反向传播损失函数包括,对于神经网络的多个层中的一个或多个层中的每个层:由一个或多个计算设备至少部分地基于包括创新损失项的损失函数的梯度修改该层中包括的神经元,以解相关该层中包括的神经元。本公开的另一示例方面针对一种用于训练神经网络的计算机实施的方法。该方法包括由一个或多个计算设备获得描述神经网络的数据。神经网络包括多层神经元。该方法包括由一个或多个计算设备至少部分地基于由相同层中包括的一个或多个其他神经元预测这样的神经元的值的误差来为多个层中的一个或多个层中包括的一个或多个神经元中的每一个神经元确定有益分数(benefitscore)。该方法包括由一个或多个计算设备至少部分地基于为至少一个神经元确定的有益分数来修改与一个或多个神经元中的这样的至少一个相关联的权重。在一些实施方式中,由一个或多个计算设备至少部分地基于有益分数来修改与一个或多个神经元中的至少一个神经元相关联的权重包括,由一个或多个计算设备在误差小于阈值时将权重正则化为零。在一些实施方式中,该方法还包括在由一个或多个计算设备将权重正则化为零之后,随机地重新初始化与神经元相关联的一个或多个链接(link)。在一些实施方式中,对于一个或多个神经元中的每一个神经元,由相同层中包括的一个或多个其他神经元预测神经元的值的误差包括,根据相同层中包括的一个或多个其他神经元的一个或多个正则化的激活权重估计这样的神经元的完全激活权重的误差。在一些实施方式中,由一个或多个计算设备修改与一个或多个神经元中的至少一个神经元相关联的权重包括,由一个或多个计算设备将与一个或多个神经元中的至少一个神经元相关联的权重修改为正则化的值,该正则化的值等于应用于这样的神经元的有益分数的Sigmoid函数或双曲正切函数与这样的神经元的值的点积。在一些实施方式中,对于一个或多个神经元中的每一个神经元,有益分数包括:所有批次和当前批次的累积平方误差;平均每批次每示例误差;或者一组最近批次的滑动或衰减指数窗口误差。本公开的另一示例方面针对一种用于训练神经网络的计算机实施的方法。该方法包括由一个或多个计算设备获得描述神经网络的数据。神经网络包括分别通过多个链接连接的多个神经元。该方法包括由一个或多个计算设备通过神经网络反向传播损失函数来训练神经网络。损失函数描述了神经网络相对于一组训练示例的性能。由一个或多个计算设备通过神经网络反向传播损失函数包括,对于神经网络的一个或多个神经元、链接或偏差中的每一个:由一个或多个计算设备确定损失函数相对于神经网络的一个或多个神经元、链接或偏差的梯度。对于神经网络的至少一个或多个神经元、链接或偏差,损失函数包括创新损失项,该创新损失项为一个或多个神经元、链接或偏差中的每一个提供基于一个或多个其他神经元、链接或偏差的能力的损失值,以预测这样的神经元、链接或偏差的值。由一个或多个计算设备通过神经网络反向传播损失函数包括,由一个或多个计算设备至少部分地基于包括创新损失项的损失函数的梯度来修改神经网络的一个或多个神经元、链接或偏差,以解相关神经网络的一个或多个神经元、链接或偏差。在一些实施方式中,神经网络的一个或多个其他神经元、链接或偏差可以被包括在神经网络的与它们尝试预测的一个或多个神经元、链接或偏差相同的层中。在一些实施方式中,神经网络的一个或多个神经元、链接或偏差中的至少一个被包括在神经网络的与这样的至少一个神经元、链接或偏差尝试预测的一个或多个神经元、链接或偏差不同的层中。在一些实施方式中,对于来自该层的每个训练批次,随机选择神经网络的一个或多个神经元、链接或偏差中的至少一个。在一些实施方式中,示例是小批次训练批次以计算创新解相关损失。在一些实施方式中,输入层嵌入被随机地或确定地初始化为促进连接到它们的层和塔的解相关的非零值。本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户接口和电子设备。参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。包含在本说明书中并构成其一部分的附图示出了本公开的示例实施例,并且与说明书一起用于解释相关原理。附图说明在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其参考了附图,其中:图1A描绘了根据本公开的示例实施例的训练神经网络的示例计算系统的框图。图1B描绘了根据本公开的示例实施例的示例计算设备的框图。图1C描绘了根据本公本文档来自技高网
...

【技术保护点】
1.一种用于训练神经网络的计算机实施的方法,所述方法包括:由一个或多个计算设备获得描述神经网络的数据,所述神经网络包括多层神经元;以及由一个或多个计算设备通过神经网络反向传播损失函数以训练神经网络,其中所述损失函数描述所述神经网络相对于一组训练示例的性能,并且其中由一个或多个计算设备通过神经网络反向传播损失函数包括,对于所述神经网络的多个层中的一个或多个层中的每个层:由所述一个或多个计算设备确定所述损失函数相对于层中包括的神经元的梯度,其中,至少对于所述层,所述损失函数包括创新损失项,所述创新损失项为所述层中包括的一个或多个神经元中的每一个神经元提供基于所述层中的一个或多个其他神经元的能力的损失值,以预测这样的神经元的值;以及由所述一个或多个计算设备至少部分地基于包括所述创新损失项的损失函数的梯度来修改所述层中包括的神经元以解相关所述层中包括的神经元。

【技术特征摘要】
2018.04.20 US 62/660,6171.一种用于训练神经网络的计算机实施的方法,所述方法包括:由一个或多个计算设备获得描述神经网络的数据,所述神经网络包括多层神经元;以及由一个或多个计算设备通过神经网络反向传播损失函数以训练神经网络,其中所述损失函数描述所述神经网络相对于一组训练示例的性能,并且其中由一个或多个计算设备通过神经网络反向传播损失函数包括,对于所述神经网络的多个层中的一个或多个层中的每个层:由所述一个或多个计算设备确定所述损失函数相对于层中包括的神经元的梯度,其中,至少对于所述层,所述损失函数包括创新损失项,所述创新损失项为所述层中包括的一个或多个神经元中的每一个神经元提供基于所述层中的一个或多个其他神经元的能力的损失值,以预测这样的神经元的值;以及由所述一个或多个计算设备至少部分地基于包括所述创新损失项的损失函数的梯度来修改所述层中包括的神经元以解相关所述层中包括的神经元。2.根据权利要求1所述的计算机实施的方法,其中所述一个或多个层中的至少一个层包括所述神经网络的两个或多个独立的塔的相应部分,并且其中所述创新损失项为所述塔中的一个塔中包括的每个神经元,提供基于其他塔中的神经元、而不是其自身塔中的其他神经元的能力的损失值,以预测这样的神经元的值。3.根据权利要求1所述的计算机实施的方法,其中,所述神经网络的一个或多个层包括所述神经网络的一个或多个隐藏层。4.根据权利要求1所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,所述创新损失项推动这样的神经元的梯度以增加其在所述层中包括的一个或多个其他神经元上的创新。5.根据权利要求1所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,由所述创新损失项提供的所述损失值与由所述层中包括的一个或多个其他神经元预测这样的神经元的值的误差负相关。6.根据权利要求5所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,由所述层中包括的一个或多个其他神经元预测这样的神经元的值的误差包括与线性最小均方误差估计器相关联的误差。7.根据权利要求6所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,所述线性最小均方误差估计器包括在一批训练示例上计算的平均批次误差。8.根据权利要求6所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,所述线性最小均方误差估计器包括直接根据所述层内的估计的相关性计算的预期的均方误差。9.根据权利要求6所述的计算机实施的方法,其中,对于所述一个或多个层中的每个层,所述创新损失项至少部分地基于对于所述层中包括的所有神经元的线性最小均方估计器的平均来提供所述损失值。10.根据权利要求6所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,所述创新损失项相对于对于这样的神经元的线性最小均方误差估计器的平方根衰减。11.根据权利要求5所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,所述创新损失项至少部分地基于所述预测的误差的求逆来提供所述损失值。12.根据权利要求5所述的计算机实施的方法,其中,对于所述层中包括的一个或多个神经元中的每一个神经元,由所述层中包括的一个或多个其他神经元预测这样的神经元的值的误差通过解决相对于所述层中包括的一个或多个其他神经元的线性最小二乘回归问题来确定。13.根据权利要求5所述的计算机实施的方法,其中,...

【专利技术属性】
技术研发人员:GI沙米尔
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1