卷积神经网络CNN架构分析-LeNet

电子常识

2585人已加入

描述

背景

之前在网上搜索了好多好多关于CNN的文章,由于网络上的文章很多断章取义或者描述不清晰,看了很多youtobe上面的教学视频还是没有弄懂,最后经过痛苦漫长的煎熬之后对于神经网络和卷积有了粗浅的了解。

于是在这里记录下所学到的知识,关于CNN 卷积神经网络,需要总结深入的知识有很多:

人工神经网络 ANN

卷积神经网络 CNN

卷积神经网络 CNN - BP算法

卷积神经网络 CNN - caffe应用

卷积神经网络 CNN - LetNet分析

LetNet网络

下图是一个经典的CNN结构,称为LeNet-5网络

卷积神经网络

 

输入层
输入为一个32*32大小的黑白图像

C1 卷积层
6个特征图,每个特征图中的每个神经元与输入的5*5卷积核权值相连,特征图大小为28*28.
每个卷积神经元的参数数目,5*5=25个权值参数和1个偏置参数
连接数:(5∗5+1)∗6∗(28∗28)=122304 条连接
参数共享:每个特征图内共享一个卷积,因此参数总数为:(5∗5+1)∗6=156 个参数

S2 下采样层
6个 14∗14 的特征图,每个图中的每个像素与C1特征图中的一个 2∗2 领域相连接,不重叠。因此,S2中每一个特征图的大小是C1中特征图大小的1/4,也就是长和宽各减半。
S2 层每个单元4个输入想家,乘以一个可训练的参数w,加上一个可训练的偏置b,结果通过sigmoid激活函数计算。
连接数:(2∗2+1)∗6∗(14∗14)=5880 个连接
参数共享:特征图内共享参数,每张特征图中的每个神经元需要1个因子和一个偏置,因此有 2∗6=12 个可训练参数。

C3 卷积层
16个卷积核,得到16张特征图,特征图大小为10*10
每个特征图中的每个神经元与S2中某基层的多个5*5的领域相连接;

S4 下采样层
16个 5∗5 的特征图,每个图中的每个像素与C3特征图中的一个 2∗2 领域相连接,不重叠。因此,S4中每一个特征图的大小是C3中特征图大小的1/4,也就是长和宽各减半。
连接数(2*2+1)*(5*5)*16=2000$ 个连接
参数共享:特征图内共享参数,每张特征图中的每个神经元需要1个因子和一个偏置,因此有 2∗16=32 个可训练参数。

卷积神经网络

 

C5 卷积层
通过flatting把S4中的每个像素拉长,变成120个神经元,同样可以看做是120个特征图,每张特征图的大小为1*1
由于C5层是一个全连接层,因此C5中每个神经元与S4层的全部16个单元的5*5领域相连接。
连接数:(5*5*16+1)*120=48120 个,S4层特征图大小为5*5,16个特征图加一个偏置,全连接120个神经元。

F6 全连接层
有84个单元与C5层全连接
F6层计算输入向量和权重向量之间的点积,再加上一个偏置。
连接数:(120+1)*84=10164

输出层
输出层采用欧氏径向基函数(Euclidean Radial Basis Function)单元

给定一个输入模式,损失函数能使F6的配置与RBF参数向量足够接近

每一个分类一个单元,每个单元连接84个输入,每个输出RBF单元计算输入向量和参数向量之间的欧氏距离。

RBF输出可以被理解为F6层配置空间的高斯分布

最后输出的是10个分类数字,0,1,2,....,9 10个分类的得分。

小结

实际计算中,连接数和参数共享数不会向上面所述的一模一样(至少在训练的开始是一样的),后面通过BP算法计算的时候会越来越少,因为BP算法通过多层局部神经网络不断反馈计算,部分权重参数会趋向于0,对于趋向于0的参数实际上并没有任何物理意义,因此可以删掉该部分的连接,使整个卷积神经网络结构更加“瘦”。如下图所示:

卷积神经网络

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分