System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 具有变换的激活功能层的神经网络制造技术_技高网

具有变换的激活功能层的神经网络制造技术

技术编号:41404905 阅读:7 留言:0更新日期:2024-05-20 19:31
用于使用包括一个或多个变换的激活函数层的神经网络系统来处理输入的方法、系统和装置,其包括编码在计算机存储介质上的计算机程序。

【技术实现步骤摘要】
【国外来华专利技术】

本说明书涉及通过神经网络层处理输入以生成输出。


技术介绍

1、神经网络是机器学习模型,它采用一层或多层非线性单元来针对接收到的输入预测输出。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每一层根据相应的一组参数的当前值从接收到的输入生成输出。


技术实现思路

1、本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统使用包括变换的激活函数层的神经网络处理输入以生成网络输出。

2、一方面,描述了一种由一个或多个计算机执行的方法,包括例如在神经网络的训练期间接收网络输入,并且,使用包括布置为有向图的多个神经网络层的神经网络来处理网络输入,以为网络输入生成网络输出。多个神经网络层包括多个变换的激活函数层。处理网络输入包括:对于每个变换的激活函数层,接收变换的激活函数层的层输入,以及,从层输入生成对于变换的激活层的逐元素激活函数的激活输入。处理网络输入还包括:使用一个或多个输入变换常数来变换激活输入以生成变换的激活输入,以及,将逐元素激活函数应用于变换的激活输入以生成初始激活输出。处理网络输入还包括使用一个或多个输出变换常数来变换初始激活输出以生成变换的激活输出。当神经网络在训练神经网络之前被初始化时,一个或多个输入变换常数和一个或多个输出变换常数基于神经网络的属性。变换的激活输出被提供作为变换的激活函数层的层输出。

3、从广义上讲,输入变换常数和输出变换常数为激活函数提供了附加的自由度,这允许配置神经网络以便更容易训练,例如无需批量归一化层或跳跃连接。能够根据激活函数的类型选择特定的常数。例如,对于某些激活函数,常数能够定义对于激活输入或输出的缩放(乘法)和/或移位(加法);对于其他激活函数,能够定义更复杂的运算。例如,对于“泄漏relu”激活函数(对于负输入值,具有非零斜率的整流线性激活函数),常数可以定义以零为中心的大体钟形权重。通常,一个或多个常数可以为零或一。

4、能够多种方式确定常数的具体值,如稍后详细描述的。作为一个示例,可以选择每一层的常数的值,使得基于神经网络中的多个层的局部c图和/或局部q图的值的一个或多个约束被满足。

5、在该上下文中,局部c图可以是表征(两个神经网络层输入之间的)余弦相似度函数在神经网络层的输入和输出之间被保留得多好的函数。局部c图能够表示值c的函数,其中,c能够表示前一层的余弦相似度的近似值(并且其中,能够迭代地确定c值)。

6、局部q图可以是表征神经网络层输入和输出之间逐元素激活函数的平方幅度上的变化(例如,收缩或扩展)的函数。局部q图能够表示值q的函数,其中,q能够表示层输入值的内核函数。内核函数的值取决于激活函数,并且能够按期望计算,例如通过从分布中采样值;可以迭代地、逐层地确定它。

7、作为一个示例,可以根据多个神经网络层的(函数)组合局部c图来确定神经网络的全局c图。然后可以基于对于全局c图(例如,对于表示神经网络对于余弦相似度函数的保留全局c图)的约束来选择输入和输出变换常数。稍后针对不同类型的激活函数给出了这一点的各种示例;通常,数值技术能够被用于确定常数的值。该约束能够有助于确保神经网络的输出在训练期间保留有用信息,而对网络架构或激活函数类型没有任何特定约束。在一些实施方式中,约束也可以被应用于全局c图的一阶导数。

8、作为另一示例,可以基于对于局部q图的约束(例如对于特定的输入值,它具有特定的输出值,例如q(1)=1或q(q)=q)来选择输入和输出变换常数。对层输入和层输出之间变化的这种约束也能够促进可训练性。

9、该方法可以但不必在神经网络的训练过程期间或开始时执行。能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。

10、许多深度神经网络很难快速训练,并且在训练后无法很好地一般化到未见过的数据。例如,许多任务要求神经网络具有非常具体的架构元素,例如批量归一化、relu、跳跃连接等,以便经过训练以在任务上表现良好。然而,包括这些特定架构元素的需求能够使设计新的神经网络架构变得困难,或者更一般地,使训练不具有这些元素但可能以其他方式在这些任务上表现出改进的性能的神经网络变得困难。

