深度学习论文解读系列--Dropout原理剖析

Posted Laura科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习论文解读系列--Dropout原理剖析相关的知识,希望对你有一定的参考价值。

Dropout: A Simple Way to Prevent Neural Networks from overfitting

一、摘要

具有大量参数的深度神经网络是非常强大的机器学习系统。然而,在这样的网络中,过度拟合是一个严重的问题。大型网络的使用速度也很慢,因此很难在测试时通过组合许多不同大型神经网络的预测来处理过度拟合。Dropout是解决这个问题的一种技术。其关键思想是在训练期间从神经网络中随机删除单元(及其连接)。这可以防止单元过多地共同适应。在培训期间,Dropout者从指数级的不同“精简”网络中抽取样本。在测试时,很容易通过简单地使用一个具有较小权重的未考虑网络来近似平均所有这些细化网络的预测的效果。这大大减少了过度拟合,并与其他正则化方法相比有了重大改进。我们表明,Dropout提高了神经网络在视觉、语音识别、文档分类和计算生物学等有监督学习任务中的性能,在许多基准数据集上获得了最新的结果。

二、介绍

深层神经网络包含多个非线性隐藏层,这使得它们具有很强的表达能力,可以学习输入和输出之间非常复杂的关系。然而,在有限的训练数据下,这些复杂关系中的许多都是采样噪声的结果,因此它们将存在于训练集中,而不存在于实际测试数据中,即使这些数据来自相同的分布。这会导致过度拟合,已经开发了许多方法来减少过度拟合。其中包括在验证集的性能开始恶化时立即停止训练,引入各种权重惩罚,如L1和L2正则化和软权重共享(Nowlan和Hinton,1992)。

通过无限计算,“规范化”固定大小模型的最佳方法是对所有可能参数设置的预测进行平均,并通过其后验概率给定训练数据。对于简单或小型模型,这一点有时可以很好地近似(Xiong等人,2011年;Salakhutdinov和Mnih,2008年),但我们希望使用更少的计算来接近贝叶斯金标准的性能。我们建议通过近似共享参数的指数数量的学习模型的预测的等权几何平均值来实现这一点。

模型组合几乎总是提高机器学习方法的性能。然而,对于大型神经网络,将许多单独训练的网络的输出平均化的明显想法代价高昂。当单个模型彼此不同时,组合多个模型是最有用的,为了使神经网络模型不同,它们应该具有不同的体系结构或根据不同的数据进行训练。训练许多不同的体系结构是很困难的,因为为每个体系结构找到最佳超参数是一项艰巨的任务,训练每个大型网络需要大量计算。此外,大型网络通常需要大量的训练数据,并且可能没有足够的数据在不同的数据子集上训练不同的网络。即使一个人能够训练许多不同的大型网络,在测试时使用它们在需要快速响应的应用程序中也是不可行的。

Dropout是解决这两个问题的技术。它防止了过度拟合,并提供了一种有效地将许多不同的神经网络结构按指数近似组合的方法。术语“Dropout”是指神经网络中的Dropout单元(隐藏和可见)。通过删除一个单元,我们的意思是暂时将其从网络中删除,以及它的所有传入和传出连接,如图1所示。选择要丢弃的单位是随机的。在最简单的情况下,每个单元以固定概率p独立于其他单元保留,其中p可以使用验证集选择,也可以简单地设置为0.5,这对于广泛的网络和任务来说似乎接近最优。然而,对于输入单位,最佳保留概率通常更接近于1,而不是0.5。

将Dropout应用于神经网络相当于从中采样“细化”的网络。细化网络由所有从Dropout中幸存下来的单元组成(图1b)。具有n个单元的神经网络可以看作是2n个可能的细化神经网络的集合。这些网络都共享权重,因此参数总数仍然为O(n2)或更少。对于每个培训案例的每次演示,将对一个新的细化网络进行采样和培训。因此,训练一个有Dropout的神经网络可以看作是训练一个2n个细化网络的集合,这些细化网络具有广泛的权重共享,其中每个细化网络都很少得到训练,如果有的话。

