卷积神经网络回顾之AlexNet、VGGNet、Inception系列、ResNet系列

AlexNet (2012)

  AlexNet 是 Alex Krizhevsky 等人在 2012 年发表的《ImageNet Classification with Deep Convolutional Neural Networks》论文中提出的,并夺得了 2012 年 ImageNet LSVRC 的冠军,引起了很大的轰动。AlexNet 可以说是具有历史意义的一个网络结构,在此之前,深度学习已经沉寂了很长时间,自 2012 年 AlexNet 诞生之后,后面的 ImageNet 冠军都是用卷积神经网络(CNN)来做的,并且层次越来越深,使得CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发。
AlexNet
  论文中的 AlexNet 如上图所示,有5个卷积层+3个全连接层,包含 60 millions个参数和 65 万个神经元,使用 2块GPU 故分上下两部分,模型的两部分仅在3/6/7/8层会使用对方的数据。ILSVRC-2012的Top-5错误率能达到18.2%,6个卷积层+3个全连接层能达到16.6%,多个CNN平均能达到15.3%。
  该模型要解决的问题主要分为两点:(1)减少网络的训练时间;(2)防止过拟合。
  模型的特点:AlexNet首次在CNN中成功应用了ReLU、Dropout、LRN等tricks。同时,使用了GPU进行运算加速。

  • 基于ReLU的深度卷积网络比基于Sigmoid和Tanh的网络训练快数倍,线性函数运算简单,成功解决了Sigmoid在网络较深时的梯度弥散问题。
  • 提出了LRN(Local Response Normalization,局部响应归一化)层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。尤其当使用ReLU时这种“侧抑制”很管用,因为ReLU的响应结果没有上界,所以需要归一化。
  • 利用GPU的并行计算能力,处理神经网络训练时大量的矩阵运算。AlexNet使用了两块GTX 580 GPU进行训练,单个GTX 580只有3GB显存,这限制了可训练的网络的最大规模。因此作者将AlexNet分布在两个GPU上,在每个GPU的显存中储存一半的神经元的参数。因为GPU之间通信方便,可以互相访问显存,而不需要通过主机内存,所以同时使用多块GPU也是非常高效的。同时,AlexNet的设计让GPU之间的通信只在网络的某些层进行,控制了通信的性能损耗。
  • 使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。
  • 数据增强(过拟合的解决):随机地从256*256的原始图像中截取224×224大小的区域(以及水平翻转的镜像),相当于增加了2×(256-224)^2=2048倍的数据量。如果没有数据增强,仅靠原始的数据量,参数众多的CNN会陷入过拟合中,使用了数据增强后可以大大减轻过拟合,提升泛化能力。同时,AlexNet论文中提到了会对图像的RGB数据进行PCA处理,并对主成分做一个标准差为0.1的高斯扰动,增加一些噪声,这个trick可以让错误率再下降1%。
  • 训练时使用Dropout随机忽略一部分神经元(过拟合的解决)。在AlexNet中主要是前两个全连接层使用了Dropout。
  • 预测:对每张图像crop出5张图像(四个角以及中间)及其水平镜像,总共10张。取10个预测结果(softmax输出类别概率)的平均作为最终预测。

总结:AlexNet中涉及了卷积层、激活层、池化层、正则化、全连接层等一系列操作,非常适合初学卷积神经网路的人入手,可以参考 卷积神经网络 AlexNet,获得网络每一层输出特征图计算的细节。

VGGNet (2014)

  VGGNet 由牛津大学的视觉几何组(Visual Geometry Group)在 2015 年发表的《Very Deep Convolutional Networks for Large-Scale Image Recognition》论文中提出的,先是夺得了 2014 年 ImageNet LSVRC 定位任务第一名和分类任务第二名,随后发布了一些列以VGG开头的卷积网络模型。VGG全连接层有3层,根据卷积层+全连接层总数目的不同可以从VGG11~VGG19,最少的VGG11有8个卷积层,最多的VGG19有16个卷积层,隐藏层全部使用ReLU激活函数,参数量在133~144 millions。此外,VGG网络并不是在每个卷积层后面跟上一个池化层,还是总数5个池化层,分布在不同的卷积层之下,但是LRN似乎效果不明显,还消耗内存和时间。下图是VGG11 ~VGG19的结构图:
VGG
  该模型要解决的问题是:探索在大规模图像识别中卷积网络深度对准确率的影响。

网络的深度,即卷积层的个数,深度网络集成了低、中、高层特征,多层特征可以通过网络的堆叠的数量(深度)来丰富其表达。网络的深度很重要,但是否能够简单的通过增加更多的网络层学习更好的网络?这个问题的障碍就是臭名昭著的梯度消失(爆炸)问题,这从根本上阻碍了深度模型的收敛。
网络的宽度,即卷积核的种类个数,一般神经网络都会有多个卷积核。宽度的增加在一开始对网络的性能提升是有效的。但是,随着广度的增加,对网络整体的性能其实是开始趋于饱和,并且有下降趋势,因为过多的特征(一个卷积核对应发现一种特征)可能会带来噪声的影响。
两者关系:增加更多的卷积核可以发现更多的特征,但是特征是需要进行组合的,只有知道了特征之间的关系才能够更好的表达图片内容,而增加深度就是组合特征的过程。

  模型的特点:(1)小卷积核和小池化核,将卷积核全部替换为3×3 (极少用了1×1),相比AlexNet的3×3的池化核,VGG全部为2×2的池化核;(2)网络层数更深、特征图更宽 (基于上述第一点);(3)网络测试阶段将训练阶段的三个全连接替换为三个卷积,可以接收任意宽或高的输入。

  • 小卷积核叠加代替大卷积核的感受野:虽然AlexNet有使用11×11和5×5的大卷积,但大多数还是3×3卷积,目的是想让最为原始的纹理细
  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值