美文网首页CNN
(2012, AlexNet) ImageNet Classif

(2012, AlexNet) ImageNet Classif

作者: 运动小爽 | 来源:发表于2019-01-10 20:33 被阅读0次

    上一篇文章中的LeNet-5是第一个广为人知的经典CNN网络,但那是20年前提出的CNN网络,最成功的案例是解决了手写数字识别的问题,当时被广泛应用于邮局/银行的手写邮编/支票数字自动识别系统。但直到2012年之前,在这14年间,CNN网络在图像识别领域的地位逐渐被其他分类模型如SVM取代。其中主要的原因有(事后诸葛亮......):

    • 深度网络难以训练的问题。对于复杂的视觉识别任务,需要搭建层数较多的CNN网络,但随着层数增多,CNN网络的训练难度加大;
    • 过拟合问题。不像SVM,CNN网络需要大量的训练数据,才能表现出强大的识别性能,随着层数增多,CNN网络的复杂度增大,早些年的公共数据集的规模普遍较小,导致深层的CNN网络会出现严重的过拟合;
    • 计算能力。深层CNN网络的时间复杂度很大,需要强大的硬件计算能力的支撑。

    经过十几年的发展,以上制约CNN网络发展的主要限制因素一个个被解决,结果在2012年的ImageNet竞赛中,继LeNet-5之后的第二个经典CNN网络—AlexNet横空出世。以超出第二名10%以上的top-5准确率,勇夺ImageNet2012分类比赛的冠军,从此,深度学习重新回到人们的视野,并一发不可收拾。

    1. AlexNet VS LeNet-5

    下面从一些直观的数据比较1998年的LeNet-5和2012年的AlexNet的区别:

    • 从网络层数比较,LeNet-5包含2个卷积层,AlexNet则使用了5个卷积层;
    • 从模型参数上比较,LeNet-5包含约60,000个模型参数,而AlexNet是60,000,000,空间复杂度是LeNet-5的整整1000倍!
    • LeNet-5处理的是10个类别的手写数字,网络输入只有32x32;而AlexNet处理的是1000类的图片,网络输入尺寸是224x224。
    • 因此,单从网络规模来看,AlexNet在深度(卷积层数量)和宽度(每一层的feature map数量)上面对LeNet-5做了一个极大的扩展。

    2. AlexNet网络的特点

    AlexNet网络结构如下图所示:

    论文中由于使用了2块GPU,将网络结构布置成了上下两部分,看着很不方便,上图是在网上找的简易版本。

    下面总结AlexNet的主要特点:

    • 输入层直接是224x224的RGB图像,不需要进行归一化;

    • 引入了local response normalization层,据说能稍微提高网络的泛化性能(后面被实验证明没太大用处);

    • 引入了max-pooling层,作为对比,LeNet-5使用的是类似average-pooling层;

    • 引入了新的Relu激活函数,作为对比,LeNet-5使用的是tanh激活函数,后面将会解释,Relu激活函数能有效减轻深层CNN网络训练时梯度消失的问题;

    • 引入了dropout层,作为一个正则化器(regularizer),能有效防止网络过拟合。dropout层最早是Hinton小组在2012年的早些时候的这篇论文中提出的:

      关于dropout层改善神经网络泛化性能的详细实验还可以参考下面这篇2013年的文章:

    3. AlexNet是如何解决之前CNN网络遇到的各种问题的?

    3.1. 使引入Relu激活函数减轻深度网络难以训练的问题

    关于CNN网络的激活函数的讨论,SigAI公众号这篇文章总结的挺好:

    另外,下面这篇论文对深度网络难以训练的问题进行了分析:

    • Understanding the difficulty of training deep feedforward neural networks。

    之前的CNN网络,包括前面著名的LeNet-5,都使用tanh/Sigmoid作为激活函数,这类激活函数具有饱和性,在训练深层网络时会造成梯度消失问题,而AlexNet引入了非饱和的Relu激活函数,有效地缓解了梯度消失问题。

    3.2. 解决深度网络的过拟合问题

    一方面,近几年来,人们越来越意识到构建庞大的数据集的重要性,于是出现了像ImageNet这样超过1500万张标注图片,2200多种类别的数据集,ILSVRC2012中,AlexNet使用了150万张图片的庞大训练集,使得拥有6000万个参数的AlexNet也没出现严重过拟合问题;

    另外,AlexNet在训练时使用了数据增强(data augmentation)策略,相当于进一步扩大了训练数据集;

    最后,AlexNet在全连接层部分引入了一个dropout层,同样能有效防止模型出现过拟合。

    3.3. 计算能力问题

    尽管AlexNet的模型复杂度很大,但其利用了英伟达GPU强大的计算能力,在GPU面前,模型复杂度不是问题。

    4. 总结

    从模型的设计思路来看,其实AlexNet遵循了LeNet-5的思想,即使用交替的卷积层和池化层用于提取图像的高级语义特征,同时降低特征尺寸。然后使用全连接层/MLP作为分类层。

    但是,在细节部分,ALexNet引入了很多新的元素,用于解决以上提到的CNN网络遇到的诸多问题,使得CNN网络开始重新散发光芒。

    相关文章

      网友评论

        本文标题:(2012, AlexNet) ImageNet Classif

        本文链接:https://www.haomeiwen.com/subject/lsrzrqtx.html