部分内容来自《Recent_Advances_in_Convolutional_Neural_Networks》,本人在此文基础上进行了一些删改。
摘要
过去几年,深度学习在解决诸如图像目标识别、语音识别和自然语言处理等很多问题方面都表现出色。在各种类型的神经网络当中,卷积神经网络是得到最深入研究的。早期由于缺乏训练数据和计算能力,要在不产生过拟合的情况下训练出高性能卷积神经网络是很困难的。ImageNet这样的大规模标记数据的出现和GPU计算性能的快速提高,使得对卷积神经网络的研究迅速井喷。本文我将纵览卷积神经网络近来发展,同时介绍卷积神经网络在视觉识别方面的一些应用。
关键词
深度学习、卷积神经网络、计算机视觉、AlexNet、池化、激活函数、ImageNet
前言
卷积神经网络(Convolutional Neural Network, CNN)是一种常见的深度学习网络架构,受生物自然视觉认知机制启发而来。1959年,Hubel & Wiesel [1] 发现了视觉系统的信息处理,可视皮层是分级的。举例说明:人眼观察一个气球,
首先从原始信号摄入开始(瞳孔摄入像素Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。下图是人脑进行人脸识别的一个示例图:
20世纪 90年代,LeCun et al. [1,2]等人发表论文,确立了CNN的现代结构,后来又对其进行完善。他们设计了一种多层的人工神经网络,取名叫做LeNet-5,可以对手写数字做分类。和其他神经网络一样,LeNet-5 也能使用反响传播算法(backpropagation)[3]训练。
CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理,识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,LeNet-5对于复杂问题的处理结果并不理想。 之后,人们设计了很多方法,想要克服难以训练深度CNN的困难。其中,最著名的是Krizhevsky et al.提出了一个经典的CNN结构,并在图像识别任务上取得了重大突破。其方法的整体框架叫做 AlexNet[4],与 LeNet-5类似,但层次结构上要更加深一些。同时使用了非线性激活函数ReLu[5]与Dropout[6]方法,取得了卓越的效果。
AlexNet大获成功,掀起了卷积神经网络的研究热潮。在这之后,研究人员又提出了其他的改善方法,其中最著名的要数 ZFNet [7], VGGNet [8], GoogleNet [9] 和 ResNet [10]这四种。从结构看,CNN发展的一个方向就是层数变得更多,ILSVRC 2015冠军 ResNet是 AlexNet的20多倍,是 VGGNet的8倍多。通过增加深度,网络便能够利用增加的非线性得出目标函数的近似结构,同时得出更好的特性表征。但是,这样做同时也增加了网络的整体复