RepVGG

论文地址:RepVGG: Making VGG-style ConvNets Great Again

官方实现:DingXiaoH/RepVGG

自定义实现:ZJCV/ZCls

摘要

1
We present a simple but powerful architecture of convolutional neural network, which has a VGG-like inference-time body composed of nothing but a stack of 3x3 convolution and ReLU, while the training-time model has a multi-branch topology. Such decoupling of the training-time and inference-time architecture is realized by a structural re-parameterization technique so that the model is named RepVGG. On ImageNet, RepVGG reaches over 80\% top-1 accuracy, which is the first time for a plain model, to the best of our knowledge. On NVIDIA 1080Ti GPU, RepVGG models run 83% faster than ResNet-50 or 101% faster than ResNet-101 with higher accuracy and show favorable accuracy-speed trade-off compared to the state-of-the-art models like EfficientNet and RegNet. The code and trained models are available at https://github.com/megvii-model/RepVGG 

我们实现了一个简单但是强大的卷积神经网络,在推导阶段,其实现类似于VGG类型,仅由3x3卷积和ReLU组成;在训练阶段,其实现是一个多分支拓扑结构。训练结构和推理结构的解耦是通过结构重参数化技术来实现的,因此该模型被命名为RepVGG。对于ImageNet数据集,RepVGG超过了80% top-1准确率,据我们所知,这是第一次使用简单的模型达到的效果。在NVIDIA 1080TI GPU上,RepVGG比ResNet-50快83%,比ResNet-101快101%(同时还有更高的精度)。相对于目前最好的EfficientNet/RegNet而言,RepVGG同样实现了一个很好的准确率-速度平衡。代码和预训练模型发布在:https://github.com/megvii-model/RepVGG

解读

RepVGG参考了VGG网络,并通过结构重参数化技术来解耦训练时多分支和推理时简单架构的实现。在训练阶段插入构建块RepVGGBlock,用于增强训练阶段的模型泛化能力;在推理阶段通过多分支融合,仅包含Conv3x3和ReLU,得到一个快速推理模型

相关阅读