CN118056208A - 具有变换的激活功能层的神经网络 - Google Patents
具有变换的激活功能层的神经网络 Download PDFInfo
- Publication number
- CN118056208A CN118056208A CN202280066763.9A CN202280066763A CN118056208A CN 118056208 A CN118056208 A CN 118056208A CN 202280066763 A CN202280066763 A CN 202280066763A CN 118056208 A CN118056208 A CN 118056208A
- Authority
- CN
- China
- Prior art keywords
- input
- activation
- output
- neural network
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 212
- 230000004913 activation Effects 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000003860 storage Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 50
- 230000009466 transformation Effects 0.000 claims description 32
- 238000010606 normalization Methods 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 16
- 230000001131 transforming effect Effects 0.000 claims description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000004321 preservation Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 103
- 230000008569 process Effects 0.000 description 24
- 239000011159 matrix material Substances 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000036541 health Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000428199 Mustelinae Species 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000002453 shampoo Substances 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
用于使用包括一个或多个变换的激活函数层的神经网络系统来处理输入的方法、系统和装置,其包括编码在计算机存储介质上的计算机程序。
Description
相关申请的交叉引用
本申请要求在2021年10月1日提交的美国临时申请No.63/251,566的优先权。该在先申请的公开内容被认为是本申请的公开的一部分并且通过引用并入本申请的公开中。
技术领域
本说明书涉及通过神经网络层处理输入以生成输出。
背景技术
神经网络是机器学习模型,它采用一层或多层非线性单元来针对接收到的输入预测输出。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每一层根据相应的一组参数的当前值从接收到的输入生成输出。
发明内容
本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统使用包括变换的激活函数层的神经网络处理输入以生成网络输出。
一方面,描述了一种由一个或多个计算机执行的方法,包括例如在神经网络的训练期间接收网络输入,并且,使用包括布置为有向图的多个神经网络层的神经网络来处理网络输入,以为网络输入生成网络输出。多个神经网络层包括多个变换的激活函数层。处理网络输入包括:对于每个变换的激活函数层,接收变换的激活函数层的层输入,以及,从层输入生成对于变换的激活层的逐元素激活函数的激活输入。处理网络输入还包括:使用一个或多个输入变换常数来变换激活输入以生成变换的激活输入,以及,将逐元素激活函数应用于变换的激活输入以生成初始激活输出。处理网络输入还包括使用一个或多个输出变换常数来变换初始激活输出以生成变换的激活输出。当神经网络在训练神经网络之前被初始化时,一个或多个输入变换常数和一个或多个输出变换常数基于神经网络的属性。变换的激活输出被提供作为变换的激活函数层的层输出。
从广义上讲,输入变换常数和输出变换常数为激活函数提供了附加的自由度,这允许配置神经网络以便更容易训练,例如无需批量归一化层或跳跃连接。能够根据激活函数的类型选择特定的常数。例如,对于某些激活函数,常数能够定义对于激活输入或输出的缩放(乘法)和/或移位(加法);对于其他激活函数,能够定义更复杂的运算。例如,对于“泄漏RELU”激活函数(对于负输入值,具有非零斜率的整流线性激活函数),常数可以定义以零为中心的大体钟形权重。通常,一个或多个常数可以为零或一。
能够多种方式确定常数的具体值,如稍后详细描述的。作为一个示例,可以选择每一层的常数的值,使得基于神经网络中的多个层的局部C图和/或局部Q图的值的一个或多个约束被满足。
在该上下文中,局部C图可以是表征(两个神经网络层输入之间的)余弦相似度函数在神经网络层的输入和输出之间被保留得多好的函数。局部C图能够表示值c的函数,其中,c能够表示前一层的余弦相似度的近似值(并且其中,能够迭代地确定c值)。
局部Q图可以是表征神经网络层输入和输出之间逐元素激活函数的平方幅度上的变化(例如,收缩或扩展)的函数。局部Q图能够表示值q的函数,其中,q能够表示层输入值的内核函数。内核函数的值取决于激活函数,并且能够按期望计算,例如通过从分布中采样值;可以迭代地、逐层地确定它。
作为一个示例,可以根据多个神经网络层的(函数)组合局部C图来确定神经网络的全局C图。然后可以基于对于全局C图(例如,对于表示神经网络对于余弦相似度函数的保留全局C图)的约束来选择输入和输出变换常数。稍后针对不同类型的激活函数给出了这一点的各种示例;通常,数值技术能够被用于确定常数的值。该约束能够有助于确保神经网络的输出在训练期间保留有用信息,而对网络架构或激活函数类型没有任何特定约束。在一些实施方式中,约束也可以被应用于全局C图的一阶导数。
作为另一示例,可以基于对于局部Q图的约束(例如对于特定的输入值,它具有特定的输出值,例如Q(1)=1或Q(q)=q)来选择输入和输出变换常数。对层输入和层输出之间变化的这种约束也能够促进可训练性。
该方法可以但不必在神经网络的训练过程期间或开始时执行。能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
许多深度神经网络很难快速训练,并且在训练后无法很好地一般化到未见过的数据。例如,许多任务要求神经网络具有非常具体的架构元素,例如批量归一化、ReLU、跳跃连接等,以便经过训练以在任务上表现良好。然而,包括这些特定架构元素的需求能够使设计新的神经网络架构变得困难,或者更一般地,使训练不具有这些元素但可能以其他方式在这些任务上表现出改进的性能的神经网络变得困难。
本说明书描述了用于变换神经网络的激活函数层的技术,以消除对这些元素的需求,并允许即使在不包括这些元素时也能有效且快速地训练神经网络。此外,应用所描述的技术导致在训练后更好地一般化到未见过的数据的神经网络,从而提高推理性能。
作为一个特定的示例,由于其缺少一个或多个特定元素(例如跳跃连接或批量归一化)而无法在合理的时间内或以合理的计算量被训练的神经网络可以反而被训练为超过具有特定元素的传统神经网络的性能(如果正在被训练的神经网络包括所描述的变换的激活层)。
本说明书中描述的技术能够通过消除在神经网络中包括诸如跳跃连接和归一化层的架构元素的需要来减少神经网络对计算资源(例如,内存和计算能力)的使用。例如,实现“跳跃”神经网络中的块的跳跃连接能够需要在生成块的输出的同时存储对块的输入,以例如使块输入能够与块输出相结合(例如,添加到块输出)。因此,从神经网络中移除跳跃连接通过减少中间输出的临时存储来减少神经网络的内存占用。
作为一个特定的示例,先前因为存储块输入同时还使用设备存储器生成块的输出超出了设备内存的容量而无法在目标设备上部署的神经网络能够借助于变换如本说明书中描述的神经网络各层的激活函数而在没有跳跃连接的情况下被有效训练,并且因此能够在训练后部署在目标设备上。
实现归一化层能够需要通过聚合数据来生成归一化常数来执行计算密集型操作,并且移除归一化层从而消除神经网络的部分计算足迹。
通过减少计算资源的使用,本说明书中描述的技术能够使神经网络能够在资源受限的环境中被训练或部署。例如,使用本说明书中描述的变换的激活函数实现的神经网络能够在具有比其他方式所需的更少的计算资源(例如,存储器和计算能力)的设备上被训练或部署。
即使在归一化层和跳跃连接能够被在特定的神经网络中而不超出网络的计算预算时,系统设计者也可能不知道这些组件应该插入到神经网络中的什么位置,或者组件的插入是否会解决神经网络的可训练性问题。另一方面,所描述的技术是完全自动化的,并且解决可训练性问题,无需系统设计者进行任何设计或猜测。此外,在某些情况下,使用所描述的技术代替归一化层和跳跃连接能够提高神经网络的性能。
在附图和下面的描述中阐述本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。
附图说明
图1示出了示例神经网络系统。
图2是用于使用变换的激活函数层来处理输入的示例过程的流程图。
图3是用于训练具有变换的激活函数层的神经网络的示例过程的流程图。
图4是示出所描述的技术相对于传统技术的性能的图表。
各种附图中相同的附图标号和标记指示相同的元件。
具体实施方式
本说明书描述了在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统使用包括变换的激活函数层的神经网络来处理输入。
神经网络能够被训练来执行任何类型的机器学习任务,即能够被配置为接收任何类型的数字数据输入并基于输入生成任何类型的分数、分类或回归输出。
在一些情况下,神经网络是被配置为执行图像处理任务(即,接收输入图像)并处理输入图像(即,处理图像的像素的强度值)以针对输入图像生成网络输出的神经网络。例如,任务可以是图像分类,并且神经网络针对给定图像生成的输出可以是一组对象类别中的每一个的分数,每个分数表示图像包含属于该类别的对象的图像的估计可能性。作为另一示例,任务能够是图像嵌入生成,并且由神经网络生成的输出能够是输入图像的数字嵌入。作为又一示例,任务能够是对象检测,并且由神经网络生成的输出能够识别在其描绘特定类型对象的输入图像中的位置。作为又一示例,任务能够是图像分割,并且由神经网络生成的输出能够将输入图像的每个像素分配给来自一组类别中的一个类别。
作为另一示例,如果对神经网络的输入是互联网资源(例如,网页)、文档或文档的部分或者从互联网资源、文档或文档的部分提取的特征,则任务能够是对资源或文档进行分类,即,由神经网络针对给定互联网资源、文档或文档的部分生成的输出可以是一组主题中的每个主题的分数,每个分数表示互联网资源、文档、或文档部分是关于该主题的估计可能性。
作为另一示例,如果对神经网络的输入是特定广告的印象上下文的特征,则由神经网络生成的输出可以是表示特定广告将被点击的估计可能性的分数。
作为另一示例,如果对神经网络的输入是针对用户的个性化推荐的特征,例如表征推荐的上下文的特征,例如表征由用户采取的先前动作的特征,则由神经网络生成的输出可以是一组内容项中的每一个的分数,其中,每个分数表示用户将对被推荐内容项做出有利响应的估计可能性。
作为另一示例,如果对神经网络的输入是一种语言的文本序列,则由神经网络生成的输出可以是另一种语言的一组文本片段中的每一个的分数,每个分数表示另一种语言的文本片段是输入文本到另一种语言的正确翻译的估计可能性。
作为另一示例,该任务可以是音频数据处理任务。输入到神经网络的音频数据可以包括数字化音频波形(例如,语音波形)的表示。这种表示可以包括表示波形的数字化幅度值的样本,或者例如波形的时频域表示。作为音频处理任务的一个示例,如果对神经网络的输入是表示口述话语的序列,则由神经网络生成的输出可以是一组文本片段中的每个的分数,每个分数表示该文本片段是该话语的正确转录的估计可能性。作为另一示例,该任务可以是关键字识别任务,其中,如果对神经网络的输入是表示口述话语的序列,则由神经网络生成的输出能够指示在该话语中是否说出特定单词或短语(“热词”)。作为另一示例,如果对神经网络的输入是表示口述话语的序列,则由神经网络生成的输出能够识别说出该话语所使用的自然语言。
作为另一示例,任务能够是自然语言处理或理解任务,例如蕴涵任务、释义任务、文本相似度任务、情感任务、句子完成任务、语法任务等等,其操作某种自然语言的文本序列。
作为另一示例,该任务能够是文本到语音任务,其中,输入是自然语言的文本或自然语言的文本的特征,并且网络输出是声谱图或定义以自然语言说出的文本的音频的其他数据。
作为另一示例,该任务能够是健康预测任务,其中,输入是患者的电子健康记录数据,并且输出是与患者未来健康相关的预测,例如应该对患者开处方的预测治疗、对于患者发生不良健康事件的可能性或对患者的预测诊断。
作为另一示例,任务能够是代理控制任务,其中,输入是表征环境状态的观察,并且输出定义由代理响应于观察而执行的动作。例如,代理能够是真实世界或模拟机器人、工业设施的控制系统或控制不同类型代理的控制系统。作为一个更具体的示例,对神经网络的输入可以包括例如来自代理的或与代理相关联的图像传感器或其他传感器的、表征真实世界环境的状态的观察,以生成用于控制在真实世界中运行以执行诸如操纵或移动物体或在环境中导航等任务的代理(例如机械代理,诸如机器人或交通工具)的动作控制数据。
具体地,本说明书中描述的神经网络能够具有任何适当的架构,但是架构中的一层或多层被变换的激活函数层替换,即,如下面的描述中所描述的。
图1示出了示例神经网络系统100。神经网络系统100是其中能够实现下面描述的系统、组件和技术的、在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例。
神经网络系统100使用神经网络110处理网络输入102以生成网络输出112。
更具体地,神经网络110包括被布置为有向图的多个神经网络层,并且神经网络被配置为通过以由有向图定义的顺序处理通过神经网络中的每个层的网络输入102来从网络输入102生成网络输出112,即,使得将每个层的输出作为输入提供给通过有向图中的输出边连接到该层的任何层。
通常,多个神经网络层包括多个变换的激活函数层120。
与具有非线性激活函数的传统层不同,变换的激活函数层120使用固定并且在训练期间或训练后(即推理期间)不改变的层的一组标量值(“常数”)来变换非线性激活函数的输入、输出或两者。
非线性激活函数是将非线性函数应用于给定激活输入的每个元素以生成激活输出的对应元素的函数。激活函数的示例包括修正线性单元(ReLU)、泄漏ReLU、Swish、sigmoid、tanh等。
除了变换的激活函数层之外,神经网络110还能够包括附加层,例如输出层、不具有激活函数的仿射层(例如,不具有激活函数的全连接层或卷积层)、归一化求和层等等。
更具体地,神经网络110能够具有由变换的激活函数层120、没有激活函数的仿射层、归一化求和层和输出层的某种组合构成的任何架构。
作为一个特定示例,能够通过修改现有架构来生成神经网络110。例如,能够修改现有架构以移除归一化层,例如批量归一化或层归一化层,并且移除神经网络中的跳跃连接或用归一化求和层替换跳跃连接。
归一化求和层是对于通过有向图中的输入边连接到归一化求和层的多个神经网络层中的每一个接收由神经网络层在网络输入102的处理期间生成的相应层输出的层。归一化求和层将相应的归一化权重应用于相应层输出中的每一个以生成相应的加权层输出,并且通过对相应加权层输出求和来生成归一化求和层的层输出。这些权重被称为归一化权重,因为权重的平方被限制为一,即归一化权重的平方和为一。
例如,能够通过移除归一化层和跳跃连接或者通过移除归一化层并用接收与跳跃连接相同的输入的归一化求和层替换每个跳跃连接来从ResNet架构生成神经网络110。
更一般地,如上所述,神经网络系统100能够被配置为执行任何类型的机器学习任务,即,接收任何类型的数字数据输入并基于输入生成任何类型的分数输出、分类输出或回归输出。作为一个特定示例,能够如上所述修改用于执行给定机器学习任务的神经网络的任何适当架构以生成神经网络110。
具体地,神经网络110的每一层被配置为接收输入并从输入生成输出,并且神经网络层共同处理由神经网络接收的神经网络输入102以针对每个接收神经网络输入102生成相应的神经网络输出112。
有向图中的一些或全部神经网络层根据神经网络层的一组(可训练)参数(例如,神经网络层的权重和可选地偏差)的当前值从输入生成输出。例如,一些层可以是全连接层,全连接层将接收到的输入乘以当前参数值的矩阵作为从接收到的输入生成输出的一部分。作为另一示例,一些层可以是卷积层,其在卷积层的权重的滤波器组与对该层的层输入之间执行卷积。这样的滤波器组可以由滤波器组张量定义。
在使用神经网络110处理新输入之前,神经网络系统100训练神经网络以确定神经网络参数的训练值,包括变换的激活函数层120的参数。
具体地,系统100基于包括多批训练示例的训练数据而训练神经网络110。一批训练示例是一组多个训练示例,每个训练示例包括训练网络输入和用于训练输入的目标输出,该目标输出表示应该由神经网络110通过执行神经网络110被配置用于训练网络输入的机器学习任务而生成的输出。
例如,在训练期间的每次迭代时,神经网络系统100能够处理一批训练示例并为该批中的每个训练输入生成相应的神经网络输出。然后,神经网络输出能够被用于例如通过下述方式调整神经网络层的参数值:通过传统的梯度下降和反向传播神经网络训练技术计算相对于基于神经网络输出和训练示例中的目标输出的神经网络任务的损失函数(例如,交叉熵损失、负对数似然损失、均方误差损失等)的参数的梯度。
因此,变换的激活函数层120和具有可学习权重的任何其他层的参数是在神经网络的训练期间通过梯度下降和反向传播来学习的。
在训练神经网络110之前(也称为“初始化时”),系统100初始化神经网络110的层的参数(包括变换的激活函数层120的参数)的值,并且确定变换的激活函数层120的常数的值。
在训练期间,系统100更新层110的参数值,但保持常数值固定。
具体地,系统100能够基于网络110在初始化时的属性来确定常数的值。
更具体地,这些属性包括变换的激活函数层120所采用的激活函数的类型。
在一些实施方式中,这些属性还包括神经网络中的多个层的局部C图和局部Q图的值。
具体地,给定神经网络110的层的权重的一些初始化方案,例如随机初始化方案,能够逐层计算神经网络110的确定性内核使得:
其中,/>其中,l表示神经网络的第l层,x1和x2是两个网络输入,/>是第l+1层的激活函数,并且d0是网络输入的维数。虽然在初始化时神经网络的权重可能是随机的,但上述手段获取了确定性内核的近似值。
下面参考图3针对全连接层和卷积层更详细地描述这一点。
给定上述公式,Σl+1的任何对角线条目仅取决于对应的对角线条目/>因此,能够使用给定神经网络层的局部Q图来计算这些对角线条目,其中,局部Q图是满足下式的函数:
其中,
因此,是内核/>的近似值。
给定上述公式,能够使用给定神经网络层的局部C图来计算Σl+1的归一化非对角线项cl+1,其中,局部C图是满足下式的函数:
其中,
因此,cl是x1的l层输出与x2的l层的输出之间的余弦相似度的近似值。
由于是三维函数,因此很难分析,因为相关的q值对于不同的输入能够显著改变。然而,通过缩放输入以具有范数/>并且如下所述,重新缩放/>以使/>可以得出对于所有l而言/>这允许将/>视为满足/>的从[-1;1]到[-1;1]的一维函数。
在一些实施方式中,系统100能够在神经网络110处理网络输入以生成归一化输入之前对每个网络输入102应用归一化。作为一个示例,系统100能够对每个网络输入102进行归一化,使得网络输入102的范数等于作为另一示例,通过将每位置归一化应用于网络输入102的元素也满足上述条件。即,系统100能够提供归一化输入作为神经网络110的初始神经网络层的层输入,即对由有向图中初始节点表示的层的层输入。
系统还能够从局部C图和局部Q图计算用于神经网络的全局C图和全局Q图/>也就是说,系统能够将神经网络110的全局C图确定为各层的局部C图的复合,例如,并将神经网络110的全局Q图确定为全局Q图的复合。
当如上计算时,全局Q和C图表征在初始化时通过神经网络110的信号传播。q值近似于激活的平方幅度,使得描述通过神经网络110的动作的该幅度的收缩或扩展。
另一方面,c值近似不同输入的函数值的余弦相似度,使得描述神经网络110保留从其输入到其输出的该余弦相似度的程度。
在一些实施方式中,选择层120的常数值,使得满足对于局部C图和局部Q图(并且因此全局C和Q图)的某些约束,系统100能够确保局部和全局C和Q图表现良好,并且即使当诸如归一化层以及在某些情况下残余连接(也称为“跳跃连接”)的组件被移除时,也允许神经网络110被更有效地训练。
如上所述,当跳跃连接未被移除时,系统用归一化求和层替换跳跃连接。使用归一化求和层,因为与非归一化跳跃连接不同,它们保持网络中所有q值均为1的属性。
下面参考图3更详细地描述这些约束和选择常数值。
图2是用于使用变换的激活函数层来处理输入的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的神经网络系统中包括的变换激活函数层(例如,图1的神经网络系统100中包括的变换的激活函数层120之一)能够执行过程200。
过程200能够在推理期间执行,即,在神经网络已经被训练之后,或者在训练期间执行,即,作为通过神经网络的前向传递的一部分,以计算训练输入的网络输出并随后通过计算通过神经网络的向后传递来更新变换的激活函数层和神经网络中其他层的参数的值。也就是说,当在训练期间执行过程200时。
通常,变换的激活函数层被配置为接收具有多个元素的层输入。例如,层输入能够是向量、矩阵或高阶张量,例如具有多个通道的特征图。
如果变换的激活函数层是有向图中的初始层,则该层输入是网络输入。如果不是,则层输入是由多个神经网络层中的一个或多个其他层生成的输出,即,通过有向图中的输入边连接到变换的激活函数层的一个或多个其他层的输出。
变换的激活函数层接收变换的激活函数层的层输入(步骤202)。
变换的激活函数层从层输入生成对变换的激活层的逐元素激活函数的激活输入(步骤204)。
在一些实施方式中,层将仿射运算(例如可选地通过具有偏置的求和来进行的卷积或矩阵乘法)应用于层输入以生成激活输入。取决于仿射运算的类型,激活输入能够具有与层输入相同数量的元素,也能够具有不同数量的元素。
在一些其他实施方式中,层使用层输入作为激活输入,即,当层仅应用激活函数而不应用仿射变换时。
该层使用一个或多个输入变换常数来变换激活输入以生成变换的激活输入(步骤206),将逐元素激活函数应用于变换的激活输入以生成初始激活输出(步骤208),并且使用一个或多个输出变换常数变换初始激活输出以生成变换的激活输出(步骤210)。
也就是说,该层修改对函数的输入、函数的输出或两者,而不是直接将激活函数应用于激活输入,并且然后提供激活函数的输出作为层输出。
如上所述,输入变换常数和输出变换常数是固定的,并且在神经网络的训练期间或推理期间不会改变。
具体地,一个或多个输入变换常数和一个或多个输出变换常数基于当在训练神经网络之前初始化神经网络时神经网络的属性。
作为一个示例,给定激活函数激活输入x的变换的激活输出/>能够等于:
其中,α和β是输入变换常数,δ和γ是输出变换常数。
因此,在该示例中,作为使用一个或多个输入变换常数变换激活输入的一部分,系统通过将激活输入乘以输入比例常数α来生成初始变换的激活输入αx。然后,系统通过将输入移位常数β加到初始变换的激活输入αx来生成变换的激活输入。作为使用一个或多个输出变换常数来变换初始激活输出以生成变换的激活输出的一部分,系统通过将输出移位常数δ加到激活输出来生成移位的初始激活输出。然后,系统通过将移位的初始激活输出乘以输出比例常数γ来生成变换的激活输出。
在该示例中,在训练神经网络之前,系统确定输入变换常数α和β以及输出变换常数δ和γ的值,并在训练期间和训练之后保持这些值恒定。
作为另一示例,当激活函数是泄漏整流线性单元(ReLU)激活函数时,激活输入x的变换的激活输出/>能够等于:
其中,是泄漏ReLU函数,其对于激活输入的给定元素,(i)是给定元素大于或等于零时的恒等运算,并且(ii)当给定元素小于零时,将给定元素乘以斜率值α。即,满足:
因此,在该示例中,输入变换是恒等的,使得变换的激活输入等于激活输入。也就是说,上式能够认为等价于设置输入比例常数等于1,使得输入变换为恒等变换。
另外,在该示例中,系统通过将移位的初始激活输出乘以由斜率值α定义的输出比例常数来生成变换的激活输出。具体地,从上式能够看出,输出比例常数等于(i)2与(ii)1与斜率值的平方之和之间的比值的平方根。
在该示例中,在训练神经网络之前,系统确定斜率值α的值,并且因此确定输出比例常数的值,并在训练期间和训练后保持该值恒定。
下面结合图3描述上述示例中确定常数的值。
该层提供变换的激活输出作为变换的激活函数层的层输出(步骤212)。
当过程200在训练期间被执行时并且一旦有向图中的最后层已经生成网络输出,系统能够获取网络输入的目标网络输出。目标网络输出是神经网络通过处理网络输入生成的“真实”输出。
系统能够根据相对于目标网络输出的网络输出来确定相对于用于训练神经网络的损失函数的神经网络的参数集的梯度,例如,其测量网络输出相对于目标网络输出的质量。具体地,“网络输出的质量”可以表征或测量神经网络在正在训练神经网络的任务上的性能。损失函数能够是用于神经网络被配置执行的任务的任何适当的损失函数。这种损失函数的示例包括交叉熵损失、基于最大对数似然的损失、基于均方误差的损失等。
然后系统能够例如通过反向传播梯度至少基于梯度来确定对神经网络参数的更新。如上所述,因为变换的激活函数层用网络中的传统激活函数替换层,所以神经网络不需要包括某些专用组件,例如归一化层以及可选地跳跃连接。因此,系统能够有效地使用更强大的优化器,如K-FAC(Martens等2020,arXiv:1503.05671)或Shampoo(Gupta等2018,arXiv:1802.09568)来确定更新。例如,由于不增加归一化层,系统能够使用更大的批量大小,从而提高强大优化器的有效性。这使得神经网络训练速度更快,一旦训练后获取更好的性能,或者两者。
图3是用于训练具有变换的激活函数层的神经网络的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的神经网络系统(例如图1的神经网络系统100)能够执行过程300。
系统获取指定神经网络架构的数据(步骤302)。也就是说,系统获取指定神经网络各层的连接性和各层的属性的数据。例如,系统能够获取表示有向图的数据,该有向图表示神经网络的架构。
如上所述,神经网络能够具有包括多个变换的激活函数层的任何适当的架构。
系统初始化神经网络各层的参数值(步骤304)。
具体地,系统初始化神经网络各层的参数值,以用于计算如上所述的局部和全局C和Q图。能够根据随机初始化方案来初始化神经网络的参数值(权重)。
作为一个示例,对于全连接层,系统能够将权重矩阵初始化为均匀正交矩阵,特别是比例校正的均匀正交矩阵。换句话说,系统能够通过从分布中采样值来初始化神经网络第l层的权重矩阵的每个元素(例如根据分布),该分布的方差与层输入的维度成反比。
对于卷积层,即计算该层的滤波器组张量与层输入之间的卷积的层,系统能够例如使用Delta初始化来初始化该层的滤波器组张量。在Delta初始化中,除了滤波器组张量(滤波器)的中心位置/偏移处的权重之外的所有权重都被初始化为零。例如,如果该层具有5x5滤波器,则只有滤波器组张量中对应于条目(3;3)的权重将为非零。Delta初始化能够使用逐条目高斯分布,即能够从高斯分布中提取滤波器组张量中的条目。
因此,Delta初始化滤波器组的非零权重形成m x k矩阵,其中,k是输入通道维度,并且m是输出通道维度。
在一些实施方式中,为了初始化该矩阵,系统使用逐条目高斯分布,例如,从具有均值0和方差1/k的高斯分布对矩阵的每个条目进行采样。
在一些实施方式中,系统使用缩放校正均匀正交(SUO)分布,其是例如根据滤波器组的输入通道和输出通道尺寸重新缩放的重新缩放的正交矩阵的分布。当m≤k时,系统能够从该分布生成一个样本为(XXT)-1/2,其中,X是m x k矩阵,其具有从具有均值0和方差1的高斯分布中采样的iid条目。当m>k时,系统能够从该分布生成样本为(XXT)-1/2T,其中,X是kx m矩阵,其中的条目从具有均值0和方差1的高斯分布中采样的iid条目。然后系统能够乘以缩放因子
当该层存在偏置时,系统能够将偏置的所有元素初始化为零。
系统确定变换的激活函数层的常数值(步骤306)。
具体地,如上所述,系统能够确定常数值,使得满足基于多个神经网络层的局部C图和Q图的一个或多个约束。特别地,约束能够是对神经网络的全局C和Q图的约束。
由系统使用的约束能够取决于激活函数的类型,以及相应地取决于使用的输入和输出变换常数。
作为一个特定示例并且如上所述,在一些实施方式中,给定激活函数针对激活输入x的变换的激活输出/>能够等于:
其中,α和β是输入变换常数,并且δ和γ是输出变换常数。
在这些示例的一些中,系统能够设置输入和输出变换常数的值,使得:
以及
其中,是最大斜率函数估计的可选约束,其满足:
表示g是神经网络f的子网络,并且/>是大于1的超参数,例如,其通常表示(指定或定义)神经网络在初始化时执行的操作的非线性程度。然而,不需要确定非线性程度以便确定/>例如/>能够选择为1到2之间的值,例如1.5。对子网络的约束能够表示在所有其子网络中的神经网络的所有层都是易于训练的约束。
神经网络的子网络被定义为神经网络中各层的(非严格)连接子集,其构成具有单个输入和输出层的神经网络。因此例如,10层MLP的第3、4和5层形成子网络,而第3、4和6层则不形成子网络。
因此,在该示例中,一个或多个输入变换常数和一个或多个输出变换常数包括基于超参数和神经网络在初始化时的最大斜率函数的估计的约束。
在其他这些示例中,当激活函数是平滑函数(即,至少具有连续一阶导数的函数)时,系统能够计算输入和输出变换常数,使得满足以下约束:
以及
其中,是满足下式的最大曲率函数的估计:
并且其中,τ是一个介于0和1之间的常量超参数值,例如,被设置为0.1到0.5之间的值。
上述另一个示例是,当激活函数是泄漏整流线性单元(ReLU)激活函数时,激活输入x的变换的激活输出/>能够等于:
其中,是泄漏ReLU函数。在该示例中,系统能够确定α的值使得满足以下约束:
以及
其中,是满足下式的最大c值函数的估计:
并且η是介于0和1之间的超参数。例如,系统能够将η设置为等于0.8到1之间的值,例如0.85、0.9或0.95。
在任何上述示例中,系统能够使用任何适当的数值分析技术(例如二分搜索、数值求解器等)来确定满足约束的常数的值。
系统基于训练数据来训练神经网络(步骤308)。如上所述,在训练期间,系统在保持恒定值固定的同时调整神经网络各层的参数值。
另外,如上所述,系统能够使用比神经网络更强大的优化器进行训练,该神经网络包括例如归一化层,其允许神经网络训练更快地收敛,从而产生性能更好的神经网络,或者两者。
图4是示出所描述的技术相对于传统技术的性能的图表400。
特别地,图表400显示了六个模型的性能:
(i)模型410,其是用“TAT”训练的、具有泄漏ReLU激活的、具有50层的卷积神经网络,“TAT”指的是上述技术,
(ii)模型420,其是用“TAT”训练的、具有泄漏ReLU激活的、具有101层的卷积神经网络,“TAT”指的是上述技术,
(iii)模型430,其是用“TAT”训练的、具有泄漏ReLU激活的、具有200层的卷积神经网络,“TAT”指的是上述技术,
(iv)模型440,其是具有50层并且使用ReLU激活并用传统训练方案混沌边缘(“EOC”)训练的卷积神经网络
(v)模型450,其是具有101层并且使用ReLU激活并用传统训练方案“EOC”训练的卷积神经网络
(vi)模型460,其是具有200层并且使用ReLU激活并使用传统训练方案“EOC”训练的卷积神经网络
具体地,图表400针对每个模型示出了在图像分类数据集(ImageNet)上进行不同次数的训练迭代(“迭代”)之后模型的最高验证精度(“验证acc”)。每个模型都使用相同的优化器(K-FAC)进行训练,并且没有一个模型包含跳跃/残差连接或归一化层。
从图表400能够看出,所描述的技术产生比EOC模型更好的精度,并且验证精度不随着层数而降低。这至少部分是因为所描述的技术以允许神经网络增加训练稳定性并允许直接利用K-FAC优化器的优化能力的方式初始化神经网络。
表1示出了将所描述的技术(“TAT”)与两种不同的激活函数(泄漏ReLU和Tanh)和在不同深度下的两种不同的优化器(K-FAC和随机梯度下降(SGD))(神经网络层的#s)的最高验证精度进行比较的附加结果。从表1中能够看出,对于各种不同的优化器、激活函数和层深度,所描述的技术优于EOC。
表1
表2示出了将使用泄漏ReLU激活(“TReLU”)的所描述的技术与使用参数化ReLU(PRELU)激活函数的两种变体和在不同深度下的两种不同的优化器(K-FAC和随机梯度下降(SGD))(神经网络层的#s)的EOC技术的最高验证精度进行比较的附加结果。从表2中能够看出,对于各种不同的优化器、激活函数和层深度,所描述的技术优于参数ReLU。
本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在运行时使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例能够被实现在数字电子电路中、在有形地体现的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。替代地或附加地,程序指令能够被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码信息以用于传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置也能够是或还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置能够可选地包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、app、模块、软件模块、脚本或代码)能够以任何形式的编程语言编写,该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序能够以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。程序可以但不需要对应于文件系统中的文件。程序能够被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所涉及的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序能够被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛用于指代任何数据集合:数据不需要以任何特定方式进行结构化,或者根本不需要结构化,并且它能够被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库能够包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,能够在同一台计算机或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程能够由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也能够由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合执行。
适合于执行计算机程序的计算机能够基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,一个或多个大容量存储设备用于存储数据,例如磁盘、磁光盘或光盘。然而,计算机不需要这样的设备。此外,计算机能够被嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘以及指示设备(例如,鼠标或轨迹球)的计算机上实现,用户能够通过显示设备和键盘以及指示设备向计算机提供输入。其他类型的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机能够通过下述方式来与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机能够通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
能够使用机器学习框架(例如,TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例能够被实现在计算系统中,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有图形用户界面、Web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户能够通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实施方式交互。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)(例如,互联网)。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。能够在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是解释为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下能够从组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (25)
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.根据任一前述权利要求所述的方法,其中,所述多个神经网络层包括一个或多个归一化求和层,并且其中,处理所述网络输入包括,对于每个归一化求和层:
对于通过所述有向图中的输入边连接到所述归一化求和层的多个神经网络层中的每一个,接收由所述神经网络层在所述网络输入的所述处理期间生成的相应层输出;
将相应归一化权重应用于所述相应层输出中的每一个,以生成相应的加权层输出,其中,所述相应归一化权重的平方和等于1;以及
通过对所述相应加权层输出求和来生成所述归一化求和层的层输出。
12.根据任一前述权利要求所述的方法,其中,对于所述多个变换的激活函数层中的一个或多个,从所述层输入生成所述变换的激活层的逐元素激活函数的激活输入包括:
计算所述层的滤波器组张量和所述层输入之间的卷积。
13.根据权利要求12所述的方法,还包括:
对于所述一个或多个变换的激活函数层中的每一个,在训练所述神经网络之前,使用Delta初始化来初始化所述层的所述滤波器组张量。
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.一种系统,包括:
一个或多个计算机;以及
存储指令的一个或多个存储设备,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-23中任一项所述的相应操作。
25.一种存储指令的一个或多个计算机可读存储介质,所述指令当由所述一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-23中任一项所述的方法的相应操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163251566P | 2021-10-01 | 2021-10-01 | |
US63/251,566 | 2021-10-01 | ||
PCT/EP2022/077600 WO2023052653A1 (en) | 2021-10-01 | 2022-10-04 | Neural networks with transformed activation function layers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118056208A true CN118056208A (zh) | 2024-05-17 |
Family
ID=84053347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280066763.9A Pending CN118056208A (zh) | 2021-10-01 | 2022-10-04 | 具有变换的激活功能层的神经网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230107247A1 (zh) |
EP (1) | EP4388454A1 (zh) |
CN (1) | CN118056208A (zh) |
WO (1) | WO2023052653A1 (zh) |
-
2022
- 2022-10-03 US US17/959,232 patent/US20230107247A1/en active Pending
- 2022-10-04 CN CN202280066763.9A patent/CN118056208A/zh active Pending
- 2022-10-04 WO PCT/EP2022/077600 patent/WO2023052653A1/en active Application Filing
- 2022-10-04 EP EP22799925.7A patent/EP4388454A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023052653A1 (en) | 2023-04-06 |
EP4388454A1 (en) | 2024-06-26 |
US20230107247A1 (en) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568207B2 (en) | Learning observation representations by predicting the future in latent space | |
KR102486348B1 (ko) | 어텐션-기반의 시퀀스 변환 신경망 | |
EP3574454B1 (en) | Learning neural network structure | |
EP3398119B1 (en) | Generative neural networks for generating images using a hidden canvas | |
US20210049298A1 (en) | Privacy preserving machine learning model training | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
JP7483751B2 (ja) | 教師なしデータ拡張を使用した機械学習モデルのトレーニング | |
CN113785314A (zh) | 使用标签猜测对机器学习模型进行半监督训练 | |
Wang et al. | Gated convolutional LSTM for speech commands recognition | |
US11062229B1 (en) | Training latent variable machine learning models using multi-sample objectives | |
US20210166131A1 (en) | Training spectral inference neural networks using bilevel optimization | |
US20230121404A1 (en) | Searching for normalization-activation layer architectures | |
US20240127586A1 (en) | Neural networks with adaptive gradient clipping | |
US20220019856A1 (en) | Predicting neural network performance using neural network gaussian process | |
CN118056208A (zh) | 具有变换的激活功能层的神经网络 | |
CN111868752B (zh) | 神经网络层权重的连续参数化 | |
WO2021248140A1 (en) | Hyperparameter neural network ensembles | |
US20230325658A1 (en) | Conditional output generation through data density gradient estimation | |
CN117910533A (zh) | 用于扩散神经网络的噪声调度 | |
WO2024138177A1 (en) | Recurrent interface networks | |
WO2024110596A1 (en) | Score interpolation diffusion models | |
CN116868203A (zh) | 利用自适应梯度裁剪的神经网络 | |
CN116368493A (zh) | 用于具有随机架构的权重共享神经网络的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |