图像分类经典网络 | 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=sinput−k+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一切都在孕育之中的主要内容,如果未能解决你的问题,请参考以下文章