[RepVGG] RepVGG:Making VGG-style ConvNets Great Again(CVPR.2021)

RepVGG论文提出了一种结构简单、速度与精度兼备的SOTA网络结构,通过structural re-parameterization解耦训练时的多分支结构和测试时的单分支结构。实验表明,RepVGG在图像分类和语义分割任务上表现出色,其设计灵感来源于ResNet,但避免了多分支结构在推理时的开销,实现了快速且省内存的模型部署。
摘要由CSDN通过智能技术生成
image-20210304185411566

paper:https://arxiv.org/abs/2101.0369
code:

1. Motivation

​ 如今更复杂的卷积网络可以取得更大的精度,但是相对于简单的卷积网络来说,也有2种缺点,首先是多分支结构中复杂的设定,以及复杂卷积网络的计算资源的开销。

​ 同时,其他simple ConvNets的性能并不能比得过complicated ConvNets。

2. Contribution

本文的贡献如下:

  • 本文提出了RepVGG,一种简单,实现速度与精度平衡的SOTA 网络结构。

  • 本文提出了structural re-parameterization 结构化重参数来解耦训练多分支拓扑以及测试单分支plain结构。

  • 本文显示了VGG在图像分类以及语义分割上的实用性,高效并且利于实现。

RepVGG有以下优点:

  • RepVGG模型是一种VGG-like 结构,没有许多分支,每一层的输入就是上一层的输出。
  • RepVGG模型的body部分只包含了3x3卷积以及ReLU。
  • RepVGG模型具体的结构没有automatic search,manual refinement人为加工,compound scaling 混合比例等设定。

3. Building RepVGG via Structural Re-param

3.1 Simple is Fast, Memory-economical, Flexible

​ 使用simple ConvNets的原因在于快速,省内存以及灵活。

  • Fast
image-20210304204249099
  • Memory-economical
image-20210304205452203
  • Flexible

    多分支的拓扑结构暴露了网络结构上的局限性,例如输出的shape,res-block的最后一个卷积必须保持相同的shape,否则就无法实现short-cut;以及限制了channel purning通道剪枝的应用。

3.2 Traing-time Multi-branch Architecture

​ 作者收到ResNet启发,并且通过相关的研究发现,ResNet之所以性能比VGG好的原因,ResNet的分支结构shortcut,可以使得模型具有一种大量子模型的隐式ensemble。确切来说,假如模型有n个blocks,模型可以被表示为 2 n 2^n 2n的ensemble模型(根据作者的解释,每遇到一次分支,总的路径救护变成2倍),单路架构显然不具备这种特点。

image-20210304212256348

​ 由于多分支拓扑在inference过程存在缺点,但又利于训练,因此作者构建了一种只使用多分支结构用于training-time的模型。这样就可以同时利用多分支模型训练时的优势(性能高)和单路模型推理时的好处(速度快、省内存),如图2所示。这里的关键显然在于这种多分支模型的构造形式和转换的方式(3.3小节叙述)。ResNet中的Res-Block的计算公式为:
y = x + f ( x ) i f ( x . s i z e ( ) ≠ f ( x ) . s i z e ( ) ) : y = g ( x ) + f ( x ) y= x +f(x)\\ if ( x.size() \not= f(x).size()):\\ y = g(x) + f(x) y=x+f(x)if(x.size()=f(x).size()):y=g(x)+f(x)

​ 受到ResNet的启发,RepVGG设计为三分支的结构,本文的实现方式为:在训练时,为每一个3x3卷积层添加平行的1x1卷积分支和恒等映射分支,构成一个RepVGG Block。这种设计是借鉴ResNet的做法,区别在于ResNet是每隔两层或三层加一分支,而RepVGG是每层都加。公式如下:
y = x + g ( x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值