在神经网络中经常会用到dropout,大多对于其解释就是dropout可以起到正则化的作用。

一下是我总结的对于dropout的理解。花书上的解释主要还是从模型融合的角度来解释,末尾那一段从生物学角度的解释是在是看不明白。

从模型融合的角度来解释dropout:

Dropout提供了正则化一一大类模型的方法。Dropout可以被认为是集成大量的深层神经网络模型的

Bagging方法。通常的Bagging方法是每个模型单独训练的,但是这对于大规模的神经网络来说是不现实的。一般神经网络模型的融合都只能集成5到10个模型。但是Dropout提供了一种廉价的bagging集成近似,能够训练和评估指数数量的神经网络。Dropout集成的是所有从基础网络除去非输出单元后形成的子网络。

这种如果我们设置dropout的概率为0.5,那么有N个隐藏层沈神经元的网络,可以产生2的N次方个子网络。

Dropout训练与Bagging训练不一样,Bagging的训练,每个模型都是独立的,各自有各自的参数。但是在Dropout的情况下,所有模型共享参数,其中每个模型集成父神经网络参数的不同子集。

在单个步骤的训练中,我们一次训练一个子网络。

bagging集成必须根据所有成员的累积投票做一个预测。在这种背景下,我们成这个过程为推断。

Bagging是每个模型产生一个概率分布,然后做算术平均,得到最终的结果。

我的理解是Dropout是通过最后一层,比如softmax来做融合。这部分花书上有推导。求模型的几何平均,而不是bagging的算术平均。

Dropout另一个优点是适用的模型比较广泛,而且效果都不错。

总而言之,Dropout是目前使用最广泛的隐式集成的方法。

Dropout强大的另一个解释是,我们把施加到神经元链接上的Dropout看做是一个噪声掩码,通过施加噪声,增强了模型的泛化能力。

Dropout的噪声引入是乘性的,这部分的优势,目前还不了解,等我再看看书吧

受到生物学的启发,解释dropout:

参考资料:

《深度学习》第七章

https://blog.csdn.net/stdcoutzyx/article/details/49022443

dropout 为何会有正则化作用的更多相关文章

  1. Paper List ABOUT Deep Learning

    Deep Learning 方向的部分 Paper ,自用.一 RNN 1 Recurrent neural network based language model RNN用在语言模型上的开山之作 ...

  2. Deep Learning方向的paper

    转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...

  3. 正则化方法:L1和L2 regularization、数据集扩增、dropout

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  4. 正则化,数据集扩增,Dropout

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  5. 正则化方法:L1和L2 regularization、数据集扩增、dropout(转)

    ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666------ ...

  6. 模型正则化,dropout

    正则化 在模型中加入正则项,防止训练过拟合,使测试集效果提升 Dropout 每次在网络中正向传播时,在每一层随机将一些神经元置零(相当于激活函数置零),一般在全连接层使用,在卷积层一般随机将整个通道 ...

  7. Dropout正则化和其他方法减少神经网络中的过拟合

    1. 什么是Dropout(随机失活) 就是在神经网络的Dropout层,为每个神经元结点设置一个随机消除的概率,对于保留下来的神经元,我们得到一个节点较少,规模较小的网络进行训练. 标准网络和dro ...

  8. 深度学习(dropout)

    other_techniques_for_regularization 随手翻译,略作参考,禁止转载 www.cnblogs.com/santian/p/5457412.html Dropout: D ...

  9. [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 正则化(regularization) 如果你的神经网络出现了过拟合(训练集与验证集得到的结果方差较大),最先想到的方法就是正则化(re ...

随机推荐

  1. excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,"*内容*"),"0","1")

    前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有“ ...

  2. vue 动画过渡

    一.过渡(动画) 1. 简介 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果,本质上还是使用CSS3动画:transition.animation 2. 基本用法 1.使用t ...

  3. Mac Angular打包报错xcode-select: error: tool 'xcodebuild' requires Xcode

    Mac Angular打包报错: Error: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer ...

  4. 草稿:SCADA全局底层框架架构

    一:全局基于单文档MFC程序开发. 二:全局每个功能模块之间完全隔离, 模块之间的数据交流必须使用主板模板. 三:每个功能块全部都自己的线程,除了PLC功能块 其他都是窗口线程 四:各个功能命名的前缀 ...

  5. React:快速上手(6)——掌握React Router

    React:快速上手(6)——掌握React Router 引入Router 安装 npm install react-router-dom 基础组件 React Router中有三种类型的组件:路由 ...

  6. maven tomcat7-maven-plugin配置及背景

    背景: 在研发阶段,想让一个服务通过tomcat启动起来有很多的方法,常用的idea都有这样的支持,那么如果我们没有tomcat,能不能让服务通过tomcat启动起来呢?maven就提供了这样的支持. ...

  7. 【转载】IDEA:放置型塔防备忘录

    下周开始做原型了,我需要再次细细的整理一遍设计思路,确保每一个设计都能为了我所追求的玩家体验添砖加瓦,而不是互相打架.同时本文还能提供最原始的VISION,待到将来开发万一陷入泥淖,翻出此文来可以起到 ...

  8. Java TreeMap详细介绍和使用示例

    ①对TreeMap有个整体认识 TreeMap是一个有序的key-value集合,它是通过红黑树实现的. TreeMap继承于AbstractMap,所以它是一个Map,即key-value集合. T ...

  9. 20145316《Java程序设计》第六周学习总结

    20143516许心远 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1 1.Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 2.若要将数据 ...

  10. Python学习示例源码

    函数和函数式编程 函数定义: 函数调用: 过程定义: 过程调用: 面向过程的编程方法: """ 面向对象-----类------class 面向过程-----过程---- ...