卷积是神经网络的基础,算是大厦的地基,卷积实际上来说就是两个数列之间的相互处理。池化的作用我感觉主要就是减小图像或者说矩阵的大小,并且不同的池化方法选取不同的信息作为保存信息。

转载:http://www.cnblogs.com/zf-blog/p/6075286.html

卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT-CONV-RELU-POOL-FC

(1)卷积层:用它来进行特征提取,如下:

输入图像是32*32*3,3是它的深度(即R、G、B),卷积层是一个5*5*3的filter(感受野),这里注意:感受野的深度必须和输入图像的深度相同。通过一个filter与输入图像的卷积可以得到一个28*28*1的特征图,上图是用了两个filter得到了两个特征图;

我们通常会使用多层卷积层来得到更深层次的特征图。如下:

关于卷积的过程图解如下:

输入图像和filter的对应位置元素相乘再求和,最后再加上b,得到特征图。如图中所示,filter w0的第一层深度和输入图像的蓝色方框中对应元素相乘再求和得到0,其他两个深度得到2,0,则有0+2+0+1=3即图中右边特征图的第一个元素3.,卷积过后输入图像的蓝色方框再滑动,stride=2,如下:

如上图,完成卷积,得到一个3*3*1的特征图;在这里还要注意一点,即zero pad项,即为图像加上一个边界,边界元素均为0.(对原输入无影响)一般有

F=3 => zero pad with 1

F=5 => zero pad with 2

F=7=> zero pad with 3,边界宽度是一个经验值,加上zero pad这一项是为了使输入图像和卷积后的特征图具有相同的维度,如:

输入为5*5*3,filter为3*3*3,在zero pad 为1,则加上zero pad后的输入图像为7*7*3,则卷积后的特征图大小为5*5*1((7-3)/1+1),与输入图像一样;

而关于特征图的大小计算方法具体如下:

卷积层还有一个特性就是“权值共享”原则。如下图:

如没有这个原则,则特征图由10个32*32*1的特征图组成,即每个特征图上有1024个神经元,每个神经元对应输入图像上一块5*5*3的区域,即一个神经元和输入图像的这块区域有75个连接,即75个权值参数,则共有75*1024*10=768000个权值参数,这是非常复杂的,因此卷积神经网络引入“权值”共享原则,即一个特征图上每个神经元对应的75个权值参数被每个神经元共享,这样则只需75*10=750个权值参数,而每个特征图的阈值也共享,即需要10个阈值,则总共需要750+10=760个参数。

池化层:对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征,如下:

池化操作一般有两种,一种是Avy Pooling,一种是max Pooling,如下:

同样地采用一个2*2的filter,max pooling是在每一个区域中寻找最大值,这里的stride=2,最终在原特征图中提取主要特征得到右图。

(Avy pooling现在不怎么用了,方法是对每一个2*2的区域元素求和,再除以4,得到主要特征),而一般的filter取2*2,最大取3*3,stride取2,压缩为原来的1/4.

注意:这里的pooling操作是特征图缩小,有可能影响网络的准确度,因此可以通过增加特征图的深度来弥补(这里的深度变为原来的2倍)。

全连接层:连接所有的特征,将输出值送给分类器(如softmax分类器)。

总的一个结构大致如下:

另外:CNN网络中前几层的卷积层参数量占比小,计算量占比大;而后面的全连接层正好相反,大部分CNN网络都具有这个特点。因此我们在进行计算加速优化时,重点放在卷积层;进行参数优化、权值裁剪时,重点放在全连接层。

转载于:https://www.cnblogs.com/dfdn/articles/8862333.html

