前言
BatchNorm作为深度学习训练的一个大杀器,重要性还是不言而喻的。最近学习了一下BatchNorm的论文,简单记录一下以便复习。论文中的好多公式推导都没看明白,只能结合吴恩达深度学习的讲解,写一些感性上的认识吧。下面这篇博客讲的很好,我就在它的基础上补充一下好了。
深入理解Batch Normalization批标准化
BatchNorm论文下载传送门
BatchNorm论文阅读笔记
Abstract
在训练的时候,由于前面层的权重更新,后面每一层的输入的分布会发生变化,这导致训练深度神经网络非常困难。需要设置较小的学习率和一定的权重初始化方法来应对这个问题。我们将这种现象称为internal covariate shift。我们提出了一种归一化方法,将这种方法整合到网络结构中,并在训练时每个mini-batch上进行归一化,来解决这个问题。BatchNorm可以使我们在训练时使用更大的学习率,并且网络初始化方法不需要像以前那样很careful,并具有一定的正则化效应。
为什么用BatchNorm
前面网络的参数发生微小的变化,都会随着网络深度的增加而不断放大,导致对后面层的训练产生很大影响。
网络的中间层的输入发生变化,导致这些发生变化的层在训练的时候需要不断地适应新的数据分布。
具体做法
在训练时,对需要进行BatchNorm的层做如下操作:

最低0.47元/天 解锁文章
283

被折叠的 条评论
为什么被折叠?



