美文网首页
Batch Normalization

Batch Normalization

作者: 叨逼叨小马甲 | 来源:发表于2017-09-05 20:37 被阅读0次

    参考:Implementing Batch Normalization in Tensorflow

    批量标准化:是一个简单且有效的方法,能感觉神经网络的性能,此处指,能够扩大learning rate,不需要很小的learning rate,那么在有限的迭代次数内,就能完成loss的优化,一般速度能提高14倍。

    BN,即“批量规范化”;每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。最后的‘scale and shift’操作是为了让因训练所需而“刻意”加入的BN能够有可能还原成最初的输入,从而保证整个network的capacity。此处capacity指,BN是一种在原模型上的新操作,这个新操作很大可能改变某层原来的输入,也有可能不变,如此一来,既可以改变同时也可以保持原输入,那么模型的容纳能力就提升了。

    BN的原因:

    为了克服深度神经网络难以训练的弊病。说到底为了防止‘梯度弥散’,

    比如0.9的30次方=0.04,而BN中,通过将activation规范为均值和方差一致的手段,让原本会减小的activation的scale变大。

    什么时候进行BN?

    比如:在神经网络训练时,遇到收敛速度很慢,或者梯度爆炸等无法训练的状况下,可以尝试BN来解决。另外,一般情况下,使用BN能加快训练速度,提高模型精度。

    相关文章

      网友评论

          本文标题:Batch Normalization

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