大数据,机器学习,人工智能

ResNet - 2015年 ILSVRC 的赢家(图像分类,定

2019-03-18  本文已影响26人  AI研习社

本文为 AI 研习社编译的技术博客,原标题 :

Review: ResNet — Winner of ILSVRC 2015 (Image Classification, Localization, Detection)

作者 | SH Tsang

翻译 | 斯蒂芬二狗子         

校对 | 酱番梨        审核 | 约翰逊·李加薪       整理 | 立鱼王

原文链接:

https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8


在本文,我们ResNet进行了回顾。通过学习残差表征函数而不是直接学习目标表征,ResNet可以拥有多达152层的非常深的网络。

ResNet引入了跳过连接(或快捷方式连接)以适应从前一层到下一层的输入,而无需修改输入。跳过连接可以实现更深入的网络,最终ResNet成为ILSVRC 2015在图像分类,检测和定位方面的赢家,和MS COCO 2015检测和分割的获胜者。

ILSVRC 2015图像分类排名

ImageNet是一个包含超过1500万个标记的高分辨率图像的数据集,包含大约22,000个类别。 ILSVRC在1000个类别中的每一个中使用大约1000个图像的ImageNet子集。总共有大约120万个训练图像,50,000个验证图像和100,000个测试图像。

  本文涉及

普通网络的存在的问题(梯度消失/梯度爆炸)

残差网络中的跳跃/短连接(ResNet)

ResNet架构

瓶颈Bottleneck的设计

消融研究(实验对比)

与最新方法的比较(图像分类)

与最新方法的比较(目标检测)

  1、普通网络的存在的问题

对于传统的深度学习网络,它们通常具有卷积层,完全连接(FC)层,用于分类任务,如AlexNet,ZFNet和VGGNet,没有任何跳跃/短连接,我们称之为普通网络。当普通网络更深(层数增加)时,会出现梯度消失/梯度爆炸的问题。

Vanishing / Exploding Gradients 梯度消失/爆炸

在反向传播期间,当误差函数相对于每次训练迭代中的当前权重的求偏导数时,通过n层网络会导致将这些小/大梯度数值被乘上n倍的梯度效果。

当网络很深时,这些小数字乘n变成零(消失)。

当网络很深时,这些大数的乘n变得特别大(爆炸)。

我们一般会期望更深的网络有更准确的预测。但是,下面一个反例说明,20层普通网络比56层普通网络具有更低的训练误差和测试误差,这是梯度消失而出现性能退化问题。

CIFAR-10数据集的普通网络

  2、残差网络中的跳跃/短连接(ResNet)

为了解决消失/爆炸梯度的问题,添加了 跳跃/短连接 skip / shortcut 在几个权重层之后将输入x加到输出上,如下所示:

残余网络的构建模块

因此,输出H(x)= F(x) + x。

权重层实际上是学习一种残差映射:F(x)=H(x)-x

( 反向传播时)即使权重层有梯度消失现象,我们仍然总是将x转移回较早的层。

  3、ResNet架构

具有跳跃/短连接的34层ResNet(顶部),34层普通网络(中部),19层VGG-19(底部)

上图显示了ResNet架构。

VGG-19 [2](底部)是ILSVRC 2014中最先进的方法。

34层普通网络(中间)被视为比VGG-19的更深的网络,即更多卷积层。

34层剩余网络(ResNet)(顶部)是普通网络添加了跳跃/短连接

对于ResNet构建模块,当输入尺寸小于输出尺寸时,有3种类型的 跳跃/短连接。

 (A)短连接Shortcut执行映射恒等映射(identity mapping),使用额外的零填充zero padding来增加维度。因此没有额外增加参数。

 (B)一个投影短连接projection shortcut仅用于增加尺寸,其他短连接shortcut还是恒等的连接。网络需要额外的参数。

 (C)所有短连接都是投影连接。额外需要的参数多于(B)。

 4、瓶颈Bottleneck的设计

由于现在网络很深,时间复杂度很高。瓶颈Bottleneck设计用于降低复杂性,如下所示:

基本块(左)和论文所提出的瓶颈块设计(右)

如图(右)所示,1×1转换层被添加到网络的开始和结束。这是Network In Network和GoogLeNet(Inception-v1)中建议的技术。事实证明,1×1转换可以减少连接数(参数),同时不会降低网络性能。 (如果感兴趣,请访问我的评论。)

用瓶颈模块,34层ResNet成为50层ResNet。而且文章还给出更深层的网络与瓶颈设计:ResNet-101和ResNet-152。所有网络的整体架构如下:

所有网络的整体架构

值得注意的是,VGG-16/19有15.3 / 196亿FLOPS。 ResNet-152的复杂程度仍低于VGG-16/19 !!!!

  5、消融实验

5.1 传统网络 VS 残差网络

验证错误率:18层和34层普通网络(左),18层和34层ResNet(右) 使用10种作物测试的Top-1错误率

当使用普通网络时,由于梯度消失问题,18层优于34层。

当使用ResNet时,34层优于18层,消失梯度问题已通过跳过连接解决。

如果我们比较18层普通网络和18层ResNet,没有太大区别。这是因为浅层网络不会出现消失梯度问题。

  6、与最先进方法的比较(图像分类)

6.1 ILSVRC 数据

10种作物测试结果

通过比较ResNet-34 A,B和C,得出B略好于A,C略好于B,这是因为B引入了额外的参数。ResNet-A,B,C都获得了大约7%的错误率。

 通过将网络深度增加到152层,获得5.71%的Top5错误率,这比VGG-16,GoogLeNet(Inception-v1)和PReLU-Net好得多。

多尺度信息全卷积网络在10种作物数据的测试结果

此时,ResNet-152可以获得4.49%的错误率。

10种作物测试+全卷积网络,具有多尺度信息+ 6模型集成的结果

增加了6种模型的集成后,错误率为3.57%。

6.2 CIFAR-10 数据集

CIFAR-10 结果

通过跳过连接,我们可以建立更深的模型。然而,当层数从110到1202时,发现错误率从6.43%增加到7.93%,这扔为本文中的一个未决问题。然而,ResNet-1202没有优化难度,即它仍然可以收敛。

 7、与最先进方法(物体检测)的比较

PASCAL VOC 2007/2012 数据 mAP (%) MS COCO mAP (%)

通过将ResNet-101用于faster R-CNN [3-4],ResNet获得了比VGG-16更好的性能。

ResNet最终赢得了ImageNet检测,定位,COCO检测和COCO分割的第一名!

 相关文献

[2016 CVPR] [ResNet]

Deep Residual Learning for Image Recognition

[2015 ICLR] [VGGNet]

Very Deep Convolutional Networks for Large-Scale Image Recognition

[2015 NIPS] [Faster R-CNN]

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

[2017 TPAMI] [Faster R-CNN]

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

我的评论文

Review: Faster R-CNN (Object Detection)

Review: Batch Normalization (Inception-v2 / BN-Inception) -The 2nd to Surpass Human-Level Performance in ILSVRC 2015 (Image Classification)

Review: PReLU-Net, The First to Surpass Human-Level Performance in ILSVRC 2015 (Image Classification)

Review: GoogLeNet (Inception v1) — Winner of ILSVRC 2014 (Image Classification)

Review: VGGNet — 1st Runner-Up (Image Classification), Winner (Localization) in ILSVRC 2014

想要继续查看该篇文章相关链接和参考文献?

点击【ResNet - 2015年 ILSVRC 的赢家(图像分类,定位及检测)】或长按下方地址:

https://ai.yanxishe.com/page/TextTranslation/1525

AI研习社今日推荐:

卡耐基梅隆大学 2019 春季《神经网络自然语言处理》是CMU语言技术学院和计算机学院联合开课,主要内容是教学生如何用神经网络做自然语言处理。神经网络对于语言建模任务而言,可以称得上是提供了一种强大的新工具,与此同时,神经网络能够改进诸多任务中的最新技术,将过去不容易解决的问题变得轻松简单。

加入小组免费观看视频:https://ai.yanxishe.com/page/groupDetail/33

上一篇下一篇

猜你喜欢

热点阅读