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 ...
随机推荐
- 论文翻译:2019_Deep Neural Network Based Regression Approach for A coustic Echo Cancellation
论文地址:https://dl.acm.org/doi/abs/10.1145/3330393.3330399 基于深度神经网络的回声消除回归方法 摘要 声学回声消除器(AEC)的目的是消除近端传声器 ...
- C++中常用的数学函数总结
我们在C++程序设计的过程中往往会使用到一些数学函数,那么不同的数学运算要用到什么函数哪?大家可以参考我的总结如下: 首先引用到数学函数时一定要记得加函数头文件 #include<cmath&g ...
- VUE3 之 循环渲染
1. 概述 老话说的好:单打独斗是不行的,要懂得合作. 言归正传,今天我们来聊聊 VUE3 的 循环渲染. 2. 循环渲染 2.1 循环渲染数组 <body> <div id=&qu ...
- Java高效开发-SSH+Wireshark+tcpdump组合拳
目标 实现抓取远程服务器的数据包在wireshark中展示,不需要频繁使用tcpdump抓包后保存为cap数据包,在进行从服务器下载进行解析: 工具 1.ssh win10默认没有开启ssh服务端的, ...
- Hadoop集群安装(真分布式)
Hadoop真分布式完全集群安装,基于版本2.7.2安装, 在两台Linux机器上面分别安装Hadoop的master和slave节点. 1.安装说明 不管NameNode还是DataNode节点,安 ...
- Java:对一个对象序列化和反序列化的简单实现
名词解释 序列化:将Java对象转化成字节的过程 反序列化:将字节转化成Java对象的过程 字节:1字节(byte)= 8bit,bit就是计算机认识的二进制 序列化的作用 Java对象是在Java虚 ...
- Spring @Valid 和 @Validated 的区别和使用
两者区别 @Valid @Validated 标准 标准JSR-303规范 增强JSR-303规范 包 javax.validation org.springframework.validation ...
- shell2-if判断2
1.条件判断if 判断条件:then //单分支语句 命令1 命令2fi 例子: #!/bin/bash ls if [ $? -eq 0 ]; then echo "执行成功了" ...
- win10 安装vb -打开后一直显示无响应-解决
1.成功安装vb ,美滋滋的运行 ,但是一直卡在无响应状态, 2.解决 使用管理员权限打开即可,也可以更改兼容为win7/8, 神奇的是,我这电脑自用过一次管理员权限打开,后面再使用vb可以不用管理员 ...
- 经典变长指令-ModRM
一.如何计算ModRM 0X88 MOV Eb,Gb G:通用寄存器 0X89 MOV Ev,Gv E:寄存器/内存 0X8A MOV Gb,Eb b:字节 0X8B MOV Gv,Ev v:Word ...