在上篇中,对卷积神经网络的卷积层以及池化层模块进行了简单的介绍,接下来将对卷积神经网络的整个运作流程进行分析,以便对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个数字的概率以后,取概率最大的那个数字即为本次神经网络的图片数字识别结果啦~

CNN-卷积神经网络简单入门(2)的更多相关文章

  1. Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN

    http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...

  2. [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR

    Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...

  3. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  4. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

    https://www.zhihu.com/question/34681168 CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别?修改 CNN(卷积神经网 ...

  5. CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM

    http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...

  6. cnn(卷积神经网络)比较系统的讲解

    本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之 ...

  7. Keras(四)CNN 卷积神经网络 RNN 循环神经网络 原理及实例

    CNN 卷积神经网络 卷积 池化 https://www.cnblogs.com/peng8098/p/nlp_16.html 中有介绍 以数据集MNIST构建一个卷积神经网路 from keras. ...

  8. TensorFlow——CNN卷积神经网络处理Mnist数据集

    CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...

  9. 3层-CNN卷积神经网络预测MNIST数字

    3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字.这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成. MNIST 由 ...

  10. 人工智能——CNN卷积神经网络项目之猫狗分类

    首先先导入所需要的库 import sys from matplotlib import pyplot from tensorflow.keras.utils import to_categorica ...

随机推荐

  1. uniapp h5中解决跨域问题

    "h5": { "title": "互联云玺", "template": "", "rou ...

  2. 使用.NET 6开发TodoList应用(13)——实现查询分页

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 查询中有个非常常见的需求就是后端分页,实现的方式也不算复杂,所以我们本文仅仅演示一个后端查询分页的例子. 目标 实现分页查询返 ...

  3. HTML网页设计基础笔记 • 【第8章 页面布局与规划】

    全部章节   >>>> 本章目录 8.1 表格布局 8.1.1 表格布局 8.2 流式布局 8.2.1 瀑布流布局 8.2.2 masonry 实现瀑布流布局 8.3 div ...

  4. docker启动emqx官方镜像,顺便启动exporter

    注意,我是把把官方镜像放到了自己的仓库 1.emqx官方镜像启动 docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 ...

  5. python 数据库查询,将查询的列名也保存下来,返回字典类型的数据

    前言: python + pymysql:通过pymysql,查询到符合要求的数据,不做类型转化的,返回的时元组类型的数据,可以根据下标,取想要的值. self.cursor.execute(sql) ...

  6. yii2安装配置完成后,网页打开报错yii\web\Request::cookieValidationKey must be configured with a secret key

    下载了Yii2.0的basic版,配置好nginx之后,浏览器访问,出现如下错误: Invalid Configuration – yii\base\InvalidConfigException yi ...

  7. react中state与setstate的使用

    我们可以利用state来定义一些变量的初始值 //放在construcor里 this.state = { list: [1, 2, 3] } 要更改state里的值,注意要遵循react里immut ...

  8. 你不得不了解的Python3.x新特性

    从 3.0 到 3.8,Python 3 已经更新了一波又一波,但似乎我们用起来和 2.7 没有太大区别?以前该怎么写 2.7 的代码现在就怎么写,只不过少数表达方式变了而已.在这篇文章中,作者介绍了 ...

  9. vue 因为使用scope后选择器和标签出现[data-v

    使用scope的以后出现datd-v,例如: <div data-v-2311c06a class="button-warp"> <button data-v-2 ...

  10. .Net 线程安全集合

    .Net 提供了基于生产-消费模式的集合类,这些集合对多线程访问安全,定义在System.Collections.Concurrent名称空间中.这个名称空间中包括基础接口IProduceConsum ...