在上篇中,对卷积神经网络的卷积层以及池化层模块进行了简单的介绍,接下来将对卷积神经网络的整个运作流程进行分析,以便对CNN有个总体上的认知和掌握。

如下图,卷积神经网络要完成对图片数字的识别任务。网络的输入是数字为7的RGB图片,大小为32×32×3,其中32×32为图片的像素大小,3表示图片的红、绿、蓝三个通道。图中示例的卷积神经网络共有7层(不包括输入层):第一层卷积层Conv 1,第二层池化层Pool 2,第三层卷积层Conv 3,第四层池化层Pool 4,第五层全连接层FC 5,第六层全连接层FC 6,第7层全连接层也是网络的输出层FC 7。

需要说明的是,图示网络模型只是卷积神经网络的一种结构,并不是唯一结构,卷积层、池化层、全连接层的数量可根据实际情况设置。

(1)Conv 1

  一个5×5×3的卷积核和表示图片的32×32×3的数据矩阵卷积得到一个28×28×1的feature map,如下图所示。

  一个卷积核卷积得到一个feature map,当有6个卷积核时,卷积得到的特征图大小变为28×28×6。

  参数量:一个卷积核权值参数个数5×5×3=75,偏置参数1个,75+1=76个。一共有6个卷积核,故该层待训练总参数个数:(5×5×3+1)×6=456。

  在该层中,表示图片所有像素点颜色深浅的32×32×3的三维数据矩阵经过和6个5×5×3的卷积核进行卷积后得到28×28×6的特征图,再经过非线性函数激活即得到Conv 1层的输出。输出特征图的通道数和卷积核的数量一样。

(2)Pool 2

  汇聚窗口大小为2×2,步幅为2,经过最大池化后,得到14×14×6的特征图。输入特征图大小为28×28×6,通道数是6,池化层不会改变特征图的通道数,即输出特征图的通道数和输入特征图的通道数一样。池化层没有待训练参数。池化层未使用非线性激活函数。

(3)Conv 3

  卷积核大小5×5×6,数量是16,步幅s=1,输出特征图大小为(14-5+1)×(14-5+1)×16=10×10×16。输入特征图经过卷积操作还得经过非线性函数的激活后才能得到Conv 3层的输出。

  参数量:(5×5×6+1)×16=2416。

(4)Pool 4

  汇聚窗口大小为2×2,步幅为2,经过最大池化后,得到5×5×16的特征图。要注意的是,当前层的输出不是一维向量,是无法直接连接下一层的全连接层的。因此,经过池化得到的输出特征图还要经过flatten操作变为400×1的向量后,才能作为全连接层的输入。

(5)FC 5

     该层有120个神经元。

  参数量:400×120+120=48120。

(6)FC 6

  该层有84个神经元。

  参数量:120×84+84=10164。

(7)FC 7(Output)

  网络的输出层,有10个神经元,使用SoftMax激活函数,神经元节点输出值对应10个数字的概率大小。

  参数量:84×10+10=850。

当网络得到10个数字的概率以后,取概率最大的那个数字即为本次神经网络的图片数字识别结果啦~

最新文章

  1. Python攻关之Django(一)
  2. zookeeper事务
  3. size_t 类型
  4. Open Auth辅助库(使用ImitateLogin实现登录)
  5. paper 57 :颜色直方图的代码
  6. C#引用类型详细剖析(转)
  7. 汇编学习笔记(3)[bx]和loop
  8. accp8.0转换教材第4章MySQL高级查询(二)理解与练习
  9. 【PHP】 PHPqrCode二维码类库使用方法
  10. 笔记:Struts 2.3.31 配置说明
  11. L1 loss 与 MSE
  12. python学习6---排序问题
  13. fastjson 使用教程
  14. 小程序学习笔记五:API
  15. 随机漂浮图片、右侧上下浮动快捷栏JS
  16. 观察者模式(Observer Pattern)
  17. C语言中一个字符数组里面的所有元素变成一个字符串
  18. 用实例说明Spark stage划分原理
  19. 用户管理_组管理_权限管理.ziw
  20. Automate Screen or Button Taps via Tasker : Simulating keypress events

热门文章

  1. Python Revisited Day10 (进程与线程)
  2. element 表格行内进行编辑
  3. MySQL数据操作与查询笔记 • 【目录】
  4. 【已开源】Flutter 穿山甲广告插件的集成-FlutterAds
  5. nodejs创建一个简单的web服务
  6. 深入 Laravel 内核之IOC容器
  7. .NET C#教程初级篇 1-1 基本数据类型及其存储方式
  8. linux(CentOS7) 之 MySQL 5.7.30 下载及安装
  9. Flask_响应(四)
  10. SYCOJ#111、吉祥物