在测试时,显式平均来自指数级多个细化模型的预测是不可行的。然而,一种非常简单的近似平均法在实践中效果良好。这个想法是在测试时使用一个单一的神经网络,而不会中途退出。该网络的权重是训练权重的缩小版本。如果一个单元在训练期间以概率p保留,则该单元的输出权重在测试时乘以p,如图2所示。这确保了任何隐藏单元的预期输出(在训练时用于丢弃单元的分布下)与测试时的实际输出相同。通过这种缩放,具有共享权重的2n个网络可以组合成单个神经网络,以便在测试时使用。我们发现,与使用其他正则化方法的训练相比,在测试时使用这种近似平均方法训练具有Dropout的网络在各种分类问题上导致显著更低的泛化误差。

Dropout的概念并不局限于前馈神经网络。它可以更普遍地应用于图形模型,如Boltzmann机器。在本文中,我们介绍了Dropout限制玻尔兹曼机器模型,并将其与标准限制玻尔兹曼机器(RBM)进行了比较。我们的实验表明,DropoutRBM在某些方面优于标准RBM。

三、动机

Dropout的动机来自性别在进化中的作用理论(Livnat等人,2010年)。有性生殖包括将父母一方的一半基因和另一方的一半基因结合起来,加入少量的随机突变,然后将它们结合起来产生后代。无性繁殖的替代方法是用父母基因的一个稍微变异的拷贝创造后代。看来,无性繁殖应该是优化个体适应性的更好方法,因为一组良好的基因可以直接遗传给后代。另一方面,有性生殖可能会破坏这些共同适应的基因集,特别是如果这些基因集很大,直觉上,这会降低已经进化出复杂共同适应的生物体的适应性。然而,有性生殖是大多数高级生物进化的方式。

有性生殖优越性的一个可能解释是,从长期来看,自然选择的标准可能不是个体适应性,而是基因的混合能力。一组基因能够很好地与另一组随机基因协同工作的能力使它们更加健壮。由于一个基因不能依赖于一大组伴侣在任何时候都存在,它必须学会自己做一些有用的事情,或者与少量其他基因合作。根据这一理论,有性生殖的作用不仅是让有用的新基因在整个群体中传播,而且还通过减少复杂的共同适应来促进这一过程,这种共同适应会减少新基因改善个体健康的机会。类似地,在用Dropout训练的神经网络中,每个隐藏单元都必须学会处理随机选择的其他单元样本。这将使每个隐藏单元更加健壮,并推动它自己创建有用的功能,而不依赖其他隐藏单元来纠正错误。但是,层中的隐藏单元仍将学习彼此做不同的事情。有人可能会想象,通过制作每个隐藏单元的多个副本,网络将变得健壮,以防丢失,但这是一个糟糕的解决方案,原因与副本代码是处理噪声信道的糟糕方法完全相同。

一个密切相关但略有不同的Dropout动机来自于对成功阴谋的思考。十个阴谋,每个涉及五个人,可能是一个更好的方式来制造浩劫比一个大阴谋,需要50人都发挥自己的作用正确。如果条件不变,并且有足够的时间进行排练,一个大阴谋可以很好地发挥作用,但在非平稳条件下,阴谋越小,其仍然发挥作用的可能性就越大。复杂的协同适配可以在训练集上训练得很好,但在新的测试数据上,它们比实现相同目的的多个简单协同适配更容易失败。

四、模型描述

