tensorflow批标准化

批标准化(batch normalization,BN)是为了克服神经网络层数加深导致难以训练而产生的。

统计机器学习中的ICS理论(Internal Covariate Shift)理论:源域和目标域的数据分布是一样的。即训练数据和测试数据是满足相同分布的。
Covariate Shift是指训练集的样本数据和目标样本集之间分布不一致时,训练得到的模型不能更好的泛化(generalization)。

方法

解决的思路是根据训练样本和目标样本的比例对训练样本做一个矫正。因此,通过批规范化固定某些层或者所有层的输入,从而固定每层输入信号的均值和方差。
批标准化一般用在激活函数之前,对x=Wu+b做规范化,使结果(输出信号的各个维度)均值为0,方差为1 。类似于吴恩达课程上讲述的feature scaling.

优点

批标准化通过规范化让激活函数分布在线性区间,结果就是加大了梯度,让模型更加大胆的进行梯度下降。