CN107690663A - 白化神经网络层 - Google Patents

白化神经网络层 Download PDF

Info

Publication number
CN107690663A
CN107690663A CN201680032855.XA CN201680032855A CN107690663A CN 107690663 A CN107690663 A CN 107690663A CN 201680032855 A CN201680032855 A CN 201680032855A CN 107690663 A CN107690663 A CN 107690663A
Authority
CN
China
Prior art keywords
albefaction
layer
neural net
net layer
activation
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.)
Granted
Application number
CN201680032855.XA
Other languages
English (en)
Other versions
CN107690663B (zh
Inventor
纪尧姆·德雅尔丹
凯伦·西蒙尼扬
科拉伊·卡武克曲奥卢
拉兹万·帕什卡努
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yin Hui Technology Co Ltd
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN107690663A publication Critical patent/CN107690663A/zh
Application granted granted Critical
Publication of CN107690663B publication Critical patent/CN107690663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

用于使用包括白化神经网络层的神经网络系统来处理输入的方法、系统和设备,包括在计算机存储介质上编码的计算机程序。所述方法中的一种包括:接收由所述序列中的所述白化神经网络层之前的层所生成的输入激活;根据白化参数集来处理所接收到的激活以生成白化激活;根据层参数集来处理所述白化激活以生成输出激活;以及将所述输出激活作为输入提供给所述序列中的所述白化神经网络层之后的神经网络层。

Description

白化神经网络层
技术领域
本说明书涉及通过神经网络的层来处理输入以生成输出。
背景技术
神经网络是采用非线性单元的一个或多个层来针对接收到的输入预测输出的机器学习模型。一些神经网络除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层即下一个隐藏层或输出层的输入。网络的每个层根据相应的参数集的当前值从接收到的输入生成输出。
发明内容
一般而言,本说明书中所描述的主题的一个创新方面可用由一个或多个计算机实现的神经网络系统加以具体实现,所述神经网络系统包括白化神经网络层,所述白化神经网络层被配置成:接收由所述白化神经网络层之前的层生成的输入激活,根据白化参数集来处理所接收到的激活以生成白化激活,根据层参数集来处理所述白化激活以生成输出激活,并且将所述输出激活作为输入提供给所述白化神经网络层之后的神经网络层。
神经网络系统被配置成接收网络输入并且通过神经网络层的序列中的每一个来处理所述网络输入以从所述网络输入生成网络输出,所述神经网络层的序列包括:白化神经网络层,其中所述神经网络层被配置成执行操作,所述操作包括:接收由所述序列中的所述白化神经网络层之前的层生成的输入激活;根据白化参数集来处理所接收到的激活以生成白化激活;根据层参数集来处理所述白化激活以生成输出激活;以及将所述输出激活作为输入提供给所述序列中的所述白化神经网络层之后的神经网络层。
所述白化参数可以包括协方差参数集和均值参数集。所述均值参数集可以包括均值参数向量并且所述协方差参数集可以包括协方差权重矩阵。根据所述白化参数集来处理所接收到的激活以生成所述白化激活可以包括:从所述输入激活减去所述均值参数向量以生成中间白化激活;以及将所述协方差权重矩阵应用于所述中间白化激活以生成所述白化激活。所述协方差权重矩阵可以是具有元素的矩阵,所述元素是从在所述神经网络层的训练期间由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的协方差的矩阵的特征值得到的。可以从在所述神经网络层的训练期间由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的均值得到所述均值参数向量。所述层参数可以包括偏置向量d和层权重矩阵V并且所述输出激活h满足:h=f(Vhw+d),其中f是逐元素非线性激活函数并且hw是所述白化激活。
本主题的另一创新方面可用在训练数据上对所述神经网络层进行训练以调整所述序列中的所述神经网络层的所述参数的值的方法加以具体实现。对所述神经网络层进行训练可以包括,在所述训练期间:使用梯度下降技术来调整所述白化神经网络层的所述层参数集的值;以及使用由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的统计来调整所述白化参数的值。调整所述白化参数的值可以包括,在所述训练期间:基于由所述白化神经网络层之前的所述层生成的输入激活的估计协方差来调整所述协方差参数的值;以及基于由所述白化神经网络层之前的所述层生成的输入激活的估计均值来调整所述均值参数的值。基于所述估计协方差来调整所述协方差参数的值可以包括基于由所述白化神经网络层之前的所述层生成的输入激活的所述估计协方差的矩阵的特征值来调整所述协方差参数的值。使用所述梯度下降技术来调整所述白化神经网络层的所述层参数集的值可以包括在使用所述梯度下降技术来更新所述层参数集的值时将所述白化参数的值视为常数。
本主题的其它创新方面可用以下各项加以具体实现:一种包括所述白化神经网络层的相应的操作的方法;一种编码有指令的计算机存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行所述白化神经网络层的相应的操作;一种编码有指令的计算机存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行对所述神经网络层进行训练的方法的相应的操作;以及一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机执行对所述神经网络层进行训练的所述方法的相应的操作。
针对被配置成执行特定操作或动作的一个或多个计算机的系统意味着所述系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件在操作中使所述系统执行所述操作或动作。针对被配置成执行特定操作或动作的一个或多个计算机程序意味着所述一个或多个程序包括当由数据处理设备执行时使所述设备执行所述操作或动作的指令。应当了解,可组合各方面,使得可在不同方面的上下文中实现在一个方面的上下文中描述的特征。
可实现本说明书中所描述的主题的特定实施例以便实现以下优点中的一个或多个。如本说明书中所描述的白化神经网络层可具有被约束为近似为单位矩阵(identity)的Fisher矩阵,从而允许相对于该层的层参数的随机梯度下降相当于自然梯度下降。特别地,被约束的Fisher是相对于白化神经层的参数的目标函数的Fisher。因此,对包括一个或多个白化神经网络层的神经网络进行训练的神经网络系统可利用Fisher的这些性质来在优化过程中不断进步,从而改进训练过程的有效性,即,通过减少训练时间、改进经训练的神经网络模型的性能或者兼而有之。附加地,借助于包括白化神经网络层,经训练的神经网络与不包括白化神经网络层的训练的神经网络相比可更好地推广到先前未见的数据。通过像本说明书中所描述的那样配置白化神经网络层,训练过程可保持在计算上和使用现有技术来对不包括白化神经网络层的神经网络进行训练一样高效或者变得在计算上更加高效。
在以下附图和描述中阐述了本说明书的主题的一个或多个实施例的细节。本主题的其它特征、方面和优点将根据说明书、附图和权利要求书变得显而易见。
附图说明
图1示出示例神经网络系统。
图2是用于使用白化神经网络层来处理输入激活的示例过程的流程图。
图3是用于对包括白化神经网络层的神经网络进行训练的示例过程的流程图。
在各个附图中相似的附图标记和名称指示相似的元件。
具体实施方式
本说明书描述包括一个或多个白化神经网络层的作为计算机程序实现在处于一个或多个位置中的一个或多个计算机上的神经网络系统。
图1示出示例神经网络系统100。神经网络系统100是作为计算机程序实现在处于一个或多个位置中的一个或多个计算机上的系统的示例,其中可实现在下面所描述的系统、组件和技术。
神经网络系统100包括在序列中从该序列中的最低层向该序列中的最高层排列的多个神经网络层。该神经网络系统通过通过序列中的每个层来处理神经网络输入102而从神经网络输入102生成神经网络输出114。
神经网络系统100可被配置成接收任何种类的数字数据输入并且基于该输入生成任何种类的分数或分类输出。
例如,如果对神经网络系统100的输入是图像或已从图像中提取的特征,则由神经网络系统100针对给定图像所生成的输出可以是针对对象类别集合中的每一个的分数,其中每个分数表示该图像包含属于该类别的对象的图像的估计可能性。
作为另一示例,如果对神经网络系统100的输入是互联网资源(例如,web页面)、文档、或文档的部分或从互联网资源、文档或文档的部分中提取的特征,则由神经网络系统100针对给定互联网资源、文档或文档的一部分所生成的分数可以是针对主题集合中的每一个的分数,其中每个分数表示互联网资源、文档或文档部分是关于该主题的估计可能性。
作为另一示例,如果对神经网络系统100的输入是特定广告的闪现场境(impression context)的特征,则由神经网络系统100生成的输出可以是表示该特定广告将被点击的估计可能性。
作为另一示例,如果对神经网络系统100的输入是针对用户的个性化推荐的特征,例如表征推荐的场境的特征,例如表征由用户采取的先前动作的特征,则由神经网络系统100生成的输出可以是针对集合内容项中的每一个的分数,其中每个分数表示用户将有利地对被推荐该内容项做出响应的估计可能性。
作为另一示例,如果对神经网络系统100的输入是一种语言的文本,则由神经网络系统100生成的输出可以是针对另一种语言的文本段集合中的每一个的分数,其中每个分数表示另一种语言的文本段是输入文本变成另一种语言的适当翻译的估计可能性。
作为另一示例,如果对神经网络系统100的输入是口语发言、口语发言的序列或从两者之一得到的特征,则由神经网络系统100生成的输出可以是针对文本段集合中的每一个的分数,每个分数表示该文本段是针对发言或发言的序列的正确转录的估计可能性。
作为另一示例,神经网络系统100可以是自动完成系统的一部分或文本处理系统的一部分。
作为另一示例,神经网络系统100可以是强化学习系统的一部分并且可生成用于选择要通过与环境的代理交互执行的动作的输出。
特别地,神经网络的每个层被配置成接收输入,即神经网络输入102或由序列中的另一层生成的输出激活,并且从该输入生成输出激活。神经网络层共同地处理由神经网络系统100接收到的神经网络输入以针对每个接收到的神经网络输入生成相应的神经网络输出。序列中的神经网络层中的一些或全部根据该神经网络层的参数集的当前值来从输入生成输出。例如,一些层可以将所接收到的输入乘以当前参数值的矩阵作为从所接收到的输入生成输出的一部分。
序列中的一些或所有层是白化神经网络层。在图1的示例中,神经网络系统100包括在神经网络层的序列中介于神经网络层A 104与神经网络层B 112之间的白化神经网络层108。
在由神经网络系统100处理神经网络输入102期间,白化神经网络层108被配置成接收由神经网络层A 104生成的层A输出激活106,处理层A输出激活106以生成白化神经网络层输出激活110,然后将白化神经网络层输出激活110作为输入提供给神经网络层B 112。
通常,白化神经网络层108被配置成根据白化参数集来处理层A输出激活106以生成白化激活并且然后根据层参数集来处理该白化激活以生成白化神经网络层输出激活110。在下面参考图2更详细地描述处理输入激活以生成白化神经网络层输出激活。
取决于实施方式,神经网络层A 104和神经网络层B 112可以都是其它白化神经网络层,即,在对白化激活应用层参数集之前也从对层的输入生成白化激活的层,或者神经网络层A 104和神经网络层B112中的一个或两者可以是不同种类的神经网络层,例如,常规的卷积或全连接层。
图2是用于使用白化神经网络层来处理输入激活的示例过程200的流程图。为了方便,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的系统来执行。例如,适当地编程的包括在神经网络系统中的白化神经网络层,例如包括在图1的神经网络系统100中的白化神经网络层108,可执行过程200。
白化神经网络层接收输入激活(步骤202)。该输入激活是由层的序列中的白化神经网络层之前的层所生成的激活。
白化神经网络层根据白化参数集来处理输入激活以生成白化激活(步骤204)。通常,白化激活是其元素近似不相关的输入激活的变换,即,白化激活的协方差矩阵近似为单位矩阵。在神经网络的训练期间,白化参数像在下面参考图3所描述的那样被周期性地调整以重新确保元素近似不相关。
特别地,白化神经网络层将输入激活减去均值参数向量以生成中间白化激活。将均值参数向量应用于输入激活确保中间白化激活的元素在期望中各自具有近似零的均值。在下面参考图3描述确定均值参数向量的元素的值。
白化神经网络层然后对中间白化激活应用白化权重矩阵以生成白化激活。白化权重矩阵是其元素是基于输入激活的——即,由白化神经网络层以下的层所生成的输出激活的——协方差矩阵的特征值得到的矩阵。例如,白化权重矩阵可以是协方差矩阵的平方根倒数。在一些实施方式中,白化权重矩阵可以被表示为PCA白化矩阵,其行是从输入激活的协方差矩阵的特征分解获得的。例如,如果白化神经网络层以下的层是层的序列中的第i层,则白化神经网络层的白化权重矩阵U可以满足:
其中diag(λi+ε)-1/2是沿着对角线具有值(λi+ε)-1/2的对角线矩阵,其中λi是协方差矩阵的特征值的向量,ε是用作正则项的超参数,并且是协方差矩阵的特征向量的矩阵。然而,协方差矩阵的其它分解是可能的。附加地,在一些实施方式中,不是对协方差矩阵进行分解,而是可直接地例如使用线性自编码器来估计特征值的值和特征向量。在下面参考图3描述确定白化权重矩阵的元素的值。
因此,在一些实施方式中,由白化神经网络层执行以从输入激活hi-1生成白化激活hw的操作满足:
hw=U(hi-1-c),
其中c是均值参数向量并且U是白化权重矩阵。
白化神经网络层根据层参数集来处理白化激活以生成输出激活(步骤206)。例如,层参数可以包括偏置向量d和层权重矩阵V并且输出激活h可以满足:
h=f(Vhw+d),
其中f是逐元素非线性激活函数,例如反正切或修正线性单元。
白化神经网络层将输出激活作为输入提供给序列中白化神经网络层之上的层(步骤208)。
可在神经网络输入的处理期间执行过程200,对于所述神经网络输入所期望的输出、即应该由神经网络系统针对该输入所生成的神经网络输出是未知的。白化神经网络层也可在训练数据集中的输入、即对其来说应该由神经网络系统预测的输出已知的输入集的处理期间执行过程200,以便对序列中的层进行训练,即,以针对白化神经网络层的白化参数和层参数以及序列中的其它神经网络层的参数来确定训练值。在下面参考图3更详细地描述示例训练过程。
图3是用于对包括至少一个白化神经网络层的神经网络进行训练的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置中的一个或多个计算机的系统来执行。例如,适当地编程的神经网络系统、例如图1的神经网络系统100可执行过程300。
系统获得用于对由包括至少一个白化神经网络层的神经网络层的序列组成的神经网络进行训练的训练数据(步骤302)。通常,训练数据包括多个训练输入和针对每个训练输入的相应的已知输出。针对给定训练输入的已知输出是应该由神经网络针对训练输入所生成的输出。
系统使用梯度下降技术来在训练数据上对神经网络进行训练以确定白化神经网络层的层参数的训练值以及序列中的其它神经网络层的参数的训练值(步骤304)。
也就是说,系统通过使用梯度下降技术例如随机梯度下降来优化目标函数来对神经网络进行训练,以确定序列中的任何白化神经网络层的层参数的训练值以及序列中的任何其它类型的神经网络层的参数的训练值。在执行梯度下降技术时,系统将任何白化神经网络层的白化参数的值视为常数。因此,白化参数的值不是经由目标函数的优化学习到的,并且因此从梯度下降技术的观点看是常数。
在训练期间,系统重复地更新序列中的白化神经网络层的白化参数的值(步骤306)。特别地,针对每个白化神经网络层,不是更新层的白化参数的值作为梯度下降技术的一部分,而是系统使用由序列中的白化神经网络之前的层所生成的输入激活的统计来更新白化参数的值。在一些实施方式中,在每次系统更新白化参数的值之后,系统也进一步调整该层参数集的值,使得由白化神经网络层生成的输出激活保持不变。
在一些实施方式中,系统在训练期间以指定间隔更新白化参数的值。例如,系统可以每对层参数的第T次梯度下降更新时更新白化参数,其中T是大于一的整数。
在这些实施方式中,在训练期间的每第T次梯度下降更新之后,系统从训练数据中对预定数量的训练输入进行采样并且使用神经网络来处理经采样的训练输入以根据神经网络层的参数的当前值来生成神经网络输出。系统然后针对每个白化神经网络层通过在处理经采样的训练输入期间计算由白化神经网络层之前的层所生成的输入激活的协方差来确定由白化神经网络层之前的层所生成的输入激活的估计协方差矩阵。系统也通过在处理经采样的训练输入期间计算由白化神经网络层之前的层所生成的输入激活的均值来确定由白化神经网络层之前的层所生成的输入激活的估计均值。
系统例如通过执行如上面参考图2所描述的特征分解从估计协方差矩阵得到白化神经网络层的白化权重矩阵的条目的更新值,并且将经更新的均值参数向量设定为输入激活的估计均值。
在一些其它实施方式中,系统在训练过程期间在线更新白化参数,即,每当层参数被更新时更新白化参数。例如,系统可使用在线计算其统计的每批对角线自然梯度更新来更新白化参数。
在仍然其它的实施方式中,系统通过辅助目标函数的梯度下降来在线更新白化参数,所述辅助目标函数例如惩罚hw中的相关性,每层应用自动编码器重建惩罚,或者应用其最小值对应于白化权重矩阵的损失。
本说明书中所描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用计算机硬件(包括本说明书中所公开的结构及其结构等同物)或者用它们中的一个或多个的组合加以实现。本说明书中所描述的主题的实施例可实现为一个或多个计算机程序,即,在有形非暂时性程序载体上编码以供由数据处理设备执行或者控制数据处理设备的操作的计算机程序指令的一个或多个模块。可替选地或此外,可将程序指令编码在人工生成的传播信号上,所述传播信号例如为机器生成的电、光学或电磁信号,该信号被生成来对信息进行编码以便传输到适合的接收器设备以供由数据处理设备执行。计算机存储介质可以是机器可读存储装置、机器可读存储基板、随机或串行存取存储装置或者它们中的一个或多个的组合。
术语“数据处理设备”包含用于对数据进行处理的所有种类的设备、装置和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。该设备可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。该设备除了包括硬件之外还可包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可用任何形式的编程语言来编写,所述编程语言包括编译或解释语言或声明性或过程语言,并且它可被以任何形式部署,包括作为独立程序或者作为适合于在计算环境中使用的模块、组件、子例行程序或其它单元。计算机程序可以但未必对应于文件系统中的文件。可在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中、或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。可将计算机程序部署成在一个计算机上或在位于一个站点处或者跨多个站点分布并通过通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流程可通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能而被执行。过程和逻辑流程也可由专用逻辑电路来执行,并且设备也可作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器可以基于通用微处理器或专用微处理器或两者,或任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或者实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。通常,计算机也将包括用于存储数据的一个或多个海量存储装置(例如,磁盘、磁光盘或光盘)或者在操作上耦合海量存储装置以从其接收数据或者将数据转移到所述海量存储装置,或者兼而有之。然而,计算机未必具有此类装置。此外,可将计算机嵌入在另一装置中,所述另一装置例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储装置例如通用串行总线(USB)闪存驱动器等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储装置,作为示例包括半导体存储装置,例如EPROM、EEPROM和闪速存储器装置;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路来补充,或者并入专用逻辑电路。
为了提供与用户的交互,可将本说明书中所描述的主题的实施例实现在计算机上,所述计算机具有用于向用户显示信息的显示装置例如CRT(阴极射线管)或LCD(液晶显示)监视器、以及用户可用来向该计算机提供输入的键盘和指点装置,例如鼠标或轨迹球。其它种类的装置也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的装置发送文档并且从由用户使用的装置接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的客户端装置上的web浏览器发送web页面。
可将本说明书中所描述的主题的实施例实现在计算系统中,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与本说明书中所描述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或者包括一个或多个此类后端、中间件或前端组件的任何组合。本系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而生成。
虽然本说明书包含许多特定实施方式细节,但是这些不应该被解释为对任何发明的或可以要求保护的范围构成限制,而是相反被解释为可能特定于特定发明的特定实施例的特征的描述。也可在单个实施例中相结合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反,也可在多个实施例中单独地或者按照任何适合的子组合实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为按照某些组合起作用并因此甚至最初要求保护,然而来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中删去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中按照特定次序描绘了操作,但是这不应该被理解为要求按照所示特定次序或者按照顺序次序执行此类操作,或者要求执行所有图示的操以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上面所描述的实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中要求这种分离,并且应该理解,所描述的程序组件和系统通常可被一起集成在单个软件产品中或者封装到多个软件产品中。
已经对主题的特定实施例进行了描述。其它实施例在以下权利要求书的范围内。例如,权利要求书中所记载的动作可被按照不同的次序执行并仍然实现所希望的结果。作为一个示例,附图中所描绘的过程不一定要求所示特定次序或顺序次序以实现所希望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

Claims (15)

1.一种神经网络系统,所述神经网络系统由一个或多个计算机来实现并且被配置成接收网络输入并且通过神经网络层的序列中的每一个来处理所述网络输入以从所述网络输入生成网络输出,所述神经网络层的序列包括:
白化神经网络层,其中所述神经网络层被配置成执行操作,所述操作包括:
接收由所述序列中的所述白化神经网络层之前的层生成的输入激活;
根据白化参数集来处理所接收到的激活以生成白化激活;
根据层参数集来处理所述白化激活以生成输出激活;以及
将所述输出激活作为输入提供给所述序列中的所述白化神经网络层之后的神经网络层。
2.根据权利要求1所述的神经网络系统,其中,所述白化参数集包括均值参数向量和白化权重矩阵,并且其中,根据所述白化参数集来处理所接收到的激活以生成所述白化激活包括:
从所述输入激活减去所述均值参数向量以生成中间白化激活;以及
将所述白化权重矩阵应用于所述中间白化激活以生成所述白化激活。
3.根据权利要求2所述的神经网络系统,其中,所述白化权重矩阵是具有元素的矩阵,所述元素是从在所述神经网络层的训练期间由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的协方差的矩阵的特征分解得到的。
4.根据权利要求2或3中的任一项所述的神经网络系统,其中,所述均值参数向量是从在所述神经网络层的训练期间由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的均值得到的。
5.根据权利要求1至4中的任一项所述的神经网络系统,其中,所述层参数包括偏置向量d和层权重矩阵V,并且所述输出激活h满足:
h=f(Vhw+d),
其中,f是逐元素非线性激活函数并且hw是所述白化激活。
6.一种在训练数据上对根据权利要求2至5中的任一项所述的神经网络层进行训练以调整所述序列中的所述神经网络层的所述参数的值的方法。
7.根据权利要求6所述的方法,其中,对所述神经网络层进行训练包括,在所述训练期间:
使用梯度下降技术来调整所述白化神经网络层的所述层参数集的值;以及
使用由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的统计来调整所述白化参数的值。
8.根据权利要求7所述的方法,还包括:
响应于使用由所述序列中的所述白化神经网络层之前的所述层生成的输入激活的统计来调整所述白化参数的值,进一步调整所述层参数集的值,使得由所述白化神经网络层生成的输出激活保持不变。
9.根据权利要求7所述的方法,其中,调整所述白化参数的值包括,在所述训练期间:
基于由所述白化神经网络层之前的所述层生成的输入激活的估计协方差来调整所述白化权重矩阵的值;以及
基于由所述白化神经网络层之前的所述层生成的输入激活的估计均值来调整所述均值参数向量的值。
10.根据权利要求9所述的方法,其中,基于所述估计协方差来调整所述白化权重矩阵的值包括基于由所述白化神经网络层之前的所述层生成的输入激活的所述估计协方差的矩阵的特征分解来调整所述白化权重矩阵的值。
11.根据权利要求7至10中的任一项所述的方法,其中,使用所述梯度下降技术来调整所述白化神经网络层的所述层参数集的值包括在使用所述梯度下降技术来更新所述层参数集的值时将所述白化参数的值视为常数。
12.一种包括根据权利要求1至5中的任一项所述的白化神经网络层的相应的操作的方法。
13.一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1至5中的任一项所述的白化神经网络层的相应的操作。
14.一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求7至11中的任一项所述的方法的相应的操作。
15.一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求7至11中的任一项所述的方法的相应的操作。
CN201680032855.XA 2015-06-05 2016-06-03 白化神经网络层 Active CN107690663B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562172009P 2015-06-05 2015-06-05
US62/172,009 2015-06-05
PCT/US2016/035901 WO2016197054A1 (en) 2015-06-05 2016-06-03 Whitened neural network layers

Publications (2)

Publication Number Publication Date
CN107690663A true CN107690663A (zh) 2018-02-13
CN107690663B CN107690663B (zh) 2022-04-12

Family

ID=56137574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680032855.XA Active CN107690663B (zh) 2015-06-05 2016-06-03 白化神经网络层

Country Status (4)

Country Link
US (1) US10762421B2 (zh)
EP (1) EP3304437B1 (zh)
CN (1) CN107690663B (zh)
WO (1) WO2016197054A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961102A (zh) * 2019-03-30 2019-07-02 北京市商汤科技开发有限公司 图像处理方法、装置、电子设备及存储介质
CN111868752A (zh) * 2018-07-23 2020-10-30 谷歌有限责任公司 神经网络层权重的连续参数化
CN111967570A (zh) * 2019-07-01 2020-11-20 嘉兴砥脊科技有限公司 可神化神经网络系统的实现方法、装置和机器设备
CN112119410A (zh) * 2018-05-18 2020-12-22 谷歌有限责任公司 用于用覆盖引导模糊测试调试神经网络的系统和方法
CN113196303A (zh) * 2018-12-11 2021-07-30 亚马逊技术股份有限公司 不适当神经网络输入检测和处理
CN113330462A (zh) * 2019-01-23 2021-08-31 谷歌有限责任公司 使用软最近邻损失的神经网络训练

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US10346211B2 (en) * 2016-02-05 2019-07-09 Sas Institute Inc. Automated transition from non-neuromorphic to neuromorphic processing
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
CN110663049B (zh) * 2017-04-28 2023-12-26 谷歌有限责任公司 神经网络优化器搜索
US10019668B1 (en) * 2017-05-19 2018-07-10 Google Llc Scheduling neural network processing
US10609714B2 (en) * 2017-07-12 2020-03-31 Qualcomm Incorporated Spatial listen before talk
CN111373416B (zh) * 2017-10-27 2024-01-23 谷歌有限责任公司 通过离散神经网络输入来增强神经网络的安全性
JP6937330B2 (ja) * 2019-03-04 2021-09-22 株式会社東芝 機械学習モデル圧縮システム、機械学習モデル圧縮方法及びプログラム
US20220121909A1 (en) * 2020-03-24 2022-04-21 Lg Electronics Inc. Training a neural network using stochastic whitening batch normalization
US11042700B1 (en) * 2020-04-16 2021-06-22 Capital One Services, Llc Conciseness reconstruction of a content presentation via natural language processing
CN115525743B (zh) * 2022-08-18 2023-11-14 贝壳找房(北京)科技有限公司 基于自学习白化网络的人机交互方法及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490236A (en) * 1989-05-22 1996-02-06 Canon Kk Method of assigning initial values of connection parameters to a multilayered neural network
CN1578968A (zh) * 2001-08-29 2005-02-09 霍尼韦尔国际公司 用于受监督的神经网络学习的组合方法
US20080005048A1 (en) * 2006-03-27 2008-01-03 Board Of Trustees Of Michigan State University Multi-layer developmental network having in-place learning
CN101583308A (zh) * 2006-07-06 2009-11-18 明尼苏达大学评议会 利用短暂测量分析脑模式
CN102750702A (zh) * 2012-06-21 2012-10-24 东华大学 基于优化bp神经网络模型的单目红外图像深度估计方法
CN102859538A (zh) * 2010-02-05 2013-01-02 洛桑联邦理工学院(Epfl) 对神经网络进行组织
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
CN104408469A (zh) * 2014-11-28 2015-03-11 武汉大学 基于图像深度学习的烟火识别方法及系统
US20150238148A1 (en) * 2013-10-17 2015-08-27 Siemens Aktiengesellschaft Method and system for anatomical object detection using marginal space deep neural networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490236A (en) * 1989-05-22 1996-02-06 Canon Kk Method of assigning initial values of connection parameters to a multilayered neural network
CN1578968A (zh) * 2001-08-29 2005-02-09 霍尼韦尔国际公司 用于受监督的神经网络学习的组合方法
US20080005048A1 (en) * 2006-03-27 2008-01-03 Board Of Trustees Of Michigan State University Multi-layer developmental network having in-place learning
CN101583308A (zh) * 2006-07-06 2009-11-18 明尼苏达大学评议会 利用短暂测量分析脑模式
CN102859538A (zh) * 2010-02-05 2013-01-02 洛桑联邦理工学院(Epfl) 对神经网络进行组织
CN102750702A (zh) * 2012-06-21 2012-10-24 东华大学 基于优化bp神经网络模型的单目红外图像深度估计方法
US20150238148A1 (en) * 2013-10-17 2015-08-27 Siemens Aktiengesellschaft Method and system for anatomical object detection using marginal space deep neural networks
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
CN104408469A (zh) * 2014-11-28 2015-03-11 武汉大学 基于图像深度学习的烟火识别方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JASCHA SOHL-DICKSTEIN: "The Natural Gradient by Analogy to Signal Whitening ,and Recipes and Tricks for its Use", 《HTTPS://ARXIV.ORG/PDF/1205.1828V1.PDF》 *
JUHA KARHUNEN: "Neural Approaches to Independent Component Analysis and Source Separation", 《PROCEEDINGS OF THE 4TH EUROPEAN SYMPOSIUM ON ARTIFICIAL NEURAL NETWORKS(ESANN’96)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119410A (zh) * 2018-05-18 2020-12-22 谷歌有限责任公司 用于用覆盖引导模糊测试调试神经网络的系统和方法
CN111868752A (zh) * 2018-07-23 2020-10-30 谷歌有限责任公司 神经网络层权重的连续参数化
CN111868752B (zh) * 2018-07-23 2024-03-12 谷歌有限责任公司 神经网络层权重的连续参数化
CN113196303A (zh) * 2018-12-11 2021-07-30 亚马逊技术股份有限公司 不适当神经网络输入检测和处理
CN113330462A (zh) * 2019-01-23 2021-08-31 谷歌有限责任公司 使用软最近邻损失的神经网络训练
CN109961102A (zh) * 2019-03-30 2019-07-02 北京市商汤科技开发有限公司 图像处理方法、装置、电子设备及存储介质
CN109961102B (zh) * 2019-03-30 2021-06-22 北京市商汤科技开发有限公司 图像处理方法、装置、电子设备及存储介质
CN111967570A (zh) * 2019-07-01 2020-11-20 嘉兴砥脊科技有限公司 可神化神经网络系统的实现方法、装置和机器设备
CN111967570B (zh) * 2019-07-01 2024-04-05 北京砥脊科技有限公司 可视化神经网络系统的实现方法、装置和机器设备

Also Published As

Publication number Publication date
CN107690663B (zh) 2022-04-12
EP3304437B1 (en) 2021-05-26
US20160358073A1 (en) 2016-12-08
US10762421B2 (en) 2020-09-01
EP3304437A1 (en) 2018-04-11
WO2016197054A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
CN107690663A (zh) 白化神经网络层
AU2022201819B2 (en) Batch normalization layers
CN107038476A (zh) 经压缩的递归神经网络模型
CN105940395B (zh) 生成文档的矢量表示
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
CN107145940A (zh) 压缩的递归神经网络模型
CN110929869B (zh) 序列数据处理方法、装置、设备及存储介质
CN109478254A (zh) 使用合成梯度来训练神经网络
US10592777B2 (en) Systems and methods for slate optimization with recurrent neural networks
CN108351982A (zh) 卷积门控递归神经网络
CN107169573A (zh) 利用复合机器学习模型来执行预测的方法及系统
CN109196527A (zh) 广度和深度机器学习模型
US9454733B1 (en) Training a machine learning model
CN108431832A (zh) 利用外部存储器扩增神经网络
CN108431833A (zh) 端到端深度协作过滤
CN109923560A (zh) 使用变分信息瓶颈来训练神经网络
CN110443351A (zh) 生成映像的自然语言描述
CN106462800A (zh) 使卷积神经网络的训练并行化
CN106462801A (zh) 在分区训练数据上训练神经网络
CN107969156A (zh) 用于处理图形数据的神经网络
CN108369661A (zh) 神经网络编程器
CN110809771A (zh) 用于机器学习模型的压缩和分发的系统和方法
CN108701253A (zh) 使用规范化的目标输出训练神经网络
CN113538125A (zh) 一种基于萤火虫算法优化Hopfield神经网络的风险评级方法
CN109074517A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180322

Address after: London, England

Applicant after: Yin Hui Technology Co., Ltd.

Address before: American California

Applicant before: Google limited liability company

GR01 Patent grant
GR01 Patent grant