4.1 LeNet卷积神经网络
LeNet卷积神经网络出自文章Gradient-Based Learning Applied to Document Recognition。LeNet-5卷积神经网络的结构如图4-1所示。
图4-1 LeNet-5卷积神经网络的结构
下面,我们就详细地对这个网络进行分析:
1.C1:卷积层
· 输入图片大小:32×32像素。
· 输入图片通道数:1个。
· 卷积核大小:5×5。
· 卷积核个数:6个(每个卷积核中的参数都不相同)。
· 卷积的步长为1,卷积的步长为valid。
· 输出特征图的个数:6个(与卷积核的个数相等)。
· 输出特征图的大小:28×28。
· 本层需要训练的参数:156个(每个卷积核要训练的参数为5×5个,再加1个公共偏置参数,所以每个卷积核需要训练的参数为26个,一共有6个卷积核)。
2.S2:池化层
· 输入特征图:28×28像素。
· 输入特征图通道数:6个(与上一层输出的特征图的个数相等)。
· 池化的方法:平均池化。
· 每个池化区域大小:2×2。
· 输出特征图的个数:6个(与输入特征图的个数相等)。
· 输出特征图的大小:14×14。
· 本层需要训练的参数:无。
3.C3:卷积层
· 输入特征图大小:14×14。
· 输入特征图通道数:6个(与上一层输出的特征图的个数相等)。
· 卷积核大小:5×5。
· 卷积核个数:16个(每个卷积核中的参数都不相同)。
· 卷积的步长为1,卷积的步长为valid。
· 输出特征图的个数:16个(与卷积核的个数相等)。
· 输出特征图的大小:10×10。
· 本层需要训练的参数:1516个。
在这里,需要强调的是S2层产生的6个特征图与C3层的16个卷积核之间的连接关系如图4-2所示,它们只是部分连接(图中的X表示连接),并不是全连接,这种连接关系能将连接的数量控制在一个比较合理的范围内。
4.S4:池化层
· 输入特征图:10×10。
· 池化的方法:平均池化。
· 每个池化区域大小:2×2。
图4-2 S2层产生的6个特征图与C3层的16个卷积核之间的连接关系
· 输出特征图的个数:16个(与输入特征图的个数相等)。
· 输出特征图的大小:5×5。
· 本层需要训练的参数:无。
5.C5:卷积层
· 输入特征图大小:5×5。
· 输入特征图通道数:16个(与上一层输出的特征图的个数相等)。
· 卷积核大小:5×5。
· 卷积核个数:120个(每个卷积核中的参数都不相同,每个卷积核中有16个子卷积核,与输入特征图的通道数相等)。
· 输出特征图的个数:120个(与卷积核的个数相等)。
· 输出特征图的大小:1×1。
· 本层需要训练的参数:48120个。
本层需要训练的参数计算过程如下。
由于输入特征图通道有16个,故每个卷积核中有16个子卷积核,每个子卷积核的大小为5×5,所以每个卷积核需要确定的参数为5×5×16 +1,其中,1为卷积核的公共偏置参数;而卷积核的个数为120个,故本层需要训练的参数为(5×5×16+1)×120=48120。由于C5层卷积核的大小与输入的特征图大小相同,故本层也可以看作是全连接层。
6.F6:全连接层
· 输入:120维向量。
· 节点数:84。
· 非线性激活函数:Sigmoid函数。
· 本层需要训练的参数:10164个(84×(120+1)=10164)。
7.O7:输出层
也是全连接层,共有10个节点,分别代表数字0到9,且如果节点i的值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式。