深度学习--说一说卷积和池化相关推荐

  1. 花书+吴恩达深度学习(十一)卷积神经网络 CNN 之池化层

    目录 0. 前言 1. 最大池化(max pooling) 2. 平移不变形 3. 其他池化函数 4. 卷积和池化作为一种无限强的先验 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常 ...

  2. 深度学习笔记 5 卷积、池化

    目录 1. 卷积 1.1 卷积的目的 1.2 卷积的基本属性 1.3 卷积的特点 2. 卷积分类与计算 2.1 标准卷积 2.2 反卷积(转置卷积) ​2.3 空洞卷积 2.4 深度可分离卷积 2.5 ...

  3. 深度学习时间序列预测:卷积神经网络(CNN)算法构建单变量时间序列预测模型预测空气质量(PM2.5)+代码实战

    深度学习时间序列预测:卷积神经网络(CNN)算法构建单变量时间序列预测模型预测空气质量(PM2.5)+代码实战 神经网络(neual networks)是人工智能研究领域的一部分,当前最流行的神经网络 ...

  4. 万字长文带你看尽深度学习中的各种卷积网络

    来源:AI科技评论 摘要:深度学习中的各种卷积网络大家知多少? 深度学习中的各种卷积网络大家知多少?对于那些听说过却又对它们没有特别清晰的认识的小伙伴们,这篇文章非常值得一读.Kunlun Bai 是 ...

  5. 【深度学习】深入理解卷积神经网络(CNN)

    CNN Author:louwill From:深度学习笔记 本文将为大家介绍一种用途更为广泛.性能更加优越的神经网络结构--卷积神经网络(Convolutional Neural Network, ...

  6. PyTorch框架学习十——基础网络层(卷积、转置卷积、池化、反池化、线性、激活函数)

    PyTorch框架学习十--基础网络层(卷积.转置卷积.池化.反池化.线性.激活函数) 一.卷积层 二.转置卷积层 三.池化层 1.最大池化nn.MaxPool2d 2.平均池化nn.AvgPool2 ...

  7. 花书+吴恩达深度学习(十三)卷积神经网络 CNN 之运算过程(前向传播、反向传播)

    目录 0. 前言 1. 单层卷积网络 2. 各参数维度 3. CNN 前向传播反向传播 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十)卷积神经网络 ...

  8. 花书+吴恩达深度学习(十)卷积神经网络 CNN 之卷积层

    目录 0. 前言 1. 2D 图像卷积 2. 3D 图像卷积 3. 过滤器(核函数) 4. 过滤器应用于边缘检测 5. padding 填充 6. stride 步长 7. 使用卷积的动机 8. 1乘 ...

  9. 图像处理神经网络python_深度学习使用Python进行卷积神经网络的图像分类教程

    深度学习使用Python进行卷积神经网络的图像分类教程 好的,这次我将使用python编写如何使用卷积神经网络(CNN)进行图像分类.我希望你事先已经阅读并理解了卷积神经网络(CNN)的基本概念,这里 ...

最新文章

  1. SpringBoot巧用 @Async 提升API接口并发能力!
  2. [CF482B]Interesting Array
  3. linux下gcc编译conio.h问题
  4. 2021年,Java开发者值得学习的13项技能
  5. Maven(四):定制库到Mave本地资源库 (Kaptcha)
  6. 节约里程法java代码_患者,男,70岁,有多年排尿困难,呈淋漓状,近2年来双侧腹股沟区出现半年圆形肿块,站立时明显,平卧后消失,体检时压迫内环肿块仍出现,诊断为...
  7. 计算机视觉应关注的资源
  8. 2018-3-28Linux系统管理(16)计算机网络基础
  9. mysql查询去年本月的数据_MySQL查询本周、上周、本月、上个月份数据的sql代码...
  10. qt5连接sqlite数据库实例
  11. matlab怎么没有编辑器,实时编辑器介绍 - MATLAB Simulink - MathWorks 中国
  12. 13.文本文件和二进制文件的区别
  13. H.266 JEM编码块结构:四叉树+二叉树QTBT
  14. ExoPlayer在开启循环播放时的尴尬情况
  15. JSP Webshell 免杀
  16. centos 计算器_Linux下的计算器
  17. android 动画入门(一)
  18. access函数使用方法
  19. 《百面机器学习》学习笔试之模型评估(第2章)
  20. 4.Python数据结构与算法分析课后习题__chapter4

热门文章

  1. 20160406作业
  2. linux下 SCP 、ssh、ssh-copy-id采用非默认端口传输
  3. [C++] NEW Advanced Usage
  4. 程序员最喜爱的12个Android应用开发框架二(转)
  5. UCOS源码剖析 (一)
  6. android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
  7. Winform下的地图开发控件(GMap.NET)使用心得之二
  8. curl用法:获取网站的header头及状态码
  9. 前端小项目之在线便利贴
  10. 容量和速度是选购闪存盘的关键