《Dropout:一种防止神经网络过度拟合的简单方法》论文学习

声明:本文是论文 Dropout: A Simple Way to Prevent Neural Networks from Overfitting的总结与学习,做了个笔记,方便以后温习


  关键词:Dropout;过拟合;丢弃率;稀疏网络;泛化能力



1 什么是Dropout

  在看AlexNet这篇论文的时候我第一次真正接触到dropout的概念,但是AlexNet这篇论文并没有详细的讲理论和数学知识,而是叙述方法和思路,并呈现了重要的数据和结论。于是我查阅到了这篇专门讲Dropout的论文。

原文摘要
The key idea is to randomly drop units (along with their connections) from the neural network during training. This prevents units from co-adapting too much.

  Dropout的关键思想就是在训练神经网络的时候将神经元随机丢弃,这样可以阻止(所有)神经元太过联合适应(co-adaptation 这与过拟合高度相关)。
  具体的说,比如我们要给神经网络某层应用Dropout, 就是给该层每个神经元乘以保留概率 p p p, 则所有的神经元都会有概率 p p p的机会被保留下来。这将会导致有的神经元被保留,有的却被丢弃,最终产生一个稀疏子网络。请看图1 (来自原论文)

图 1 : 标准神经网络和应用dropout后的神经网络
2 Dropout的感性认识

  为了更形象的理解Dropout,作者在Motivation这一节举了两个比较形象的例子从感性认识上为我们解释了dropout为什么能够防止过拟合。

例子一:无性繁殖vs有性繁殖
  无性繁殖能够能够将已经适应生存的个体基因直接传给后代,这貌似是一个好方法。而有性繁殖则父母各取一半,其组合的适应性具有不确定性。而自然界大多数生物采用了有性繁殖,为什么呢?如下

原文解释
One possible explanation for the superiority of sexual reproduction is that, over the long term, the criterion for natural selection may not be individual fitness but rather mix-ability of genes.

“mix-ability of genes”这里我暂时译做基因的混合能力,这种混合能力产生了更丰富的生物特征,虽然大多数特征可能适应表现并不好,但是总会出现一些少量具有较强适应性的特征,从而能够更好的适应不断变化的自然。而无性生殖针对变化的自然则没有这么强的适应性,因为它基本上没有提供改善适应性的机会。

  类比于无和有Dropout的两个网络,如下

原文解释
Similarly, each hidden unit in a neural network trained with dropout must learn to work with a randomly chosen sample of other units. This should make each hidden unit more robust and drive it towards creating useful features on its own without relying on other hidden units to correct its mistakes.

相似的,神经网络中用dropout训练每个隐层单元必须学会与其他随机挑选出来的单元共同工作。这就使得每个隐层单元更鲁棒,并迫使它们产生更有用的特征而不依赖其他的隐藏神经元来纠正它的错误。

所以到这里终于可以解释什么是联合适应性(co-adaptation)了,也就是不用Dropout训练的神经网络中神经元之间的相互依赖性比较强,它们十分密切联合起来才能获得较高的准确率,而一旦换了比较新的测试数据则准确率却并不那么好,因为它们死板的学习了训练数据的知识,从而泛化能力并不强。

例子二:分小组多处作案成功率vs大组一处作案成功率
  我们的前提是只要成功一次就算成功。按原文显然分小组多处作案成功率更大。我自己用数学表达解释下,比如说一大组作案成功概率 p 1 = 1 / 2 p_1= 1/2 p1=1/2比单独的一个小组作案成功概率 p 2 = 1 / 4 p_2= 1/4 p2=1/4大(毕竟大组人多力量大),但是所有小组(假设有10个小组)成功一次的概论 p = 1 − ( 1 − p 2 ) 10 ≈ 0.94 > p 1 = 0.5 p =1 - (1 - p_2)^{10} \approx 0.94 > p_1 = 0.5 p=1(1p2)100.94>p1=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值