AlexNet、VGGNet学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38870322/article/details/83449611

模型对比

AlexNet VGGNet
成就 ILSVRC图像分类2012冠军、Top-5错误率16.42% ILSVRC图像分类2014亚军、Top-5错误率7.32%
结构 9层:5个卷积层、3个全连接层 16层:13个卷积层、3个全连接层
参数 60.3M 138M
卷积核 卷积核的大小由第一层的11 * 11到5 * 5最后为3 * 3 所有卷积核都为3 * 3

AlexNet

网络结构

设计亮点

  • RELU激活函数
    这篇文章中作者用ReLU函数f(x)=max(0,x)代替之前主要使用的f(x)=tanh(x)或f(x)=sigmoid(x) 下图是使用ReLU和tanh在训练集和测试集上的损失变化。可以看到不论是收敛速度还是准确度,都是ReLU函数更胜一筹。
    速度上更快的原因可以理解成为RELU函数的导数是固定的,不会出现梯度越来越小甚至消失;准确度更高的原因可以理解为RELU小于0的部分置0从而一部分神经元不工作,避免了过拟合。
    在这里插入图片描述

  • Drop Out
    ALexNet在最后的全连接层做了DropOut,即训练过程中全连接层的神经元以一定的比例进行更新,剩下的则不更新,测试过程中不使用DropOut,该方法之所以有效,可以从两个角度解释:一个是在训练数据一定的情况下,神经网络容易过拟合,使用随机丢弃的方法可以减小过拟合现象;第二种原因可以理解成为对模型做一个集成,集成常用于大数据处理中,将不同的模型融合以获得更高准确率,因为不同的模型融合可以减轻过拟合程度,同时不同模型可能学习到的具体有效特征不同,融合使得模型对现实数据的容忍度更高。

  • 重叠池化
    本模型采用重叠池化代替平均池化,增加了特征的丰富度,一定程度上减少了特征的损失。

  • 数据增强
    使用了在256*256的图像上随机裁剪以及水平反转的方法用于增加数据。

VGGNet

网络结构:其中比较常用的为VGG16和VGG19
在这里插入图片描述
设计亮点

  • 加深网络的同时减小卷积核的大小
    VGG验证了网络深度对准确率的影响,同时使用3*3的卷积核代替之前网络中使用的大卷积核,这样做的效果为在相同的感受野情况下,网络学习到的特征更为细致,同时减少了参数量。用多个小卷积核代替一个大卷积核过程中,多个卷积层后的激活函数使得网络的表征更为复杂。

  • 验证了参数初始化的重要性
    文章测试了不同初始化情况下模型的准确度,结果表明参数的初始化对模型训练结果有着至关重要的影响,究其背后原因是因为模型存在很多鞍点,训练过程中很容易陷入局部最优点导致不收敛,同时在别的数据集上训练过的参数相当于增加了数据样本。

参考

  1. 参考链接
  2. Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C] International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
  3. Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J].Computer Science, 2014.

猜你喜欢

转载自blog.csdn.net/weixin_38870322/article/details/83449611
今日推荐