点击下方“深度学习爱好者”,选择加p"星标"或“置顶”
来自 | 知乎 作者 | autocyz
链接 | https://zhuanlan.zhihu.com/p/52749286
本文仅作学术分享,如有侵权,请联系后台删除
How Does Batch Normalization Help Optimization?
链接:https://arxiv.org/abs/1805.11604
没有证据表明BN的work,是因为减少了ICS(Interval Covariate Shift)。
BN work的根本原因,是因为在网络的训练阶段,其能够让优化空间(optimization landscape)变的平滑。
其他的normalization技术也能够像BN那样对于网络的训练起到作用。
一、BN和ICS的关系
2、BN层是否真的能够稳定输入分布?
在训练阶段,使用一下三种训练方法进行训练
No BN
标准的BN
noisy BN (在标准的BN层后,加上均值不为0,方差不为1的noisy,并且在每个训练step都改变noisy的分布,降低了输入分布的稳定性,使得网络的ICS变大)
训练一个(25-layer deep linear network, DLN),即去除网络中的所有非线性激活层,只保留线性层,这么做的目的是为了在统计ICS时,减少非线性激活层对数据分布的影响。
最后发现,带BN层的DLN不像预想的那样减少了ICS,反而增大了ICS。
二、Why does BN work?
2.2 是否BN是最好或者唯一的方法来对优化空间进行平滑
不使用BN
使用标准BN
使用L1 归一化方法
使用L2归一化方法
使用L 归一化方法
下载1:Pytoch常用函数手册 在「深度学习爱好者」公众号后台回复:Pytorch常用函数手册,即可下载全网第一份Pytorch常用函数手册,涵盖Tensors介绍、基础函数介绍、数据处理函数、优化函数、CUDA编程、多线程处理等十四章章内容。 下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。 交流群 欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~