resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!

cd3cad97f5a861842fed4ac582b60ea0.png

DSNet比ResNet取得了更好的结果,并且具有与DenseNet相当的性能,但需要的计算资源更少。其中改进的DS2Res2Net性能非常强大。

作者:ChaucerG
Date:2020-10-27
来源:AI人工智能初学者微信公众号

bb8374f457016fd0e4e5455c0a6b6323.png
  • 作者单位:韩国科学技术院(KAIST)
  • 论文:https://arxiv.org/abs/2010.12496

注:如果上述论文链接无法访问,可以看文末,论文已上传至百度云,方便下载。

1、简介

大多数基于深度学习的方法都是通过backbone网络实现的,其中两个最有名的方法就是ResNet和DenseNet。尽管它们具有差不多的性能和受欢迎程度,但它们两个都存在固有的缺点。对于ResNet,稳定训练的identity shortcut方式也限制了其表示能力,而DenseNet具有更高的特征,可以进行多层特征串联。但是,密集级联会引起新的问题,即需要较高的GPU内存和更多的训练时间。部分由于这个原因,在ResNet和DenseNet之间不是一个简单的选择。

本文提供了dense summation的统一视角来分析它们,从而有助于更好地了解它们的核心差异。同时进一步提出了dense weighted normalized shortcuts,以解决它们之间的难题。所提出的密集快捷方式继承了ResNet和DenseNet中简单设计的设计理念。

2、相关方法

2.1、Micro-module design

都是耳熟能详的操作,大家可以自行进行调研和研读:

  • normalization modules
  • attention modules
  • group convolutions
  • bottleneck design
  • weight normalization
  • instance normalization
  • group normalization

2.2、Macro-architecture design

都是耳熟能详的模型,大家可以自行进行调研和研读:

  • AlexNet
  • VGGNet
  • GoogleNet
  • ResNet
  • DenseNet
  • WideResnet
  • ResNext
  • Preactivation-ResNet
  • CondenseNet
  • Dual path network
  • mixed link network
  • FractalNet

3、本文方法

3.1、ResNet和DenseNet中的Dense Connection

ResNet和DenseNet的区别是什么?顾名思义,区别似乎在于ResNet只使用前面的一个特征图,而DenseNet使用了前面所有卷积块的特性。

5db6f0e2d2640787e90542c0ce049b39.png

似乎结果像前面说的那样,而实际上通过上图可以看出ResNet与DenseNet的不同之处在于,ResNet采用求和的方法将之前所有的feature map连接起来,而DenseNet将所有feature map使用cat的方法连接起来。

3.2、Unified perspective with dense summation

在这里,作者证明了卷积运算前的dense concatenation可以等价于卷积后的dense summation:

2dec9d5ff6029b79eeab703fc028b0d9.png

其中,,注意,表示卷积块中的第1个卷积,而不是整个卷积块。因此,是卷积块中第1次卷积后的feature-map。综上所述,如图所示,其中和分别为输入通道数和输出通道数。

fe44d16b12a3487569447c20fb775564.png

最终可以得到关于ResNet和DenseNet的如下表达式:

bac1f7c2c4116fa2141f4485b68fb1f2.png

e35be3546f5a4a45f71ff33d36214964.png

3.3、Dense shortcut and DSNet

通过以上统一可以看出ResNet和DenseNet的核心区别在于,对于前面的每个输出,卷积参数是否共享。这使得DenseNet在需要更多GPU资源的情况下获得了更好的性能。这种差异的根源在于采用了不同的Dense Connection、identity shortcut和Dense Concatenation。基于上述的问题提出了一种可选择的Dense Connection来缓解该缺点。它引入了使用前面的feature-maps的灵活性,同时对前面的每个feature-map仍然使用相同的。基于ResNet的Benchmask,文中提出的方法可以表达为:

2a1080d84cfea25ad5bb74eea452c71b.png

106899734b6bd0ed092027255fdce5a3.png

786cfdc99467d617387df5482af663e3.png

b35ae2730bf7afb9933debbdec8eab4e.png

ba5de4f457235e3aff18c150fdcabe01.png

5766b9d9b1eba8b8a0b08e24f8e01753.png

实验结果也证明了该结论的成立:

0b1dbcf38471ba674f28c7b78f665ec0.png

作者将所提出的网络命名为采用Adopting DS ShortCut的DSNet。DSNet采用与ResNet相同的网络Backbone(卷积块本身和块设计)。ResNet主干是为identity shortcut定制的,而不是为提出的DS ShortCut定制的。如果重新设计主干结构可能会进一步提高DSNet的性能。

注:DSNet和ResNet唯一区别是用提出的dense shortcut代替了identity shortcut.

3.4、实现插入方式

