当前位置:   article > 正文

Batch Normalization(批规范化)

批规范化

一、批规范化的目的

批规范化的目的在于:为了解决深层网络难以训练的问题。深度神经网络之所以难以训练是因为每一层输入的分布在训练期间会随着前一层参数变化而变化,就要求我们必须使用一个很小的学习率和对参数很好的初始化,但是这样么做会让训练过程变得很慢。每一层输入的分布在训练期间会随着前一层参数变化而变化”这种现象在论文中被称为 Internal Covariate Shift(即内部协变量偏移)对于神经网络的各层输出,在经过了各个层内操作以后,其分布会与各层对应的输入信号分布不同,而且差异会随着网络深度增大而越来越大。

二、BN操作共分四步:前两部分别计算批处理的数据均值和方差,第三步则根据计算的均值、方差对该批数据进行规范化,前三步类似于数据的归一化处理 。而第四步则是关键的一步,也是其差异所在。第四步引入了一个线性函数 ,其中参数 γ 起到scale的作用, β  起到shift的作用,这两个参数要通过训练得到。最后一步的”尺度变换和偏移“操作是为了让因训练而”刻意加入的BN能够有可能还原最初的输入,说通俗点就是,即矫正了变化了的层数据分布,同时又不影响原有层数据的表示能力

三、BN的优点:其不仅加快了模型收敛速度,而且更重要的是在一定层度上缓解了深层网络的一个难题"梯度弥散",从而使得训练深层网络模型更加容易和稳定。另外,批规范化惭怍不仅适用于深层网络,对传统的较浅层网络,批规范化操作也能对网络泛化性能起到一定的提升作用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/213448
推荐阅读
相关标签
  

闽ICP备14008679号