1.2 LeNet-5

news/2025/2/26 13:41:16

目录

  • 二、LeNet-5
    • 1、CNN 的起源与发展
    • 2、LeNet-5
      • 2.1 背景
      • 2.2 架构总体思想
      • 2.3、网络架构分解
      • 2.4、LeNet-5 改进

二、LeNet-5

1、CNN 的起源与发展

在上一章,通过对 NeoCognitron 的简单介绍,我们知道,S 细胞的主要作用是用于从感受野中提取特征,在这一层最重要的一个性质是细胞的输入连接在空间位置上是共享的,这可以保证欲提取的特征不受空间位移变化影响;而 C 细胞则可以对提取的特征模糊化,使之对轻微形变、扭曲、干扰等特征变化无感,以保证识别的精度。这种仿真生物视觉皮层的多级层次结构实际上就是最早的 CNN 网络的雏形。它与我们通常所说的 CNN 网络最本质的区别在于学习策略上,前者的学习是逐层学习,前一层学习结束再学习后续层级的权重,而后者依赖于反向传播算法进行全局整体学习。

在 1987 年由 Alex Waibel 等人提出的延时神经网络1(Time Delay Neural Network, TDNN)是第一个真正意义上的 CNN 网络结构,它允许在时间维度上共享权重,并采用反向传播算法学习一个类似 NeoCognitron 的多层级锥形网络结构,该网络模型被用于语音识别领域,并大获成功。

在 1989 年, J.S. Denker 等贝尔实验室成员实现了一个能够识别邮政编码c的手写体数字识别的神经网络2,他们先使用一种小卷积核对数字笔画降噪,称之为骨架化(Skeletonization),而后利用稍大的卷积核提取图像特征,但此处的卷积核是手工精心设计的 49 种特征提取模板。

同年,Yann LeCun 等人利用反向传播算法对直接从图像中自动学习卷积核3,整个过程是全自动实现的,学习到的卷积核比人工设计的表现的更好,并且适用于更广泛的图像识别问题。其网络结构图如下图所示:

【图1】

网络共有 5 层,输入层是 16 × 16 16\times 16 16×16 的图片大小,后面连续接 3 层卷积层,最后一层是全连接层。由于网络采用权重共享,以输入层到 H1 层为例,虽然有约 2 万个连接($12\times 64 \times (5 \times 5+1)=19968 ) , 但 实 际 参 数 量 只 有 1068 ( ),但实际参数量只有 1068( 1068=768+12\times 25$) 个,因此卷积神经网路不仅具有固有的平移不变性的性质,在计算上也会大大削减参数量,具体的参数量以及连接数计算我们后面章节会介绍。需要注意的是,这里中间隐层只有卷积层。

2、LeNet-5

在 1998 年,Yann LeCun 和 Yoshua Bengio 等人提出 LeNet-5 网络架构4,实际上,LeNet-5 网络架构中的核心思想几乎全部来自于前文介绍的相关内容中。虽然在上世纪七八十年代,反向传播5(back-propagation, BP)算法被提出并成功运用到网络模型的参数优化上,然而到了九十年代,人工智能并未达到预期的智能水平,相关研究再次陷入低谷期,而这个时期却是 SVM(支持向量机) 发展的巅峰时期,尤其是核方法的引入,使得 SVM 发挥出巨大的潜力,另外那个时期实际上仍以人工设计的特征(如,SIFT)为主流,加之机器硬件发展速度较为缓慢,神经网路计算复杂等原因致使 LeNet-5 网络并没有成为那个时代的宠儿,而直到 2012 年,AlexNet 获得 ImageNet 图像识别竞赛冠军时,CNN 才重新回到人们的视野,LeNet-5 也被公认为是现代 CNN 发展史上的开山之作。

2.1 背景

在模式识别系统中,我们通常可以将其分为特征提取和分类两个阶段,如图 2 所示:

【图 2】

在传统的一些模式识别工作中,特征提取模块主要依赖于一些先验知识、并通过人工精心设计的特征进行模式提取,而监督学习则通常是针对分类模块进行的,在一些复杂的模式识别任务上,依赖于人工设计的模式进行特征提取则几乎是不可能的。而反向传播算法则可以实现端到端的全局参数学习更新,也彻底解放人类设计特征的时代。因此 CNN 网络能得以成功运用,BP 算法是功不可没的。

