CNN

本文转载博客:http://blog.csdn.net/zhongkeli/article/details/51854619

cnn每一层会输出多个feature map, 每个Feature Map通过一种卷积滤波器提取输入的一种特征,每个feature map由多个神经元组成,假如某个feature map的shape是m*n, 则该feature map有m*n个神经元。对于卷积层会有kernel, 记录上一层的feature map与当前层的卷积核的权重,因此kernel的shape为(上一层feature map的个数,当前层的卷积核数)。本文默认子采样过程是没有重叠的,卷积过程是每次移动一个像素,即是有重叠的。默认子采样层没有权重和偏置。关于CNN的其它描述不在这里论述,可以参考一下参考文献。只关注如何训练CNN。

CNN网络结构

一种典型卷积网络结构是LeNet-5,用来识别数字的卷积网络。结构图如下(来自Yann LeCun的论文): 

在卷积神经网络算法的一个实现文章中,有一个更好看的图: 

该图的输入是一张28*28大小的图像,在C1层有6个5*5的卷积核,因为C1层输出6个(28-5+1)(28-5+1)大小的feature map。然后经过子采样层,这里假设子采样层是对卷积层的均值处理(mean pooling), 其实一般还会有加偏置和激活的操作,为了简化,省略了这两步,只是对卷积层进行一个采样的操作。因此S2层输出的6个feature map大小为(24/2)(24/2).在卷积层C3中,它的输入是6个feature map,与C1不一样(C1只有一个feature map,如果是RGB的话,C1会有三个channel)。C3层有12个5*5卷积核,每个卷积核会与上一层的6个feature map分别做卷积(事实上,一般是选择几种输入feature map来做卷积,而不是全部的feature map),然后对这6个卷积结果求和组成一个新的feature map,即该层会有12个大小为(12-5+1)*(12-5+1)的feature map,这个feature map是经过sigmod 函数处理然后结果下一层S4。 

图片来源
同理,S4层有12个(与卷积层的feature map数一致)大小为(8/2)*(8/2)的feature map。输出层把S4层的feature mapflatten一个向量,向量长度为12*4*4=192,以该向量作为输入,与下面的其它层全连接,进行分类等操作,也就是说把一张图片变成一个向量,接入到别的网络,如传统的BP神经网络,不过从整体来看,CNN可以看做是一个BP神经网络。在 这里 有两张很生动的图来描述这个过程: 

权值共享理解

从代码的实现来看,每个卷积核会与部分或全部的输入(上一层输出)feature map进行卷积求和,但是每个卷积核的权重与一个feature map是一一对应,如上一章节中的C3-S4,说是有12个卷积核,然后就有12个输出feature map,但是每个卷积核与输入的6个feature map的权重都是不一样,即kernel不一样,也就是说每个卷积核的权重与一个feature map是一一对应。至于权值共享的话,对于同一个输入的feature map的神经元patch,用的是同一个卷积核权重,这个是共享的,只在同feature map共享,不在跨feature map共享,只是个人理解,有可能有错,if wrong please correct me.

