CN110291540A - 批再归一化层 - Google Patents

批再归一化层 Download PDF

Info

Publication number
CN110291540A
CN110291540A CN201880011378.8A CN201880011378A CN110291540A CN 110291540 A CN110291540 A CN 110291540A CN 201880011378 A CN201880011378 A CN 201880011378A CN 110291540 A CN110291540 A CN 110291540A
Authority
CN
China
Prior art keywords
layer
component
output
renormalization
neural network
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
Application number
CN201880011378.8A
Other languages
English (en)
Inventor
S.约费
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.)
Google LLC
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 CN110291540A publication Critical patent/CN110291540A/zh
Pending legal-status Critical Current

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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • G06F18/15Statistical pre-processing, e.g. techniques for normalisation or restoring missing data
    • 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
    • G06N3/047Probabilistic or stochastic networks
    • 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
    • G06N3/048Activation functions
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Medical Informatics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

用于实现神经网络的方法、***和设备,包括在计算机存储介质上编码的计算机程序。在一个方面,神经网络包括第一神经网络层和第二神经网络层之间的批再归一化层。第一神经网络层生成具有多个分量的第一层输出。批再归一化层配置为,在神经网络的训练期间在当前批次的训练样本上,针对多个分量中的每一个,获得相应的当前移动归一化统计,并且针对多个分量中的每一个,从当前移动归一化统计确定相应的仿射变换参数。批再归一化层针对当前批次中的每个训练样本接收相应的第一层输出,并将仿射变换应用于归一化层输出的每个分量以生成训练样本的再归一化层输出。

Description