在继续 CNN 之前,我们需要说明为什么不采用全连接神经网络结构?我们知道对于图像的处理,在输入层我们是将图像的像素值直接输入到网络,而一张图片通常会有几百个甚至更多的像素点,而假设第一隐层有 100 个神经元,其参数量已经高达几万多,大量的参数则需要更多的训练样本以及机器内存,这在当时的年代是不可承受的。而且最主要的原因是,全连接网络对平移不变性以及轻微的形变、扭曲等变化很敏感,虽然理论上只要参数量足够大,也可以达到同样的效果,然而那会带来更多的参数且大量参数学习的内容在形式上是冗余的。另外对于图像这类 2D 输入信号,全连接网络会打破其空间拓扑结构。关于全连接网络与 CNN 网络的对比试验可以参照 Michael Nielsen 的 Neural Networks and Deep Learning。 6

2.2 架构总体思想

LeNet-5 网络主要结合了三个主要的架构设计思想:局部感受野、权重共享以及下采样,其整体结构图如图 3 所示。

【图 3】

布局感受野的思想是来自于 Hubel 和 Wiesel 对猫的视觉系统研究,在局部感受野中,神经元可以提取诸如线条、三角等简单几何轮廓,而后面的高层则可以组合出更复杂的模式,这一点已经在 Neocognitron 模型介绍过,在这里我们采用特征映射的概念,与 Neocognitron 中的细胞平面概念一致,一个特征映射可以从中提取一种特定的模式,例如图 3 中的 C1(这里的 C 是 convolutions 的意思,注意区别 Neocognitron 中的 C 层) 层,共有 6 个平面,每一个平面都是通过一个特定的特定映射得到的。在每一个平面内部,所有神经元与输入层之间的连接权重都是一致的,唯一的区别在于感受野的空间位置不同。而不同的平面之间是相互独立的,即同一个感受野可以被提取出 6 种不同的模式。由于感受野在输入层上的滑动扫描过程等价于卷积计算,因此这种网络被称为卷积网络(Convolutional Neural network, CNN)。由于不同的连接权重可以用来提取不同的模式,因此这里的权重通常被称为卷积核,不同的卷积核也被定义为不同的特征提取器。因此,整个卷积层(C 层)的操作过程几乎与 Necognitron 中的 S 层完全一致。

【图 4 卷积操作示例图】

105 × 0 + 102 × − 1 + 100 × 0 + 103 × − 1 + 99 × 5 + 103 × − 1 + 101 × 0 + 98 × − 1 + 104 × 0 = 89 105\times0+102\times-1+100\times0+103\times-1+99\times5+103\times-1+101\times0+98\times-1+104\times0=89 105×0+102×1+100×0+103×1+99×5+103×1+101×0+98×1+104×0=89

O = ∑ I i , j ⋅ K i , j + b O=\sum I_{i,j}\cdot K_{i, j} + b O=Ii,jKi,j+b b b b 为偏置项, i , j = 1 , 2 , . . . k e r n e l _ s i z e i, j = 1, 2, ... kernel\_size i,j=1,2,...kernel_size

一旦我们检测到一个特征,该特征的具体位置则不再重要,例如我们如果一个数字左上方有个端点,右上方有个拐点,且拐点下方有一条竖线,则该数字为 “7”。但是每个特征的精确位置对于识别数字 “7” 已经不再有意义。因此我们需要将其模糊化,即通过一个不重叠的 2 × 2 2\times 2 2×2 的表格对输入层下采样,即池化操作,在原始论文中 LeNet-5 中,采用的是平均池化。池化层(S 层)的操作过程几乎与 Neocognitron 中的 C 层完全一致。

O = ( ∑ I i , j ) ⋅ W i , j + b       i , j = 1 , 2 O= \left(\sum I_{i, j}\right) \cdot W_{i,j}+b \ \ \ \ \ i, j = 1, 2 O=(Ii,j)Wi,j+b     i,j=1,2

2.3、网络架构分解