CNN 卷积神经网络结构转载相关推荐

  1. 深度学习 | MATLAB实现CNN卷积神经网络结构及参数概述

    深度学习 | MATLAB实现CNN卷积神经网络结构及参数概述 目录 深度学习 | MATLAB实现CNN卷积神经网络结构及参数概述 基本介绍 模型描述 训练过程 计算函数 参考资料 基本介绍 卷积神 ...

  2. CNN 卷积神经网络结构

    CNN cnn每一层会输出多个feature map, 每个Feature Map通过一种卷积滤波器提取输入的一种特征,每个feature map由多个神经元组成,假如某个feature map的sh ...

  3. CNN卷积神经网络结构及参数配置

    来源:机器学习算法与自然语言处理 作者:白雪峰 转载于:https://blog.csdn.net/np4rHI455vg29y2/article/details/78958121 1.CNN例子 Y ...

  4. CNN卷积神经网络结构遐思

    残缺的神经网络 卷积神经网络,是神经网络的子集,是残缺的神经网络. [a00a01a02a10a11a12a20a21a22]⊙[b00b01b10b11]=[c00c01c10c11]\left[\ ...

  5. CNN卷积神经网络结构

    卷积神经网络通常是由四部分组成:输入层.卷积层.下采样层.全连接层和输出层.典型的卷积神经网络中,开始的几层一般是卷积层和下采样层交替出现,靠近输出层的最后几层通常是全连接层,其结构如图2-4所示.一 ...

  6. 卷积神经网络结构图分析,卷积神经网络结构图片

    如何用visio画卷积神经网络图.图形类似下图所示 . 大概试了一下用visio绘制这个图,除了最左面的变形图片外其余基本可以实现(那个图可以考虑用其它图像处理软件比如Photoshop生成后插入vi ...

  7. 机器学习——深度学习之卷积神经网络(CNN)——AlexNet卷积神经网络结构

    目录 一.AlexNet卷积神经网络结构模型 1.数据库ImageNet 2.AlexNet第一层卷积层 二.AlexNet卷积神经网络的改进 1.非线性变化函数的改变--ReLU 2.最大池化(Ma ...

  8. 机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构

    目录 一.卷积神经网络 1.卷积神经的作用 2.LeNet 1)数据库准备--minst 2)模型· 二.关于卷积神经网络结构的一些术语定义 1.特征图(Feature map) 2.height(长 ...

  9. 深度学习--TensorFlow(8)CNN卷积神经网络理论(计算机视觉)

    目录 计算机视觉介绍 1.计算机视觉应用 2.计算机视觉技术 图像分类 目标检测 目标跟踪 语义分割 实例分割 BP神经网络的缺点 一.卷积神经网络简介 1.卷积 2.全连接与局部感受野 3.权值共享 ...

  10. 【卷积神经网络结构专题】一文详解LeNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 近期,公众号将推出卷积神经网络结构系列专题文章,将深入浅出的为大家介绍从1998年 ...

最新文章

  1. notifyDataSetInvalidated()跟notifyDataSetChanged()的区别
  2. spark基础之spark streaming的checkpoint机制
  3. 基本sql语句--触发器
  4. 浣溪沙·江畔芦花【两首】
  5. Cisco6500的NAT配置方法
  6. 堆排序python代码实现_八大排序算法的python实现(五)堆排序
  7. (转)密码学研究与区块链实践应该打破隔空喊话
  8. 基于matlab的锁相环频率合成器,基于simulink的电荷泵锁相环频率合成器建模与仿真.pdf...
  9. ezcad旋转轴标刻参数_激光打标机软件ezcad中菜单下的旋转轴标刻功能介绍及其操作设置...
  10. c语言程序设计第一次在线作业答案,20春地大《C语言程序设计(新)》在线作业一...
  11. C#-Winform知识点
  12. 怎样消掉计算机桌面阴影,怎么去掉桌面阴影 电脑桌面图标出现蓝色阴影怎么办...
  13. 人在囧途之tar命令
  14. 编写MTK6737平台的GPIO驱动例程(三)
  15. 计算机的宽带用户名没有了怎么办,电脑没办法建立宽带连接怎么办
  16. 华为荣耀开机停留在android,华为荣耀8变砖无法开机怎么办 华为荣耀8变砖无法开机解决方法...
  17. 【Python 测验 01编程】数值运算
  18. 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
  19. 函数调用,形式参数和实际参数
  20. 用git将项目文件上传至github

热门文章

  1. Atitit it理论不可能三角“:“安全-方便-廉价 目录 1. 不可能三角 1 2. 三元悖论 1 2.1. 培恩洛兹三角形 2 2.2. 彭罗斯三角(Penrose triangle) 2 2.
  2. Atitit jOrgChart的使用  组织架构图css html
  3. Atitit. 有限状态机 fsm 状态模式
  4. Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008
  5. paip.python 调用qt ui 总结
  6. PAIP.MYSQL数据库比较VC313.TXT
  7. qq安全使用指南.txt
  8. 深交所再推跨市场ETF交易模式创新,助力ETF发展
  9. 区块链在切实改变世界的35个让人惊艳的实例数据库
  10. 计算机学院金海教授当选2019IEEE会士