https://blog.csdn.net/saw009/article/details/80590245

关于LeNet-5卷积神经网络

S2层与C3层连接的参数计算的思考???

首先图1是LeNet-5的整体网络结构图

图1 LeNet-5结构

该神经网络共有7层(不计输入层),输入图像大小为32×32。

层编号特点:英文字母+数字

英文字母代表以下一种:

C→卷积层、S→下采样层(池化)、F→全连接层

数字代表当前是第几层,而非第几卷积层(池化层.ec)

术语解释:参数→权重w与偏置b

连接数→连线数

参数计算:每个卷积核对应于一个偏置b,卷积核的大小对应于权重w的个数(特别注意通道数)

C1层:使用6个5×5大小的卷积核,padding=0,stride=1进行卷积,得到6个28×28大小的特征图(32-5+2*0)/1+1=28

参数个数:(5*5+1)*6=156,其中5*5为卷积核的25个参数,1为偏置

连接数: 156*28*28=122304,其中156为卷积过程连线数,28*28为输出特征层每一个像素都由前面卷积得到

S2层:使用2×2大小的卷积核进行池化,padding=0,stride=2,得到6个14×14大小的特征图(28-2+2*0)/2+1=14

参数个数:(1+1)*6=12,其中第一个1为最大池化所对应的2*2感受野中最大的那个数的权重,第二个1为偏置

连接数: (2*2+1)*14*14*6= 5880,虽然只选取2*2感受野中最大的那个数,但也存在2*2的连接数,即最大的权重为1,其余的为0

C3层:该层使用16个5*5大小的卷积核,padding=0,stride=1,卷积后得到16个10*10的特征图,(14-5+2*0)/1+1=10

该层第一个难点:6个输入图如何通过卷积得到16个特征图?

如图2所示,C3的前六个特征图(0,1,2,3,4,5)由S2的相邻三个特征图作为输入,接下来的6个特征图(6,7,8,9,10,11)由S2的相邻四个特征图作为输入,12,13,14号特征图由S2间断的四个特征图作为输入,15号特征图由S2全部(6个)特征图作为输入。

图2

该层第二个难点(这里我觉得最难理解,断断续续理解了几乎小半年):通过S2的输入,如何卷积得到C3的一个特征图呢?

我用C3层0号特征图举例,它由S2层0,1,2号特征图作为输入,由于C3层共有16个卷积核,即C3每一个特征图是由一个卷积核对S2层相应的输入特征图卷积得到的,如图3所示。

图3

这里值得注意的是,上图的卷积核是一个5×5大小具有3个通道,每个通道各不相同,这也是下面计算时5*5后面还要乘以3,4,6的原因。具体可参考多通道卷积。

参数个数:(5*5*3+1)*6+(5*5*3+1)*6+(5*5*4+1)*3+(5*5*6+1)=1516

连接数:1516*10*10=151600

S4层:依然是池化层,使用16个2×2大小的卷积核进行池化,padding=0,stride=2,得到16个5×5大小的特征图(10-2+2*0)/2+1=5

参数个数:(1+1)*16=32

连接数:  (2*2+1)*16*5*5=2000

C5层:使用120个5*5卷积核对S4层16个特征图进行卷积,padding=0,stride=1,得到120个1*1大小的特征图,(5-5+2*0)/1+1=1

这里的计算跟C3相同,也是多通道卷积,因此5*5后面乘以16.

参数个数:(5*5*16+1)*120=48120

连接数:  (5*5*16+1)*120*1*1=48120

F6层:共有84个神经元,与C5层进行全连接,即每个神经元都与C5层的120个特征图相连。

参数个数:(120+1)*84=10164

连接数:  (120+1)*84=10164

Output层:输出层由欧式径向基函数(Euclidean Radial Basis Function)单元组成,每个单元由F6层84个神经元作为输入,输出0-9十个手写数字识别的结果

参数个数:84*10=840

连接数:  84*10=840

总结:本人初学深度学习,尚有太多不懂的地方,上述若有错误的地方,望请各位批评指正。在学习lenet-5的过程中,发现了一个可视化的网站:http://scs.ryerson.ca/~aharley/vis/conv/flat.html

http://scs.ryerson.ca/~aharley/vis/conv/

如果打不开,请多换几个浏览器

多通道卷积:可以看出卷积核W0,W1各自的三个通道各不相同

最后,引用了几个参考文章的链接:

http://blog.csdn.net/zhangjunhit/article/details/53536915

https://www.jianshu.com/p/ce609f9b5910

http://blog.csdn.net/qiaofangjie/article/details/16826849

https://www.zybuluo.com/hanbingtao/note/485480
---------------------
作者:saw009
来源:CSDN
原文:https://blog.csdn.net/saw009/article/details/80590245
版权声明:本文为博主原创文章,转载请附上博文链接!