批再归一化层
技术领域
本说明书涉及通过神经网络的层处理输入以生成输出。
背景技术
神经网络是机器学习模型,它采用非线性单元的一个或多个层来预测接收到的输入的输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一个层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数组的当前值从接收的输入生成输出。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的神经网络***,其包括一个或多个批再归一化层。
根据第一方面,提供一种***,包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实现神经网络,所述神经网络包括:第一神经网络层和第二神经网络层之间的批再归一化层,其中所述第一神经网络层生成具有多个分量的第一层输出,且其中所述批再归一化层配置为在所述神经网络的训练期间在当前批次的训练样本上进行:获得所述多个分量中的每一个的相应的当前移动归一化统计,其基于所述第一神经网络层在训练所述神经网络期间在先前批次的训练样本上生成的先前的第一层输出;针对所述当前批次中的每个训练样本,接收相应的第一层输出;针对所述多个分量中的每一个,从所述当前批次中的训练样本的第一层输出计算相应的当前批次归一化统计;针对所述多个分量中的每一个,从所述当前移动归一化统计和所述当前批次归一化统计确定仿射变换的相应的仿射变换参数;以及针对所述当前批次中的每个训练样本的每个第一层输出:使用所述分量的当前批次归一化统计来归一化所述第一层输出的每个分量,以生成所述训练样本的归一化层输出,根据所述分量的仿射变换参数将所述仿射变换应用于所述归一化层输出的每个分量,以生成所述训练样本的再归一化层输出,从所述再归一化层输出生成所述训练样本的批再归一化层输出,以及提供所述批再归一化层输出作为所述第二神经网络层的输入。
在一些实现方式中,批再归一化层还配置为:使用所述分量的当前批次归一化统计来更新每个分量的当前移动归一化统计,以生成所述分量的更新的移动归一化统计。
在一些实现方式中,在所述神经网络的训练期间,所述***配置为通过所述当前批次归一化统计反向传播作为以下的一部分:调整所述神经网络的参数值,而将所述移动归一化统计和所述仿射变换的参数作为常数处理。
在一些实现方式中,所述多个分量是所述第一层输出的相应的维度。
在一些实现方式中,所述第一神经网络层是卷积层,其中所述第一层输出包括多个特征图,且其中每个分量是相应的特征图。
在一些实现方式中,针对所述分量中的每一个,所述当前移动归一化统计包括:所述先前的第一层输出的分量的移动均值,以及所述第一层输出的分量的移动近似标准偏差;其中计算所述第一层输出的多个当前批次归一化统计包括,对于所述分量中的每一个:计算所述当前批次中的第一层输出的分量的均值;以及计算所述当前批次中的第一层输出的分量的近似标准偏差。
在一些实现方式中,归一化每个第一层输出的每个分量包括:使用所述分量的计算的均值和计算的近似标准偏差归一化所述第一层输出的分量。在一些实现方式中,针对每个分量,确定所述分量中的每一个的仿射变换的相应的参数包括:从(i)所述分量的均值和所述分量的移动均值之间的差异与(ii)所述分量的移动近似标准偏差之间的比率,确定所述分量的第一参数;以及从所述分量的近似标准偏差与所述分量的移动近似标准偏差之间的比率,确定所述分量的第二参数。
在一些实现方式中,根据所述参数将所述仿射变换应用于所述归一化层输出的每个分量包括:将所述归一化层输出的分量乘以所述分量的第二参数以生成乘积;以及将所述乘积与所述分量的第一变换相加以生成所述再归一化层输出的分量。
在一些实现方式中,所述第一参数和所述第二参数的值被约束为落入预定范围内。
在一些实现方式中,分量的近似标准偏差是所述分量的方差与预定常数值之和的平方根。
在一些实现方式中,针对所述训练样本从所述再归一化层输出生成相应的批再归一化层输出包括:针对每个分量,根据所述分量的一组可学习参数的当前值来变换所述训练样本的再归一化层输出的分量。
在一些实现方式中,所述批再归一化层配置为,在已经训练所述神经网络以确定所述分量中的每一个的可学习参数的训练值之后:接收所述第一神经网络层为新的神经网络输入生成的新的第一层输出;使用所述分量的预先计算的归一化统计来归一化所述新的第一层输出的每个分量,以生成新的再归一化层输出;通过对于每个分量根据所述分量的该组可学习参数的训练值变换所述新的再归一化层输出的分量,生成新的批再归一化层输出;以及提供所述批再归一化层输出作为所述第二神经网络层的新的层输入。
在一些实现方式中,所述分量的预先计算的归一化统计是训练所述神经网络之后的最终移动归一化统计。
在一些实现方式中,所述分量的预先计算的归一化统计在训练所述神经网络之后从由所述第一神经网络层生成的新的第一层输出计算出。
在一些实现方式中,所述仿射变换参数包括缩放参数和偏移参数,且其中确定相应的仿射变换参数包括:如果完成的训练迭代的数量小于训练迭代的预定阈值数量,则确定所述缩放参数值为一且所述偏移参数值为零。
在一些实现方式中,生成所述训练样本的再归一化层输出还包括:剪切所述再归一化层输出的每个分量以使所述分量位于预定范围内。
在一些实现方式中,在训练所述神经网络之后由所述神经网络处理的新的神经网络输入是与用于训练所述神经网络的训练样本不同类型的输入。
在一些实现方式中,所述第一神经网络层通过根据所述第一神经网络层的一组参数的当前值而修改第一层输入来生成所述第一层输出。
在一些实现方式中,所述第二神经网络层通过将非线性激活函数应用于所述批再归一化层输出来生成第二层输出。
在一些实现方式中,所述第一神经网络层通过以下方式生成所述第一层输出:根据一组参数的当前值而修改第一层输入以生成修改的第一层输入,然后将非线性激活函数应用于所述修改的第一层输入。
在一些实现方式中,所述神经网络是前馈神经网络。
在一些实现方式中,所述神经网络是循环神经网络。
根据第二方面,提供一种***,包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机实现:神经网络,其中所述神经网络配置为接收神经网络输入并处理所述神经网络以为所述神经网络输入中的每一个生成相应的神经网络输出,且其中所述神经网络包括之前所述的批再归一化层。
根据第三方面,提供了一种方法,包括由先前描述的批再归一化层执行的操作。
根据第四方面,提供了一种或多个计算机存储介质,其存储指令,当由一个或多个计算机执行时,使得一个或多个计算机实现先前描述的神经网络。
根据第五方面,提供了一种或多个计算机存储介质,其存储指令,当由一个或多个计算机执行时,使得一个或多个计算机执行由前述批再归一化层执行的操作。
可以实施本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
本说明书中描述的神经网络***包括批再归一化层,其在训练期间生成批再归一化层输出,该批再归一化层输出包括校正因子以调整当前正在处理的批次的训练样本的归一化统计与整个训练数据组的归一化统计之间的差异。因此,本说明书中描述的批再归一化层消除了批再归一化层输出对当前正在处理的批次的特性的依赖性,导致在训练期间生成的批再归一化层输出与神经网络训练后生成的批再归一化层输出完全匹配。
与之相比,一些常规的神经网络***包括常规的批归一化层。在训练期间,常规的批归一化层生成批归一化层输出,它直接依赖于当前正在处理的批次的训练样本的归一化统计,从而导致训练期间生成的批归一化层输出与神经网络训练后生成的批归一化层输出之间的不匹配。其它常规的神经网络***不执行网络层之间的任何归一化,从而导致每个层的输入的分布在训练期间随着先前的层的参数改变而改变(即,该现象有时被称为内部协变量偏移),从而降低了训练的有效性。
因此,通过包括批再归一化层,本说明书中描述的神经网络***在训练之后具有优越的性能(例如,预测精度),对训练初始化不太敏感(例如,神经网络的参数在训练之前被初始化的方式),并且可以比常规的神经网络***更快地训练(即,训练迭代次数减少)。
例如,通过使训练期间生成的批再归一化层输出与神经网络训练后生成的批再归一化层输出完全匹配,批再归一化层在训练期间和训练后生成类似的输出。因此,在训练期间对神经网络***的参数进行调整以改善神经网络***的性能也导致在训练之后对神经网络***的性能的改善,如果批再归一化层在训练之后和在训练期间生成不同的输出(例如,对于常规的批归一化层),则不一定是这种情况。
此外,由于本说明书中描述的神经网络***可以比常规的神经网络***更快地训练,因此在训练期间消耗更少的计算资源(例如,存储器和计算能力)。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。根据说明书、附图和权利要求,本主题的其它特征、方面和优点将变得显而易见。
附图说明
图1示出了示例神经网络***。
图2是在神经网络的训练期间使用批再归一化层处理先前的层输出的示例过程的流程图。
图3是在神经网络已被训练之后使用批再归一化层处理先前的层输出的示例过程的流程图。
各附图中相同的附图标记和名称指示相同的元件。
具体实施方式
图1示出了示例神经网络***100。神经网络***100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的***的示例,其中可以实现下面描述的***、组件和技术。
神经网络***100包括神经网络120,其进而包括多个神经网络层。神经网络120通过处理通过每个层的神经网络输入,从神经网络输入生成神经网络输出。神经网络120可以是前馈神经网络(例如,多层感知或卷积神经网络)、循环神经网络(例如,长短时记忆神经网络),或任何其它类型的神经网络。
神经网络120可以配置为接收任何类型的数字数据输入,并基于输入生成任何类型的分数(score)或分类输出。
例如,如果神经网络120的输入是图像或已从图像中提取的特征,则神经网络120针对给定图像生成的输出可以是对于一组对象类别中的每一个的分数,每个分数表示图像包含属于该类别的对象的图像的估计的似然。
作为另一示例,如果神经网络120的输入是互联网资源(例如,网页)、文档、或文档部分、或者从互联网资源、文档或文档部分中提取的特征,则神经网络120针对给定的互联网资源、文档或文档部分生成的输出可以是对于一组主题中的每一个的分数,每个分数表示互联网资源、文档或文档部分是关于该主题的估计的似然。
作为另一示例,如果神经网络120的输入是特定广告的印象上下文的特征,则神经网络120生成的输出可以是分数,该分数表示该特定广告将被点击的估计的似然。
作为另一示例,如果神经网络120的输入是针对用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户先前采取的动作的特征,则神经网络120生成的输出可以是对于一组内容项中的每一个的分数,每个分数表示用户将积极地响应于推荐的内容项的估计的似然。
作为另一示例,如果神经网络120的输入是以一种语言的文本,则神经网络120生成的输出可以是对于以另一种语言的一组文本片段中的每一个的分数,每个分数表示另一种语言的文本片段是将输入文本正确翻译成另一种语言的估计的似然。
作为另一示例,如果神经网络120的输入是说出的话语、说出的话语的序列、或者从两者之一导出的特征,则神经网络120生成的输出可以是对于一组文本片段中的每一个的分数,每个分数表示文本片段是话语或话语序列的正确转录的估计的似然。
作为另一示例,神经网络120可以是自动完成***的一部分或文本处理***的一部分。
作为另一示例,神经网络120可以是强化学习***的一部分,并且可以生成用于选择要由与环境交互的代理执行的动作的输出。
特别地,神经网络120的每个层配置为接收输入并从输入生成输出。神经网络层共同处理由神经网络120接收的神经网络输入,以为每个接收到的神经网络输入生成相应的神经网络输出。一些或全部的神经网络层根据神经网络层的一组参数的当前值从输入生成输出。例如,一些层可以将接收的输入乘以当前参数值的矩阵,作为从接收的输入生成输出的一部分。
神经网络120还包括神经网络层A 104和神经网络层B 112之间的批再归一化层(batch renormalization layer)108。批再归一化层108配置为在神经网络120的训练期间,在从神经网络层A 104接收输入之后执行一组操作,并且在神经网络120已经被训练之后,在从神经网络层A 104接收输入之后执行另一组操作。
特别地,可以在多批次的训练样本上训练神经网络120,以便确定神经网络层的参数的训练值。一批训练样本是一组多个训练样本。例如,在训练期间,神经网络120可以处理一批训练样本102,并为批次102中的每个训练样本生成相应的神经网络输出。然后可以使用神经网络输出来调整神经网络层的参数值,例如,通过传统的梯度下降和反向传播神经网络训练技术。
在给定批次的训练样本上训练神经网络120期间,批再归一化层108配置为针对批次中的训练样本接收由神经网络层A 104生成的层A输出106,针对批次中的每个训练样本,处理层A输出106以生成相应的批再归一化层输出110,并且然后提供批再归一化层输出110作为神经网络层B 112的输入。层A输出106包括针对批次中的每个训练样本的由神经网络层A 104生成的相应的输出。类似地,批再归一化层输出110包括针对批次中的每个训练样本的由批再归一化层108生成的相应的输出。
通常,在训练期间,批再归一化层108:(i)使用当前批次的归一化统计而将层A输出106归一化,以针对当前批次中的每个训练样本生成相应的归一化输出,(ii)使用仿射变换(即,通过缩放参数和偏移参数而参数化的变换)将归一化输出再归一化,以针对当前批次中的每个训练样本生成相应的再归一化输出,以及可选地,(iii)在提供输出作为对神经网络层B 112的输入之前,变换每个再归一化输出。
由批再归一化层108应用于归一化输出以生成再归一化输出的仿射变换校正当前批次的归一化统计与作为整体的训练数据的组的归一化统计之间的差异。因此,仿射变换消除了批再归一化层输出对当前批次的特性的依赖性。
如下面将更详细描述的,神经网络120一经被训练,批再归一化层108通过基于预先计算的归一化统计来归一化层A输出106而生成批再归一化层输出110,其类似地不依赖于任何特定批次的训练数据的归一化统计。因此,通过应用仿射变换来生成再归一化输出,神经网络120使得在训练期间由批再归一化层108生成的批再归一化层输出110与神经网络120一经被训练生成的批再归一化层输出110良好匹配,并且从而例如在训练之后改善神经网络120的性能。特别地,由于在训练期间由批再归一化层108生成的批再归一化层输出110与神经网络120一经被训练生成的批再归一化层输出110完全匹配,因此神经网络120在训练期间和在训练之后生成类似的输出。因此,在训练期间对神经网络120的参数进行调整以改善神经网络120的性能也导致在训练之后对神经网络120的性能的改善,如果批再归一化层108在训练之后和在训练期间生成不同的输出(例如,对于常规的批归一化层),则不一定是这种情况。
***100通过计算相对于神经网络120的所选参数的损失函数的梯度来训练神经网络120,并且将梯度通过神经网络120反向传播来调整所选参数的值。特别地,***100配置为经由通过当前批次的归一化统计进行反向传播而将批再归一化层108的仿射变换的参数作为常数处理来训练神经网络120。通过批次的归一化统计进行反向传播是指通过计算相对于神经网络120的参数(包括归一化统计)的损失函数的梯度来执行梯度下降。将仿射变换的参数作为常数处理是指将它们从梯度计算中排除。
由批再归一化层108计算的归一化统计和仿射变换的参数以及批再归一化层108在训练期间归一化和再归一化层A输出106的方式取决于生成层A输出106的神经网络层A104的性质。
在某些情况下,神经网络层A 104是生成包括由单个维度索引的多个分量的输出的层。例如,神经网络层A 104可以是完全连接的神经网络层。
然而,在一些其它情况下,神经网络层A 104是卷积层或其它类型的神经网络层,其生成包括多个分量的输出,每个分量由特征索引和空间位置索引两者索引。参考图2更详细地描述在这两种情况中的每一种情况下在神经网络120的训练期间生成批再归一化层输出。
神经网络120一经被训练(即,通过***100),神经网络120可以接收新的神经网络输入以进行处理,并通过神经网络层处理神经网络输入以根据神经网络120的参数的训练值生成新的神经网络输出以用于输入。批再归一化层108在处理新的神经网络输入期间执行的操作也取决于神经网络层A 104的性质。在神经网络100已经训练之后处理新的神经网络输入将参考图3更详细地描述。
批再归一化层108可以被包含在神经网络中的各个位置处(即,在任何适当的神经网络层之间),并且在一些实现方式中,多个批再归一化层108可以包含在神经网络中。
在图1的示例中,在一些实现方式中,神经网络层A 104通过根据第一神经网络层的一组参数的当前值修改对108层的输入来生成输出,例如,通过将对该层的输入乘以当前参数值的矩阵。在这些实现方式中,神经网络层B 112可以从批再归一化层108接收输出,并通过将非线性操作(即,非线性激活函数)应用于批再归一化层输出110来生成输出。因此,在这些实现方式中,批再归一化层108被***到常规的神经网络层内,并且常规的神经网络层的操作在神经网络层A 104和神经网络层B 112之间被划分。
在一些其它实现方式中,神经网络层A 104通过以下方式来生成输出:根据一组参数的当前值来修改层输入以生成修改的第一层输入,并且然后将非线性操作应用于修改的第一层输入,之后将输出提供给批再归一化层108。因此,在这些实现方式中,在常规的神经网络层之后***批再归一化层108(即,从常规的神经网络层接收输入)。
图2是在神经网络的训练期间使用批再归一化层处理先前的层输出的示例过程的流程图。为方便起见,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的***执行。例如,被适当地编程的包含在神经网络***中的批再归一化层——比如包含在图1的神经网络***100中的批再归一化层108,可以执行过程200。
批再归一化层接收对于训练样本的批次的先前的层输出(步骤202)。先前的层输出包括由神经网络中的批再归一化层之前的层针对批次中的每个训练样本生成的相应输出(即,配置为提供其输出作为批再归一化层的输入的层)。
批再归一化层针对批次中的每个训练样本生成相应的归一化输出(步骤204)。也就是说,批再归一化层从每个接收的先前的层输出生成相应的归一化输出。具体地,***确定对应于先前的层输出的每个分量的归一化统计,并通过使用对应的归一化统计来归一化每个接收的先前的层输出的每个分量,来从接收的先前的层输出生成相应的归一化输出。
在一些情况下,批再归一化层之前的层是生成包括由单个维度索引的多个分量的输出的层(例如,完全连接的层)。在这些情况下,批再归一化层针对每个维度计算归一化统计,其包括对应于维度的先前的层输出的分量的均值和标准偏差。对应于分量的归一化统计由对应于分量的维度的归一化统计给出。
在一些这样的情况下,批再归一化层针对每个维度计算归一化统计,其包括对应于维度的下层输出的分量的均值和标准偏差。然后,批再归一化层使用归一化统计对每个下级输出的每个分量进行归一化,以便针对批次中的每个训练样本生成相应的归一化输出。特别地,对于给定的先前的层输出的给定分量,批再归一化层使用针对对应于该分量的维度计算的均值和标准偏差来归一化该分量。例如,在一些实现方式中,对于对应于来自批次的第i个下层输出的第k维度的分量xk,i,归一化输出满足:
其中是对应于批次中的先前的层输出的第k维度的分量的均值,是对应于批次中的下层输出的第k维度的分量的标准偏差。
在一些实现方式中,标准偏差是数值稳定的标准偏差,其等于其中∈是常数值(例如,小的正常数),并且是对应于批次中的下层输出的第k维度的分量的方差。
在其它一些情况下,批再归一化层之前的神经网络层是这样的神经网络层,它生产包括多个分量的输出,每个分量都由特征索引和空间位置索引来索引(例如,卷积层)。在这些情况下,批再归一化层针对每个特征索引计算归一化统计,其包括对应于特征索引的下层输出的分量的均值和标准偏差。对应于分量的归一化统计由对应于分量的特征索引的归一化统计给出。
在一些这样的情况下,批再归一化层批针对每个可能的特征索引和空间位置索引组合计算具有该特征索引和空间位置索引的先前的层输出的分量的均值和方差。然后,批再归一化层通过计算:包含特征索引的特征索引和空间位置索引组合的多个均值的平均值,以及包含特征索引的特征索引和空间位置索引组合的多个方差的平均值来计算每个特征索引的归一化统计。
然后,批再归一化层使用归一化统计对每个下级输出的每个分量进行归一化,以便针对批次中的每个训练样本生成相应的归一化输出。特别地,对于给定输出的给定分量,批再归一化层使用对应于该分量的特征索引的平均均值和平均方差对该分量进行归一化,例如,以与上述的当批再归一化层之前的层生成由单个维度索引的输出时的相同的方式。
在其它情况下,批再归一化层通过计算与特征索引对应的(即,具有特征索引)先前的层输出的分量的均值和方差来计算每个特征索引的归一化统计。然后,批再归一化层使用特征索引的归一化统计对每个先前的层输出的每个分量进行归一化,以便针对批次中的每个训练样本生成相应的归一化输出。特别地,对于给定输出的给定分量,批再归一化层使用对应于该分量的特征索引的均值和方差对该分量进行归一化,例如,以与上述的当批再归一化层之前的层生成由单个维度索引的输出时的相同的方式。
批再归一化层针对批次中的每个训练样本生成相应的再归一化输出(步骤206)。具体地,批再归一化层确定先前的层输出的每个分量的仿射变换。批再归一化层通过对应于分量的仿射变换来变换对应于先前的层输出的归一化输出的每个分量,为每个先前的层输出生成相应的再归一化输出。
批再归一化层基于分量的归一化统计(即,如参考204所述)和分量的移动归一化统计确定分量的仿射变换的参数。
特别地,批再归一化层保持每个分量的移动归一化统计。分量的移动归一化统计是分量的归一化统计的移动平均值(具体地说,均值和标准偏差归一化统计)。移动平均值是相对于针对在先前训练迭代期间处理的训练样本的批次的分量确定的归一化统计来计算的。批再归一化层在每次训练迭代时更新每个分量的移动归一化统计,如参考210进一步描述的。
批再归一化层确定分量的仿射变换的缩放参数和偏移参数如下:
其中r是缩放参数,d是偏移参数,是当前批次的分量的标准偏差归一化统计,σ是分量的标准偏差移动归一化统计,是当前批次的分量的均值归一化统计,μ是分量的均值移动归一化统计。
在一些实现方式中,对于预定数量的初始训练迭代,每个分量的仿射变换的缩放参数和偏移参数的值分别固定在值1和0。当仿射变换的参数值固定在这些值时,批再归一化层的操作与常规的批归一化层的操作相同。
在一些实现方式中,每个分量的仿射变换的缩放参数和偏移参数的值被限制在预定范围内。例如,每个分量的缩放参数的值可以限制在以下形式的范围内:
其中rmax是正值(例如,任意选择或通过交叉验证超参数选择过程(cross-validation hyper-parameter selection process)选择),并且每个分量的偏移参数的值可以限制在以下形式的范围内:
[-dmax,dmax],
其中dmax是正值。如果确定仿射变换的参数值位于预定范围之外,则批再归一化层剪切参数值以使它们位于预定范围内。仿射变换参数的允许值的预定范围可以在训练迭代之间不同。例如,仿射变换参数的允许值的预定范围的大小可以在多次迭代中逐渐增加,直到大小达到预定最大值。
批再归一化层使用仿射变换对每个归一化输出的每个分量进行归一化,以便针对批次中的每个训练样本生成相应的再归一化输出。特别地,对于给定归一化输出的给定分量,批再归一化层使用仿射变换通过为该分量确定的参数生成再归一化输出的对应分量,例如,如下:
其中是再归一化输出的分量,是归一化输出的分量,r是分量的仿射变换的缩放参数,d是分量的仿射变换的偏移参数。
可选地,批再归一化层剪切每个再归一化输出的每个分量以位于固定范围内,例如,范围[-c,+c],其中c是正数。该剪切操作具有去除再归一化输出的部件中的离群值的效果(即,比来自批次中的其它训练样本的相应分量大得多或小得多的分量)。进而,这降低了通过***反向传播大梯度并使训练不稳定的可能性。
批再归一化层针对批次中的每个训练样本生成相应的批再归一化层输出(208)。
在一些实现方式中,批再归一化层通过根据批再归一化层的一组可学习参数的当前值来变换训练样本的再归一化输出(即,如206中所确定的)来确定训练样本的批再归一化层输出。
当批再归一化层之前的层是生成包括由单个维度索引的多个分量的输出的层时,批再归一化层针对每个维度根据尺寸的参数组的当前值输出尺寸来变换该维度上的每个再归一化输出的分量。也就是说,批再归一化层为每个维度保持一组相应的参数,并使用这些参数将变换应用于维度上的再归一化输出的分量。作为神经网络***的训练的一部分,调整参数组的值。例如,在一些情况下,对于与第i个再归一化输出的第k维度相对应的分量第i个批再归一化层输出yk,i的第k维度满足:
其中γk和βk是第k维度的可学习参数。
当批再归一化层之前的层是生成包括各自由特征索引和空间位置索引来索引多个分量的输出的神经网络层时,批再归一化层针对每个再归一化输出的每个分量根据对应于该分量的特征索引的参数组的当前值来变换该分量。也就是说,批再归一化层为每个特征索引保持一组相应的参数,并使用这些参数将变换应用于具有该特征索引的再归一化输出的分量,例如,以与上述的当批再归一化层下方的层生成由单个维度索引的输出时的相同的方式。作为神经网络***的训练的一部分,调整参数组的值。
在一些其它实现方式中,批再归一化层确定训练样本的批再归一化层输出为训练样本的再归一化输出(即,如206中所确定的)。
批再归一化层更新移动归一化统计的值(210)。批再归一化层针对先前的层输出的各个分量保持移动归一化统计,它们是在先前的训练迭代中处理的训练样本的批次中的分量的归一化统计的移动平均值(具体来说,是如在204中描述的均值和标准偏差归一化统计)。批再归一化层在每次训练迭代时针对每个分量更新移动归一化统计,例如,根据以下关系:
其中←表示分配操作,是批次的分量的标准偏差归一化统计,σ是分量的标准偏差移动归一化统计,是批次的分量的均值归一化统计,μ是分量的均值移动归一化统计。
批再归一化层提供批再归一化层输出作为批再归一化层之后的层的输入(即,到配置为接收批再归一化层输出的层)(步骤212)。
图3是在神经网络已被训练之后使用批再归一化层处理先前的层输出的示例过程的流程图。为方便起见,过程300将被描述为由位于一个或多个位置中的一个或多个计算机的***执行。例如,包含在神经网络***中的批再归一化层,比如被适当地编程的包含在图1的神经网络***100中的批再归一化层108,可以执行过程300。
批再归一化层接收当前正在处理的神经网络输入的先前的层输出(步骤302)。
批再归一化层为神经网络输入生成归一化输出(步骤304)。具体地,批再归一化层根据分量的预先计算的归一化统计来调整先前的层输出的每个分量。在某些情况下,分量的预先计算的归一化统计由预先计算的平均归一化统计μ和预先计算的标准偏差归一化统计σ给出,且批再归一化层从先前的层输出的相应分量x生成归一化输出的分量
在一些实现方式中,分量的预先计算的归一化统计由在神经网络训练的最后迭代之后的分量的移动归一化统计的值给出(即,参考210所述)。
在一些其它实现方式中,在神经网络基于由先前的层生成的输出被训练之后,在处理不包括在用于训练神经网络的训练数据中的神经网络输入时,生成分量的预先计算的归一化统计。
特别地,在某些情况下,网络输入的分布以及相应的先前的层输出的分布可能在训练期间使用的训练样本与神经网络***训练之后使用的新神经网络输入之间发生变化,例如,如果新的神经网络输入是来自训练样本的不同种类的输入。例如,神经网络可能已经在用户图像上进行了训练,现在可以用于处理视频帧。用户图像和视频帧在图示的类别、图像属性、构图等方面可能具有不同的分布。因此,基于训练数据的归一化统计可能无法准确地捕获为新输入生成的先前的层输出的统计。因此,在这些情况下,批再归一化层可以使用训练之后从由批再归一化层下方的层生成的下层输出计算得出的归一化统计。
如参考204所述,归一化统计的计算取决于先前的层输出的分量是否由单个维度索引(例如,如果先前的层是完全连接的层)或者由特征索引和空间索引联合索引(例如,如果先前的层是卷积层)。
批再归一化层为神经网络输入生成批再归一化层输出(306)。
在一些实现方式中,批再归一化层通过根据与分量相关联的一组可学习参数的训练值(参考208描述)针对神经网络输入而变换归一化输出的每个分量,来确定神经网络输入的批再归一化层输出。可选地,在根据与分量相关联的一组可学习参数的训练值变换归一化输出的每个分量之前,批再归一化层可以将归一化输出剪切为位于固定范围内(如参考206所述)。
在一些其它实现方式中,批再归一化层确定神经网络输入的批再归一化层输出为神经网络输入的归一化输出。
批再归一化层提供批再归一化层输出作为批再归一化层之后的层的输入(308)。
本说明书结合***和计算机程序组件使用术语“配置为”。对于要“配置为”执行特定操作或动作的一个或多个计算机的***,意味着***已经在其上安装了软件、固件、硬件或它们的组合,其在运行时使得***执行操作或动作。对于要配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括指令,当由数据处理设备执行所述指令时,使设备执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以以数字电子电路,以有形实施的计算机软件或固件、以包括本说明书中公开的结构及其结构等价物的计算机硬件、或者以它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据处理设备的操作。计算机存储介质可以是机器可读存储装置、机器可读存储基板、随机或串行存取存储器装置、或它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码,以发送到合适的接收器设备以供数据处理设备执行。
术语“数据处理设备”指的是数据处理硬件并且包括用于处理数据的所有类型的设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。设备可以是或还包括专用逻辑电路,例如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 (27)

