LeNet-5 动图详细讲解网络结构
LeNet-5 是 Yann LeCun 等人在1998年设计的用于手写数字识别的卷积神经网络,当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一。本文将重点讲解LeNet-5的网络参数计算和实现细节。
1. LeNet-5全貌
LeNet-5是一个总共5层的卷积神经网络(一般输入层不计,两个卷积层 + 两个全连接层 + 输出层)。上图已经清晰的标明了各层神经网络的参数了,整理如下。
这里推荐下面两个网站,可以动图的展示LeNet-5的计算过程。
2D效果 http://scs.ryerson.ca/~aharley/vis/conv/flat.html
3D效果 http://scs.ryerson.ca/~aharley/vis/conv/
2. 超参数与计算量(FLOPs)
2.1 卷积层
如果对卷积过程还不是很清楚的朋友可以参考 卷积动图。
对于卷积层,它的超参数就是对应的 kernel 的值和偏置项,比如对于上面的 C1 卷积层,输入为 32 ∗ 32 ∗ 1 32*32*1 32∗32∗1,这里 1 是输入的 channel,计为 C i n C_{in} Cin,输出为 28 ∗ 28 ∗ 6 28*28*6 28∗28∗6,6 是输出的 channel。kernel 为 5 ∗ 5 ∗ C i n ∗ C o u t = 5 ∗ 5 ∗ 1 ∗ 6 5*5*C_{in}*C_{out} = 5*5*1*6 5∗5∗Cin