LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展
LeNet-5一共有8层:1个输入层+3个卷积层(C1、C3、C5)+2个下采样层(S2、S4)+1个全连接层(F6)+1个输出层,每层有多个feature map(自动提取的多组特征)。
输入层 采用keras自带的MNIST数据集,输入像素矩阵为28×28的单通道图像数据。
C1卷积层 由6个feature map组成,每个feature map由5×5卷积核生成(feature map中每个神经元与输入层的5×5区域像素相连),考虑每个卷积核的bias,该层需要学习的参数个数为:(5×5+1)×6=
156个,神经元连接数为:156×24×24=
89856个。
![abc7f97e8cdc6144dc806496cc1aaaa9.png](https://img-blog.csdnimg.cn/img_convert/abc7f97e8cdc6144dc806496cc1aaaa9.png)
S2下采样层
该层每个feature map一一对应上一层的feature map,由于每个单元的2×2感受野采用不重叠方式移动,所以会产生6个大小为12×12的下采样feature map,如果采用Max Pooling/Mean Pooling,则该层需要学习的参数个数为 0个(如果采用非等权下采样——即采样核有权重,则该层需要学习的参数个数为:(2×2+1)×6=30个),神经元连接数为:30×12×12= 4320个。C3卷积层
这层略微复杂,S2神经元与C3是多对多的关系,比如最简单方式:用S2的所有feature map与C3的所有feature map做全连接(也可以对S2抽样几个feature map出来与C3某个feature map连接),这种全连接方式下:6个S2的feature map使用6个独立的5×5卷积核得到C3中1个feature map(生成每个feature map时对应一个bias),C3中共有16个feature map,所以该层需要学习的参数个数为:(5×5×6+1)×16= 2416个,神经元连接数为:2416×8×8= 154624个。S4下采样层
同S2,如果采用Max Pooling/Mean Pooling,则该层需要学习的参数个数为 0个,神经元连接数为:(2×2+1)×16×4×4= 1280个。C5卷积层
类似C3,用S4的所有feature map与C5的所有feature map做全连接,这种全连接方式下:16个S4的feature map使用16个独立的1×1卷积核得到C5中1个feature map(生成每个feature map时对应一个bias),C5中共有120个feature map,所以该层需要学习的参数个数为:(1×1×16