您的位置 首页 解答

了解神经网络中的Dropout

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃

dropout是指在深度学习网络的练习进程中,关于神经网络单元,依照必定的概率将其暂时从网络中丢掉。留意是暂时,关于随机梯度下降来说,由所以随机丢掉,故而每一个mini-batch都在练习不同的网络。

过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在练习集上分类,这些年提出的许多过拟合问题的解决方案,其间dropout具有简单性并且作用也十分杰出。

算法概述

咱们知道假如要练习一个大型的网络,而练习数据很少的话,那么很简单引起过拟合,一般状况咱们会想到用正则化、或许减小网络规划。可是Hinton在2012年文献:《Improving neural networks by preventing co-adaptation of feature detectors》提出了,在每次练习的时分,随机让一半的特征检测器停过作业,这样能够进步网络的泛化才能,Hinton又把它称之为dropout。

第一种了解方法是,在每次练习的时分运用dropout,每个神经元有百分之50的概率被移除,这样能够使得一个神经元的练习不依赖于别的一个神经元,相同也就使得特征之间的协同作用被削弱。Hinton以为,过拟合能够经过阻挠某些特征的协同作用来缓解。

第二种了解方法是,咱们能够把dropout作为一种多模型作用均匀的方法。关于削减测验会集的过错,咱们能够将多个不同神经网络的猜测成果取均匀,而由于dropout的随机性,咱们每次dropout后,网络模型都能够看成是一个不同结构的神经网络,而此刻要练习的参数数目却是不变的,这就解脱了练习多个独立的不同神经网络的时耗问题。在测验输出的时分,将输出权重除以二,然后到达相似均匀的作用。

需求留意的是假如选用dropout,练习时刻大大延伸,可是对测验阶段没影响。

带dropout的练习进程

而为了到达ensemble的特性,有了dropout后,神经网络的练习和猜测就会产生一些改动。在这里运用的是dropout以p的概率放弃神经元

练习层面

对应的公式改动如下如下:

没有dropout的神经网络

有dropout的神经网络

无可避免的,练习网络的每个单元要增加一道概率流程。

测验层面

猜测的时分,每一个单元的参数要预乘以p。

除此之外还有一种方法是,在猜测阶段不变,而练习阶段改动。

关于这个份额我查了不少材料,前面的是论文的定论;后边是keras源码中dropout的完成。有博客写的公式不一致,我写了一个我觉得是对的版别。

Dropout与其它正则化

Dropout一般运用L2归一化以及其他参数束缚技能。正则化有助于坚持较小的模型参数值。

运用Inverted Dropout后,上述等式变为:

能够看出运用Inverted Dropout,学习率是由因子q=1−p进行缩放 。由于q在[0,1]之间,η和q之间的份额改动:

参考文献将q称为推进要素,由于其能增强学习速率,将r(q)称为有用的学习速率。

有用学习速率相关于所选的学习速率而言更高:根据此束缚参数值的规一化能够协助简化学习速率挑选进程。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/156656.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部