《深度学习:卷积神经网络从入门到精通》——3卷积神经网络的现代雏形——LeNet

举报
华章计算机 发表于 2019/06/06 08:45:48 2019/06/06
【摘要】 本书摘自《深度学习:卷积神经网络从入门到精通》——书中第3章,第3.1节,作者是李玉鑑、张婷、单传辉、刘兆英等。

第3章卷积神经网络的现代雏形——LeNet

在深度学习的发展史上,卷积神经网络具有举足轻重的地位,对提升计算机视觉的研究水平和实际性能起到了其他方法无可替代的作用。卷积神经网络是受到视觉系统的神经机制启发而提出的模型,其核心思想在于局部感受野和权值共享。1984年日本学者K. Fukushima提出的神经认知机被认为是第一个实现的卷积神经网络。1998年,Y. Lecun等人将卷积层和下采样层相结合,建立了卷积神经网络的现代雏形——LeNet,曾被广泛应用于美国银行支票手写数字识别。本章将先后介绍LeNet的原始模型、标准模型、学习算法、Caffe代码实现及说明、字符识别案例、交通标志识别案例和交通路网提取案例。

3.1 LeNet的原始模型

第1个真正的卷积神经网络是Y. Lecun等人在1998年提出的,称为LeNet[19]。虽然LeNet现在主要指LeNet5(或LeNet-5),但也可以包括LeNet-1和LeNet-4等模型结构。其主要特征是将卷积层和下采样层相结合作为网络的基本结构,共包含3个卷积层和2个下采样层。最初设计LeNet的目的是识别手写字符和打印字符,效果非常好,曾被广泛应用于美国银行支票手写体识别,取得了很大成功。

在LeNet的原始模型中,输入是一个矩阵或图像,大小为32×32。如果不计输入层,那么这个模型共有7层,包括3个卷积层、2个下采样层、1个全连接层和1个输出层,其总体结构如图3.1所示。

C1层是第1个卷积层,包含6个卷积特征图(convolutional feature map)。每个卷积特征图的大小都是28×28,由一个5×5的卷积核(卷积滤波器)对输入图像进行内卷积运算得到,其中每个神经元与输入中相应5×5区域相连。C1层共有156个参数,因为每个卷积核有5×5 = 25个权值和1个偏置,6个卷积核共有(25 + 1)×6 = 156个参数,还有122?304个连接。

image.png

图3.1 LeNet的原始模型结构示意图

S2层是第1个下采样层,包含6个14×14的下采样特征图。每个下采样特征图都是由C1层的相应卷积特征图经过大小为2×2、步长为2的窗口进行平均池化,然后再利用激活函数sigmoid进行一次非线性变换处理得到。进行下采样的目的是利用局部相关性减少后续数据处理量,同时又保留有用信息。与C1层的卷积特征图相比,S2层的下采样特征图整体上缩小为原来的1/4,行列各缩小为原来的1/2。另外,每个下采样特征图还有一个权值参数和一个偏置参数,6个特征图共包含12个可训练参数,以及5880个连接。

C3层是第2个卷积层,包含16个10×10的卷积特征图。在每个卷积特征图中,每个神经元都与S2层的若干个5×5邻域存在局部连接,这些5×5邻域分别位于不同特征图的相同位置上,详细的连接关系如表3.1所示。表3.1的第1行对C3的16个卷积特征图从0到15进行编号,第1列对S2的6个下采样特征图从0到5进行编号。不难看出,在C3层的16个卷积特征图中,有6个的神经元与S2层的3个下采样特征图存在局部连接(见表3.1的第2~7列),有9个神经元与S2层的4个下采样特征图存在局部连接(见表3.1的第8~15列),还有1个神经元与S2层的6个下采样特征图都存在局部连接(见表3.1的第16列)。通过简单的计算易知,C3层总共有6×(3×5×5 + 1)+ 9×(4×5×5 + 1)+ 1×(6×5×5 + 1)= 1516个参数,还有151?600个连接。

表3.1 在LeNet的原始模型中S2层到C3层的连接关系

image.png


S4层是第2个下采样层,包含16个5×5的下采样特征图。每个下采样特征图都是由C3层的相应卷积特征图经过2×2不重叠窗口的平均池化,然后再利用激活函数sigmoid进行一次非线性变换处理得到。与C3层的卷积特征图相比,S4层的下采样特征图整体上缩小为原来的1/4,行列各缩小为原来的1/2。另外,每个下采样特征图还有一个权值参数和一个偏置参数,16个下采样特征图共包含32个可训练参数和2000个连接。

C5层是第3个卷积层,包含120个1×1的卷积特征图。其中每个神经元与S4层中所有下采样特征图的一个5×5邻域相连。由于下采样特征图和卷积核的大小都是5×5,所以C5层的卷积特征图大小为1×1。这也意味着从S4到C5实际上是一种全连接。C5层被标记为卷积层而不是全连接层,是因为LeNet-5的输入通过填充补零变大了,但其他部分保持不变,导致C5层的特征图大于1×1。另外,考虑到每个卷积特征图还有一个偏置,C5层共有(16×5×5 + 1)×120 = 48?120个可训练参数。

F6层是全连接层,包含84个神经元。每个神经元与C5层的所有神经元相连,其值由C5层的输出向量与F6的权重向量做内积,加上一个偏置,再经过尺度化双曲正切函数(scaled hyperbolic tangent)的挤压作用得到。F6层共有84×120 + 84 = 10?164个可训练参数。

最后一层是输出层,由10个欧几里得径向函数神经元组成。每个这样的神经元代表一个类别,且都与F6层的84个神经元相连,其输出值由输入向量和权值向量的欧氏距离平方得到。显然,输出层的可训练参数共有84×10 = 840个。

image.png

图3.2 LeNet的标准模型结构。每个平面表示一个特征图,其中所有神经元共享权值,但偏置可能不同


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。