LeNet-5 Pytorch复现
本文将简要介绍LeNet-5的网络结构并使用pytorch进行网络结构的复现
LeNet是1998年用来识别手写数字图像的卷积神经网络,它展示了通过梯度下降训练卷积神经网络可以达到手写数字识别在当时最先进的结果。这个奠基性的工作第一次将卷积神经网络推上舞台,为世人所知。
Lenet-5结构如下:
各层信息:
1.第一层C1是一个卷积层
输入图片: 3232
卷积核大小: 55
卷积核种类: 6
输出feature map大小:2828(32-5+1)
神经元数量:28286
可训练参数数量:(55+1)6,(每个卷积核25个权重值w,一个截距值bias;总共6个卷积核)
连接数量:(55+1)628*28
2.第二层S2是一个下采样层(池化层):
输入:2828
采样区域:22
采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置,结果通过sigmoid。(论文原文是这样描述,但是实际中,我看到一般都是用最大池化)
种类数量:6
输出的feature map大小时:1414(28/2)
神经元数量:14146
连接数:(22+1)614*14
3.第三层C3也是一个卷积层
输入:S2中所有6个或者几个特征的map组合,这个组合并无太大实际意义,受限于当时的硬件水平,才这样组合
卷积核大小:55
卷积核种类:16
输出feature map大小:1010
将S2中所有特征图为输入。此时可训练参数:6*(325+1)+6(425+1)+3(425+1)+(25