图像分类经典网络 | LeNet-5一切都在孕育之中

Posted 行路南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像分类经典网络 | LeNet-5一切都在孕育之中相关的知识,希望对你有一定的参考价值。

今天我们讲的内容,要先从一个人物谈起。

Yann LeCun(中文名:杨立昆、卷积网络之父、纽约大学数据科学中心主任、Facebook人工智能研究院主任、深度学习三巨头之一、图灵奖获得者)

杨立昆于1960年7月生于法国巴黎附近。1983年他在巴黎高等电子与电气工程师学校获得了一个工程师学位,1987年从巴黎第六大学获得了一个计算机科学博士学位。博士在学期间,他提出了神经网络的反向传播学习算法(Backpropagation,缩写为BP)的原型。他随后到多伦多大学师从Geoffrey Everest Hinton完成了博士后工作。(Hinton 同样是深度学习三巨头之一,下图左一)

1988年,他加入了贝尔实验室。在此期间,他开发了能够辨别手写数字的模型——LeNet-5,LeNet-5最终能够成功地商业化,基于此开发的银行支票识别系统被NCR和其他的公司广泛使用,该系统读取了20世纪90年代末至21世纪初全美国超过10%的支票。

这件事证明了他与老师Hinton一同研究的反向传播算法与卷积神经网络是可行的。但好景不常,对于神经网络寄予厚望的人们很快不再满足于手写数字识别,然而更复杂多样的图像意味着更多的隐含层、更深的网络,更大的计算量,已经远远超过当时硬件的处理能力。

很快人们便对神经网络失去了信心,神经网络开始进入它的寒冬。

这时谁都不会想到,人工神经网络会因为大数据时代的到来、硬件计算能力的飞速提升,在2006年由Hinton 提出的名为“深度信念网络”的神经网络再次开启了深神经网络研究的又一次浪潮。并且在2012年由卷积神经网络AlexNet第一次在Imagenet挑战赛中斩获冠军,终于使人们认识到卷积神经网络的强大威力,并且开始在视觉之外的其他领域也开始应用开来。

这不由让我想到了诗人舒婷的一句诗:(扣题)

一切的现在都孕育着未来,

未来的一切都生长于它的昨天。

下面我们开始介绍在1988年便提出的模型,看看它是什么样的模样,竟蕴含着这么惊人的潜力。

什么是LeNet-5?

LeNet-5 具有两层卷积层和三层全连接层,因为这些层都具有可学习的参数,因此被命名为LeNet-5。LeNet-5的网络结构如图所示。

具体地,我们对每一层进行分析:

1. 输入层 INPUT

我们输入到模型的是一个大小为32*32像素的灰度图像(灰度图的通道是1),因此输入的形状为32 * 32 * 1。

2. 卷积层 C1

然后,我们使用大小为5 * 5的卷积核进行第一个卷积运算,并且有6个这样的卷积核。 于是我们得到了尺寸为28 * 28 * 6的特征图。 其中输出特征图的通道数等于应用的卷积核的个数。

在这里,我们详细介绍输出特征图具体的计算过程。

我们首先列出卷积核的基本信息:

  • 卷积核大小 kernel size = 5 * 5
  • 卷积核步长 stride = 1
  • 卷积核填充 padding = 0
  • 卷积核个数 kernel num = 6

然后我们也知道卷积核尺寸计算公式:
o u t p u t = i n p u t − k + 2 p s + 1 output = \\fracinput - k + 2ps+ 1 output=sinputk+2p+1
那么代入公式,会得到output = (32 - 5)/1 +1 = 28,即C1 层单个卷积核的输出特征图大小为28 * 28。又因为卷积核个数为6个,就得到6个 28 * 28 的输出特征图。因此C1层的输出特征图的形状为 28 * 28 * 6。

3. 池化层 S2

在第一次卷积操作之后,我们接着应用了平均池化。平均池化的核大小为2 * 2,步长为2,于是我们得到了尺寸为14 * 14 * 6 的特征图。请注意,经过池化层前后的通道数量是完整的,换句话说,池化层只会改变特征图的宽高尺寸,不会改变特征图的通道数量。

4. 卷积层C3

接下来,我们应用一个包含16个大小为5 * 5的卷积核的卷积层。套用C1层介绍的卷积计算公式,我们可以计算得到输出特征图尺寸为 10 * 10 * 16。

5. 池化层 S4

接下来,我们在卷积层后接一个平均池化层。它的目的也是改变特征图的尺寸为输入的一半,同时通道数不变。于是得到输出特征图为 5 * 5 * 16。

6. 全连接层C5

在上一层的操作完成之后,我们得到的输出特征图为 5 * 5 * 16。在这里,为了将卷积层的输出传递到全连接层,需要将卷积层的输出进行展平处理。我们展平之后是一个400维度的向量。

然后在全连接层C5 有120个节点,会有一个400 *120的连接,得到的输出大小为120。

7. 全连接层F6

在全连接层F6 有84个节点,会有一个120 * 84的连接,得到的输出大小为84。

8. 全连接层OUTPUT

在全连接层OUTPUT 有10个节点,对应于最后输出10个手写体数字。同样会有一个84 * 10的连接,得到的输出大小为10。

以上就是LeNet-5网络结构的细节。我们访问它的官网,找到了LeNet-5 在手写数字识别的效果图,一起看一看吧

小结

LeNet-5的网络结构已经具备了卷积网络的雏形,并且在手写体识别上表现了很大的成功。

这里它也有时代的局限性,比如激活函数使用的是Sigmoid,而不是目前常用的ReLU。池化层使用的是平均池化,而现在大家更常用的是最大池化。这些都会或多或少影响了最终的精度,但无伤大雅,LeNet-5仍然不失为一个非常优秀的、具有很大启发的网络。

时代在滚滚向前,在它被提出的多年后的2012年,斩获冠军的AlexNet,多少能看到LeNet的影子。下一篇文章,我们会分享AlexNet,走近它、了解它。

关注公众号【CV面试宝典】,领取CV面试100道经典题目和解析。

参考资料

http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

http://yann.lecun.com/exdb/lenet/

以上是关于图像分类经典网络 | LeNet-5一切都在孕育之中的主要内容,如果未能解决你的问题,请参考以下文章

使用LeNet网络进行MNIST图像分类

使用LeNet网络进行MNIST图像分类

DL4J实战之三:经典卷积实例(LeNet-5)

经典卷积神经网络 之 LeNet-5

LeNet-5——CNN经典网络模型详解(pytorch实现)

Keras CIFAR-10分类 LeNet-5篇