LeNet-5网络模型学习总结
模型结构
LeNet-5网络模型是一个很典型且小巧的深度学习网络模型。主要结构为:
主要分为7层(不包含输入层),主要是卷积层、池化层、全连接层以及最后使用softmax函数作为输出层。
流程理解
图像输入后统一格式为32?3232*3232?32大小的图片数据,再将数据导入卷积层,卷积层包含6个5?55*55?5大小的卷积核,所以经过卷积层后,输出的神经元参数是28?28?628*28*628?28?6(28是因为(32?5+0)/1+1(32-5+0)/1+1(32?5+0)/1+1,其中原图像的高为32,卷积核高为5,补充的图像边距为0,步距设为1;利用6个不同的卷积核提取纹理特征,图像通道数为1,最终生成6维的神经元数据),则在整个训练过程中,这一步需要训练(5?5+1)?6(5*5+1)*6(5?5+1)?6个参数,其中5*5是指卷积和中每个值,‘+1’是指每个维度下增加一个可训练的偏置量b.
在卷积层之后需要对整个数据进行池化处理,池化操作对应的数据维度为28?28?628*28*628?28?6,采样的区域大小为:2?22*22?2,最终整个数据的大小成为(28/2)?(28/2)?6(28/2)*(28/2)*6(28/2)?(28/2)?6,每个特征图是原特征图的14\frac{1}{4}41?大小。池化过程是对每一个2?22*22?2区域求和后乘以一个权重,并加上一个偏置量b′b^{'}b′.
再将以上输出的特征图进行卷积操作。使用16个5?55*55?5大小的卷积核,所以经过这一层,特征图大小变为高和宽为(14?5+0)/1+1=10(14-5+0)/1+1=10(14?5+0)/1+1=10的特征图,特征图的维度成为16.然而与之前不同的是,这16个卷积核不是都从头到尾与特征图进行卷积操作,而是分配前6个卷积核只与特征图的3个相连特征子图卷积,再分配6个与4个相连的特征子图卷积,3个与不相连的特征子图卷积,再分配剩下的与所有的特征子图卷积。通过这种分配方式,可以减少参数的同时也有利于提取多种特征信息。
紧接另一个池化层,同样的,采样区域为2?22*22?2,最终输出的特征图大小为5?5?165*5*165?5?16
接下来与卷积层相连接,卷积核一共120个,同样也是5?55*55?5大小的,最终输出特征图大小为(5?5+0)/1+1=1(5-5+0)/1+1=1(5?5+0)/1+1=1,即为1?11*11?1大小的,这次卷积核与上层输出的特征图中每一个特征子图进行卷积。
第6层是全连接层,计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过sigmoid函数输出。设置84个权重值,84个节点,对应于一个7x12的比特图,-1表示白色,1表示黑色,这样每个符号的比特图的黑白色就对应于一个编码。
Output层也是全连接层,共有10个节点,分别代表数字0到9,且如果节点i的值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式。
参考资料
[1] Lecun Y L , Bottou L , Bengio Y , et al. Gradient-Based Learning Applied to Document Recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[2]https://cuijiahua.com/blog/2018/01/dl_3.html