深度学习之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 =