BatchNorm是一种旨在通过固定层输入的分布来改善神经网络训练的技术.doc
《BatchNorm是一种旨在通过固定层输入的分布来改善神经网络训练的技术.doc》由会员分享,可在线阅读,更多相关《BatchNorm是一种旨在通过固定层输入的分布来改善神经网络训练的技术.doc(5页珍藏版)》请在三一文库上搜索。
1、BatchNorm是一种旨在通过固定层输入的分布来改善神经网络训练的技术由于BatchNorm可以加速训练并获得更加稳定的结果,近年来成为了一项在深度学习优化过程中被广泛使用的技巧。但目前人们对于它是如何在优化过程中起作用的还没有达成共识。MIT的研究人员从优化过程中对应空间的平滑性这一角度为我们带来的全新的视角。在过去的十年中,深度学习在计算机视觉、语音识别、机器翻译和游戏博弈等众所周知的各种艰巨任务中都取得了令人瞩目的进步。这些进步离不开硬件、数据集、算法以及网络结构等方面重大进展,批标准化/规范化(Batch Normalization,简称BatchNorm)的提出更是为深度学习的发展
2、作出了巨大贡献。BatchNorm是一种旨在通过固定层输入的分布来改善神经网络训练的技术,它通过引入一个附加网络来控制这些分布的均值和方差。BatchNorm可以实现深度神经网络更快更稳定的训练,到目前为止,无论是在学术研究中(超过4,000次引用)还是实际应用配置中,它在大多数深度学习模型中都默认使用。尽管BatchNorm目前被广泛采用,但究竟是什么原因导致了它这么有效,尚不明确。实际上,现在也有一些工作提供了BatchNorm的替代方法,但它们似乎没有让我们更好地深入理解该问题。目前,对BatchNorm的成功以及其最初动机的最广泛接受的解释是,这种有效性源于在训练过程中控制每层输入数据
3、分布的变化以减少所谓的“Internal Covariate Shift”。那什么是Internal Covariate Shift呢,可以理解为在神经网络的训练过程中,由于参数改变,而引起层输入分布的变化。研究人员们推测,这种持续的变化会对训练造成负面影响,而BatchNorm恰好减少了Internal Covariate Shift,从而弥补这种影响。虽然这种解释现在被广泛接受,但似乎仍未出现支持的具体证据。尤其是,我们仍不能理解Internal Covariate Shift和训练性能之间的联系。在本文中,作者证明了BatchNorm带来的性能增益与Internal Covariate
4、Shift无关,在某种意义上BatchNorm甚至可能不会减少Internal Covariate Shift。相反,作者发现了BatchNorm对训练过程有着更根本的影响:它能使优化问题的解空间更加平滑,而这种平滑性确保了梯度更具预测性和稳定性,因此可以使用更大范围的学习速率并获得更快的网络收敛。作者证明了在一般条件下,在具有BatchNorm的模型中损失函数和梯度的Lipschitzness(也称为-smoothness)得到了改善。最后,作者还发现这种平滑效果并非与BatchNorm唯一相关,许多其他的正则化技术也具有类似的效果,甚至有时效果更强,都能对训练性能提供类似的效果改善。研究人
5、员表示深入理解BatchNorm这一基本概念的根源有助于我们更好地掌握神经网络训练潜在的复杂性,反过来,也能促进广大学者们在此基础上进一步地研究深度学习算法。作者探讨了BatchNorm,优化和Internal Covariate Shift三者之间的关系。作者在CIFAR-10数据集上分别使用和不使用BatchNorm来训练标准的VGG网络,如上图显示用BatchNorm训练的网络在优化和泛化性能方面都有着显著改进。但是,从上图最右侧我们发现在有和没有BatchNorm的网络中,分布(均值和方差的变化)的差异似乎是微乎其微的。那么,由此引发以下的问题:1)BatchNorm的有效性是否确实与
6、Internal Covariate Shift有关?2)BatchNorm固定层输入的分布是否能够有效减少Internal Covariate Shift?首先我们训练网络时,刻意在BatchNorm层后注入随机噪声,由此产生明显的covariate shift。因此,层中的每个单元都会在各个时刻经历不同的输入分布。然后,我们测量这种引入的分布不稳定性对BatchNorm性能的影响。下图显示了标准网络、加上BatchNorm层的网络以及在BatchNorm层后加噪声的网络的训练结果。我们发现,后两者的性能差异可以忽略,并且都比标准网络要好。在标准网络中加BatchNorm之后,即便噪声的引入
7、使得分布不稳定,但在训练性能仍比标准网络好。所以,BatchNorm的有效性与Internal Covariate Shift并没有什么联系。仅从输入分布的均值和方差来看,Internal Covariate Shift似乎与训练性能并没有直接联系,那么从更广泛的概念上理解,Internal Covariate Shift是否与训练性能有着直接的联系呢?如果有,BatchNorm是否真的有效减少了Internal Covariate Shift。把每层看作是求解经验风险最小化的问题,在给定一组输入并优化损失函数,但对任何先前层的参数进行更新必将改变后面层的输入,这是Ioffe和Szegedy等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BatchNorm 一种 旨在 通过 固定 输入 分布 改善 神经网络 训练 技术
链接地址:https://www.31doc.com/p-3249965.html