关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???的更多相关文章

  1. LeNet - Python中的卷积神经网络

    本教程将  主要面向代码,  旨在帮助您 深入学习和卷积神经网络.由于这个意图,我  不会花很多时间讨论激活功能,池层或密集/完全连接的层 - 将来会有  很多教程在PyImageSearch博客上将 ...

  2. 卷积神经网络Lenet-5实现

    卷积神经网络Lenet-5实现 原文地址:http://blog.csdn.net/hjimce/article/details/47323463 作者:hjimce 卷积神经网络算法是n年前就有的算 ...

  3. 卷积神经网络CNN全面解析

    卷积神经网络(CNN)概述 从多层感知器(MLP)说起 感知器 多层感知器 输入层-隐层 隐层-输出层 Back Propagation 存在的问题 从MLP到CNN CNN的前世今生 CNN的预测过 ...

  4. TensorFlow实战之实现AlexNet经典卷积神经网络

    本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.AlexNet模型及其基本原理阐述 1.关于AlexNet ...

  5. 深度学习之 TensorFlow(四):卷积神经网络

    基础概念: 卷积神经网络(CNN):属于人工神经网络的一种,它的权值共享的网络结构显著降低了模型的复杂度,减少了权值的数量.卷积神经网络不像传统的识别算法一样,需要对数据进行特征提取和数据重建,可以直 ...

  6. 卷积神经网络(CNN)代码实现(MNIST)解析

    在http://blog.csdn.net/fengbingchun/article/details/50814710中给出了CNN的简单实现,这里对每一步的实现作个说明: 共7层:依次为输入层.C1 ...

  7. tensorflow学习笔记——图像识别与卷积神经网络

    无论是之前学习的MNIST数据集还是Cifar数据集,相比真实环境下的图像识别问题,有两个最大的问题,一是现实生活中的图片分辨率要远高于32*32,而且图像的分辨率也不会是固定的.二是现实生活中的物体 ...

  8. 【神经网络与深度学习】卷积神经网络(CNN)

    [神经网络与深度学习]卷积神经网络(CNN) 标签:[神经网络与深度学习] 实际上前面已经发布过一次,但是这次重新复习了一下,决定再发博一次. 说明:以后的总结,还应该以我的认识进行总结,这样比较符合 ...

  9. 卷积神经网络基础(CNN)【转载】

    作者: Sanjay Chan [ http://blog.csdn.net/chenzomi ] 背景 之前在网上搜索了好多好多关于CNN的文章,由于网络上的文章很多断章取义或者描述不清晰,看了很多 ...

随机推荐

  1. VS2013 编译&使用 stlport

    1. 下载stlport.   下载地址:http://sourceforge.net/projects/stlport/ 2. 解压到一个目录下面, 我的是解压到D:\project_kuku\pr ...

  2. iOS 将Excel导入到SQLite3的过程

    1.打开Excel表格,另存为.csv文件 2.打开SQLite3,选择File -> Import -> other... 3.在弹出的文件选择框中选择步骤1保存的.cvs文件 4在弹出 ...

  3. 【代码审计】EasySNS_V1.6 前台任意文件下载漏洞分析

      0x00 环境准备 EasySNS官网:http://www.imzaker.com/ 网站源码版本:EasySNS极简社区V1.60 程序源码下载:http://es.imzaker.com/i ...

  4. SaltStack salt 命令

    salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt ...

  5. VMware按装ISO

    破解码 vmware12 5A02H-AU243-TZJ49-GTC7K-3C61N vmware14CG54H-D8D0H-H8DHY-C6X7X-N2KG6 创建虚拟机 也可以选第三个直接选择Ce ...

  6. codeforces水题100道 第五题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas (math)

    题目链接:http://www.codeforces.com/problemset/problem/546/A题意:一个人现在有n元,它买第i根香蕉需要i*k元,问他要买w根香蕉的话,需要问他的朋友借 ...

  7. PHP 简易导出excel 类解决Excel 打开乱码

    <?php class exportCsv{ //列名 protected $_column = array(); protected $_reg = array(); public $ret ...

  8. zip&unzip范例

    范例: zip命令可以用来将文件压缩成为常用的zip格式.unzip命令则用来解压缩zip文件. 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip: # zip -r y ...

  9. Android开发训练之第五章第四节——Syncing to the Cloud

    Syncing to the Cloud GET STARTED DEPENDENCIES AND PREREQUISITES Android 2.2 (API level 8) and higher ...

  10. Material Design系列第四篇——Defining Shadows and Clipping Views

    Defining Shadows and Clipping Views This lesson teaches you to Assign Elevation to Your Views Custom ...