Batch Normalization本质:平滑优化空间

2020-02-14  本文已影响0人  CristianoC

相信BN层对大家来说并不陌生,今天除了讲解BN被大家说的比较多的东西外会讲一下BN真正work的本质。今天之所以来讲解BN是因为早上听了一个旷视的讲座,听完之后发现旷视研究院在今年1月19日发表的用来解决小批量训练BN不稳定的问题论文:MABN。这对于一般用自己电脑来训练网络的我来说感觉是一个福音,可以减缓batch_size设小之后性能降低的问题(谷歌在一个月前也提出了改进的FRN:一种不依赖batch的归一化层,不过之前没有关注到),所以本文就作为解读MABN的基础,也顺便当作回顾一下基础。

目录

为什么要用BN层

Internal Covariate Shift

梯度消失

BN层公式

BN层的本质(平滑了优化空间)

1.做了一个对比实验,证明BN之所以起作用,并不是因为减少了ICS

2.作者又做了一个更直观的实验,无论是在VGG还是在DLN(纯线性深度网络,去除了非线性的影响)加了BN之后的ICS都基本持平甚至更大,这更能说明BN并没有减少ICS

image

3.作者又做了一个对比实验,对比了损失和梯度。作者发现使用了BN后,loss的变化变得更加稳定,同样梯度也变得更加平滑稳定,这也带出了BN的本质:BN实际上是平滑了优化空间

image

4.最后用了一些其他方法和BN效果进行对比,如使用L1,L2的方法,发现效果和BN差不多,而且有些时候可以比BN更好

image

论文地址

  1. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
  2. How Does Batch Normalization Help Optimization?
上一篇 下一篇

猜你喜欢

热点阅读