CNN卷积神经网络之RegNet

CNN卷积神经网络之RegNet

  • 前言
  • 设计思路
    • AnyNet设计空间
  • 网络结构
  • 实验结果
  • 消融实验结论


前言

《Designing Network Design Spaces》
论文地址:https://arxiv.org/pdf/2003.13678.pdf
代码:https://github.com/facebookresearch/pycls
何恺明团队在CVPR 2020上发布的论文,提出了RegNet。在相同的训练设计和FLOPs的条件下,RegNet的精度超越了之前最SOTA的EfficientNet,并且在GPU上的速度比EfficientNet快5倍。EfficientNet中分辨率、深度、宽度对网络的性能影响是相互作用的。CNN卷积神经网络之EfficientNet

近些年来,NAS(Neural Architecture Search)网络搜索技术非常火,但这对计算资源要求很高。包括这篇论文中的RegNet也有使用到NAS技术。但之前的一些有关NAS的论文都是在给定的设计空间(designed search space)中通过搜索算法去搜索出一组最佳参数组合。但在这篇论文中作者要探究的是如何去设计设计空间(design design spaces)并发现一些网络的通用设计准则。

设计思路

AnyNet设计空间

AnyNet设计空间是这篇论文中提出的最原始的设计空间,网络的主体就是由三部分组成(stem,body,head)。其中stem和head是固定不变的,stem就是一个普通的卷积层。head就是分类网络中常见的分类器,由一个全局平均池化层和全连接层构成。网络中最主要的就是body部分,body是由4个stage堆叠组成,而stage是由一系列block堆叠组成。但block的详细结构以及参数并没有做任何限制。论文作者说,根据他们的经验将block设计为带有分组卷积的残差结构。
CNN卷积神经网络之RegNet_第1张图片
这一路限制下来,搜索空间迅速下降,有点概率统计基础的可以很容易得到下面的结果:

CNN卷积神经网络之RegNet_第2张图片
其实作者还将原来AnyNetX设计空间的维度d从16个维度减少到6个维度,大小接近10个数量级。
此外,最后一个RegNet,作者认为,一个stage里的所有block的w通道数应该是一致的。

网络结构

CNN卷积神经网络之RegNet_第3张图片

CNN卷积神经网络之RegNet_第4张图片

RegNetY=RegNetX+SE,RegNetY在block中的3x3 Group Conv后接了个SE(Squeeze-and-Excitation)模块。CNN卷积神经网络之SENet

CNN卷积神经网络之RegNet_第5张图片

CNN卷积神经网络之RegNet_第6张图片

实验结果

RegNet和现有的SOTA移动端模型的性能对比:
CNN卷积神经网络之RegNet_第7张图片
RegNet和ResNet、ResNext模型的对比结果,与ResNet差不多的计算量下,RegNet性能更好(但是感觉跟ResNext不相上下):
CNN卷积神经网络之RegNet_第8张图片

RegNet和SOTA EfficientNet 模型的对比结果:
CNN卷积神经网络之RegNet_第9张图片

消融实验结论

  • 固定深度:
    作者观察到顶级模型的深度相当稳定(∼20个块)。比较在不同的flops区间使用固定深度,对每个模型进行了100个epoch的训练。令人惊讶的是,在平均和最佳情况下,在所有的flops区间,固定深度网络可以与深度不同的网络的性能相匹配。

  • 更少的阶段:
    在高flops区间,最佳的REGNET模型在第四阶段有很少的块(一个或两个)。因此,作者在6.4GF下测试只要3个阶段的网络,训练100个epochs。结果观察到三阶段网络的性能相当差。然而,我们注意到,为了使三阶段网络运行良好(留作将来的工作),可能需要额外的改变(例如,在网络stem或head)。

  • 反向瓶颈:
    使用反向瓶颈(b<1,即先升维再降维)会降低性能。

  • Swish与ReLU:
    最近的许多方法使用Swish激活函数,作者使用Swish和ReLU研究RegNetY。发现Swish在低flops下优于ReLU,但在高flops下,ReLU更好。有趣的是,如果g被限制为1(深度可分离卷积),Swish的性能要比ReLU好得多。这表明深度可分离卷积和Swish的交互作用是有利的,尽管根本原因还不清楚。

上一篇:CNN卷积神经网络之EfficientNet

你可能感兴趣的:(CNN卷积神经网络,cnn,深度学习,神经网络)