您的位置:首页 > 其它

深度学习之LeNet模型

2017-01-22 08:25 169 查看

深度学习之LeNet模型

一、简介

LeNet是一个用来识别手写数字的最经典的卷积神经网络,是Yann LeCun在1998年设计并提出的。Lenet的网络结构规模较小,但包含了卷积层、池化层、全连接层,他们都构成了现代CNN的基本组件。



LeNet包含输入层在内共有八层,每一层都包含多个权重。C层代表卷积层,通过卷积操作,可以使原信号特征增强,并降低噪音。S层是一个池化层,利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量,同时也保留了一定的有用信息。

二、模型解读

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

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个。通过卷积运算,使原信号特征增强,并且降低噪音,而且不同的卷积核能够提取到图像的不同特征。

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个连接。池化层的目的是为了降低网络训练参数及模型的过拟合程度。池化方式有最大池化和平均池化两种。

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个设定的参数和连接。

参考:

1.《深度学习—Caffe之经典模型详解与实战》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