美文网首页IT@程序员猿媛Python数据科学程序员
深度学习入门--Batch Normalization优化

深度学习入门--Batch Normalization优化

作者: 爱吃西瓜的番茄酱 | 来源:发表于2019-04-08 18:44 被阅读3次

    由上一篇文章可知,如果我们设置了合适的权重初始值,比如He初始值,则各层的激活值分布会有适当的广度,从而可以顺利的进行学习。

    Batch Normalization(简称Batch Norm)是2015年提出的新方法。Batch Norm的思路就是“强制性”调整各层的激活值分布使其具有适当的广度。为此,要向神经网络中插入对数据分布进行正规化的层,即Batch Norm层:

    Batch Norm,顾名思义,以进行学习时的mini-batch为单位,按mini-batch进行正规化。具体分为两步:

    1. 进行使数据分布的均值为0,方差为1的正规化。
    2. 对正规化后的数据进行缩放和平移。
    对比权重初始值的标准差为各种不同的值时的学习过程图:

    图的标题为不同的权重初始值的标准差,图中的实线是使用了Batch Norm时的结果,虚线是没有使用Batch Norm时的结果。

    由上图可知,在大多数情况下,使用Batch Norm时学习进行的更快,而且通过使用Batch Norm,不再过于依赖权重初始值(对初始值健壮)。

    总结,通过使用Batch Norm,可以推动学习的进行,并且对权重初始值健壮。

    每天学习一点点,每天进步一点点。

    相关文章

      网友评论

        本文标题:深度学习入门--Batch Normalization优化

        本文链接:https://www.haomeiwen.com/subject/qwqpiqtx.html