【深度学习】为什么 Batch Normalization 那么有用?
共 3455字,需浏览 7分钟
·
2024-05-24 12:00
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 归一化方法
往期精彩回顾
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)