Dropout: A Simple Way to Prevent Neural Networks from Overfitting/paper/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
Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov
多伦多大学计算机科学系。编辑:Yoshua Bengio。
Journal of Machine Learning Research 15 (2014) 1929–1958。投稿 11/13;发表 6/14。
摘要
具有大量参数的深度神经网络是非常强大的机器学习系统。然而,过拟合是这类网络中的一个严重问题。大型网络的使用也很耗时,使得在测试时通过组合许多大型神经网络的预测来缓解过拟合变得困难。Dropout 是一种用于解决该问题的技术。其核心思想是在训练过程中随机从神经网络中丢弃单元(连同它们的连接)。这能防止单元之间过度共适应。在训练时,dropout 从指数级数量的不同「精简」网络中进行采样。在测试时,可以很容易地通过仅使用一个权重较小的未精简网络来近似所有这些精简网络预测的平均效果。这显著降低了过拟合,并相较其他正则化方法带来了重大改进。我们证明 dropout 能在视觉、语音识别、文档分类以及计算生物学等监督学习任务中改进神经网络的表现,并在许多基准数据集上取得了当时最先进的结果。
关键词: 神经网络、正则化、模型组合、深度学习
引言
深度神经网络包含多层非线性的隐藏层,这使得它们成为表达能力很强的模型,能够学习输入与输出之间非常复杂的关系。然而,在训练数据有限的情况下,许多这样的复杂关系将是采样噪声的产物,因此它们仅会出现在训练集中,而即便测试数据来自同一分布,也不会出现在真实测试数据中。这会导致过拟合,并且已经发展出许多方法来缓解它。这些方法包括:在验证集性能开始下降时立即停止训练,以及引入各种权重惩罚,例如 L1 和 L2 正则化以及软权重共享(Nowlan and Hinton, 1992)。
在拥有无限计算资源的情况下,「正则化」一个固定大小模型的最佳方法是对所有可能的参数取值的预测进行平均,并按给定训练数据下的后验概率为每种取值加权。对于简单或小型模型,这种平均有时可以被相当好地近似(Xiong et al., 2011;Salakhutdinov and Mnih, 2008),但我们希望以远少得多的计算量逼近这种贝叶斯黄金标准。我们提议通过对共享参数的指数级数量的已学模型的预测取等权几何平均来实现这一点。
模型组合几乎总能提升机器学习方法的性能。但对于大型神经网络而言,将许多分别训练的网络的输出取平均这一显而易见的做法计算代价过高。当各个模型彼此不同时,组合多个模型最有帮助;为了让神经网络模型彼此不同,它们要么需要采用不同的架构,要么需要在不同的数据上进行训练。训练许多不同的架构很困难,因为为每个架构寻找最优超参数是一项艰巨的任务,而训练每个大型网络都需要大量计算。此外,大型网络通常需要大量训练数据,可能没有足够的数据来在不同的数据子集上训练不同的网络。即使能够训练出许多不同的大型网络,在重要响应速度的应用中,于测试时同时使用它们也是不可行的。
Dropout 是一种同时解决这两个问题的技术。它防止过拟合,并提供了一种高效地近似组合指数级多种神经网络架构的方法。「dropout」一词是指在神经网络中丢弃单元(包括隐藏单元和可见单元)。所谓丢弃一个单元,是指将其连同所有进出连接一起暂时从网络中移除。选择丢弃哪些单元是随机的。在最简单的情形下,每个单元以固定概率 $ p $ 独立地被保留,其中 $ p $ 可以通过验证集来选择,或简单地设为 0.5——对许多网络与任务而言,这一取值都接近最优。但对输入单元而言,最优的保留概率通常更接近 1 而非 0.5。
对一个神经网络应用 dropout 等价于从中采样一个「精简」网络。精简网络由所有在 dropout 中得以保留的单元组成。一个具有 $ n $ 个单元的神经网络可以被视为 $ 2^n $ 个可能的精简神经网络的集合。这些网络共享权重,因此总参数量仍为 $ O(n^2) $ 或更少。对于每次训练样本的每次呈现,都会采样并训练一个新的精简网络。因此,使用 dropout 训练神经网络可以被看作是在训练 $ 2^n $ 个具有大量权重共享的精简网络的集合,其中每个精简网络都鲜少(甚至几乎从未)单独被训练。
在测试时,显式地对指数级数量的精简模型的预测取平均是不可行的。然而,一种非常简单的近似平均方法在实践中效果很好。其思想是在测试时使用单一的、不带 dropout 的神经网络。该网络的权重是已训练权重的缩小版本。如果一个单元在训练时以概率 $ p $ 被保留,则在测试时该单元的输出权重要乘以 $ p $。这保证了对于任何隐藏单元,其期望输出(在训练时用于丢弃单元的分布下)与测试时的实际输出相同。通过这种缩放,$ 2^n $ 个共享权重的网络可以合并为一个用于测试的单一神经网络。我们发现,相比于使用其他正则化方法训练,使用 dropout 训练并在测试时采用这种近似平均方法,能在多种分类问题上显著降低泛化误差。
Dropout 的思想并不局限于前馈神经网络。它可以更普遍地应用于诸如玻尔兹曼机之类的图模型。在本论文中,我们提出了带 dropout 的受限玻尔兹曼机模型,并将其与标准的受限玻尔兹曼机(RBM)进行比较。我们的实验表明,dropout RBM 在某些方面优于标准 RBM。
动机
Dropout 的一个动机来自关于性在进化中作用的理论(Livnat et al., 2010)。有性生殖是从一个亲本取一半基因、从另一个亲本取另一半,并加入极少量的随机突变,再将它们组合以产生后代。无性繁殖的替代方式则是产生一个具有亲本基因略经突变副本的后代。看起来似乎无性繁殖应当是优化个体适应度更好的方式,因为一组已经能良好协同工作的基因可以直接传给后代。另一方面,有性生殖可能会破坏这些共适应的基因组合,尤其当这些组合较大时;从直觉上讲,这应当会降低那些已经演化出复杂共适应的生物体的适应度。然而,有性生殖却是大多数高等生物所采用的演化方式。
对有性生殖优越性的一种可能解释是,从长期来看,自然选择的判据可能不是个体适应度,而是基因的可混合性。一组基因能够与另一组随机基因良好协作的能力会使其更具鲁棒性。由于一个基因无法依赖于始终存在一大组伙伴,它必须学会独立完成有用的工作,或与少数其他基因协作。按照这一理论,有性生殖的作用不仅是让有用的新基因在群体中传播,还在于通过减少会降低新基因提升个体适应度机会的复杂共适应来促成这一过程。类似地,使用 dropout 训练的神经网络中的每个隐藏单元都必须学会与随机选取的其他单元样本协作。这应当使每个隐藏单元更加鲁棒,并促使其自行创造有用的特征,而不是依赖其他隐藏单元来纠正它的错误。然而,同一层中的隐藏单元仍会学到彼此不同的功能。
Dropout 的另一个紧密相关但略有不同的动机来自对成功阴谋的思考。十个各涉及五人的阴谋,可能比一个需要五十人各司其职才能奏效的大阴谋更能制造混乱。如果条件不变且有足够的时间排练,大型阴谋可以运转良好;但在非平稳条件下,阴谋越小,其继续奏效的可能性就越大。复杂的共适应可以被训练得在训练集上表现良好,但在新颖的测试数据上,它们远比多个能达到相同效果的、更简单的共适应更容易失败。
相关工作
Dropout 可以被解读为通过向隐藏单元添加噪声来对神经网络进行正则化的一种方式。向单元状态添加噪声的思想此前已被 Vincent 等(2008, 2010)在去噪自编码器(DAEs)的背景下使用,他们向自编码器的输入单元添加噪声,并训练网络重建无噪声的输入。我们的工作扩展了这一思想,表明 dropout 同样可以有效地应用于隐藏层,并可被解读为一种模型平均的形式。我们还表明,添加噪声不仅对无监督特征学习有用,还可以推广到监督学习问题。事实上,我们的方法也可以应用于其他基于神经元的架构,例如玻尔兹曼机。对于 DAEs,5% 的噪声通常效果最好;而我们发现,在测试时应用我们的权重缩放过程,使我们可以使用更高得多的噪声水平。我们经常发现丢弃 20% 的输入单元和 50% 的隐藏单元为最优。
由于 dropout 可以被视为一种随机正则化技术,自然会考虑其通过对噪声进行边缘化得到的确定性对应方法。在本文中,我们证明在简单情形下,可以对 dropout 进行解析边缘化,从而得到确定性的正则化方法。最近,van der Maaten 等(2013)还研究了对应于不同指数族噪声分布的确定性正则化方法,其中也包括 dropout(他们称为「blankout noise」)。然而,他们将噪声施加于输入,并且只研究了不包含隐藏层的模型。Wang and Manning(2013)提出了一种通过对 dropout 噪声进行边缘化以加速训练的方法。Chen 等(2012)则在去噪自编码器的背景下研究了边缘化。
在 dropout 中,我们在某种噪声分布下随机地最小化损失函数。这可以被看作是在最小化一个期望损失函数。Globerson and Roweis(2006)以及 Dekel 等(2010)的先前工作研究了一种不同的设置:在该设置中,由对手选择丢弃哪些单元,并最小化由此得到的损失。在那里,丢弃单元的数量上限是固定的,而不是给定一个噪声分布。然而,这些工作同样没有研究包含隐藏单元的模型。
模型描述
本节描述带 dropout 的神经网络模型。考虑一个具有 $ L $ 个隐藏层的神经网络。令 $ l \in \{1, \dots, L\} $ 为网络隐藏层的索引。令 $ z^{(l)} $ 表示进入第 $ l $ 层的输入向量,$ y^{(l)} $ 表示第 $ l $ 层的输出向量($ y^{(0)} = x $ 即为输入)。$ W^{(l)} $ 和 $ b^{(l)} $ 分别为第 $ l $ 层的权重和偏置。对于 $ l \in \{0, \dots, L-1\} $ 以及任一隐藏单元 $ i $,标准神经网络的前向传播可写为:
- $ z^{(l+1)}_i = w^{(l+1)}_i\, y^l + b^{(l+1)}_i, \qquad y^{(l+1)}_i = f(z^{(l+1)}_i), $
其中 $ f $ 是任意激活函数,例如 $ f(x) = 1/(1 + \exp(-x)) $。
在加入 dropout 后,前向传播变为:
- $ r^{(l)}_j \sim \mathrm{Bernoulli}(p), \qquad \tilde{y}^{(l)} = r^{(l)} \ast y^{(l)}, $
- $ 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 $ 表示逐元素乘积。对于任意层 $ l $,$ r^{(l)} $ 是一个独立 Bernoulli 随机变量构成的向量,其中每个分量取 1 的概率均为 $ p $。该向量被采样并与该层的输出 $ y^{(l)} $ 逐元素相乘,得到精简后的输出 $ \tilde{y}^{(l)} $。然后将精简后的输出作为下一层的输入。该过程在每一层都加以应用。这相当于从更大的网络中采样一个子网络。在学习时,损失函数的导数沿着该子网络反向传播。在测试时,权重被按 $ W^{(l)}_{\text{test}} = p\, W^{(l)} $ 进行缩放。由此得到的神经网络在使用时不再应用 dropout。
Dropout 网络的学习
本节描述训练 dropout 神经网络的一种过程。
反向传播
Dropout 神经网络可以使用随机梯度下降,以类似于标准神经网络的方式进行训练。唯一的区别是,对于 mini-batch 中的每个训练样本,我们都通过丢弃单元来采样一个精简网络。该训练样本的前向传播与反向传播只在这个精简网络上进行。每个参数的梯度在 mini-batch 中的各训练样本上取平均。任何不使用某个参数的训练样本对该参数贡献的梯度为零。已有许多方法被用于改进随机梯度下降,例如动量、学习率退火和 L2 权重衰减;这些方法对 dropout 神经网络同样有用。
我们发现一种特定形式的正则化对 dropout 尤其有用——将每个隐藏单元的输入权重向量的范数约束在一个固定常数 $ c $ 之内。换言之,如果 $ w $ 表示作用于任一隐藏单元的权重向量,则在约束 $ \|w\|_2 \leq c $ 下对神经网络进行优化。这一约束在优化过程中通过在 $ w $ 越界时将其投影到半径为 $ c $ 的球面上来实现。这也被称为最大范数正则化,因为它意味着任意权重的范数所能取到的最大值为 $ c $。常数 $ c $ 是一个可调的超参数,通过验证集来确定。最大范数正则化此前已被用于协同过滤(Srebro and Shraibman, 2005)。即便不使用 dropout,它通常也能改善深度神经网络上随机梯度下降训练的性能。
尽管单独使用 dropout 已能带来显著提升,但将 dropout 与最大范数正则化、大幅衰减的学习率以及高动量结合使用,相比仅使用 dropout 还能带来明显的额外提升。一种可能的解释是:将权重向量限制在固定半径的球内,使得我们能够使用极大的学习率而不必担心权重爆炸。而 dropout 提供的噪声则使优化过程能够探索权重空间中原本难以到达的不同区域。随着学习率衰减,优化步长变小,从而探索减少,最终收敛到一个极小值。
无监督预训练
神经网络可以使用 RBM 堆叠(Hinton and Salakhutdinov, 2006)、自编码器(Vincent et al., 2010)或深度玻尔兹曼机(Salakhutdinov and Hinton, 2009)进行预训练。预训练是利用未标记数据的一种有效方式。在某些情况下,先预训练再用反向传播微调相比从随机初始化开始微调能带来显著的性能提升。
Dropout 可以用于对采用上述技术预训练得到的网络进行微调。预训练过程保持不变。预训练得到的权重应按 $ 1/p $ 的比例放大。这样可以确保对每个单元而言,在随机 dropout 下的期望输出与预训练时的输出相同。我们最初担心 dropout 的随机性可能会抹去预训练权重中的信息。当微调时使用的学习率与适用于随机初始化网络的最佳学习率相当时,确实会发生这种情况。然而,当学习率被选得更小时,预训练权重中的信息似乎得以保留,并且与微调时不使用 dropout 相比,我们能够在最终泛化误差上获得提升。
实验结果
我们在不同领域的数据集上为分类问题训练了 dropout 神经网络。我们发现,与未使用 dropout 的神经网络相比,dropout 在所有数据集上都改善了泛化性能。所用的数据集如下:
- MNIST:一个标准的手写数字玩具数据集。
- TIMIT:一个用于无噪声语音识别的标准语音基准。
- CIFAR-10 与 CIFAR-100:微小的自然图像(Krizhevsky, 2009)。
- Street View House Numbers 数据集(SVHN):由 Google 街景采集的门牌号码图像(Netzer et al., 2011)。
- ImageNet:一个庞大的自然图像集合。
- Reuters-RCV1:一个 Reuters 新闻报道文章集合。
- 可变剪接数据集:用于预测基因可变剪接的 RNA 特征(Xiong et al., 2011)。
我们选择了多样化的数据集,以证明 dropout 是一种用于改进神经网络的通用技术,而非针对某一特定应用领域。
图像数据集上的结果
我们使用五个图像数据集来评估 dropout:MNIST、SVHN、CIFAR-10、CIFAR-100 和 ImageNet。这些数据集包含不同类型的图像与训练集规模。在所有这些数据集上达到最先进结果的模型都使用了 dropout。
MNIST
MNIST 数据集由 28 × 28 像素的手写数字图像组成。任务是将这些图像分类到 10 个数字类别中。在排列不变设定下,不使用 dropout 或无监督预训练的最优神经网络的错误率约为 1.60%(Simard et al., 2003)。使用 dropout 后,错误率降至 1.35%。将 logistic 单元替换为修正线性单元(ReLU)(Jarrett et al., 2009)后,错误率进一步降至 1.25%。再加入最大范数正则化将其降至 1.06%。增大网络规模会带来更好的结果。一个 2 层、每层 8192 个单元的神经网络可降至 0.95% 的错误率。请注意,这个网络具有超过 6500 万个参数,却仅在规模为 60,000 的数据集上训练。在标准正则化方法和早停下,将这种规模的网络训练到良好的泛化误差是非常困难的。然而 dropout 即使在这种情况下也能防止过拟合,甚至无需早停。Goodfellow 等(2013)表明,将 ReLU 单元替换为 maxout 单元可将结果进一步改善到 0.94%。所有 dropout 网络对隐藏单元使用 $ p = 0.5 $,对输入单元使用 $ p = 0.8 $。
使用 RBM 堆叠和深度玻尔兹曼机进行预训练的 dropout 网络同样能带来提升。经 DBM 预训练的 dropout 网络在测试集上达到 0.79% 的错误率,这是排列不变设定下报告过的最好性能。
为了检验 dropout 的稳健性,我们对许多不同架构的网络进行了分类实验,并保持所有超参数(包括 $ p $)固定不变。同一架构在使用与不使用 dropout 时表现出截然不同的测试误差,这从两束分离的轨迹簇就可以看出。Dropout 在所有架构上都带来了巨大改进,并且未使用为每个架构专门调整的超参数。
Street View House Numbers
Street View House Numbers(SVHN)数据集(Netzer et al., 2011)由 Google 街景采集的门牌号码彩色图像组成。我们在实验中使用的部分包含 32 × 32 的彩色图像,这些图像大致以门牌号中的某一位数字为中心。任务是识别该数字。
针对该数据集,我们将 dropout 应用于卷积神经网络(LeCun et al., 1989)。我们发现的最佳架构包含三层卷积层,后接两层全连接的隐藏层。所有隐藏单元均为 ReLU。每个卷积层后都接一个最大池化层。Dropout 被应用于网络的所有层,各层保留隐藏单元的概率为 $ p = (0.9, 0.75, 0.75, 0.5, 0.5, 0.5) $(从输入到卷积层再到全连接层)。卷积层和全连接层的权重均使用了最大范数正则化。我们发现,卷积网络的表现优于其他方法。不使用 dropout 的最佳卷积网络的错误率为 3.95%。仅在全连接层加入 dropout 将错误率降至 3.02%。在卷积层也加入 dropout 进一步将错误率降至 2.55%。使用 maxout 单元还能获得更多提升。
在卷积层加入 dropout 所带来的额外性能提升(从 3.02% 降至 2.55%)值得注意。人们可能会以为,由于卷积层参数不多,过拟合不是问题,因而 dropout 的作用不大。然而,在较低层使用 dropout 仍然有帮助,因为它为更高的全连接层提供了带噪声的输入,从而防止后者过拟合。
CIFAR-10 与 CIFAR-100
CIFAR-10 与 CIFAR-100 数据集分别由来自 10 类和 100 类的 32 × 32 彩色图像组成。在不使用任何数据增强的情况下,Snoek 等(2012)通过贝叶斯超参数优化在 CIFAR-10 上得到了 14.98% 的错误率。在全连接层使用 dropout 将其降至 14.32%,在每一层都加入 dropout 进一步降至 12.61%。Goodfellow 等(2013)表明,将 ReLU 单元替换为 maxout 单元可将错误率进一步降至 11.68%。在 CIFAR-100 上,dropout 将错误率从 43.48% 降至 37.20%,这是一个巨大的提升。两种数据集都未使用数据增强(除输入 dropout 外)。
ImageNet
ImageNet 是一个包含超过 1500 万张高分辨率标注图像的数据集,这些图像分布在约 22,000 个类别中。自 2010 年起,作为 Pascal Visual Object Challenge 的一部分,每年举办名为 ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)的比赛。该比赛使用 ImageNet 的一个子集,其中包含 1000 个类别、每个类别约 1000 张图像。由于类别数量相当大,通常报告两个错误率:top-1 和 top-5,其中 top-5 错误率是指测试图像中正确标签未出现在模型认为最可能的五个标签之内的比例。
ILSVRC-2010 是唯一公开测试集标签的 ILSVRC 版本,因此我们的大部分实验都在该数据集上进行。带有 dropout 的卷积网络以巨大优势超越其他方法。其架构与实现细节详见 Krizhevsky 等(2012)。我们基于卷积网络与 dropout 的模型赢得了 ILSVRC-2012 比赛。基于标准视觉特征的最佳方法的 top-5 错误率约为 26%,而带 dropout 的卷积网络的测试错误率约为 16%,这是一个惊人的差距。
TIMIT 上的结果
接下来我们将 dropout 应用于一个语音识别任务。我们使用 TIMIT 数据集,该数据集包含来自 680 位说话人的录音,涵盖 8 种美式英语主要方言,他们在受控的无噪声环境中朗读十句富含音素的句子。Dropout 神经网络在由 21 帧 log-filter bank 组成的窗口上训练,用以预测中心帧的标签。没有进行任何与说话人相关的操作。一个 6 层网络的音素错误率为 23.4%。Dropout 将其进一步降至 21.8%。我们还从预训练权重出发训练了 dropout 网络。使用 RBM 堆叠预训练的 4 层网络得到了 22.7% 的音素错误率,使用 dropout 后降至 19.7%。类似地,对于 8 层网络,错误率从 20.5% 降至 19.7%。
文本数据集上的结果
为检验 dropout 在文本领域的有用性,我们使用 dropout 网络训练了一个文档分类器。我们使用了 Reuters-RCV1 数据集的一个子集,该数据集是一个包含超过 800,000 篇 Reuters 新闻报道文章的集合。这些文章涵盖各种主题。任务是基于文档的词袋表示,将其分类到 50 个互不相交的主题之一。我们最佳的不使用 dropout 的神经网络得到 31.05% 的错误率。加入 dropout 后将错误率降至 29.62%。我们发现,相比于视觉和语音数据集,这里的改进要小得多。
与贝叶斯神经网络的比较
Dropout 可以被视为一种对指数级多个共享权重的模型进行等权平均的方法。另一方面,贝叶斯神经网络(Neal, 1996)才是在神经网络结构与参数空间上进行模型平均的恰当方式。在 dropout 中,每个模型被等权加权;而在贝叶斯神经网络中,每个模型按照先验以及模型对数据的拟合优度进行加权,这才是更正确的做法。贝叶斯神经网络对于在数据稀缺的领域(如医学诊断、遗传学、药物发现以及其他计算生物学应用)解决问题极为有用。然而,贝叶斯神经网络训练缓慢,难以扩展到非常大的网络规模;此外,在测试时从许多大型网络获取预测的代价也很高。相比之下,dropout 神经网络在训练和测试时都要快得多。
我们使用的数据集(Xiong et al., 2011)来自遗传学领域。任务是基于 RNA 特征预测可变剪接是否发生。可变剪接是哺乳动物组织中细胞多样性的重要来源。预测某些组织在不同条件下是否发生可变剪接,对理解许多人类疾病具有重要意义。给定 RNA 特征,任务是预测生物学家关心的三种与剪接相关事件的概率。评估指标是 Code Quality,它衡量目标分布与预测概率分布之间负 KL 散度(越高越好)。如预期所料,贝叶斯神经网络表现优于 dropout。然而,dropout 显著改善了标准神经网络的性能,并优于所有其他方法。该数据集的挑战在于防止过拟合,因为训练集规模较小。借助 dropout,我们无需降维即可防止过拟合。Dropout 网络非常大(数千个隐藏单元),相比之下贝叶斯网络只有几十个单元。这表明 dropout 具有很强的正则化效应。
与标准正则化方法的比较
已有多种正则化方法被提出用于防止神经网络过拟合,包括 L2 权重衰减(更一般地称为 Tikhonov 正则化(Tikhonov, 1943))、lasso(Tibshirani, 1996)、KL-稀疏性以及最大范数正则化。Dropout 也可被视为一种正则化神经网络的方式。我们在 MNIST 数据集上将 dropout 与其中一些正则化方法进行比较。使用相同的网络架构(784-1024-1024-2048-10)和 ReLU,通过随机梯度下降,使用不同的正则化方法进行训练。每种正则化所对应的超参数(衰减常数、目标稀疏度、dropout 比率、最大范数上限)的取值都通过验证集得到。我们发现,dropout 与最大范数正则化结合使用时,能取得最低的泛化误差。
显著特性
上一节描述的实验有力地证明了 dropout 是一种用于改进神经网络的有效技术。在本节中,我们仔细考察 dropout 对神经网络的影响。我们分析 dropout 对所产生特征质量的影响,观察 dropout 如何影响隐藏单元激活的稀疏性,并考察 dropout 带来的收益如何随着保留单元的概率、网络规模以及训练集规模而变化。这些观察对 dropout 为何如此有效提供了一些洞见。
对特征的影响
在标准神经网络中,每个参数收到的导数告诉它在给定其他所有单元行为的情况下,应如何改变以使最终损失函数降低。因此,各单元可能以修正其他单元错误的方式进行调整。这可能导致复杂的共适应。而这反过来又会引起过拟合,因为这些共适应无法泛化到未见过的数据。我们假设:对于每个隐藏单元,dropout 通过使其他隐藏单元的存在变得不可靠而阻止共适应。因此,一个隐藏单元无法依赖其他特定单元来修正其错误,必须在其他隐藏单元提供的多种不同情境下都表现良好。为了直接观察这一效应,我们考察使用与不使用 dropout 训练的神经网络在视觉任务上学到的第一层特征。
在 MNIST 上由一个单隐藏层、256 个修正线性单元、不使用 dropout 的自编码器所学到的特征表现出共适应:每个隐藏单元本身似乎并未检测到有意义的特征。在隐藏层使用 $ p = 0.5 $ 的 dropout 后,隐藏单元似乎能在图像的不同部分检测到边缘、笔画和斑点。这表明 dropout 确实打破了共适应,这很可能正是它能降低泛化误差的主要原因。
对稀疏性的影响
我们发现,作为 dropout 的副作用,即使在没有任何稀疏性诱导正则化项的情况下,隐藏单元的激活也会变得稀疏。因此,dropout 会自动带来稀疏表示。为观察这一效应,我们对上一节训练的自编码器,从测试集中随机抽取一个 mini-batch,考察隐藏单元激活的稀疏性。在一个良好的稀疏模型中,对任意一个数据样本,应只有少数单元高度激活;而且任一单元在所有样本上的平均激活也应较低。比较激活直方图可见,相较于不使用 dropout 的网络,使用 dropout 的网络中具有高激活的隐藏单元更少;其平均激活也更小。在不使用 dropout 的自编码器中,隐藏单元的整体平均激活接近 2.0,使用 dropout 时则下降到约 0.7。
Dropout 比率的影响
Dropout 有一个可调的超参数 $ p $(在网络中保留一个单元的概率)。我们考察改变该超参数的影响。我们在两种情形下进行比较:
- 保持隐藏单元数量不变。
- 改变隐藏单元数量,使得 dropout 之后期望保留的隐藏单元数量保持不变。
在第一种情形中,我们以不同强度的 dropout 训练同一网络架构。我们使用 784-2048-2048-2048-10 的架构。未使用输入 dropout。当架构保持不变时,$ p $ 较小意味着训练期间只有很少单元处于激活状态。可以看到,这导致了欠拟合,因为训练误差也较高。随着 $ p $ 增加,误差下降。当 $ 0.4 \leq p \leq 0.8 $ 时趋于平坦,然后随着 $ p $ 趋近于 1 而上升。
另一个有趣的设置是第二种情形,即保持 $ pn $ 不变,其中 $ n $ 是某一特定层的隐藏单元数量。这意味着 $ p $ 较小的网络将拥有大量隐藏单元。因此,应用 dropout 后,不同架构在期望意义下保留的单元数量相同。然而,测试网络的规模各不相同。在我们的实验中,我们对前两层隐藏层设 $ pn = 256 $,对最后一层隐藏层设 $ pn = 512 $。相比上一种情形,$ p $ 较小时的误差幅度大大降低(在 $ p = 0.1 $ 时从 2.7% 降到 1.7%)。在该 $ pn $ 选择下,$ p $ 接近 0.6 似乎表现最佳,但我们通常默认的 0.5 也接近最优。
数据集规模的影响
良好正则化器的一个检验标准是:它应使得在小数据集上训练的具有大量参数的模型也能获得良好的泛化误差。本节探讨在前馈网络中使用 dropout 时改变数据集规模所带来的影响。以标准方式训练的巨型神经网络在小数据集上会严重过拟合。为查看 dropout 是否有帮助,我们在 MNIST 上进行分类实验,并改变提供给网络的数据量。网络获得了从 MNIST 训练集中随机选出的规模为 100、500、1K、5K、10K 和 50K 的数据集。所有数据集都使用相同的网络架构(784-1024-1024-2048-10)。所有隐藏层使用 $ p = 0.5 $、输入层使用 $ p = 0.8 $ 的 dropout。可以观察到,对于极小的数据集(100、500),dropout 并未带来任何改进。模型有足够多的参数,即使在 dropout 带来的所有噪声下,也能在训练数据上过拟合。随着数据集规模增大,dropout 带来的收益先增大到某个程度,然后下降。这表明,对于任何给定的架构和 dropout 比率,都存在一个「甜蜜点」,对应于一个数据量足够大、即便有噪声也不会被记忆,但又不至于大到过拟合不再是问题的范围。
Monte-Carlo 模型平均与权重缩放
我们提出的高效测试时过程,是通过对训练好的神经网络的权重进行缩放,来近似地组合模型。一种更昂贵但更正确的模型平均方法是:对每个测试样本,使用 dropout 采样 $ k $ 个神经网络,然后对它们的预测取平均。当 $ k \to \infty $ 时,这个 Monte-Carlo 模型平均会接近真实的模型平均。从经验上观察需要多少样本 $ k $ 才能匹配近似平均方法的性能,是一件有趣的事。
我们再次使用 MNIST 数据集,并通过对 $ k $ 个随机采样神经网络的预测取平均来进行分类。可以看出,在 $ k = 50 $ 左右,Monte-Carlo 方法与近似方法效果相当。此后,Monte-Carlo 方法略优于近似方法,但完全处于其一倍标准差范围内。这表明,权重缩放方法是真实模型平均的一个相当好的近似。
Dropout 受限玻尔兹曼机
除了前馈神经网络之外,dropout 也可以应用于受限玻尔兹曼机(RBM)。在本节中,我们形式化地描述该模型,并展示一些结果以说明其关键性质。
模型描述
考虑一个具有可见单元 $ v \in \{0, 1\}^D $ 和隐藏单元 $ h \in \{0, 1\}^F $ 的 RBM。它定义如下概率分布:
- $ P(h, v;\, \theta) = \frac{1}{Z(\theta)} \exp(v^\top W h + a^\top h + b^\top v). $
其中 $ \theta = \{W, a, b\} $ 表示模型参数,$ Z $ 为配分函数。Dropout RBM 是在 RBM 的基础上引入二元随机变量向量 $ r \in \{0, 1\}^F $ 而成的。每个随机变量 $ r_j $ 独立地以概率 $ p $ 取值 1。若 $ r_j $ 取值 1,则保留隐藏单元 $ h_j $,否则将其从模型中丢弃。Dropout RBM 所定义的联合分布可表示为:
- $ P(r, h, v;\, p, \theta) = P(r;\, p)\, P(h, v\mid r;\, \theta), $
- $ P(r;\, p) = \prod_{j=1}^{F} p^{r_j} (1 - p)^{1 - r_j}, $
- $ P(h, v\mid r;\, \theta) = \frac{1}{Z'(\theta, r)} \exp(v^\top W h + a^\top h + b^\top v) \prod_{j=1}^{F} g(h_j, r_j), $
- $ g(h_j, r_j) = \mathbf{1}(r_j = 1) + \mathbf{1}(r_j = 0)\, \mathbf{1}(h_j = 0). $
$ Z'(\theta, r) $ 是归一化常数。$ g(h_j, r_j) $ 强制施加约束:若 $ r_j = 0 $,则 $ h_j $ 必须为 0。在给定 $ v $ 和 $ r $ 条件下,$ h $ 的分布是因式分解形式的:
- $ P(h\mid r, v) = \prod_{j=1}^{F} P(h_j\mid r_j, v), $
- $ P(h_j = 1\mid r_j, v) = \mathbf{1}(r_j = 1)\, \sigma\!\left(b_j + \sum_i W_{ij} v_i\right). $
在给定 $ h $ 条件下,$ v $ 的分布与 RBM 中相同:
- $ P(v\mid h) = \prod_{i=1}^{D} P(v_i\mid h), \qquad P(v_i = 1\mid h) = \sigma\!\left(a_i + \sum_j W_{ij} h_j\right). $
在给定 $ r $ 条件下,$ \{v, h\} $ 的分布与 RBM 所定义的相同,区别仅在于将 $ r_j = 0 $ 对应的单元从 $ h $ 中丢弃。因此,Dropout RBM 模型可以被视为指数级多个共享权重的 RBM 的混合,每个 RBM 使用 $ h $ 的一个不同子集。
Dropout RBM 的学习
为 RBM 开发的学习算法(如对比散度 Contrastive Divergence(Hinton et al., 2006))可以直接应用于 Dropout RBM 的学习。唯一的区别是先采样 $ r $,并仅使用被保留的隐藏单元进行训练。与 dropout 神经网络类似,每个 minibatch 中的每个训练样本都会采样一个不同的 $ r $。在我们的实验中,我们使用 CD-1 训练 dropout RBM。
对特征的影响
前馈网络中的 dropout 通过减少共适应改善了特征质量。本节考察这一效应是否同样适用于 Dropout RBM。具有 256 个隐藏单元的二元 RBM 学到的特征,与同样数量隐藏单元的 dropout RBM 学到的特征在性质上有所不同。Dropout RBM 学到的特征在性质上似乎不同:它们捕捉到的特征比标准 RBM 中那种界限清晰、笔画式的特征更为粗糙。相比之下,dropout RBM 中似乎几乎没有「死单元」。
对稀疏性的影响
接着我们研究 dropout RBM 训练对隐藏单元激活稀疏性的影响。在训练 RBM 与 dropout RBM 后,对一个测试 mini-batch 上隐藏单元激活及其均值的直方图清楚地表明:即使在没有任何额外稀疏性诱导正则化项的情况下,dropout RBM 所学到的表示也比标准 RBM 稀疏得多。
Dropout 的边缘化
Dropout 可以被视为向神经网络中隐藏单元状态添加噪声的一种方式。在本节中,我们探讨在对该噪声进行边缘化后所产生的模型类。这些模型可被视为 dropout 的确定性版本。与标准(「Monte-Carlo」)dropout 不同,这些模型不需要随机比特,并且可以为边缘化损失函数计算梯度。已有人提出了确定性算法,试图学习对测试时特征删除具有鲁棒性的模型(Globerson and Roweis, 2006)。在去噪自编码器中进行边缘化的研究此前也已有之(Chen et al., 2012)。在线性回归背景下对 dropout 噪声进行边缘化已在 Srivastava(2013)中讨论。Wang and Manning(2013)进一步探讨了通过边缘化 dropout 加速训练的思想。van der Maaten 等(2013)研究了不同的输入噪声分布以及对该噪声进行边缘化所得到的正则化器。Wager 等(2013)则描述了如何将 dropout 视为一种自适应正则化器。
线性回归
我们首先考察一个非常简单的情形:将 dropout 应用于经典的线性回归问题。设 $ X \in \mathbb{R}^{N \times D} $ 为包含 $ N $ 个数据点的数据矩阵,$ y \in \mathbb{R}^N $ 为目标向量。线性回归试图找到一个 $ w \in \mathbb{R}^D $,使得 $ \|y - Xw\|^2 $ 最小。当对输入 $ X $ 应用 dropout,使任一输入维度以概率 $ p $ 被保留时,输入可表示为 $ R \ast X $,其中 $ R \in \{0, 1\}^{N \times D} $ 是一个满足 $ R_{ij} \sim \mathrm{Bernoulli}(p) $ 的随机矩阵,$ \ast $ 表示逐元素乘积。对噪声进行边缘化后,目标函数变为:
- $ \underset{w}{\mathrm{minimize}}\; \mathbb{E}_{R \sim \mathrm{Bernoulli}(p)}\!\left[\, \|y - (R \ast X) w\|^2 \,\right]. $
上式可化简为:
- $ \underset{w}{\mathrm{minimize}}\; \|y - p X w\|^2 + p(1 - p)\, \|\Gamma w\|^2, $
其中 $ \Gamma = (\mathrm{diag}(X^\top X))^{1/2} $。因此,在期望意义下,应用于线性回归的 dropout 等价于带有特定形式 $ \Gamma $ 的岭回归。这种形式的 $ \Gamma $ 本质上是按数据第 $ i $ 维的标准差来缩放权重 $ w_i $ 的代价。如果某个数据维度变化很大,正则化项会更强烈地压缩其权重。
另一种有趣的视角是将 $ p $ 因子吸收到 $ w $ 中。这导致以下形式 $ \|y - X \tilde{w}\|^2 + \frac{1 - p}{p}\, \|\Gamma \tilde{w}\|^2 $,其中 $ \tilde{w} = pw $。这使得正则化常数对 $ p $ 的依赖关系更加明确。当 $ p $ 接近 1 时,所有输入都被保留,正则化常数很小。当 dropout 增强(即 $ p $ 减小)时,正则化常数变大。
逻辑回归与深度网络
对于逻辑回归和深度神经网络,很难得到闭式的边缘化模型。然而,Wang and Manning(2013)表明,在将 dropout 应用于逻辑回归的背景下,对应的边缘化模型可以近似地训练。在合理假设下,作用于 logistic 单元的输入以及边缘化模型梯度的分布均为高斯分布,其均值与方差可被高效计算。这种近似边缘化在训练时间和泛化性能上均优于 Monte-Carlo dropout。然而,随着层数增加,该技术所涉及的假设会逐渐变弱。因此,这些结果不能直接应用于深度网络。
乘性高斯噪声
Dropout 通过将隐藏激活乘以服从 Bernoulli 分布的随机变量来实现,这些随机变量以概率 $ p $ 取值 1,否则取值 0。这一思想可以推广为将激活乘以来自其他分布的随机变量。我们最近发现,乘以来自 $ \mathcal{N}(1, 1) $ 的随机变量,与使用 Bernoulli 噪声效果相当,甚至可能更好。这种新形式的 dropout 等价于添加一个均值为零、标准差等于该单元激活值的高斯随机变量。也就是说,每个隐藏激活 $ h_i $ 被扰动为 $ h_i + h_i r $,其中 $ r \sim \mathcal{N}(0, 1) $,或者等价地写为 $ h_i r' $,其中 $ r' \sim \mathcal{N}(1, 1) $。我们可以将其推广为 $ r' \sim \mathcal{N}(1, \sigma^2) $,其中 $ \sigma $ 成为另一个需要调节的超参数,正如标准(Bernoulli)dropout 中的 $ p $。激活的期望值保持不变,因此在测试时无需对权重进行缩放。
在本文中,我们将 dropout 描述为一种在训练时以概率 $ p $ 保留单元、并在测试时将权重乘以因子 $ p $ 缩小的方法。实现相同效果的另一种方式是在训练时通过将保留下来的激活乘以 $ 1/p $ 来放大它们,并在测试时不修改权重。在对每层学习率和权重初始化进行适当缩放后,这两种方法是等价的。
因此,dropout 可以被视为将 $ h_i $ 乘以一个 Bernoulli 随机变量 $ r_b $,该变量以概率 $ p $ 取值 $ 1/p $,否则取值 0。$ \mathbb{E}[r_b] = 1 $,$ \mathrm{Var}[r_b] = (1 - p)/p $。对于乘性高斯噪声,如果取 $ \sigma^2 = (1 - p)/p $,则相当于将 $ h_i $ 乘以一个随机变量 $ r_g $,其中 $ \mathbb{E}[r_g] = 1 $,$ \mathrm{Var}[r_g] = (1 - p)/p $。因此,两种形式的 dropout 都可以被设置为:所乘的随机变量具有相同的均值和方差。然而,在给定这些一阶和二阶矩的前提下,$ r_g $ 具有最高的熵,而 $ r_b $ 具有最低的熵。这两种极端情况都效果良好,尽管初步实验结果表明高熵情况可能略好一些。对于每一层,高斯模型中的 $ \sigma $ 取值为 $ \sqrt{(1 - p)/p} $,其中的 $ p $ 来自 Bernoulli 模型中对应层。
结论
Dropout 是一种通过减少过拟合来改进神经网络的技术。标准的反向传播学习会建立起脆弱的共适应,这些共适应在训练数据上奏效,但无法推广到未见过的数据。随机 dropout 通过使任何特定隐藏单元的存在不可靠,打破这些共适应。该技术被发现能在多种应用领域改进神经网络的性能,包括目标分类、数字识别、语音识别、文档分类以及计算生物学数据分析。这表明 dropout 是一种通用技术,并不局限于某一特定领域。使用 dropout 的方法在 SVHN、ImageNet、CIFAR-100 和 MNIST 上取得了最先进的结果。Dropout 也大幅提升了标准神经网络在其他数据集上的性能。
这一思想可以推广到受限玻尔兹曼机以及其他图模型。Dropout 的核心思想是从一个容易过拟合的大模型中反复采样并训练较小的子模型。RBM 可以很自然地纳入这一框架。我们提出了 Dropout RBM,并通过实验表明它具有某些理想性质。
Dropout 的一个缺点是会增加训练时间。一个 dropout 网络通常需要比相同架构的标准神经网络长 2–3 倍的训练时间。造成这种增加的一个主要原因是参数更新非常嘈杂。每个训练样本实际上都在尝试训练一个不同的随机架构。因此,所计算的梯度并不是最终在测试时使用的那个架构的梯度。所以训练耗时长并不令人意外。然而,正是这种随机性可能防止了过拟合。这在过拟合与训练时间之间形成了一种折衷:更长的训练时间允许使用更强的 dropout,从而减少过拟合。不过,获得 dropout 部分益处而无需随机性的一种方法是对噪声进行边缘化,从而得到一个在期望意义上做与 dropout 相同事情的正则化器。我们证明对线性回归而言,该正则化器是 L2 正则化的一种修改形式。对于更复杂的模型,如何获得等价的正则化器并不显而易见。加速 dropout 是一个有趣的未来研究方向。
致谢
本研究受到 OGS、NSERC 以及 Early Researcher Award 的资助。
附录 A. 训练 Dropout 网络的实用指南
神经网络以需要大量超参数调优而著称。Dropout 网络也不例外。在本节中,我们描述一些在应用 dropout 时可能有用的经验法则。
网络规模
可以预期,丢弃单元会降低神经网络的容量。如果 $ n $ 是任一层中隐藏单元的数量,$ p $ 是保留一个单元的概率,那么在期望意义下,dropout 之后将仅有 $ pn $ 个单元处于活跃状态,而非 $ n $ 个。此外,每次活跃的这 $ pn $ 个单元都不同,并且不允许这些单元之间自由建立共适应。因此,如果对某一任务来说,大小为 $ n $ 的层对于标准神经网络是最优的,那么一个好的 dropout 网络应至少包含 $ n/p $ 个单元。我们发现这在卷积网络和全连接网络中设置隐藏单元数量时都是一种有用的启发式做法。
学习率与动量
相比标准的随机梯度下降,dropout 在梯度中引入了大量噪声。因此,许多梯度往往相互抵消。为弥补这一点,dropout 网络通常应使用比标准神经网络最优学习率高 10–100 倍的学习率。降低噪声影响的另一种方法是使用高动量。对于标准网络,0.9 的动量值很常见;而对于 dropout,我们发现 0.95 到 0.99 之间的取值要好得多。使用高学习率和/或高动量能够显著加速学习。
最大范数正则化
尽管大动量和大学习率能加快学习,但有时会使网络权重增长得过大。为防止这一点,可以使用最大范数正则化。它将每个隐藏单元的输入权重向量的范数约束在一个常数 $ c $ 之内。$ c $ 的典型取值在 3 到 4 之间。
Dropout 比率
Dropout 引入了一个额外的超参数——保留单元的概率 $ p $。该超参数控制 dropout 的强度。$ p = 1 $ 意味着不使用 dropout,$ p $ 取较小值则表示更强的 dropout。隐藏单元的典型取值为 0.5 到 0.8。对于输入层,取值则取决于输入的种类。对实值输入(图像块或语音帧),典型取值为 0.8。对于隐藏层,$ p $ 的选择与隐藏单元数 $ n $ 的选择相耦合。较小的 $ p $ 需要较大的 $ n $,这会减慢训练速度并导致欠拟合;较大的 $ p $ 可能产生的 dropout 不足以防止过拟合。
附录 B. 实验与数据集的详细描述
本节描述本文实验结果所对应的网络架构与训练细节。复现这些结果的代码可以从 http://www.cs.toronto.edu/~nitish/dropout 获取。该实现基于 GPU。我们使用了优秀的 CUDA 库——cudamat(Mnih, 2009)和 cuda-convnet(Krizhevsky et al., 2012)——来实现我们的网络。
MNIST
MNIST 数据集由 60,000 个训练样本和 10,000 个测试样本组成,每个样本表示一张 28×28 的数字图像。我们随机抽取 10,000 张训练图像作为验证集。在验证集上调整超参数,使得在 100 万次权重更新后获得最佳验证误差。然后将验证集与训练集合并,再训练 100 万次权重更新。该网络被用于在测试集上评估性能。之所以采用这种使用验证集的方式,是因为我们发现可以方便地设置超参数,使得早停完全不必要。因此,一旦超参数确定下来,就理所当然地将验证集与训练集合并,并训练很长时间。
这些架构包括所有 2、3、4 层网络与每层 1024 和 2048 个单元的组合,因此共有六种架构。对于所有架构,我们在所有隐藏层使用 $ p = 0.5 $,在输入层使用 $ p = 0.8 $。所有层都采用 0.95 的最终动量以及 $ c = 2 $ 的权重约束。为测试 dropout 的正则化能力的极限,我们还实验了 2 层和 3 层、单层 4096 和 8192 个单元的网络。2 层网络带来了提升。然而,三层网络在相同 dropout 水平下表现略差于两层网络。当我们增大 dropout 时,性能有所改善,但不足以超过两层网络。
SVHN
SVHN 数据集大约包含 600,000 张训练图像和 26,000 张测试图像。训练集由两部分组成——一个标准的有标签训练集,以及另一组较容易的有标签样本。验证集是从这两部分各取部分样本构造而成。其中三分之二来自标准训练集(每类 400 张),三分之一来自额外集(每类 200 张),共 6000 个样本。Sermanet 等(2012)使用了相同的过程。输入是经过零均值和单位方差归一化的 RGB 像素。其他预处理技术——例如全局或局部对比度归一化或 ZCA 白化——并未带来明显的改进。
我们发现的最佳架构使用三层卷积层,每层后接一个最大池化层。卷积层分别有 96、128 和 256 个滤波器。每个卷积层使用 5 × 5 的感受野,步幅为 1 像素。每个最大池化层在 3 × 3 区域内、步幅为 2 像素地池化。卷积层后接两层各 2048 个单元的全连接隐藏层。所有单元使用修正线性激活函数。Dropout 被应用于网络的所有层,各层保留单元的概率为 $ p = (0.9, 0.75, 0.75, 0.5, 0.5, 0.5) $(从输入层到卷积层再到全连接层)。此外,所有权重均使用 $ c = 4 $ 的最大范数约束。所有层均使用 0.95 的动量。这些超参数通过验证集进行调优。由于训练集相当大,我们在最终训练时没有将验证集合并进训练集。我们报告了验证误差最小的模型在测试集上的错误率。
CIFAR-10 与 CIFAR-100
CIFAR-10 与 CIFAR-100 数据集各有 50,000 张训练图像和 10,000 张测试图像。它们分别包含 10 个和 100 个图像类别。这些是 32 × 32 的彩色图像。我们使用其中 5,000 张训练图像作为验证集。我们采用与 MNIST 类似的流程:先用验证集寻找最佳超参数,然后再将其与训练集合并。图像预处理为对每个颜色通道做全局对比度归一化,然后进行 ZCA 白化。全局对比度归一化是指对每张图像及其中的每个颜色通道,计算像素强度的均值并从该通道中减去。ZCA 白化是指将数据均值中心化,旋转到其主成分上,对每个分量进行归一化,然后再旋转回去。网络架构与 dropout 比率与 SVHN 相同,只是输入层的学习率必须设得更小。
TIMIT
我们使用开源的 Kaldi 工具箱(Povey et al., 2011)将数据预处理为 log-filter bank。训练了一个单音子系统进行强制对齐并获得语音帧的标签。Dropout 神经网络在由 21 个连续帧组成的窗口上训练,用于预测中心帧的标签。没有进行任何与说话人相关的操作。输入被均值中心化并归一化为单位方差。我们在输入层使用保留概率 $ p = 0.8 $,在隐藏层使用 0.5。所有层均使用 $ c = 4 $ 的最大范数约束。我们使用 0.95 的动量以及 0.1 的较高学习率。学习率按 $ \epsilon_0 (1 + t/T)^{-1} $ 衰减。在 DBN 预训练中,我们使用 CD-1 训练 RBM。高斯 RBM 中每个输入单元的方差固定为 1。在使用 dropout 微调 DBN 时,我们发现要获得最佳结果,使用较小的学习率(约 0.01)很重要。添加最大范数约束未带来任何改进。
Reuters
Reuters RCV1 语料库包含超过 800,000 篇文档,被分类为 103 个类别。这些类别按树状层级组织。我们创建了该数据集的一个子集,其中包含 402,738 篇文章、2000 个词的词表以及 50 个类别,且每篇文档恰好属于一个类别。数据被划分为大小相同的训练集和测试集。我们尝试了多种网络架构,并发现 dropout 在所有这些架构上都改进了分类精度。然而,相比图像和语音数据集,这种改进并没有那么显著。这可能是因为该数据集相当大(超过 200,000 个训练样本),过拟合并非非常严重的问题。
可变剪接
可变剪接数据集包含来自 27 种小鼠组织的 3665 个 cassette 外显子、1014 个 RNA 特征以及 4 种组织类型的数据。对于每个输入,目标由 4 个 softmax 单元组成(每种组织类型一个)。每个 softmax 单元有 3 个状态(inc、exc、nc),具有生物学意义。对于每个 softmax 单元,目标是预测在这 3 个状态上的分布,使其尽可能匹配湿实验所观察到的分布。评估指标是 Code Quality,其定义为:
- $ \sum_{i=1}^{|\text{data points}|}\; \sum_{t \in \text{tissue types}}\; \sum_{s \in \{\text{inc, exc, nc}\}} p^{s}_{i,t}\, \log\!\left(\frac{q^{s}_{t}(r_i)}{\bar{p}^{s}}\right), $
其中 $ p^{s}_{i,t} $ 是输入 $ i $ 中状态 $ s $ 与组织类型 $ t $ 的目标概率;$ q^{s}_{t}(r_i) $ 是输入 $ r_i $ 在组织类型 $ t $ 中状态 $ s $ 的预测概率;$ \bar{p}^{s} $ 是 $ p^{s}_{i,t} $ 在 $ i $ 和 $ t $ 上的平均值。我们在该数据集上训练了一个两层、每层 1024 个单元的 dropout 网络。隐藏层使用 $ p = 0.5 $,输入层使用 $ p = 0.7 $。我们使用了带有高且衰减的学习率的最大范数正则化。结果在 Xiong 等(2011)所使用的同样 5 折上取平均。
参考文献
- M. Chen, Z. Xu, K. Weinberger, 与 F. Sha. Marginalized denoising autoencoders for domain adaptation. 见 Proceedings of the 29th International Conference on Machine Learning, 第 767–774 页. ACM, 2012.
- G. E. Dahl, M. Ranzato, A. Mohamed, 与 G. E. Hinton. Phone recognition with the mean-covariance restricted Boltzmann machine. 见 Advances in Neural Information Processing Systems 23, 第 469–477 页, 2010.
- O. Dekel, O. Shamir, 与 L. Xiao. Learning to classify with missing and corrupted features. Machine Learning, 81(2):149–178, 2010.
- A. Globerson 与 S. Roweis. Nightmare at test time: robust learning by feature deletion. 见 Proceedings of the 23rd International Conference on Machine Learning, 第 353–360 页. ACM, 2006.
- I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, 与 Y. Bengio. Maxout networks. 见 Proceedings of the 30th International Conference on Machine Learning, 第 1319–1327 页. ACM, 2013.
- G. Hinton 与 R. Salakhutdinov. Reducing the dimensionality of data with neural networks. Science, 313(5786):504–507, 2006.
- G. E. Hinton, S. Osindero, 与 Y. Teh. A fast learning algorithm for deep belief nets. Neural Computation, 18:1527–1554, 2006.
- K. Jarrett, K. Kavukcuoglu, M. Ranzato, 与 Y. LeCun. What is the best multi-stage architecture for object recognition? 见 Proceedings of the International Conference on Computer Vision (ICCV'09). IEEE, 2009.
- A. Krizhevsky. Learning multiple layers of features from tiny images. 技术报告, University of Toronto, 2009.
- A. Krizhevsky, I. Sutskever, 与 G. E. Hinton. Imagenet classification with deep convolutional neural networks. 见 Advances in Neural Information Processing Systems 25, 第 1106–1114 页, 2012.
- Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, 与 L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1(4):541–551, 1989.
- Y. Lin, F. Lv, S. Zhu, M. Yang, T. Cour, K. Yu, L. Cao, Z. Li, M.-H. Tsai, X. Zhou, T. Huang, 与 T. Zhang. Imagenet classification: fast descriptor coding and large-scale SVM training. Large scale visual recognition challenge, 2010.
- A. Livnat, C. Papadimitriou, N. Pippenger, 与 M. W. Feldman. Sex, mixability, and modularity. Proceedings of the National Academy of Sciences, 107(4):1452–1457, 2010.
- V. Mnih. CUDAMat: a CUDA-based matrix class for Python. 技术报告 UTML TR 2009-004, Department of Computer Science, University of Toronto, 2009 年 11 月.
- A. Mohamed, G. E. Dahl, 与 G. E. Hinton. Acoustic modeling using deep belief networks. IEEE Transactions on Audio, Speech, and Language Processing, 2010.
- R. M. Neal. Bayesian Learning for Neural Networks. Springer-Verlag New York, Inc., 1996.
- Y. Netzer, T. Wang, A. Coates, A. Bissacco, B. Wu, 与 A. Y. Ng. Reading digits in natural images with unsupervised feature learning. 见 NIPS Workshop on Deep Learning and Unsupervised Feature Learning 2011, 2011.
- S. J. Nowlan 与 G. E. Hinton. Simplifying neural networks by soft weight-sharing. Neural Computation, 4(4), 1992.
- D. Povey, A. Ghoshal, G. Boulianne, L. Burget, O. Glembek, N. Goel, M. Hannemann, P. Motlicek, Y. Qian, P. Schwarz, J. Silovsky, G. Stemmer, 与 K. Vesely. The Kaldi Speech Recognition Toolkit. 见 IEEE 2011 Workshop on Automatic Speech Recognition and Understanding. IEEE Signal Processing Society, 2011.
- R. Salakhutdinov 与 G. Hinton. Deep Boltzmann machines. 见 Proceedings of the International Conference on Artificial Intelligence and Statistics, 第 5 卷, 第 448–455 页, 2009.
- R. Salakhutdinov 与 A. Mnih. Bayesian probabilistic matrix factorization using Markov chain Monte Carlo. 见 Proceedings of the 25th International Conference on Machine Learning. ACM, 2008.
- J. Sanchez 与 F. Perronnin. High-dimensional signature compression for large-scale image classification. 见 Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition, 第 1665–1672 页, 2011.
- P. Sermanet, S. Chintala, 与 Y. LeCun. Convolutional neural networks applied to house numbers digit classification. 见 International Conference on Pattern Recognition (ICPR 2012), 2012.
- P. Simard, D. Steinkraus, 与 J. Platt. Best practices for convolutional neural networks applied to visual document analysis. 见 Proceedings of the Seventh International Conference on Document Analysis and Recognition, 第 2 卷, 第 958–962 页, 2003.
- J. Snoek, H. Larochelle, 与 R. Adams. Practical Bayesian optimization of machine learning algorithms. 见 Advances in Neural Information Processing Systems 25, 第 2960–2968 页, 2012.
- N. Srebro 与 A. Shraibman. Rank, trace-norm and max-norm. 见 Proceedings of the 18th annual conference on Learning Theory, COLT'05, 第 545–560 页. Springer-Verlag, 2005.
- N. Srivastava. Improving Neural Networks with Dropout. 硕士论文, University of Toronto, 2013 年 1 月.
- R. Tibshirani. Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society. Series B. Methodological, 58(1):267–288, 1996.
- A. N. Tikhonov. On the stability of inverse problems. Doklady Akademii Nauk SSSR, 39(5):195–198, 1943.
- L. van der Maaten, M. Chen, S. Tyree, 与 K. Q. Weinberger. Learning with marginalized corrupted features. 见 Proceedings of the 30th International Conference on Machine Learning, 第 410–418 页. ACM, 2013.
- P. Vincent, H. Larochelle, Y. Bengio, 与 P.-A. Manzagol. Extracting and composing robust features with denoising autoencoders. 见 Proceedings of the 25th International Conference on Machine Learning, 第 1096–1103 页. ACM, 2008.
- P. Vincent, H. Larochelle, I. Lajoie, Y. Bengio, 与 P.-A. Manzagol. Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. 见 Proceedings of the 27th International Conference on Machine Learning, 第 3371–3408 页. ACM, 2010.
- S. Wager, S. Wang, 与 P. Liang. Dropout training as adaptive regularization. 见 Advances in Neural Information Processing Systems 26, 第 351–359 页, 2013.
- S. Wang 与 C. D. Manning. Fast dropout training. 见 Proceedings of the 30th International Conference on Machine Learning, 第 118–126 页. ACM, 2013.
- H. Y. Xiong, Y. Barash, 与 B. J. Frey. Bayesian prediction of tissue-regulated splicing using RNA sequence and cellular context. Bioinformatics, 27(18):2554–2562, 2011.
- M. D. Zeiler 与 R. Fergus. Stochastic pooling for regularization of deep convolutional neural networks. CoRR, abs/1301.3557, 2013.