Deep Learning 学习笔记——第9章
总览:
本章所讲的知识点包括》》》》
1、描述卷积操作 2、解释使用卷积的原因 3、描述pooling操作 4、卷积在实践应用中的变化形式
5、卷积如何适应输入数据 6、CNN对DL的影响
本章未包含的知识点有》》》》
在实际应用中如何选取CNN架构
本章的目的是阐述CNN提供的处理数据的方法。在第11章将会对怎样使用这些方法做说明。
9.1 卷积操作
问题:
1、与信号系统或者数学中的卷积有何区别?
2、如何用代码实现
注意:CNN包括的计算不仅仅只有卷积计算,还包括pooling、激活函数处理等等。
那么单纯的卷积是怎样的?它与一般意义的卷积有何区别?有什么作用?
一维连续的卷积形式:

表示方式:

表述的意义:信号x在t时刻,对之前的信号进行w函数形式的使用,即通过对不同时刻的加权,预测当前的状态。
一维离散的卷积形式:

以上,变量a的取值范围有不同条件下的约束,其约束条件由实际而定。
二维离散的卷积形式:

根据卷积可交换性,变成:

在CNN中,卷积操作的表述形式:

这种形式被大多数的CNN库所采用,其实应该称为cross-correlation 即互相关,与一般意义上的卷积比较:
1、没有了翻转。“-"号有翻转的作用。 2、较翻转的“原始卷积”操作,互相关得到的结果也是翻转过来的。
卷积操作示意图:

如何用代码实现简单的卷积操作,见连接:
9.2 卷积特点
1、sparse interactions 2、parameter sharing 3、equivariant respections
sparse interactions————》》如下是效果图,与全连接网络对比。蓝色框中是全连接神经网络,红色框是卷积网络。

卷积相对于全连接是稀疏的。优势:1、参数更少 2、内存需求降低 3、计算量降低。那么效果比较呢?

时间复杂度:全连接》》O(m*n) 卷积》》O(k*n) m为输入层节点数,n为输出节点数,k为卷积核大小。
上图是多层结构的联系图,可知通过增加网络层数,保留全局的特征。而全连接的优势也是为了得到特征,CNN有同样提取效果的功能。
parameter sharing————》》下图第二图,红色框是卷积核,使用同样的卷积核对输入做卷积,即为权值共享。
第一图是权值共享与全连接权值的比较。
优势:同样是减少了参数量。一个卷积核,目的是为了得到一种特征。使用多个卷积核,可产生多个特征。
equivariant respections——————》》当输入图像通过平移后,卷积的结果也会平移。


如上所示:在lenet手写数字识别中,数字7从右向左平移,对应红色框里的layer-1也进行了平移。
同时注意:单就卷积操作而言,这种等变换在缩放、旋转上是不成立的。
对比:整个CNN操作(包括卷积层以及后面的层),主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。
9.3 Pooling
典型的CNN包含3个阶段:如下图的右边部分所示》》》
阶段一》》 卷积操作 阶段二》》Detector,此处经过非线性处理 阶段三》》pooling
下图左边部分是CNN中总体结构。

Pooling》》1、max pooling 对一定范围的邻域取最大值,其效果是可以允许输入有一定的波动。

