LeNet的详细网络结构

来源:互联网 发布:windows开启snmp 编辑:程序博客网 时间:2024/06/05 14:07

针对MNIST的LeNet结构如下图所示:包含2个卷积层,2个max池化层,2个全连接接层和1个relu层与一个softmax层。


下面我来推导一下每层的神经元数目和参数的个数。

1、输入层:输入层输入一个28*28的图片。

2、卷积层1:该层使用20个5*5的卷积核分别对输入层图片进行卷积,所以包含20*5*5=500个参数权值参数。卷积后图片边长为(28-5+1)/1 = 24,故产生20个24*24个map,包含20*24*24 = 11520个神经元。

3、池化(pooling)层1:对上一层每个2*2区域进行降采样,选取每个区域最大值,这一层没有参数。降采样过后每个map的长和宽变为原来的一半。

4、卷积层2:该层使用20*50个5*5的卷积核分别对上一层的每一个map进行卷积,所以包含20*50*5*5=25000个参数权值参数。卷积后图片边长为(12-5+1)/1 = 8,故产生50个8*8个map,包含50*8*8 = 3200个神经元。

5、池化层2:和上一个池化层功能类似,将8*8的map降采样为4*4的map。该层无参数。

6、全连接层1:将上一层的所有神经元进行连接,该层含有500个神经元,故一共有50*4*4*500 = 400000个权值参数。

7、relu层:激活函数层,实现x=max[0,x],该层神经元数目和上一层相同,无权值参数。

8、全连接层2:功能和上一个全连接层类似,该层共有10个神经元,包含500*10=5000个参数。

9、softmax层:实现分类和归一化。