Internal Covariate Shift
Internal Covariate Shift 问题:训练过程中,由于深层网络中参数变化,引起内部结点数据分布发生变化。
而ICS使得后层网络不断调整以适应输入数据分布的变化,导致学习率的降低;并且ICS使得网络训练容易陷入梯度饱和区,减缓收敛速度。为了减缓ICS问题,可以固定每一层网络输入值的分布,具体方法为白化、BN。
白化
白化(Whitening)是机器学习里面常用的一种规范化数据分布的方法,主要是PCA白化与ZCA白化。白化是对输入数据分布进行变换,进而达到使得输入特征分布具有相同的均值和方差,以及去除特征间的相关性的目的。不过白化计算成本高,改变了网络每一层的分布,所以又提出了BN。
Batch Normalization
BN对于 mini-batch 进行训练,传入样本m个,对第 j 个神经元节点进行规划化如下:
为了保存数据表达的能力,以防止底层网络学习的参数信息丢失,BN引入了两个可学习(learnable)的参数 与
。这两个参