Dropout作用

    在hinton的论文Improving neural networks by preventing coadaptation提出的,主要作用就是为了防止模型过拟合。当模型参数较多,训练数据较少时候,根据线性代数相关知识可以知道,当前模型可以非常完美的拟合我们的曲线。但该模型对测试数据集可能就没有很好的表现了,也就是说训练出的模型泛化能力很弱,我们称之为过拟合。从文章题目通过阻止特征检测器的共同作用来提高神经网络的性能可以看出,网络在提取训练集特征时,舍弃掉了一部分特征来提高网络的泛化能力。

基本认识

   Dropout用网络训练时工作变化来定义的话,是指在模型训练时随机让某些神经单元的权重停止本次更新,等下次训练时就有可能更新,对与一层中每个神经单元来说,它们更新的概率是相同的。
在hinton论文中没有数学公式,只是作者直观解释: 1. 网络中某层神经单元权值更新是等概率的,因此,不能保证相邻的神经单元每次都更新,直观解释就是有些特征不必完全依托于其他的特征。举个栗子:假如有5兄弟,老大和老二,老二和老三、、、相邻两个人才能完成一个任务,现在呢,我们把5兄弟放在黑屋子里面,每次随机选择一个兄弟执行任务,如果完成不了就惩罚其他兄弟,同时被选中的大兄弟当面对自己这次没有完成任务来自我反思(权值更新),在我们的逼迫下,进行了N次随机选择,发现5兄弟都能通过自我努力(权值更新)独立完成任务。
2. 论文讲,把dropout看作是,针对每次batch_size大的样本集训练,对应的网络结构是不同的,但是呢,它们之间还可以共享权重,不同的样本集合训练出了不同的网络模型。最后,得出的网络模型是每次训练的模型的“平均模型”。这种解释还是不错的^.^……
3. 把dropout比作是贝叶斯,贝叶斯有个大前提(不一定对哈)所有的特征是相互独立的,训练样本较少时候,独立学习每个特征,测试时候将所有的特征相乘。实际效果还不错。
4. 仿生物进化。适者生存,不断适应环境的变化。 参考来源:
https://github.com/rasmusbergpalm/DeepLearnToolbox
【面向代码】学习 Deep Learning(一)Neural Network
http://www.cnblogs.com/tornadomeet/p/3258122.html
http://blog.csdn.net/qq_25073253/article/details/72457840

paper 158:CNN(卷积神经网络):Dropout Layer的更多相关文章

  1. TensorFlow——CNN卷积神经网络处理Mnist数据集

    CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...

  2. 3层-CNN卷积神经网络预测MNIST数字

    3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字.这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成. MNIST 由 ...

  3. Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN

    http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...

  4. [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR

    Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...

  5. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  6. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

    https://www.zhihu.com/question/34681168 CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别?修改 CNN(卷积神经网 ...

  7. CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM

    http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...

  8. day-16 CNN卷积神经网络算法之Max pooling池化操作学习

    利用CNN卷积神经网络进行训练时,进行完卷积运算,还需要接着进行Max pooling池化操作,目的是在尽量不丢失图像特征前期下,对图像进行downsampling. 首先看下max pooling的 ...

  9. cnn(卷积神经网络)比较系统的讲解

    本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之 ...

  10. Keras(四)CNN 卷积神经网络 RNN 循环神经网络 原理及实例

    CNN 卷积神经网络 卷积 池化 https://www.cnblogs.com/peng8098/p/nlp_16.html 中有介绍 以数据集MNIST构建一个卷积神经网路 from keras. ...

随机推荐

  1. 《图解设计模式》读书笔记2-1 Template Method模式

    目录 模板方法模式 类图 思想: 模板方法模式 在父类中定义流程,在子类中实现具体的方法. 类图 代码 //抽象类 public abstract class AbstractDisplay { pu ...

  2. 更新系统时间 & 查看/修改LINUX时区和时间

    一.时区0. date '+%Y%M%D' 按照格式显示当前日期,结果如下: date "+%Y-%m-%d %H:%M:%S" 1. 查看当前时区 :[root@master ~ ...

  3. postman的下载和使用

    postman的下载 官网:https://www.getpostman.com/downloads/ 创建账号或者用谷歌浏览器账号登录 登录之后,进行接口测试,这里请求百度为例,然后点击send,就 ...

  4. 虚拟机VMware,安装中标麒麟系统,64位的,版本6.0,并安装qt

    为了使用qt开发,安装中标麒麟系统. 虚拟机中安装,本来安装的是32位麒麟系统,结果发现qt无法安装(官网提供的是64位的run程序). qt安装的是qt-opensource-linux-x64-5 ...

  5. Python_pickle

    pickle是一个可以将任意一个对象存储在硬盘文件中的工具. 更新:Python3中用法变了:  https://www.cnblogs.com/fmgao-technology/p/9078918. ...

  6. c#后台计算2个日期之间的天数差

    / 计算2个日期之间的天数差 DateTime dt1 = Convert.DateTime("2007-8-1");  DateTime dt2 = Convert.DateTi ...

  7. NGUI动态字体的创建(font maker)

    1,打开font maker 2,在font maker中创建选择动态字体 PS: 1,动态字体相对静态字体来说,动态字体比较消耗性能 2,静态字体是创建在图集中,这也是没那么消耗性能的原因

  8. [烧脑时刻]EL表达式1分钟完事

    一天,程序员A问我,我们比比谁的知识点多,反应快.我回答:那就看谁最快用EL表达式的显示在页面上吧. 话不多说,计时开始. 项目的结构如上,大概就是一个Family的JavaBean,一个jsp页面, ...

  9. CentOS7.6系统安装zabbix3.4.8客户端

    一.     准备安装包 将本地的zabbix-3.4.8软件包上传至服务器, 二.     安装依赖包 安装依赖包:yum install gcc* pcre* psmisc -y 三.     安 ...

  10. 自己关于SSM框架的搭建

    第一步 导入相应的包 spring springmvc 需要的包 spring-webmvc spring-aop spring-beans apring-context spring-core sp ...