1.一种***,包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实现神经网络,所述神经网络包括:
第一神经网络层和第二神经网络层之间的批再归一化层,其中所述第一神经网络层生成具有多个分量的第一层输出,且其中所述批再归一化层配置为在所述神经网络的训练期间在当前批次的训练样本上进行:
获得所述多个分量中的每一个的相应的当前移动归一化统计,其基于所述第一神经网络层在训练所述神经网络期间在先前批次的训练样本上生成的先前的第一层输出;
针对所述当前批次中的每个训练样本,接收相应的第一层输出;
针对所述多个分量中的每一个,从所述当前批次中的训练样本的第一层输出计算相应的当前批次归一化统计;
针对所述多个分量中的每一个,从所述当前移动归一化统计和所述当前批次归一化统计确定仿射变换的相应的仿射变换参数;以及
针对所述当前批次中的每个训练样本的每个第一层输出:
使用所述分量的当前批次归一化统计来归一化所述第一层输出的每个分量,以生成所述训练样本的归一化层输出,
根据所述分量的仿射变换参数将所述仿射变换应用于所述归一化层输出的每个分量,以生成所述训练样本的再归一化层输出,
从所述再归一化层输出生成所述训练样本的批再归一化层输出,以及
提供所述批再归一化层输出作为所述第二神经网络层的输入。
2.如权利要求1所述的***,其中所述批再归一化层还配置为:
使用所述分量的当前批次归一化统计来更新每个分量的当前移动归一化统计,以生成所述分量的更新的移动归一化统计。
3.如权利要求1或2中任一项所述的***,其中,在所述神经网络的训练期间,所述***配置为通过所述当前批次归一化统计反向传播作为以下的一部分:调整所述神经网络的参数值,而将所述移动归一化统计和所述仿射变换的参数作为常数处理。
4.如权利要求1-3中任一项所述的***,其中所述多个分量是所述第一层输出的相应的维度。
5.如权利要求1-3中任一项所述的***,其中所述第一神经网络层是卷积层,其中所述第一层输出包括多个特征图,且其中每个分量是相应的特征图。
6.如权利要求1-5中任一项所述的***,
其中,针对所述分量中的每一个,所述当前移动归一化统计包括:
所述先前的第一层输出的分量的移动均值,以及
所述第一层输出的分量的移动近似标准偏差;
其中,计算所述第一层输出的多个当前批次归一化统计包括,对于所述分量中的每一个:
计算所述当前批次中的第一层输出的分量的均值;以及
计算所述当前批次中的第一层输出的分量的近似标准偏差。
7.如权利要求6所述的***,其中归一化每个第一层输出的每个分量包括:
使用所述分量的计算的均值和计算的近似标准偏差归一化所述第一层输出的分量。
8.如权利要求6或权利要求7所述的***,其中针对每个分量,确定所述分量中的每一个的仿射变换的相应的参数包括:
从(i)所述分量的均值和所述分量的移动均值之间的差异与(ii)所述分量的移动近似标准偏差之间的比率,确定所述分量的第一参数;以及
从所述分量的近似标准偏差与所述分量的移动近似标准偏差之间的比率,确定所述分量的第二参数。
9.如权利要求8所述的***,其中根据所述参数将所述仿射变换应用于所述归一化层输出的每个分量包括:
将所述归一化层输出的分量乘以所述分量的第二参数以生成乘积;以及
将所述乘积与所述分量的第一变换相加以生成所述再归一化层输出的分量。
10.如权利要求8或9中任一项所述的***,其中所述第一参数和所述第二参数的值被约束为落入预定范围内。
11.如权利要求6-10中任一项所述的***,其中分量的近似标准偏差是所述分量的方差与预定常数值之和的平方根。
12.如权利要求1-11中任一项所述的***,其中针对所述训练样本从所述再归一化层输出生成相应的批再归一化层输出包括:
针对每个分量,根据所述分量的一组可学习参数的当前值来变换所述训练样本的再归一化层输出的分量。
13.如权利要求12所述的***,其中所述批再归一化层配置为,在已经训练所述神经网络以确定所述分量中的每一个的可学习参数的训练值之后:
接收所述第一神经网络层为新的神经网络输入生成的新的第一层输出;
使用所述分量的预先计算的归一化统计来归一化所述新的第一层输出的每个分量,以生成新的再归一化层输出;
通过对于每个分量根据所述分量的该组可学习参数的训练值变换所述新的再归一化层输出的分量,生成新的批再归一化层输出;以及
提供所述批再归一化层输出作为所述第二神经网络层的新的层输入。
14.如权利要求13所述的***,其中所述分量的预先计算的归一化统计是训练所述神经网络之后的最终移动归一化统计。
15.如权利要求13所述的***,其中所述分量的预先计算的归一化统计在训练所述神经网络之后从由所述第一神经网络层生成的新的第一层输出计算出。
16.如权利要求1-15中任一项所述的***,其中所述仿射变换参数包括缩放参数和偏移参数,且其中确定相应的仿射变换参数包括:
如果完成的训练迭代的数量小于训练迭代的预定阈值数量,则确定所述缩放参数值为一且所述偏移参数值为零。
17.如权利要求1-16中任一项所述的***,其中生成所述训练样本的再归一化层输出还包括:
剪切所述再归一化层输出的每个分量以使所述分量位于预定范围内。
18.如权利要求15所述的***,其中在训练所述神经网络之后由所述神经网络处理的新的神经网络输入是与用于训练所述神经网络的训练样本不同类型的输入。
19.如权利要求1-18中任一项所述的***,其中所述第一神经网络层通过根据所述第一神经网络层的一组参数的当前值而修改第一层输入来生成所述第一层输出。
20.如权利要求19所述的***,其中所述第二神经网络层通过将非线性激活函数应用于所述批再归一化层输出来生成第二层输出。
21.如权利要求1-18中任一项所述的***,其中所述第一神经网络层通过以下方式生成所述第一层输出:根据一组参数的当前值而修改第一层输入以生成修改的第一层输入,然后将非线性激活函数应用于所述修改的第一层输入。
22.如权利要求1-21中任一项所述的***,其中所述神经网络是前馈神经网络。
23.如权利要求1-22中任一项所述的***,其中所述神经网络是循环神经网络。
24.一种***,包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机实现:
神经网络,
其中所述神经网络配置为接收神经网络输入并处理所述神经网络以为所述神经网络输入中的每一个生成相应的神经网络输出,并且
其中所述神经网络包括如权利要求1-23中任一项所述的批再归一化层。
25.一种方法,包括由权利要求1-23中任一项所述的批再归一化层执行的操作。
26.一个或多个计算机存储介质,其存储指令,所述指令在由所述一个或多个计算机执行时,使得所述一个或多个计算机实现如权利要求1-24中任一项所述的神经网络。
27.一个或多个计算机存储介质,其存储指令,所述指令在由所述一个或多个计算机执行时,使得所述一个或多个计算机执行如权利要求1-23中任一项所述的批再归一化层执行的操作。
CN201880011378.8A 2017-02-10 2018-02-09 批再归一化层 Pending CN110291540A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762457649P 2017-02-10 2017-02-10
US62/457,649 2017-02-10
PCT/US2018/017597 WO2018148526A1 (en) 2017-02-10 2018-02-09 Batch renormalization layers

