Dropout: A Simple Way to Prevent Neural Networks from Overfitting/zh
| Research Paper | |
|---|---|
| Authors | Srivastava, N.; Hinton, G.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R. |
| Year | 2014 |
| Venue | Journal of Machine Learning Research |
| Topic area | Machine Learning |
| Difficulty | Research |
| Source | View paper |
| Download PDF | |
Dropout: A Simple Way to Prevent Neural Networks from Overfitting(Dropout:防止神经网络过拟合的简单方法)是 Nitish Srivastava、Geoffrey Hinton、Alex Krizhevsky、Ilya Sutskever 和 Ruslan Salakhutdinov 于 2014 年发表在 Journal of Machine Learning Research 上的论文。该论文提出了 dropout——一种正则化技术,在每一步训练中随机从神经网络中移除隐藏单元和可见单元。通过迫使网络学习冗余的、分布式的表示,dropout 能显著降低过拟合,并在视觉、语音、文本和计算生物学等基准任务上取得了当时最先进的结果。该论文是深度学习领域被引用次数最多的工作之一,并使 dropout 成为现代神经网络训练流程中近乎通用的组件。
概述
具有大量参数的深度神经网络是强大的函数逼近器,但容易出现过拟合,尤其是当数据集相对于模型容量较小时。经典的贝叶斯解决方法——在参数后验分布上对预测取平均——对于大型网络是不可行的。Dropout 提供了一种可处理的近似:在训练过程中,每个单元以概率 $ p $ 独立保留,否则连同其连接一起被临时移除。每个 minibatch 实际上在训练一个不同的「精简」子网络,该子网络从共享权重的 $ 2^n $ 个子网络的指数族中采样。在测试时,使用整个网络,并将权重按 $ p $ 缩放,从而对所有采样子网络的几何平均给出一种高效的、确定性的近似。
该论文提供了大量实证证据,表明 dropout 能在 MNIST、SVHN、CIFAR-10/100、ImageNet、TIMIT、Reuters-RCV1 以及一项可变剪接遗传学任务上提升泛化能力。论文还将 dropout 推广到受限玻尔兹曼机,分析其对学到的特征以及激活稀疏性的影响,并探讨了一种高斯噪声变体以及在线性回归情形下的确定性、边缘化对应模型。
主要贡献
- 一种简单且适用范围广泛的正则化方法——dropout——可扩展到拥有数千万参数的网络,并适用于不同架构和模态。
- 实用的权重缩放近似:在测试时,将每个权重乘以保留概率 $ p $。这使得单次前向传播即可近似在指数级的精简子网络集合上的平均。
- 在发表时,在排列不变的 MNIST(采用 DBM 预训练 dropout 时错误率为 0.79%)、SVHN、CIFAR-10/100 以及 ImageNet ILSVRC-2012 上取得了最先进的结果(赢得了该比赛)。
- Dropout RBMs:将 dropout 推广到受限玻尔兹曼机,得到更稀疏、性质上有所不同的特征。
- 分析表明 dropout 能防止隐藏单元的共适应,作为副作用诱导出激活稀疏性,并且在保留概率 $ p $ 和数据集大小变化时表现可预测。
- 针对线性回归的 dropout 边缘化形式,等价于一种依赖数据的岭回归惩罚,提示在更复杂的模型上也存在确定性对应模型。
- 一份实用的超参数指南(网络规模缩放、学习率、动量、最大范数约束)。
方法
设 $ y^{(l)} $ 为第 $ l $ 层的激活向量,$ r^{(l)}_j \sim \mathrm{Bernoulli}(p) $ 为逐单元的保留掩码。dropout 的前向传播为:
- $ \tilde{y}^{(l)} = r^{(l)} \ast y^{(l)},\qquad z^{(l+1)}_i = w^{(l+1)}_i\, \tilde{y}^{(l)} + b^{(l+1)}_i,\qquad y^{(l+1)}_i = f(z^{(l+1)}_i), $
其中 $ \ast $ 表示逐元素乘积。每个 minibatch 中的每个训练样本都会重新采样一个掩码。反向传播只通过被保留的单元。测试时不丢弃任何单元,并对权重进行重新缩放 $ W^{(l)}_{\text{test}} = p\, W^{(l)} $,使每个单元的期望输出与其训练时的平均一致。
作者将 dropout 与若干被证明具有特别协同效应的技术相结合:
- 最大范数正则化:每个隐藏单元的输入权重向量被约束满足 $ \|w\|_2 \leq c $,典型取值为 $ c \in [3, 4] $。这使得可以使用非常大的学习率而不会让权重爆炸。
- 高学习率与高动量:dropout 网络可以容忍(并受益于)比标准网络大 10–100 倍的学习率,以及在 0.95 到 0.99 之间的动量值。
- 网络规模缩放:由于平均只有 $ pn $ 个单元处于活跃状态,启发式做法是在替换大小为 $ n $ 的标准层时使用大约 $ n/p $ 个单元。
- 与预训练的兼容性:在使用 dropout 进行微调之前,对预训练的权重(来自 RBM 堆叠、autoencoder 或 DBM)按 $ 1/p $ 进行放大。
作者还通过对噪声进行边缘化推导出一个确定性对应模型。对于线性回归,以保留概率 $ p $ 丢弃输入,在期望意义下化简为:
- $ \underset{w}{\mathrm{minimize}}\; \|y - p X w\|^2 + p(1 - p)\, \|\Gamma w\|^2,\qquad \Gamma = (\mathrm{diag}(X^\top X))^{1/2}, $
这是一种按各特征的标准差加权的 L2 正则化。高斯 dropout 变体——将激活乘以来自 $ \mathcal{N}(1, \sigma^2) $ 的样本,其中 $ \sigma^2 = (1 - p)/p $——在早期实验中与 Bernoulli dropout 相当或略优,并且在测试时不再需要对权重进行缩放。
结果
在多样化的基准测试套件上,dropout 带来了一致而且常常显著的提升:
- MNIST(排列不变):基线错误率 1.60% → 使用 dropout 1.35% → dropout + ReLU + 最大范数 1.06% → 2×8192 单元 0.95% → DBM 预训练 dropout 0.79%(发表时的最先进结果)。
- SVHN:基线卷积网络 3.95% → 在全连接层使用 dropout 3.02% → 在所有层使用 dropout 2.55%。
- CIFAR-10:基线 14.98% → 在每层使用 dropout 12.61%。
- CIFAR-100:43.48% → 37.20%。
- ImageNet ILSVRC-2012:使用 dropout 的卷积网络在测试集上 top-5 错误率约为 16%,而非深度学习的最佳基线约为 26%,并赢得了该比赛。
- TIMIT 音素识别:6 层网络 23.4% → 21.8%;4 层预训练网络 22.7% → 19.7%。
- Reuters-RCV1:31.05% → 29.62%(在已经较大的训练集上提升较小)。
- 可变剪接(Code Quality,越高越好):标准 NN 440 → dropout NN 567 → 贝叶斯 NN 623。Dropout 在保持可处理性的同时大幅缩小了与贝叶斯网络之间的差距。
对所学特征的分析表明,dropout 打破了在标准 autoencoder 中可见的共适应现象,使隐藏单元能够检测到局部的笔画、边缘和斑点。作为副作用,激活也变得更稀疏,在 MNIST 上的 autoencoder 中,平均激活从约 2.0 降至约 0.7。对保留概率 $ p $ 的扫描显示在 0.4–0.8 范围内存在一个平坦的最优区间,其中 0.5 是隐藏层的稳健默认值,约 0.8 适用于输入层。在大约 $ k = 50 $ 个采样子网络上的 Monte-Carlo 平均与权重缩放近似相匹配,证实廉价的测试时过程在实践中是忠实的。Dropout 相对于不使用正则化的收益随数据集规模的增大而提高,达到一个甜蜜点后,随着过拟合不再是问题而逐渐减弱。
影响
在发表后不久,dropout 就成为深度学习的默认构件。它与 ReLU 激活和最大范数或权重衰减正则化相结合,支撑了 2010 年代中期许多突破性的卷积架构,包括 AlexNet 在 ImageNet 上的成果。后续工作对该思想进行了推广——高斯 dropout、DropConnect、变分 dropout、用于 循环神经网络 和 transformer 中类似 Bernoulli 的随机正则化方法,以及诸如「dropout 作为贝叶斯近似」之类的信息论解释。该论文将神经网络训练重新刻画为在指数级共享权重子模型集合上的一种隐式集成,这一思想至今仍在启发关于 归一化、随机优化 以及不确定性估计的研究。训练时间增加 2–3 倍这一缺点已被确定性近似以及残差网络和带 层归一化 的 transformer 等架构的兴起所部分缓解,这些架构通常只需较弱的 dropout。
参见
- ImageNet Classification with Deep Convolutional Neural Networks
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Deep Residual Learning for Image Recognition
- Adam: A Method for Stochastic Optimization
- Attention Is All You Need
参考文献
- Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., 与 Salakhutdinov, R. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting. Journal of Machine Learning Research, 15(56):1929–1958.
- Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., 与 Salakhutdinov, R. R. (2012). Improving neural networks by preventing co-adaptation of feature detectors. arXiv:1207.0580.
- Krizhevsky, A., Sutskever, I., 与 Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. 见 Advances in Neural Information Processing Systems 25, 1106–1114.
- Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., 与 Bengio, Y. (2013). Maxout networks. 见 Proceedings of the 30th International Conference on Machine Learning.
- Wang, S. 与 Manning, C. D. (2013). Fast dropout training. 见 Proceedings of the 30th International Conference on Machine Learning.
- Wager, S., Wang, S., 与 Liang, P. (2013). Dropout training as adaptive regularization. 见 Advances in Neural Information Processing Systems 26.