Dropout: A Simple Way to Prevent Neural Networks from Overfitting

2014 单 GPU 深度学习 被引用 34k 次
下载 PDF

Dropout: A Simple Way to Prevent Neural Networks from Overfitting - 中文验证版

英文原始依据卡片:dropout_2014.md

状态:已翻译。

元数据

  • Slug: dropout_2014
  • 年份: 2014
  • 期刊: JMLR
  • 作者: Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov
  • 阅读状态: read complete
  • 计算范式: 单 GPU 深度学习
  • 主要来源: PDF抽取文本

计算设置

论文明确说明实现是基于 GPU 的:附录指出代码是 GPU 实现的,并使用 CUDA 库 cudamatcuda-convnet。它未为 dropout 实验列出确切的 GPU 型号。按项目规则,设备上下文因此是 2012-2014 年单 GPU CUDA 深度学习时代,卷积工作负载由 AlexNet 风格的 cuda-convnet 塑造,密集矩阵运算由 cudamat 塑造。

训练规模广泛而非单一庞大运行。论文在 MNIST、SVHN、CIFAR-10/100、ImageNet、TIMIT 语音、Reuters-RCV1 文本和一项计算生物学任务上评估 dropout。表 1 列出了从 60K MNIST 训练图像到 1.2M ILSVRC-2012 训练图像和 1.1M TIMIT 帧的数据规模。计算前提并非 dropout 减少训练时间;恰恰相反。结论指出,dropout 网络通常比相同架构的标准神经网络多花 2-3 倍训练时间。其计算优势在于推理和模型组合规模:它用一个测试时网络近似大型集成。

瓶颈

瓶颈是在实际集成计算受限的情况下,高容量神经网络中的过拟合。导言指出大型网络使用缓慢,这使得在测试时组合多个不同大型神经网络的预测来应对过拟合变得困难。还指出在许多要求快速响应的应用中,使用多个大型网络不可行。在 2014 年 GPU 语境下,张力是清晰的:更大的模型和 CUDA kernel 使最先进的视觉和语音系统成为可能,但内存和延迟不允许为每个输入评估显式的指数级甚至大型有限集成。

Dropout 也创造了其自身的训练瓶颈。每个训练样本实际上采样了一个不同的随机架构,因此梯度有噪声,并且不完全是最终测试架构的精确梯度。这种额外噪声解释了 2-3 倍训练时间损失。因此,该方法用更多随机训练工作换取更低的推理成本和更好的泛化。

方法适配

Dropout 通过将组合计算移入随机小批量训练,使模型平均适配单 GPU 范式。训练期间,每个单元以概率 p 被保留;丢弃一个单元则在该样本中移除它及其输入和输出连接。一个有 n 个单元的网络可被视为 2^n 个稀疏子网络的集合,但它们共享权重,因此存储的参数数量仍是一个模型的量。测试时,用一个输出权重乘以 p 的未稀疏化网络替代对许多稀疏模型进行显式 Monte Carlo 平均,从而匹配 dropout 下的期望激活。

这种设计适合 GPU 执行,因为它保留了小批量上的常规密集网络结构,同时将激活与 Bernoulli 掩码相乘。它避免了存储独立的集成成员,也避免了为每个测试样本运行多次 forward 传递。附录指出,对于 dropout RBM,每个训练样本在每个小批量中采样不同的 dropout 掩码,前馈算法应用相同的逐样本 Bernoulli 向量思想。实用配方还使用最大范数约束、高最终 momentum、衰减学习率,以及当保留概率较低时更大的隐层。附录警告,较小的 p 需要更大的 n,这会减慢训练,并且如果容量未相应增加可能导致欠拟合。

证据

证据不同寻常地跨领域。摘要报告在视觉、语音识别、文档分类和计算生物学方面的改进。在 MNIST 上,DBM-pretrained dropout 网络在 permutation-invariant 设置下达到 0.79% 错误率。在 SVHN 上,正文说明最佳的无 dropout 卷积网络达到 3.95% 错误率,全连接层中的 dropout 降至 3.02%,所有层中的 dropout 降至 2.55%。在 CIFAR 上,正文说明在全连接层添加 dropout 将 CIFAR-10 错误率从 14.98% 降至 14.32%,在每层添加 dropout 降至 12.61%,在 CIFAR-100 上 dropout 将错误率从 43.48% 降至 37.20%。

ImageNet 是最清晰的加速器时代基准。论文讨论了 ILSVRC 子集(约 1000 类、每类约 1000 张图像),并报告使用 dropout 的卷积网络赢得了 ILSVRC-2012。表 6 报告了 dropout 卷积网络家族的 top-5 测试错误率约 16%,对比正文讨论的最佳标准视觉特征方法约 26%。结论随后给出了计算成本:dropout 改进了广泛基准,但 dropout 网络通常需要 2-3 倍训练时间。

历史影响

在 batch normalization、残差架构和更大规模数据范式改变 regularization 组合之前,dropout 使更大的 GPU 训练网络变得可用。它是一种计算结构方法,因为它将显式集成平均转换为一次有噪训练运行加一个廉价推理模型。这在 CUDA 使得大型网络可行、但内存、延迟和训练预算仍使常规集成困难的时期至关重要。它还标准化了这样一种理念:额外的训练计算可以被用于保持推理简洁,这是在后来蒸馏、预训练和模型压缩工作中反复出现的模式。

局限

主要局限是训练时间损失。论文直接指出有噪参数更新是 2-3 倍减速的主要原因。Dropout 还引入了另一个超参数——保留概率 p,其最佳值取决于层类型和模型宽度;典型的隐单元值为 0.5 至 0.8,输入层对于图像 patch 或语音帧通常在 0.8 左右。论文未给出精确硬件型号,因此无法做出超出所述 CUDA 实现的设备级吞吐和内存论断。后来的 normalization、残差架构、更强的数据增强和更大的数据集降低了 dropout 在某些卷积模型中的中心地位,尽管廉价测试时平均的计算思想持续存在。

链接