前言:15年Google提出Batch Normalization,成为深度学习最成功的设计之一,18年MIT团队将原论文中提出的BN层的作用进行了一一反驳,重新揭示BN层的意义
2015年Google团队论文:【here】
2018年MIT团队论文:【here】
How Does Batch Normalization Help Optimization?
原文观点
15年那篇论文里提出BN对网络起的作用是,减少了中间协变量偏移的影响 Internal Covariate Shift(ICS)。神经网络每一层在更新了权重之后的输出的分布是变化的,因此中间协变量也会有变化,通过将线性映射之后的输出“白化”,即控制均值为0,和方差恒为1,可以有效的将每一层网络学习的输入控制在一个相同的分布下,因此更有利于网络的学习。
反驳论点
这篇论文首先对原文引出的概念提出了两点质疑
第一,BN层的成功真的在于减少了中间协变量偏移吗?
Does BatchNorm’s performance stem from controlling internal covariate shift?
作者这里为了证明BN层的成功不在于减少了ICS,设计了三组参照实验,第一组不加BN,第二组加BN,第三组加了BN层之后又加上一个随机噪声,有着不同的均值和方差,作者旨在通过第三组实验,模拟加了BN层但是ICS更高的场景
这三组实验在VGG的网络上的表现如下

文章通过实验挑战了BatchNormalization(BN)层的主要作用是减少内部协变量偏移的观点。研究发现,BN层的成功并不在于控制ICS,而是通过平滑优化景观,促进网络训练。BN使得梯度变化更为平稳,从而加速收敛,提高训练效果。此外,作者提出BN并非平滑优化景观的唯一方法,其他正则化技术也有类似效果。
最低0.47元/天 解锁文章
1186