原始文献中的 LeNet-5 由 8 层组成,Input --> C1–> S2 --> C3 --> S4 --> C5 --> F6 --> Output。 C x Cx Cx 表示卷积层, S x Sx Sx 表示下采样层, F x Fx Fx 表示全连接层。网络的输入层图像大小是 32 × 32 32 \times 32 32×32

  • C1 层在输入层上的感受野大小为 5 × 5 5\times 5 5×5,即卷积核大小为 5 × 5 5\times 5 5×5, 则经过卷积后的特征平面大小为 28 × 28 28 \times 28 28×28(设输入图片的维度为 W,卷积核维度为 F,滑动步长为 S,填充像素数为 P,则输出的维度 N = ( W − F + 2 P ) / S + 1 N=(W-F+2P)/S+1 N=(WF+2P)/S+1,此处没有填充像素,即 P 为零,默认滑动步长为 1,即 S 为 1, N = ( 32 − 5 + 0 ) / 1 + 1 = 28 N = (32-5+0)/1+1=28 N=(325+0)/1+1=28),在这个过程中网络参数量为 156(6个卷积核,每个卷积核包含 25 个连接权重以及一个偏置项,即 ( 5 × 5 + 1 ) × 6 (5\times5+1)\times6 (5×5+1)×6),而网络连接数则有 122304 (6个输出平面,每个平面有 28 × 28 28\times28 28×28 个神经元,每个神经元由 一个卷积核及偏置计算而来,即 6 × 28 × 28 × ( 5 × 5 + 1 ) 6\times28\times28\times(5\times5+1) 6×28×28×(5×5+1))个。

  • S2 层对 C1 进行下采样操作。利用 2 × 2 2\times2 2×2 的表格不重叠的将 C1 平面由 28 × 28 28\times28 28×28 划分为 14 × 14 14\times 14 14×14 个单元,每个单元中包含 4 个值。具体计算如公式(2),则刚过程的参数量为 6 × 2 = 12 6\times 2=12 6×2=12,连接数为 14 × 14 × ( 2 × 2 + 1 ) × 6 = 5880 14\times14\times(2\times2+1)\times6=5880 14×14×(2×2+1)×6=5880

  • C3 与 C1 类似,但是在这里,作者通过将 16 个不同的卷积核作用于 S2 中 6 个平面的 16 个不同组合上,具体每个卷积核作用于 S2 平面中的哪些层,可参照下图
    【图 5】

    例如编号为 8 的卷积核作用于 S2 平面中编号为 2、3、4、5 共 4 个平面,该过程的参数量为 1516 = ( 5 × 5 × 3 + 1 ) × 6 + ( 5 t i m e s 5 × 4 × 1 ) × 9 + ( 5 × 5 × 6 + 1 ) × 1 1516=(5\times5\times3+1)\times6 + (5times5\times4\times1)\times9 + (5\times5\times6+1)\times1 1516=(5×5×3+1)×6+(5times5×4×1)×9+(5×5×6+1)×1,连接数为 151600 个。

  • S4 层再次下采样,该过程参数量为 16 × 2 = 32 16\times 2=32 16×2=32,连接数为 5 × 5 × ( 2 × 2 + 1 ) × 16 = 2000 5\times 5\times(2\times 2+1)\times 16=2000 5×5×(2×2+1)×16=2000

  • C5 层再次卷积,卷积后结果为 1 × 1 1\times 1 1×1,该过程参数量为 ( 5 × 5 × 16 + 1 ) × 120 = 48120 (5\times 5\times16+1)\times 120=48120 (5×5×16+1)×120=48120,连接数与参数量一致。

  • F6 层是全连接层,这里神经元数为 84 是因为,作者将 ASCII 编码中的一些字符规范化到 7 × 12 7\times12 7×12 大小的位图中作为标准字符模板,以便于通过最后一层的 RBF 计算相似度。因此这一层的参数量为 84 × ( 120 + 1 ) = 10164 84\times(120+1)=10164 84×(120+1)=10164,连接数与参数量一致。

  • 输出层,则是通过 RBF(Radial Basis Function)计算每个类的输出结果。 y i = ∑ j ( x j − w i j ) 2 y_i=\sum_j(x_j-w_{ij})^2 yi=j(xjwij)2,换句话说,最后输出层的输入是一个 84 维的向量,然后通过与标准字符模板计算欧氏距离,得到针对每个类的识别误差。

2.4、LeNet-5 改进

原始文献中,在下采样中采用的是一种平均池化方式,平均池化会使图像更加平滑、模糊,可能无法识别锐利的特征。而最大池化会选择更明亮的特征,如 MNIST 中黑底白字的图像更为适用,而最小池化则对更阴暗的特征感兴趣,特别适合白底黑字图像。而一般而言,目前主流倾向于使用最大池化。

【图 6】

