LeNet模型解读

来源:互联网 发布:linux的版本 编辑:程序博客网 时间:2024/05/22 01:53

一.LeNet模型解读

 

 

1. 第一层:输入层是32 * 32大小的图像(Caffe中的Mnist数据库为28 * 28),这样做的目的是希望潜在的明显特征,如笔画断续、角点能够出现在最高层特征监视子感受野的中心。

2. C1层是一个卷积层,6个特征图谱(feature map),5*5大小的卷积核,每个feature map有(32-5+1) * (32-5+1),即28 * 28个神经元,每个神经元都与输入层的5 * 5大小的区域相连。故C1层共有(5 * 5 + 1) * 6 = 156个训练参数。5 * 5个连接参数+1个偏置参数,两层之间的连接数为156 * (28 * 28) = 122304个。通过卷积运算,使原信号特征增强,并且降低噪音,而且不同的卷积核能够提取到图像的不同特征。

3. S2层是一个下采样层,有6个14 * 14的特征图,每个feature map中的每个神经元都与C1层对应的feature map中的2 * 2的区域相连。S2层中的每个神经元是由这4个输入相加,乘以一个训练参数,再加上这个feature map的偏置参数,结果通过sigmoid函数计算而得。S2的每一个feature map有14 * 14个神经元,参数个数为2 * 6 = 12个,连接数为(4+1) * (14 * 14) * 6 = 5880个连接。池化层的目的是为了降低网络训练参数及模型的过拟合程度。池化方式有最大池化和平均池化两种。

4. C3层也是一个卷积层,运用5 * 5的卷积层,处理S2层。计算C3的feature map的神经元个数为(14-5+1) * (14-5+1),即10 * 10。C3有16个feature map,每个feature map由上一层的各feature map之间的不同组合。组合方式如下

计算出C3层的训练参数个数为(5 * 5 * 3+1) * 6 +(5 * 5 * 4+1) * 9 + (5 * 5 * 6+1) * 1 = 1516,因此有151600个连接。

5.S4层是一个下采样层,由16个5 * 5大小的feature map构成,每个神经元与C3中对应的feature map的2 * 2大小的区域相连。同理,计算出2 * 16 = 32 个参数和2000个连接。

6.C5层又是一个卷积层,同样使用5 * 5的卷积核,每个feature map有(5-5+1) * (5-5+1),即1 * 1的神经元,每个单元都与S4层的全部16个feature map的5 * 5区域相连。C5层共有120个feature map,其参数与连接数都为48120个。

7.F6层全连接层共有84个feature map,每个feature map只有一个神经元与C5层全连接,故有(1 * 1 * 120 + 1) * 84 = 10164个参数和连接。F6层计算输入向量和权重向量之间的点积和偏置,之后讲其传递给sigmoid函数来计算神经元。

8.输出层也是全连接层,共有10个节点,分别代表数字0到9,且如果节点i的值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式,其输出的计算方式是:

RBF的值由i的比特图编码确定。越接近于0,则越接近于i的比特图编码,表示当前网络输入的识别结果为i。该层有84 * 10 = 840个设定的参数和连接。

原创粉丝点击