问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Dropout:一种防止神经网络过拟合的简单方法

创作时间:
作者:
@小白创作中心

Dropout:一种防止神经网络过拟合的简单方法

引用
CSDN
1.
https://blog.csdn.net/qq_37998735/article/details/144013114

Dropout是一种防止神经网络过拟合的简单而有效的方法。自2014年提出以来,Dropout已经成为深度学习领域最常用的正则化技术之一,在计算机视觉、语音识别、文档分类和计算生物学等多个领域都取得了显著的效果。本文将详细介绍Dropout的原理、实现方法及其在各种应用场景中的表现。

Dropout的基本原理

深度神经网络(DNNs)因其大量参数而成为非常强大的机器学习系统。然而,过拟合在这类网络中是一个严重的问题。大型网络在使用时计算较慢,因此通过在测试时结合多个不同大型神经网络的预测来应对过拟合变得困难。

Dropout的核心思想是在训练过程中随机丢弃神经网络中的单元(包括它们的连接)。这种方法防止了单元之间过度共适应(Co-adaptation)。在训练时,Dropout从指数级数量的不同“稀疏”网络(Thinned Networks)中进行采样。在测试时,通过简单地使用一个未稀疏的网络(Unthinned Network)并将权重缩小,便可以近似所有稀疏网络预测结果的平均值。

这种方法显著降低了过拟合,相较于其他正则化方法取得了重大改进。我们证明,Dropout在计算机视觉、语音识别、文档分类和计算生物学等监督学习任务中提高了神经网络的性能,并在许多基准数据集上获得了最先进(State-of-the-Art, SOTA)的结果。


左边是正常的全连接神经网络,右边是使用了Dropout方法的神经网络

Dropout的实现方法

在神经网络中应用 Dropout 相当于从中采样一个“稀疏网络”(Thinned Network)。这个稀疏网络由所有经过 Dropout 后幸存的单元组成。对于一个包含n个单元的神经网络,可以看作是2^n个可能的稀疏网络的集合。这些网络共享权重,因此参数总数仍然是O(n^2)或更少。

在训练过程中,每次对一个训练样本进行训练时,都会随机采样一个新的稀疏网络并对其进行训练。因此,使用 Dropout 训练神经网络可以看作是对2^n个稀疏网络的集合进行训练,并且这些网络通过大量的权重共享来降低计算复杂度。每个稀疏网络实际被训练的机会非常少,甚至可能完全未被训练到。

在测试时,显式地平均来自指数数量稀疏模型的预测结果是不可行的。然而,一种非常简单的近似平均方法在实践中效果很好。这个方法的核心思想是在测试时使用一个没有 Dropout 的单一神经网络。该网络的权重是训练过程中权重的缩小版本。如果在训练时某个单元以概率p被保留,那么在测试时,该单元的输出权重将乘以p,如下图所示。这确保了对于任何隐藏单元,其期望输出(根据训练时丢弃单元的分布)与测试时的实际输出相同。通过这种缩放操作,2^n个共享权重的网络可以被合并为一个单一的神经网络,并在测试时使用。

Dropout的效果

作者在不同领域的数据集上训练了用于分类问题的 Dropout 神经网络。最终发现,与未使用 Dropout 的神经网络相比,使用 Dropout 的网络在所有数据集上的泛化性能都有所提升。下表给出了这些数据集的简要描述。数据集如下:

  • MNIST:一个标准的玩具数据集,包含手写数字。
  • TIMIT:用于清晰语音识别的标准语音基准数据集。
  • CIFAR-10 和 CIFAR-100:包含小型自然图像的数据集(Krizhevsky, 2009)。
  • 街景房屋号码数据集(SVHN):由谷歌街景收集的房屋号码图像(Netzer et al., 2011)。
  • ImageNet:一个包含大量自然图像的大型数据集。
  • Reuters-RCV1:一组路透社新闻通讯文章数据集。
  • 替代剪接数据集:用于预测基因替代剪接的RNA特征数据集(Xiong et al., 2011)。

作者选择了一组多样化的数据集,以展示 dropout 是一种通用技术,能够改善神经网络的性能,并不局限于任何特定的应用领域。在这一部分,只展示了一些关键结果,证明了 dropout 的有效性。所有实验和数据集的更详细描述请参见附录 B。

Dropout与其他方法的比较

已经提出了几种正则化方法,用于防止神经网络中的过拟合。这些方法包括 L2 权重衰减(更一般地说是 Tikhonov 正则化(Tikhonov, 1943))、lasso(Tibshirani, 1996)、KL 稀疏性和 max-norm 正则化。Dropout 可以看作是另一种正则化神经网络的方法。在这一节中,我们将 dropout 与一些这些正则化方法进行比较,使用的数据集是 MNIST 数据集。

使用相同的网络架构(784-1024-1024-2048-10)和 ReLU 激活函数,通过随机梯度下降(SGD)训练,并应用不同的正则化方法。下表展示了这些结果。每种正则化方法相关的不同超参数(衰减常数、目标稀疏度、dropout 比例、max-norm 上界)是通过验证集获得的。我们发现,dropout 与 max-norm 正则化结合使用时,能够得到最低的泛化误差。

Dropout的未来方向

Dropout 的一个缺点是它增加了训练时间。与具有相同架构的标准神经网络相比,Dropout 网络的训练时间通常需要 2-3 倍长。训练时间增加的一个主要原因是参数更新非常嘈杂。每个训练样本有效地训练了一个不同的随机架构。因此,计算出的梯度并不是最终用于测试时架构的梯度。因此,训练时间较长并不令人惊讶。然而,这种随机性可能有助于防止过拟合。这在过拟合与训练时间之间形成了权衡。通过增加训练时间,便可以使用较高的 Dropout 并减少过拟合。然而,获得 Dropout 一些好处而不依赖于随机性的一个方法是对噪声进行边缘化,从而获得一个期望上与 Dropout 程序相同的正则化器。我们证明了,对于线性回归,这个正则化器是 L2 正则化的修改形式。对于更复杂的模型,如何获得等效的正则化器并不显而易见。加速 Dropout 是未来工作中的一个有趣方向。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号