前言:好吧,又是补习算法原理的一天
在神经网络的训练当中,需要各层的激活值分布拥有适当的广度,从而可以顺利地进行学习。那么,为了使各层分布拥有适当的广度,强制性地调整激活值的分布,这就是Batch Normalization算法,Batch Normalization调整的思路就是调整各层的激活值使其拥有适当的广度。
Batch Normalization有以下优点
1.可以使学习更快进行
2.不那么依赖初始值
3.抑制过拟合
算法公式
Batch Normalization,就是以进行学习时的mini-batch为单位进行正规化。具体而言就是使数据分布的均值为0,方差为1的正规化。
公式如下:
其中ε是一个微笑值,他是为了防止出现除以0的情况。
接着,Batch Normalization层会对正规化后的数据进行缩放和平移的变换,公式如下:
yi<-γxi+β
其中xi是标准化后的数据,γ和β是可学习参数。