深度学习入门--Batch Normalization优化
2019-04-08 本文已影响3人
爱吃西瓜的番茄酱
由上一篇文章可知,如果我们设置了合适的权重初始值,比如He初始值
,则各层的激活值分布会有适当的广度,从而可以顺利的进行学习。
Batch Normalization(简称Batch Norm)是2015年提出的新方法。Batch Norm的思路就是“强制性”调整各层的激活值分布使其具有适当的广度。为此,要向神经网络中插入对数据分布进行正规化的层,即Batch Norm层:
Batch Norm,顾名思义,以进行学习时的mini-batch为单位,按mini-batch进行正规化。具体分为两步:
- 进行使数据分布的均值为0,方差为1的正规化。
- 对正规化后的数据进行缩放和平移。
图的标题为不同的权重初始值的标准差,图中的实线是使用了Batch Norm时的结果,虚线是没有使用Batch Norm时的结果。
由上图可知,在大多数情况下,使用Batch Norm时学习进行的更快,而且通过使用Batch Norm,不再过于依赖权重初始值(对初始值健壮)。
总结,通过使用Batch Norm,可以推动学习的进行,并且对权重初始值健壮。
每天学习一点点,每天进步一点点。