为了在ResNet中引入dense shortcut,一种简单的方法是将Yl=Yl-1+Xl中的单个identity shortcut替换为dense shortcut,从而连接所有前面的特征映射,得到:

6320f2833c4f2a1cbde15d5957e466c0.png

可以递归地扩展为:

e7782e6f2ce3f8d6c1c4aeeee82b6b2c.png

比较dense shortcut等价于在每个卷积块的末端增加额外的常数。表1中所示的ResNet50-Dense的这种设计并没有取得比原来的ResNet50更好的性能。于是便设计了DS ShortCut,而这里使用归一化的动机是为了将前面的所有特征归一化到一个相似的尺度,方便训练。加权求和是为了让网络根据特征图的显著性给每个归一化特征图分配适当的权值。

此外,在实验中发现,在3*3卷积的卷积块内插入weighted normalized shortcut也有助于性能的提高,由于增加的计算负担几乎很少,值得考虑。这里称之为DS2Net。

4、实验结果

4.1、基于CIFAR-100实验

26407d1723b3d90e23c53e97459aa9d6.png

可以看出在CIFAR-100数据集上基于DS的设计,参数更少,精度更高;

4.2、基于ImageNet实验

a48460c8553034f580ac2a960a9309b5.png

可以看出在ImageNet数据集上基于DS的设计,参数更少,精度更高;

4.3、基于MS COCO 2014检测实验

17e7a6b9e46fb1c38248d05d47df0200.png

可以看出在ResNet中使用DSNet提升mAP将近3个百分点;

4.4、Grad-CAM可视化实验

b87e2213727d4099d0d9c0de78832a8c.png

可以看出对于DSNet,其对于目标的识别区域更加的准确和集中,也因此会带来更好的效果。

更为详细内容可以参见论文中的描述。

References

[1] ResNet or DenseNet? Introducing Dense Shortcuts to ResNet

论文下载

链接: https:// pan.baidu.com/s/1W6k5Ss Le0Z4FXx3KdMx9nQ
提取码:cver

强烈推荐大家关注CVer知乎账号和CVer微信公众号,可以快速了解到最新优质的CV论文。

推荐阅读

综述 | 基于深度学习的端到端人脸识别技术:全面调研

TBC:共享Thinner Filters,实现更强的CNN!

综述 | 行人检测技术(从手工特征到深度学习):全面调研

超越EfficientNets!无需注意力,也能让你的网络更快更强!

OpenCV 4.5来了!更强的SIFT,改进RANSAC算法,新增目标跟踪网络SiamRPN++

综述 | 基于深度学习的实时语义分割方法:全面调研

涨点神器!南航提出AFF:注意力特征融合

NeurIPS 2020 | 谷歌大脑提出:重新思考预训练和自训练

NeurIPS 2020 | 用于图像复原/恢复的神经稀疏表示

NeurIPS 2020 | aLRPLoss:统一目标检测中的分类和定位的平衡损失函数

CCE:具有互补交叉熵的不平衡图像分类

谷歌地标检索2020 Kaggle 第一名解决方案

ECCV AIM 2020 真实图像超分辨率挑战赛3项冠军解决方案

LVIS 实例分割挑战赛2020的第一名解决方案:好的Box不能保证好的Mask

ETH Zurich提出DPIR:具有Denoiser先验的即插即用图像恢复

综述 | 人脸图像质量评估:全面调研(2004-2020)

VarifocalNet:IoU-aware 密集目标检测器(已开源)

ECCV 2020 | NAS-DIP:通过NAS实现DIP(去噪/去雾/超分辨率/修复等)

TIP 2020 | PNEN:金字塔Non-Local增强型网络

综述 | 小样本学习:全面调研(Few-shot)

MiCo:用于半监督域自适应的Mixup联合训练

使用深度神经网络从Noisy Labels中学习:全面调研

PyTorch3D:面向3D计算机视觉的PyTorch工具箱

剪枝filter?还是剪枝layer?这是个问题

ECCV 2020 | WeightNet:重新探索Weight网络的设计空间

Mask TextSpotter v3:用于场景文字检测和识别的分割Proposal网络

ECCV 2020 | 魔鬼在细节中:车辆重识别的自监督注意力(SAVER)

ECCV 2020 | 53.5 AP!PAA:用于目标检测的IoU预测的概率Anchor分配

ECCV 2020 | 南京理工提出FPT:特征金字塔Transformer

ECCV 2020 | 长尾数据集中多标签分类的分布平衡损失

ECCV 2020 | BMask R-CNN:边界保持的Mask R-CNN

ECCV 2020 | 即插即用!PSConv:将特征金字塔压缩到紧凑的多尺度卷积层中

ECCV 2020 | STTN:用于视频修复的时空联合Transformer

ECCV 2020 | LiteFlowNet3:实现更准确的光流估计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值