批归一化:按小批量调成均值0、方差1(2015年)
批归一化是一种在网络中间层嵌入的方法:把进入该层的值,按学习时一次使用的数据块(小批量)调整为均值为0、方差为1,再用2个需要学习的数γ和β重新加上大小和偏移(scale and shift)。谷歌的Ioffe和Szegedy认为,前一层的权重每次变化,下一层所接收值的分布就会随之变化(论文称之为internal covariate shift),这拖慢了学习。他们写道,用这种方法可以把学习率调得大得多,对权重的初始值也不必那么讲究,有时甚至不再需要dropout。在图像识别的网络中,达到同样准确度所需的训练次数只有原来的14分之1。在组合起来的网络上,ImageNet按答5次的规则错误率为4.9%(测试中为4.8%),论文写道这已经超过了人类评价者的准确度。
原始资料里:2018年MIT的论文在题目中加上了,并报告说,在批归一化之后故意加入每个时刻都在变化的、均值不为0、方差不为1的噪声,让分布产生偏移,也几乎同样可以学习。论文写道,起作用的是让表示与正确答案之间误差的地形(优化的地形)变得平滑。这是一个方法被广泛使用之后,对其有效原因的解释被重新质疑的例子。
尚不清楚的事:批归一化为什么有效,2018年那篇论文之后研究仍在继续,不能说已经有定论(2018年之后的论文,还没有打开过)。
原始资料2条,及核对之处
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (arXiv:1502.03167v1)(Sergey Ioffe, Christian Szegedy・2015・p.1 Abstract(算法1在pdf_page 3)・原始资料)
- How Does Batch Normalization Help Optimization? (No, It Is Not About Internal Covariate Shift) (arXiv:1805.11604v1)(Shibani Santurkar, Dimitris Tsipras, Andrew Ilyas, Aleksander Mądry・2018・p.1题目和Abstract(加入噪声的实验在pdf_pag…・原始资料)