Publications (1)

Publication Number Publication Date
CN110291540A true CN110291540A (zh) 2019-09-27

Family

ID=61283320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880011378.8A Pending CN110291540A (zh) 2017-02-10 2018-02-09 批再归一化层

Country Status (6)

Country Link
US (2) US10671922B2 (zh)
EP (1) EP3563306B1 (zh)
JP (1) JP6876814B2 (zh)
KR (1) KR102300614B1 (zh)
CN (1) CN110291540A (zh)
WO (1) WO2018148526A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018148526A1 (en) 2017-02-10 2018-08-16 Google Llc Batch renormalization layers
US11934944B2 (en) 2018-10-04 2024-03-19 International Business Machines Corporation Neural networks using intra-loop data augmentation during network training
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
US11562201B2 (en) * 2019-02-25 2023-01-24 Microsoft Technology Licensing, Llc Neural network layer processing with normalization and transformation of data
KR102046113B1 (ko) * 2019-03-19 2019-11-18 주식회사 루닛 신경망 학습 방법 및 그 장치
CN110390394B (zh) * 2019-07-19 2021-11-05 深圳市商汤科技有限公司 批归一化数据的处理方法及装置、电子设备和存储介质
CN112801287A (zh) * 2021-01-26 2021-05-14 商汤集团有限公司 神经网络性能评估方法及装置、电子设备及存储介质
JP7211556B1 (ja) * 2021-06-09 2023-01-24 コニカミノルタ株式会社 ニューラル・ネットワーク・システム
CN117377984A (zh) * 2021-09-01 2024-01-09 英特尔公司 用于视频理解应用中的深度学习的动态时间归一化

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006000103A1 (en) * 2004-06-29 2006-01-05 Universite De Sherbrooke Spiking neural network and use thereof
JP2015215837A (ja) * 2014-05-13 2015-12-03 株式会社デンソー 演算処理装置
CN105160397A (zh) * 2014-06-06 2015-12-16 谷歌公司 训练精炼的机器学习模型
CN106127702A (zh) * 2016-06-17 2016-11-16 兰州理工大学 一种基于深度学习的图像去雾算法
CN106326984A (zh) * 2016-08-09 2017-01-11 北京京东尚科信息技术有限公司 用户意图识别方法和装置、自动应答***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346915A (ja) * 1992-01-30 1993-12-27 Ricoh Co Ltd 学習機械並びにニューラルネットワークおよびデータ分析装置並びにデータ分析方法
KR102055355B1 (ko) * 2015-01-28 2019-12-12 구글 엘엘씨 배치 정규화 레이어들
WO2018148526A1 (en) 2017-02-10 2018-08-16 Google Llc Batch renormalization layers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006000103A1 (en) * 2004-06-29 2006-01-05 Universite De Sherbrooke Spiking neural network and use thereof
JP2015215837A (ja) * 2014-05-13 2015-12-03 株式会社デンソー 演算処理装置
CN105160397A (zh) * 2014-06-06 2015-12-16 谷歌公司 训练精炼的机器学习模型
CN106127702A (zh) * 2016-06-17 2016-11-16 兰州理工大学 一种基于深度学习的图像去雾算法
CN106326984A (zh) * 2016-08-09 2017-01-11 北京京东尚科信息技术有限公司 用户意图识别方法和装置、自动应答***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIANLI LIAO: "Streaming normalization: towards simpler and more biologically-plausible normalizations for online and recurrent learning", 《ARXIV:1610.06160V1》 *
雷铁安等: "基于改进算法的多层神经网络的结构优化设计", 《大连铁道学院学报》 *

