论文地址
论文
《Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks》总结
作者是Tim Salimans和Diederik P. Kingma,来自OpenAI。
一、研究背景
深度学习中基于一阶梯度优化的神经网络训练效果依赖于目标函数的曲率,找到好的神经网络参数化方法是重要问题。已有一些方法改善神经网络架构的成本梯度条件,本文提出一种简单的权重归一化(Weight Normalization)方法。
二、权重归一化方法
(一)基本原理
-
公式定义
- 对于标准人工神经网络中神经元的计算,将权重向量重新参数化为,其中是维向量,是标量,是的欧几里得范数。
-
优势
- 这种重新参数化固定了权重向量的范数为,独立于参数,通过将权重向量的范数与方向解耦,加速随机梯度下降的收敛。
(二)梯度相关
-
梯度计算
- 给出了损失函数关于新参数、的梯度公式,,并说明权重归一化的两个作用:缩放权重梯度和将梯度从当前权重向量投影开,有助于使梯度协方差矩阵更接近单位矩阵,利于优化。
-
参数更新影响
- 学习率过大时,未归一化权重范数会快速增长直到达到合适的有效学习率,归一化后的神经网络对学习率取值范围更具鲁棒性;同时投影操作消除了方向上的噪声,加速学习。
(三)与批量归一化的关系
-
相似性
- 在网络只有单层且输入特征白化时,批量归一化对预激活的归一化等价于权重归一化对权重的归一化。
-
优势
- 计算上权重归一化更便宜,因为卷积神经网络权重通常比预激活少;的范数是非随机的,而小批量下批量归一化的均值和方差可能有高方差;权重归一化可视为批量归一化更便宜且噪声更小的近似,适用于循环神经网络和对噪声敏感的应用。
三、参数的依赖数据初始化
-
初始化方法
- 从均值为零、标准差为的简单分布中采样的元素,在训练前初始化和参数,通过对单个小批量数据进行初始前馈传递来计算,类似于批量归一化,但只针对初始化的单个小批量。
-
局限性
- 该方法只能应用于类似批量归一化适用的情况,对于递归模型需采用标准初始化方法。
四、仅均值批量归一化
-
方法
- 计算神经元激活时减去小批量均值但不除以小批量标准差,即,,,训练时保持小批量均值的运行平均值并在测试时替换。
-
优势
- 使回传的梯度居中,计算开销低于完全批量归一化,训练时噪声更小且更温和,提高测试时的准确性。
五、实验
(一)监督分类:CIFAR - 10
-
实验设置
- 基于ConvPool - CNN - C架构修改后的模型,用Adam训练200个周期,评估5种不同参数化的网络。
-
结果
- 权重归一化和批量归一化比标准参数化显著加速训练,批量归一化最终测试误差为,权重归一化约为,仅均值批量归一化结合权重归一化性能最佳,测试误差为。
(二)生成式建模:卷积变分自编码器(Convolutional VAE)
-
实验设置
- 用MNIST和CIFAR - 10数据集,编码器和解码器用ResNet块参数化,用Adamax优化。
-
结果
- 权重归一化的参数化方差更低,收敛到更好的最优值。
(三)生成式建模:DRAW
-
实验设置
- 对DRAW模型的所有权重向量应用权重归一化,用MNIST数据集。
-
结果
- 显著加速优化过程的收敛。
(四)强化学习:DQN
-
实验设置
- 应用权重归一化到DQN问题,用Atari学习环境中的游戏,用Adamax进行随机梯度学习。
-
结果
- 权重归一化使算法进展更快,平均提高了DQN的性能。
六、结论
权重归一化是一种简单的神经网络权重向量重新参数化方法,加速随机梯度下降收敛,在监督图像识别、生成式建模和深度强化学习的不同模型中均有优势,计算开销低且不引入小批量样本间的依赖,是开发新深度学习架构的默认选择。
参考
- [模型优化之Weight Normalization](https://zhuanlan.zhihu.com/p/55102378)