译文 | 批量归一化 通过减少内部协变量转移加速深度网络训练

原文:
——前言:我们将训练过程中深度网络内部节点分布的变化作为内部协变量转移,消除它可以提供一个更快的训练,对此我们提出了一个新的机制——批量归一化,它将减少内部协变量转移,这样做可以大大地加快深度神经网络的训练 。
绪论
在深度神经网络的训练过程中,先前层参数的调整会导致之后每一层输入值的分布发生变化,这种现象使模型的训练变得很复杂 。所以在深度神经网络模型的训练中,通常需要仔细选取初始参数并采取较小的学习率,这不但导致模型训练的效率低下,而且使得饱和非线性模型的训练极为困难 。我们把这种现象称为内部协变量转移(),并通过归一化()每层的输入来解决这个问题 。我们方法的强大之处在于把归一化的步骤作为模型训练架构的一部分来实现, 并且对每个训练小批量都执行归一化操作 。批量归一化允许我们使用很高的学习率并且对初始化不太在意 。它在一定情况下也可以起到正则化的作用,并减轻了对的需求 。我们在最先进的图像分类模型中使用批量归一化法,在减少了14倍训练步骤的情况下实现了与原模型相同的精度,并以显著增量击败了原始模型 。我们使用批量归一化的网络模型,增强了在分类上发布的最佳结果:获得了4.9%前5验证误差(和4.8%测试误差),这超出了人类评估者的准确率 。
1 简介
深度学习极大地提升了视觉,语言和许多其他领域 。随机梯度下降(SGD)已经被证明是训练神经网络的一个有效的方法,并且随机梯度下降变种方法如动量和已经被用来获得最先进的性能 。
【译文 | 批量归一化 通过减少内部协变量转移加速深度网络训练】

译文 | 批量归一化 通过减少内部协变量转移加速深度网络训练

文章插图
使用小批量的样本,而不是一次一个样本,在几个方面是有帮助的 。首先,小批量上的损失梯度是训练集上梯度的一个估计,其质量随着批量大小的增加而提高 。第二,由于现代计算平台提供的并行性,对一个批量的计算比每个样本m次计算更有效 。
虽然随机梯度是简单有效的,但是它需要仔细调整模型超参数,特别是使用在优化中的学习率以及模型参数的初始值 。由于每层的输入受所有先前层的参数影响的事实,使训练复杂化,以致于网络参数的小变化随着网络变得更深而放大 。
由于层需要不断地适应新的分布,层输入的分布的变化提出了一个问题 。当一个学习系统的输入分布改变时,也就认为经历了协变量移位,这个通常通过领域适应()来处理 。但是,协变量移位的概念可以作为一个整体延伸超出学习系统,适用于他自身的部分,比如子网络或者一个层 。设想一个计算如下公式的网络:
例如,一个梯度下降步骤:
译文 | 批量归一化 通过减少内部协变量转移加速深度网络训练

文章插图
因此,输入分布的属性使得训练更有效——比如在训练和测试数据之间有相同的分布——也适用于子网络的训练 。因此有利于X的分布随时间保持不变 。
固定一个子网络输入的分布将对子网络外的层产生积极的影响 。用一个激活函数z=g(Wu+b)考虑一个层,其中u是层输入,权重矩阵U和阈值是学习的层参数,因为X是受W,b和下面所有层参数的影响,在训练期间对这些参数的改