11、本说明书描述了用于变换神经网络的激活函数层的技术,以消除对这些元素的需求,并允许即使在不包括这些元素时也能有效且快速地训练神经网络。此外,应用所描述的技术导致在训练后更好地一般化到未见过的数据的神经网络,从而提高推理性能。

12、作为一个特定的示例,由于其缺少一个或多个特定元素(例如跳跃连接或批量归一化)而无法在合理的时间内或以合理的计算量被训练的神经网络可以反而被训练为超过具有特定元素的传统神经网络的性能(如果正在被训练的神经网络包括所描述的变换的激活层)。

13、本说明书中描述的技术能够通过消除在神经网络中包括诸如跳跃连接和归一化层的架构元素的需要来减少神经网络对计算资源(例如,内存和计算能力)的使用。例如,实现“跳跃”神经网络中的块的跳跃连接能够需要在生成块的输出的同时存储对块的输入,以例如使块输入能够与块输出相结合(例如,添加到块输出)。因此,从神经网络中移除跳跃连接通过减少中间输出的临时存储来减少神经网络的内存占用。

14、作为一个特定的示例,先前因为存储块输入同时还使用设备存储器生成块的输出超出了设备内存的容量而无法在目标设备上部署的神经网络能够借助于变换如本说明书中描述的神经网络各层的激活函数而在没有跳跃连接的情况下被有效训练,并且因此能够在训练后部署在目标设备上。

15、实现归一化层能够需要通过聚合数据来生成归一化常数来执行计算密集型操作,并且移除归一化层从而消除神经网络的部分计算足迹。

16、通过减少计算资源的使用,本说明书中描述的技术能够使神经网络能够在资源受限的环境中被训练或部署。例如,使用本说明书中描述的变换的激活函数实现的神经网络能够在具有比其他方式所需的更少的计算资源(例如,存储器和计算能力)的设备上被训练或部署。

17、即使在归一化层和跳跃连接能够被在特定的神经网络中而不超出网络的计算预算时,系统设计者也可能不知道这些组件应该插入到神经网络中的什么位置,或者组件的插入是否会解决神经网络的可训练性问题。另一方面,所描述的技术是完全自动化的,并且解决可训练性问题,无需系统设计者进行任何设计或猜测。此外,在某些情况下,使用所描述的技术代替归一化层和跳跃连接能够提高神经网络的性能。

18、在附图和下面的描述中阐述本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。

本文档来自技高网...

【技术保护点】

1.一种由一个或多个计算机执行的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

3.根据权利要求1所述的方法,其中,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

4.根据任一前述权利要求所述的方法,其中,使用一个或多个输入变换常数来变换所述激活输入以生成变换的激活输入包括:

5.根据权利要求4所述的方法,其中,使用一个或多个输入变换常数来变换所述激活输入以生成变换的激活输入包括:

6.根据权利要求1-3中任一项所述的方法,其中,所述激活函数是泄漏RELU激活函数,所述泄漏RELU激活函数对于给定元素,(i)当所述给定元素大于或等于零时是恒等运算,并且(ii)当所述给定元素小于零时将所述给定元素乘以斜率值,并且其中,输出比例常数由所述斜率值定义。

7.根据权利要求6所述的方法,其中,所述输出比例常数等于(i)2与(ii)1和所述斜率值的平方之和之间的比率的平方根。

8.根据任一前述权利要求所述的方法,其中,使用一个或多个输出变换常数来变换所述初始激活输出以生成变换的激活输出包括:

9.根据权利要求8所述的方法,其中,使用一个或多个输出变换常数来变换所述初始激活输出以生成变换的激活输出包括:

10.根据权利要求9所述的方法,其中,所述激活函数是平滑激活函数,并且其中,所述输出比例常数基于具有从噪声分布采样的值的元素的所述移位的初始激活输出的值。

11.根据任一前述权利要求所述的方法,其中,所述多个神经网络层包括一个或多个归一化求和层,并且其中,处理所述网络输入包括,对于每个归一化求和层:

12.根据任一前述权利要求所述的方法,其中,对于所述多个变换的激活函数层中的一个或多个,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

13.根据权利要求12所述的方法,还包括:

14.根据权利要求13所述的方法,其中,所述Delta初始化使用逐条目高斯分布。