Also Published As

Publication number Publication date
US20190325315A1 (en) 2019-10-24
US11887004B2 (en) 2024-01-30
US10671922B2 (en) 2020-06-02
EP3563306B1 (en) 2023-12-06
KR20190113952A (ko) 2019-10-08
JP6876814B2 (ja) 2021-05-26
JP2020506488A (ja) 2020-02-27
WO2018148526A1 (en) 2018-08-16
KR102300614B1 (ko) 2021-09-09
US20200250543A1 (en) 2020-08-06
EP3563306A1 (en) 2019-11-06

Similar Documents

Publication Publication Date Title
CN110291540A (zh) 批再归一化层
AU2022201819B2 (en) Batch normalization layers
CN110796190B (zh) 具有深度学习特征的指数建模
US11468246B2 (en) Multi-turn dialogue response generation with template generation
CN110366734B (zh) 优化神经网络架构
EP3711000B1 (en) Regularized neural network architecture search
EP3446260B1 (en) Memory-efficient backpropagation through time
JP2021064390A (ja) ニューラルアーキテクチャ検索
CN110520871A (zh) 训练机器学习模型
US20200104678A1 (en) Training optimizer neural networks
CN109564575A (zh) 使用机器学习模型来对图像进行分类
CN109923560A (zh) 使用变分信息瓶颈来训练神经网络
JP2019517057A (ja) ワイドアンドディープマシンラーニングモデル
US11922281B2 (en) Training machine learning models using teacher annealing
CN108140143A (zh) 正则化机器学习模型
CN108701253A (zh) 使用规范化的目标输出训练神经网络
CN103116582B (zh) 一种信息检索方法及相关***和装置
CN109791631A (zh) 奖励增强模型训练
CN110326002A (zh) 使用在线注意的序列处理
CN110929114A (zh) 利用动态记忆网络来跟踪数字对话状态并生成响应
EP3602419A1 (en) Neural network optimizer search
CN112529153A (zh) 基于卷积神经网络的bert模型的微调方法及装置
CN108369664A (zh) 调整神经网络的大小
CN110462638A (zh) 使用后验锐化训练神经网络
CN109726811A (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