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. ...
随机推荐
- 异常-打开文件过多(too many open files)
异常-打开文件过多 异常报错如下 09-Oct-2019 15:37:51.923 严重 [http-nio2-8080-Acceptor-0] org.apache.tomcat.util.net. ...
- python简单的函数定义和用法实例
python简单的函数定义和用法实例 这篇文章主要介绍了python简单的函数定义和用法,实例分析了Python自定义函数及其使用方法,具有一定参考借鉴价值,需要的朋友可以参考下 具体分析如下: 这里 ...
- Vagrant 手册之 box - 概述
原文地址 box 是 Vagrant 环境中使用的包格式.box 可以在 Vagrant 支持的所有平台上被任何人使用,从而提供相同的工作环境. vagrant box 工具提供了管理 box 的所有 ...
- python 按二维数组的某行或列排序 (numpy lexsort)
lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对应lexsort 一维数组的是argsort a.argsort()这么使用就可以:argsor ...
- Invalid column name on sql server update after column create
问题:新建一个测试表xx as code into xx select * from xx 给这个表添加一个列val, val列不允许为空,将表中已有的数据val值更新为1 alter table x ...
- python 转义json串
import re body=r''' {"id":${BXbiztripinfoID_10},"msg":"1234测试审批${__UUID}&qu ...
- LeetCode #1021. Remove Outermost Parentheses 删除最外层的括号
https://leetcode-cn.com/problems/remove-outermost-parentheses/ Java Solution class Solution { public ...
- Android关于Activity生命周期详解
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...
- 完美的Linux之【navi】使用笔记
今天要说的是才上线才两天,就已经获得超过1000星.开发者是一位来自巴西的小哥Denis Isidoro. 开发的工具navi Linux用户的日常困惑 新命令 用完就忘 ? 一时想不起来命令的单词怎 ...
- NavBarControl控件 2015-07-23 16:56 2人阅读 评论(0) 收藏
NavBarControl控件 1. 新建一个windows窗体应用程序项目 2. 在工具箱中的Navigation& Layout选项卡下找到NavBarControl, ...