上图右图: 使用3个卷积核对输入处理,能对三种输入做出不同的匹配。输入一个数字,得到激活,使用pooling能够适应输入波动。
2、均值Pooling
3、L2正则
并且在第20.10.6中有更复杂的方法。对正则会在近期总结。
9.4 Infinitely strong prior
讲述卷积和Pooling与先验条件的联系。
卷积的先验是:特征层学到的内容是局部的并且是可以进行一定的移动的。
pooling的先验是:pooling操作适应输入的小变化,有不变性。
weak prior 拥有高熵值,比如高斯分布,这种先验对参数进行约束。
strong prior 拥有低熵值,对参数调节的终止调节进行约束。
卷积是全连接的最大先验,因为将卷积核与全连接比较,除卷积核部分外,其他部分的参数均为0.
意义:
卷积和Pooling导致underfitting。因为他们只有当实际情况与先验假设吻合时,才有作用。
比如:假设一个实际任务当中,结果依赖与特征的具体位置,此时如果对所有的特征进行pooling操作,则会导致较高的训练错误率。而解决此问题的方法便是:在某些通道使用pooling,而其他通道不使用,从而结果有一定的invariant feature以及不会underfit。
9.5 卷积的基本变化形式
参考:
《Deep Learning》Ian Goodfellow,Yoshua Bengio,AND Aaron Courville
《Gradient-Based Learning Applied to Document Recognition》YANN LECUN, MEMBER, IEEE, LEON BOTTOU, YOSHUA BENGIO, AND PATRICK HAFFNER
http://yann.lecun.com/exdb/lenet/index.html
Deep Learning 学习笔记——第9章的更多相关文章
- 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
DA就是“Denoising Autoencoders”的缩写.继续给yusugomori做注释,边注释边学习.看了一些DA的材料,基本上都在前面“转载”了.学习中间总有个疑问:DA和RBM到底啥区别 ...
- [置顶]
Deep Learning 学习笔记
一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...
- Deep Learning 学习笔记(8):自编码器( Autoencoders )
之前的笔记,算不上是 Deep Learning, 只是为理解Deep Learning 而需要学习的基础知识, 从下面开始,我会把我学习UFDL的笔记写出来 #主要是给自己用的,所以其他人不一定看得 ...
- Neural Networks and Deep Learning学习笔记ch1 - 神经网络
近期開始看一些深度学习的资料.想学习一下深度学习的基础知识.找到了一个比較好的tutorial,Neural Networks and Deep Learning,认真看完了之后觉得收获还是非常多的. ...
- 【Deep Learning学习笔记】Dynamic Auto-Encoders for Semantic Indexing_Mirowski_NIPS2010
发表于NIPS2010 workshop on deep learning的一篇文章,看得半懂. 主要内容: 是针对文本表示的一种方法.文本表示可以进一步应用在文本分类和信息检索上面.通常,一篇文章表 ...
- 【deep learning学习笔记】Recommending music on Spotify with deep learning
主要内容: Spotify是个类似酷我音乐的音乐站点.做个性化音乐推荐和音乐消费.作者利用deep learning结合协同过滤来做音乐推荐. 详细内容: 1. 协同过滤 基本原理:某两个用户听的歌曲 ...
- 【deep learning学习笔记】注释yusugomori的RBM代码 --- 头文件
百度了半天yusugomori,也不知道他是谁.不过这位老兄写了deep learning的代码,包括RBM.逻辑回归.DBN.autoencoder等,实现语言包括c.c++.java.python ...
- paper 149:Deep Learning 学习笔记(一)
1. 直接上手篇 台湾李宏毅教授写的,<1天搞懂深度学习> slideshare的链接: http://www.slideshare.net/tw_dsconf/ss-62245351? ...
- 【deep learning学习笔记】最近读的几个ppt(四)
这几个ppt都是在微博上看到的,是百度的一个员工整理的. <Deep Belief Nets>,31页的一个ppt 1. 相关背景 还是在说deep learning好啦,如特征表示云云. ...
随机推荐
- Qt之密码框不可选中、复制、粘贴、无右键菜单等
简述 在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同,例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 下面介绍两种方式来实现相同的效果. ...
- ASP.NET 4.0 Webform Bundles 压缩css, js,为什么放到服务器不行
参考文章: http://blog.csdn.net/dyllove98/article/details/8758149 文章说的很详细. 但是本地是可以完美展示(我的本地环境有4.0 也有4.5) ...
- 51nod1434 区间LCM
将n!标准分解.m!/n!必定需要包含n!的分解式.对于每个质数枚举最小的答案,然后总的取最大. #include<cstdio> #include<cstring> #inc ...
- BZOJ 1977 次小生成树
TM终于过了.... #include<iostream> #include<cstdio> #include<cstring> #include<algor ...
- Activiti 多个并发子流程的应用
多个部门发起资金计划,最后统一到财务部审批,每个部门发起资金计划是一个子流程,财务部审批是多个部门的计划同时审批,审批完成后,再提交上级领导审批. 流程如下: 要解决以上问题,需要实现多个子流程并行处 ...
- ecshop 分类树全部显示
1.在page_header.lbi文件中加入 $GLOBALS['smarty']->assign('categories',get_categories_tree()); // 保证首页页面 ...
- 计算机视觉入门 Intorduction To Computer Vision
本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而 ...
- liunx的目录结构
linux目录结构的最顶端是/目录 我们一般都称为root目录. linux有四种文件类型,分别是普通文件,目录文件,连接文件,特殊文件,可以用file来识别. 普通文件:文本文件 二进制文件 图像文 ...
- 使用模板时 error LNK2019: 无法解析的外部符号
类模板是c++编译器指令 说明了如何生成类和成员函数 除非编译器实现了新的关键字export关键字 否则将模板成员函数放置在一个独立的实现文件中 将无法运行 因为模板不是函数 他们不能单独编译 模板必 ...
- CURL --- 命令行浏览器CURL
CURL --- 命令行浏览器CURL CURL --- 命令行浏览器 CURL? 嗯,说来话长了~~~~ 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从 ...