paper 158:CNN(卷积神经网络):Dropout Layer
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的更多相关文章
- TensorFlow——CNN卷积神经网络处理Mnist数据集
CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...
- 3层-CNN卷积神经网络预测MNIST数字
3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字.这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成. MNIST 由 ...
- Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...
- [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR
Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
https://www.zhihu.com/question/34681168 CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别?修改 CNN(卷积神经网 ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM
http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...
- day-16 CNN卷积神经网络算法之Max pooling池化操作学习
利用CNN卷积神经网络进行训练时,进行完卷积运算,还需要接着进行Max pooling池化操作,目的是在尽量不丢失图像特征前期下,对图像进行downsampling. 首先看下max pooling的 ...
- cnn(卷积神经网络)比较系统的讲解
本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之 ...
- Keras(四)CNN 卷积神经网络 RNN 循环神经网络 原理及实例
CNN 卷积神经网络 卷积 池化 https://www.cnblogs.com/peng8098/p/nlp_16.html 中有介绍 以数据集MNIST构建一个卷积神经网路 from keras. ...
随机推荐
- 经常用到的meta标签的整理
1.设置页面关键词<meta name="keywords" content="输入具体的关键词">2.设置页面的描述<meta name=& ...
- 下载 GitHub 上保存在 AWS 的文件
通过 GitHub 下载文件时,发现很多文件保存在亚马逊的 AWS 上.而国内访问 AWS 的速度很慢,经常会有文件下载失败.常用的解决方案是挂代理,但我这边挂了代理还是很慢,只好找其他办法. AWS ...
- Markov Decision Process in Detail
From the last post about MDP, we know the environment consists of 5 basic elements: S:State Space of ...
- Visual Studio中把文件夹导入工程中
VS用到的功能还是太少,记录备忘. 有的时候需要把其他库的源码导入当前工程直接使用,而这个库是源码形式,又带很多目录的. 之前从没遇到过这种情况,自己的库目录自己新建,添加. 第三方库一般有单独的Pr ...
- 函数式编程filter和map的区别
# b = filter(lambda x:x>5,[1,2,3,4,5,6,7]) # print(list(b)) def filters(x): if x > 5: return x ...
- python args参数理解
文件名:while.py 代码:import sysprint(sys.path)print(sys.argv) 执行结果: ['D:\\python_basic\\s01', 'D:\\python ...
- HashMap -双列集合的遍历与常用的方法
package cn.learn.Map; /* java.util.Hashtable<k,y> implements Map<k,v> 早期双列集合,jdk1.0开始 同步 ...
- SQL server 查看什么语句在使用临时表
SQL server 查询那些语句在使用临时表 最近在日常的性能测试工作中发现,数据库端的IO读写比较大,有规律的2-8M的波动,数据库的版本为 SQL server 2008 sp3. 这些IO操作 ...
- MyEclipse停止自带插件的启动
MyEclipse启动时因为自身带有很多的插件,所以在启动时运行的速度特别慢,所以可以选择一下启动时的插件,将不使用的插件选择在MyEclipse启动时不起动. 步骤如下: windows->p ...
- Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维)
Codeforces Round #529 (Div. 3) 题目传送门 题意: 给你由左右括号组成的字符串,问你有多少处括号翻转过来是合法的序列 思路: 这么考虑: 如果是左括号 1)整个序列左括号 ...