![深度学习时代的计算机视觉算法](https://wfqqreader-1252317822.image.myqcloud.com/cover/870/53255870/b_53255870.jpg)
1.4.1 CNN的起源与发展
1959年,加拿大神经科学家David H.Hubel和Torsten Wiesel首次提出了猫的初级视觉皮层中单个神经元的感受野这一概念,紧接着于1962年发现了猫的视觉中枢里存在感受野、双目视觉和其他功能结构。这标志着神经网络结构首次在生物大脑视觉系统中被发现,为CNN的出现奠定了最原始的理论基础。他们因为在视觉信息处理系统方面的杰出贡献获得了1981年的诺贝尔生理学或医学奖。
1980年前后,日本科学家福岛邦彦在David H.Hubel和Torsten Wiesel工作的基础上,模拟生物视觉系统,并提出了一种层级化的多层人工神经网络——神经认知(Neurocognition),以处理手写字符识别和其他模式识别任务。该模型在后来也被认为是现今CNN的前身。
Yann LeCun等人在1998年使用后向传播算法设计并训练了经典的LeNet-5系统,在MNIST数据集上获得了99%以上的识别率,并将其成功应用于20世纪90年代的银行手写支票识别,LeNet-5成为首个商用CNN模型。然而此时的CNN面向的主要是规格较小的图片,对大规模数据的识别效果并不理想,且当神经网络的层数增加时,传统的后向传播网络会遇到局部最优、过拟合和梯度扩散等问题,进一步限制了人工神经网络的应用。
2006年,Geoffrey Hinton和他的学生在Science杂志上发表的文章首次提出了深度学习的概念,主要论述了两个观点:一是相比浅层网络,具有多个隐层的人工神经网络具有更强的特征学习能力;二是深度神经网络在训练上的困难(主要表现为梯度消失或梯度爆炸问题)可以通过“逐层初始化”的方法来解决。这两项成果为神经网络算法带来了新的发展机遇,促进了深度学习的发展。
2012年,Alex Krizhevsky等人提出的AlexNet在ImageNet大规模视觉识别挑战竞赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)上取得了15.3%的Top-5错误率,远超第二名26.2%的成绩。自此,CNN开始受到学术界的高度关注,许多性能优秀的网络模型也在AlexNet之后被陆续提出。
2014年,Christian Szegedy等人提出了基于Inception结构的GoogLeNet,将Top-5错误率降低到了6.67%。同年,牛津大学的视觉几何组提出的VGGNet也取得了优异的成绩,取得了ILSVRC-2014定位任务第一名和分类任务第二名的成绩,其突出贡献在于证明了使用很小的卷积核(3×3)和增加网络深度可以有效地提升模型的识别能力。
2015年,何恺明提出的残差网络(Residual Network,ResNet)致力于解决识别错误率随网络深度增加而升高的问题,使用152层的深度网络在ILSVRC上取得了3.57%的Top-5错误率。
2017年中国自动驾驶创业公司Momenta的WMW团队提出的SENet (Squeeze-and Excitation-Networks)通过在网络中嵌入SE模块,在图像分类任务上达到了2.251%的Top-5错误率。此外,近年来出现的DenseNet、ResNext和ShuffleNet等都在不同方面提升了卷积神经网络的性能。
当前CNN和很多深度学习技术(如RNN、生成对抗网络等)处于飞速发展的阶段。在海量数据和高性能计算硬件(特别是GPU)的支撑下,各种新思想、新技术不断被提出,落地应用的速度也不断加快。