Dropout 解析

一、简介

1. Dropout 出现的原因

在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。

也就是说,Dropout 可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。

2. Dropout 的定义

Dropout 可以作为训练深度神经网络的一种 trick 供选择。在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方式可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。

简单来说就是:在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征,如下图所示。


二、Dropout 工作流程

1. 具体实现过程
  • 首先随机(临时)删掉网络中一半的隐藏神经元,输入输出神经元保持不变。如下图所示。
  • 然后把输入 x 通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播。一小批训练样本执行完这个过程后,在没有被删除的神经元上按照随机梯度下降法更新对应的参数w,b
  • 然后重复这一过程。注意每次都是随机选取。
2. 公式推导

训练阶段
在训练网络的每个单元都要添加一道概率流程。如下图:

对应的公式变化如下图所示:

上面公式中 Bernoulli 函数是为了生成概率 r 向量,也就是随机生成一个0、1的向量。

代码层面实现让某个神经元以概率 p 停止工作,其实就是让它的激活函数值以概率p变为0。比如我们某一层网络神经元的个数为1000个,其激活函数输出值为y1、y2、y3、......、y1000,我们 dropout 比率选择0.4,那么这一层神经元经过dropout后,1000个神经元中会有大约400个的值被置为0。

注意:经过上面屏蔽掉某些神经元,使其激活值为0以后,我们还需要对向量y1……y1000进行缩放,也就是乘以1/(1-p)。如果你在训练的时候,经过置0后,没有对y1……y1000进行缩放(rescale),那么在测试的时候,就需要对权重进行缩放,操作如下。

测试阶段
只需要注意对权重缩放,依旧是乘以概率 p 就行。因为在测试阶段是不能随机 drouput 的,这样会导致结果不稳定,所以补偿方案就是每个神经元的权重都乘以一个p,这样在“总体上”使得测试数据和训练数据是大致一样的。比如一个神经元的输出是x,那么在训练的时候它有p的概率参与训练,(1-p)的概率丢弃,那么它输出的期望是px+(1-p)0=px。因此测试的时候把这个神经元的权重乘以p可以得到同样的期望。


三、为什么可以解决过拟合

  1. 取平均的作用。dropout掉不同的隐藏神经元就类似在训练不同的网络,随机删掉一半隐藏神经元导致网络结构已经不同,整个dropout过程就相当于对很多个不同的神经网络取平均。而不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合。
  2. 减少神经元之间复杂的共适应关系。

因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况 。迫使网络去学习更加鲁棒的特征 ,这些特征在其它的神经元的随机子集中也存在。换句话说假如我们的神经网络是在做出某种预测,它不应该对一些特定的线索片段太过敏感,即使丢失特定的线索,它也应该可以从众多其它线索中学习一些共同的特征。从这个角度看dropout就有点像L1,L2正则,减少权重使得网络对丢失特定神经元连接的鲁棒性提高

四:参考文章

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 改进神经网络的学习方法(上) 当一个高尔夫球员刚开始学习打高尔夫时,他们通常会在挥杆的练习上花费大多数时间。慢慢地...
    nightwish夜愿阅读 3,211评论 2 8
  • 引言:相信有接触过深度学习的同学应该知道dropout可以用来解决过拟合问题,但为什么dropout能解决过拟合,...
    IT_xiao小巫阅读 2,290评论 1 6
  • 冒泡~回家好多天了 一直在背教资(玩爪机) 终于来更新一下啦!希望寒假不会断更鸭!今天就把之前在Alexnet中运...
    LiBiscuit阅读 2,435评论 0 3
  • 深度学习中训练参数的调节技巧 在这篇文章中: 2、权重 3、层数 4、过拟合 5、Loss设计与观察 二、caff...
    裁尘的人儿阅读 3,922评论 0 0
  • 法国作家巴尔扎克的一部批判现实主义的著作,以辛辣的讽刺手笔,揭露了资本主义社会,人与人之间赤裸裸的金钱关系。 高老...
    一捧清水阅读 1,165评论 0 5

友情链接更多精彩内容