另外,取消掉原始网络最后的 RBF 计算模式,直接使用全连接层替代,而且所有的卷积操作都是基于全部的特征层操作的,具体可参照示例代码7


  1. Waibel, Alex (December 1987). Phoneme Recognition Using Time-Delay Neural Networks. Meeting of the Institute of Electrical, Information and Communication Engineers (IEICE). Tokyo, Japan ↩︎

  2. Denker, J S , Gardner, W R., Graf, H. P, Henderson, D, Howard, R E, Hubbard, W, Jackel, L() D , BaIrd, H S, and Guyon (1989) Neural network recognizer for hand-written zip code digits, AT&T Bell Laboratories ↩︎

  3. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, Backpropagation Applied to Handwritten Zip Code Recognition; AT&T Bell Laboratories ↩︎

  4. LeCun, Yann; Léon Bottou; Yoshua Bengio; Patrick Haffner (1998). “Gradient-based learning applied to document recognition” (PDF). Proceedings of the IEEE. 86 (11): 2278–2324. CiteSeerX 10.1.1.32.9552. doi:10.1109/5.726791. Retrieved October 7, 2016. ↩︎

  5. Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (8 October 1986). “Learning representations by back-propagating errors”. Nature. 323 (6088): 533–536. Bibcode:1986Natur.323…533R. doi:10.1038/323533a0. ↩︎

  6. Michael A. Nielsen, “Neural Networks and Deep Learning”, Determination Press, 2015。http://neuralnetworksanddeeplearning.com/ ↩︎

  7. https://github.com/dfsj66011/Image-Classification/tree/master/LeNet-5 ↩︎


http://www.niftyadmin.cn/n/3657492.html

相关文章

故障诊断专家系统研究之五-----推理机制及可信度算法

推理机制及可信度算法在第三章和第四章中讨论了如何表示燃气轮机专家的知识以及如何把这些知识存储到知识库之中,即关于知识表示和知识库的问题,而故障诊断专家系统的另一个核心组件就是基于知识的诊断推理机。本章在前两章讨论的知识表示和知识库的基础…

1.3 反向传播

目录三、反向传播3.1 反向传播计算过程[^1]3.2 基于梯度下降的优化方法[^3]3.2.1 SGD、学习率衰减及动量3.2.2 Adagrad、Adadelta、RMSprop3.2.3 Adam、Adamx、Nadam3.3 损失函数3.3.1 二次损失函数3.3.2 交叉熵损失函数学习资料三、反向传播 通过前面内容的介绍,我…

1.4 CNN的崛起

目录四、CNN的崛起4.1 SVM vs NN4.2 ILSVRC4.2.1 分类任务描述4.2.2 SVM 的覆灭4.3 CNN 的发展四、CNN的崛起 4.1 SVM vs NN 虽然反向传播算法的提出,使得神经网络的学习可以端到端的进行,加速网络的训练速度。然而在随后的科学研究中,人们…

Superflow发展的10个里程碑

Superflow发展的10个里程碑l (1995,08)果敢的提出“一切都是工作流”的断言。 l (1996,05)“动态业务工作流引擎”的第一个雏形建立。 l (1997,03&#xff…

用.Net Remoting访问远程对象

用.Net Remoting访问远程对象 Net提供了好几种通信协议与方式使得这种开发变得简单而快速,你甚至无需知道太多的传输协议与编码细节。因此,无论你开发一个web应用还是关键的、涉及多操作系统和多通信协议的企业级应用,.Net都将对你提供全面的…

1.5.1 AlexNet

目录五、AlexNet5.1 ReLU 激活函数5.2 局部响应正则化5.3 数据增强5.4 Dropout5.5 网络整体架构5.6 小结五、AlexNet AlexNet 是 2012 年第 3届 ILSVRC(ImageNet Large Scale Visual Recognition Comprtition)图像分类任务中的冠军模型,伴随…

.Net Remoting Architecture

.Net Remoting Architecture一幅凝固的油画.Net remoting基础架构是一种抽象的进程间通信机制,许多系统实现细节不必去关心,比如可以通过值或者拷贝方式传递的对象,是自动的在两个不同的应用域之间传递的,你只需要关注你自己的类。…

1.5.2 ZFNet

目录1.5.2 ZFNet5.7 反卷积(Deconvnet)5.7.1 上采样池化(UnPooling)5.7.2 反卷积过程5.8 ZFNet 架构设计5.9 ZFNet 的贡献1.5.2 ZFNet 在前文中,我们对 AlexNet 的架构以及核心组件做了相关介绍,虽然 Alex…