本部分将描述Dropout网络模型。假设神经网络存在L个隐层,分别让 1 , 2 , . . . L 1,2,...L 1,2,...L 分别代表每个隐层的下标, z ( l ) z^(l) z(l) 代表 l l l 隐层的输入向量, y ( l ) y^(l) y(l) 代表 l l l 隐层的输出向量, W l W^l Wl b ( l ) b^(l) b(l) 分别代表隐层 l l l 的权重和偏置。
z i ( l + 1 ) = w i ( l + 1 ) y l + b i ( l + 1 ) y i ( l + 1 ) = f ( z i ( l + 1 ) ) z_i^(l+1)=w_i^(l+1)y^l+b_i^(l+1)\\\\y_i^(l+1)=f(z_i^(l+1)) zi(l+1)=wi(l+1)yl+bi(l+1)yi(l+1)=f(zi(l+1))
其中 f f f 为激活函数,一般是 f ( x ) = 1 / ( 1 + e x p ( − x ) ) f(x)=1/(1+exp(-x)) f(x)=1/(1+exp(x)) ,如果采用了Dropout,我们的网络结构就变成了:
r j l = B e r n o u l l i ( p ) y ( l ) = r ( l ) ∗ y ( l ) z i ( l + 1 ) = w i ( l + 1 ) y l + b i ( l + 1 ) y i ( l + 1 ) = f ( z i ( l + 1 ) ) r_j^l=Bernoulli(p)\\\\y^(l)=r^(l)*y^(l)\\\\z_i^(l+1)=w_i^(l+1)y^l+b_i^(l+1)\\\\y_i^(l+1)=f(z_i^(l+1)) rjl=Bernoulli(p)y(l)=r(l)y(l)zi(l+1)=wi(l+1)yl+bi(l+1)yi(l+1)=f(zi(l+1))
在这里∗ 表示元素的乘积。对于任何层 l , r ( l ) l,r^(l) l,r(l) 是一个独立的伯努利随机变量向量,每个变量的概率p为1。对该向量进行采样并与该层的输出,按元素相乘,以创建细化输出 y ( l ) y^(l) y(l)。然后将细化后的输出用作下一层的输入。此过程应用于每一层。这相当于从更大的网络中对子网络进行采样。对于学习,损失函数的导数通过子网络反向传播。在测试时,重量按比例缩放。保证所得到的神经网络在使用时没有丢失。

五、学习Dropout网络

Dropout神经网络可以用类似于标准神经网络的随机梯度下降法进行训练。唯一的区别是,对于小批量中的每个培训案例,我们通过退出单元来抽样细化网络。该训练案例的正向和反向传播仅在该精简网络上进行。每个参数的梯度在每个小批量的训练案例中取平均值。任何不使用参数的训练案例都会为该参数提供零梯度。许多方法被用来改善随机梯度下降,如动量、退火学习率和L2权重衰减。这些被发现对Dropout神经网络也很有用。

References

Dropout: A Simple Way to Prevent Neural Networks from Overfitting

M. Chen, Z. Xu, K. Weinberger, and F. Sha. Marginalized denoising autoencoders for domain adaptation. In Proceedings of the 29th International Conference on Machine Learning, pages 767–774. ACM, 2012.

G. E. Dahl, M. Ranzato, A. Mohamed, and G. E. Hinton. Phone recognition with the meancovariance restricted Boltzmann machine. In Advances in Neural Information Processing Systems 23, pages 469–477, 2010.

O. Dekel, O. Shamir, and L. Xiao. Learning to classify with missing and corrupted features. Machine Learning, 81(2):149–178, 2010.

A. Globerson and S. Roweis. Nightmare at test time: robust learning by feature deletion. In Proceedings of the 23rd International Conference on Machine Learning, pages 353–360. ACM, 2006.

onal Conference on Machine Learning, pages 353–360. ACM, 2006.

I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, and Y. Bengio. Maxout networks. In Proceedings of the 30th International Conference on Machine Learning, pages 1319– 1327. ACM, 2013.

以上是关于深度学习论文解读系列--Dropout原理剖析的主要内容,如果未能解决你的问题,请参考以下文章

深度学习计算机底层原理,深度剖析存储器

ResNet论文解读/总结

SeNet论文解读/总结

深度学习入门基础CNN系列——批归一化(Batch Normalization)和丢弃法(dropout)

Keras 的深度学习模型中的 Dropout 正则化

GoogLeNet(Inceptionv1) 论文解读/总结