卷积神经网络(Convolutional Neural Network,CNN)是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。

感受野和权值共享

卷积神经网络一个牛逼的地方就在于通过感受野和权值共享减少了神经网络需要训练的参数的个数,这有助于提高一般前向BP算法的训练性能。

感受野其实就是一个隐藏层神经元的局部连接大小。在全连接结构的神经网络中,隐藏层神经元和输入层的所有神经元都存在形成连接,带来的潜在问题是参数数量的膨胀。假设输入的是一幅像素为100100的图像,隐含层有1000个节点,光这一层就有(100100+1)*1000个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。在卷积神经网络中,感受野就是卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小,即隐藏层神经元只与对应感受野区域内的输入神经元相关。权值共享就是使用相同的卷积核在输入中的不同感受野中做卷积操作。

卷积和池化

卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。

图中所示的C1、C3通常为卷积层,S2、S4通常为池化层,除此之外通常还包含全连接层等。

卷积层通常也称为特征提取层,每个神经元与前一层的局部感受野相连,并提取该局部的特征。通常为了提取多个特征,需要使用多个卷积核。假设卷积核大小为55,使用20个卷积核,则需要训练的参数个数为(55+1)*20=520。

隐藏层神经元的个数取决于输入大小、卷积核大小、卷积步长和卷积核数。假设对于100100的输入,采用的卷积核为55大小,卷积步长为1,则隐藏层神经元的个数为(100-5+1)(100-5+1)20,每个神经元与5*5个输入神经元相连。不同卷积核去卷积图像会得到对图像的不同特征的反应映,我们称之为特征图(Feature Map)。

池化层的输入一般来源于上一个卷积层,进行池化主要是为了提供鲁棒性,同时减少参数的数量,防止过拟合现象的发生。常见的池化操作有平均池化和最大池化,其中,平均池化指的是计算图像区域的平均值作为该区域池化后的值,最大池化是选图像区域的最大值作为该区域池化后的值。

卷积神经网络(CNN)小结相关推荐

  1. python卷积神经网络cnn的训练算法_【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理...

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  2. 卷积神经网络CNN算法原理

    写在前面 在上一篇[Deep learning]卷积神经网络CNN结构中我们简单地介绍了CNN的结构.接下来我们看看这种结构的CNN模型是怎么运行的,包括CNN的前向传播和反向传播算法. 1.CNN前 ...

  3. 深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。

    在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一.CNN广泛的应用 ...

  4. 4. 卷积神经网络CNN

    文章目录 4. 卷积神经网络CNN 4.1 概念 4.1.1 概念 4.1.2 用途 4.2 结构介绍 4.2.1 结构简介 4.2.2 卷积层 1) 基本概念 2) 前期准备 3) 参数共享 4) ...

  5. 卷积神经网络CNN图解

    背景 之前在网上搜索了好多好多关于CNN的文章,由于网络上的文章很多断章取义或者描述不清晰,看了很多youtobe上面的教学视频还是没有弄懂,最后经过痛苦漫长的煎熬之后对于神经网络和卷积有了粗浅的了解 ...

  6. 卷积神经网络CNN原理详解(一)——基本原理

    卷积神经网络CNN原理详解(一)--基本原理 转载过来为了自己以后学习方便,大家请看原文章 为什么要用神经网络? 特征提取的高效性. 大家可能会疑惑,对于同一个分类任务,我们可以用机器学习的算法来做, ...

  7. 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)

    卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习) 分享一些公式计算张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算. 以AlexNet网络为例,以下是该网络的参数结构图. A ...

  8. 卷积神经网络(CNN,ConvNet)

    卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...

  9. 卷积神经网络(CNN)的简单实现(MNIST)

    卷积神经网络(CNN)的基础介绍见http://blog.csdn.net/fengbingchun/article/details/50529500,这里主要以代码实现为主. CNN是一个多层的神经 ...

  10. 卷积神经网络(CNN)实现CIFAR100类别分类

    卷积神经网络(CNN)实现CIFAR100类别分类 1. CIFAR100数据集介绍 这个数据集就像CIFAR-10,除了它有100个类,每个类包含600个图像.,每类各有500个训练图像和100个测 ...

最新文章

  1. 【win】黑框中常用的命令
  2. 基于深度学习方式的点云处理算法汇总
  3. Android驱动开发读书笔记六
  4. 线程的简单生产消费模式
  5. 动态规划之力扣股票类问题
  6. html form int,is_int, is_numeric, is_float, and HTML form validation
  7. C 语言实例 - 约瑟夫生者死者小游戏
  8. OSChina 周日乱弹 —— 七哥的北漂日记
  9. Timus 1741
  10. 原始图像扩展_Resize Sense for Mac(图像处理软件)
  11. SQL SERVER 2005 使用订阅发布同步数据库
  12. Mirth Connect 源码用eclipse启动
  13. 部署https后访问提存在安全隐患NET::ERR_SSL_OBSOLETE_VERSION
  14. 三角形周长最短问题_什么样的三角形周长最短
  15. Python万年历(含农历、节气等)
  16. 软考高级-信息系统管理师之质量管理(最新版)
  17. 新概念英语学习笔记-1
  18. STC 51单片机43——看门狗
  19. 需求管理二:需求的建模与跟踪
  20. Python将csv文件以某列为条件分类切割

热门文章

  1. 20175318 2018-2019-2 《Java程序设计》第4周学习总结
  2. Day16 os模块、time模块、random模、math模块
  3. vs编译项目报错:The OutputPath property is not set for this project
  4. Django使用中常见的错误
  5. java面向对象第六章
  6. Centos7上使用官方YUM源安装Mysql
  7. 编写高质量代码改善C#程序的157个建议——建议104:用多态代替条件语句
  8. MFC窗口位置和大小的获取
  9. 2013年1季度中国汽车品牌口碑研究报告 ——自主A级车
  10. SQL Server R2 地图报表制作(四)