CNN-卷积神经网络简单入门(2)
在上篇中,对卷积神经网络的卷积层以及池化层模块进行了简单的介绍,接下来将对卷积神经网络的整个运作流程进行分析,以便对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)的更多相关文章
- Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...
- [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR
Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
https://www.zhihu.com/question/34681168 CNN(卷积神经网络).RNN(循环神经网络).DNN(深度神经网络)的内部网络结构有什么区别?修改 CNN(卷积神经网 ...
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM
http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...
- cnn(卷积神经网络)比较系统的讲解
本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之 ...
- Keras(四)CNN 卷积神经网络 RNN 循环神经网络 原理及实例
CNN 卷积神经网络 卷积 池化 https://www.cnblogs.com/peng8098/p/nlp_16.html 中有介绍 以数据集MNIST构建一个卷积神经网路 from keras. ...
- TensorFlow——CNN卷积神经网络处理Mnist数据集
CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...
- 3层-CNN卷积神经网络预测MNIST数字
3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字.这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成. MNIST 由 ...
- 人工智能——CNN卷积神经网络项目之猫狗分类
首先先导入所需要的库 import sys from matplotlib import pyplot from tensorflow.keras.utils import to_categorica ...
随机推荐
- 1109 01组成的N的倍数
1109 01组成的N的倍数 基准时间限制:1 秒 空间限制:131072 KB 给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1.求最小的M. ...
- hdu-1421搬寝室(dp)
http://acm.hdu.edu.cn/showproblem.php?pid=1421; 思路:先将所给的椅子的价值按升序排列,举个例子,四张椅子的价值分别为a,b,c,d(a<b< ...
- P1599 货币
背景 又是一道水题 描述 在某个神秘的星球上有一种货币,它有一种奇怪的兑换规则 你有且仅有一枚面值为n的金币,你可以去银行进行兑换,也可以不兑换 如果去银行兑换,兑换的规则是这样的:用面值为a的金币去 ...
- Java初学者作业——编写Java程序,输入一个学生的5门课程的成绩,求其平均分。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个学生的5门课程的成绩,求其平均分.计算平均成绩,需要将每一门课程的成绩逐步累加到总成绩中,使用 for 循环实现,然后求出平均分. 实现 ...
- 【MySQL作业】DDL 和 DML——美和易思使用 DDL 定义数据库表结构应用习题
点击打开所使用到的数据库>>> 1.使用 DDL 创建 easyShopping2 数据库. create database easyShopping2 2.使用 DDL 更改 ea ...
- 更便捷的Mybatis增强插件——EasyMybatis
easy-mybatis是一个对Mybatis的增强框架(插件).在Spring集成Mybatis的基础上,将项目开发中对数据库的常用操作统一化.使用本框架可以很便捷的对数据库进行操作,提高开发效率, ...
- [Atcoder Regular Contest 071 F & JZOJ5450]Neutral
题目大意 一个无限长的序列\(a\), 需要满足 1.数列中的每一个数在\(1\)到\(n\)之间. 2.对于\(i>=n, j>=n\), \(a_i=a_j\). 3.对于\(i< ...
- css 基础 字体和文本样式
字体样式处理font-size:30px:// 设置字体大小 font-weight:700://设置粗体 font-sytle:italic; //设置文字斜体 font-family: 斜体,宋体 ...
- 通过 v-once 创建低开销的静态组件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <script s ...
- 将ymal文件内容转换成字典格式
yaml文件内容如图: 转换代码如下: import yaml def init_yaml(): with open(r"..\config.yaml", 'r', encodin ...