15.根据权利要求13所述的方法,其中,所述Delta初始化使用缩放校正均匀正交(SUO)分布。

16.根据任一前述权利要求所述的方法,其中,所述一个或多个输入变换常数和所述一个或多个输出变换常数还基于表示由所述神经网络在初始化时执行的所述操作的非线性程度的超参数。

17.根据权利要求16所述的方法,其中,所述一个或多个输入变换常数和所述一个或多个输出变换常数基于所述超参数和所述神经网络在初始化时的最大斜率函数的估计。

18.根据任一前述权利要求所述的方法,其中,所述层的每一个的所述一个或多个输入变换常数和所述一个或多个输出变换常数被选择使得基于所述神经网络中所述多个层的局部C图和/或局部Q图的值的一个或多个约束被满足。

19.根据权利要求18所述的方法,其中,所述一个或多个约束基于局部C图的值,其中,局部C图是表征余弦相似度函数在神经网络层的所述输入和所述输出之间被保留得多好的函数,其中,全局C图包括用于所述多个神经网络层的复合局部C图,并且其中,所述一个或多个输入变换常数和所述一个或多个输出变换常数是基于对表示所述神经网络对于所述余弦相似度函数的保留的所述全局C图的约束来选择的。

20.根据权利要求18或19所述的方法,其中,所述一个或多个约束基于局部Q图的值,其中,局部Q图是表征在神经网络层的所述输入和所述输出之间的所述逐元素激活函数的平方幅值上的变化的函数,并且其中,所述一个或多个输入变换常数和所述一个或多个输出变换常数是基于对于所述局部Q图的约束来选择的。

21.根据当还引用权利要求17时的权利要求18、19或20所述的方法,其中,所述约束中的至少一个基于所述超参数和所述最大斜率函数的所述估计。

22.根据任一前述权利要求所述的方法,其中,使用所述神经网络处理所述网络输入包括:

23.根据任一前述权利要求所述的方法,其中,所述网络输入是在所述神经网络的训练期间接收的,并且其中,所述方法还包括:

24.一种系统,包括:

25.一种存储指令的一个或多个计算机可读存储介质,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-23中任一项所述的方法的相应操作。

...

【技术特征摘要】
【国外来华专利技术】

1.一种由一个或多个计算机执行的方法,所述方法包括:

2.根据权利要求1所述的方法,其中,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

3.根据权利要求1所述的方法,其中,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

4.根据任一前述权利要求所述的方法,其中,使用一个或多个输入变换常数来变换所述激活输入以生成变换的激活输入包括:

5.根据权利要求4所述的方法,其中,使用一个或多个输入变换常数来变换所述激活输入以生成变换的激活输入包括:

6.根据权利要求1-3中任一项所述的方法,其中,所述激活函数是泄漏relu激活函数,所述泄漏relu激活函数对于给定元素,(i)当所述给定元素大于或等于零时是恒等运算,并且(ii)当所述给定元素小于零时将所述给定元素乘以斜率值,并且其中,输出比例常数由所述斜率值定义。

7.根据权利要求6所述的方法,其中,所述输出比例常数等于(i)2与(ii)1和所述斜率值的平方之和之间的比率的平方根。

8.根据任一前述权利要求所述的方法,其中,使用一个或多个输出变换常数来变换所述初始激活输出以生成变换的激活输出包括:

9.根据权利要求8所述的方法,其中,使用一个或多个输出变换常数来变换所述初始激活输出以生成变换的激活输出包括:

10.根据权利要求9所述的方法,其中,所述激活函数是平滑激活函数,并且其中,所述输出比例常数基于具有从噪声分布采样的值的元素的所述移位的初始激活输出的值。

11.根据任一前述权利要求所述的方法,其中,所述多个神经网络层包括一个或多个归一化求和层,并且其中,处理所述网络输入包括,对于每个归一化求和层:

12.根据任一前述权利要求所述的方法,其中,对于所述多个变换的激活函数层中的一个或多个,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:

13.根据权利要求12所述的方法,还包括:

14.根据权利要求13所述的方法,其中,所述delta初始化使用逐条目高斯分布。

15.根据权利要求13所述的方法,其中,所述de...

【专利技术属性】
技术研发人员:詹姆斯·马滕斯张国栋格热戈日·米卡尔·斯维什奇安德鲁·詹姆斯·巴拉德纪尧姆·德雅尔丹
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:

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

1