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.
核心贡献 · Key contributions
提出 RepVGG,一种 VGG 风格的纯架构,推理时仅由 3x3 卷积和 ReLU 组成。 Proposes RepVGG, a VGG-style plain architecture with only 3x3 conv and ReLU for inference.
引入结构重参数化技术,解耦训练时的多分支拓扑与推理时的纯拓扑。 Introduces structural re-parameterization to decouple training-time multi-branch and inference-time plain topology.
首次以纯模型在 ImageNet 上达到超过 80%的 top-1 准确率。 Achieves over 80% top-1 accuracy on ImageNet with a plain model for the first time.
与 EfficientNet 和 RegNet 等最先进模型相比,展现出有利的速度-准确率权衡。 Demonstrates favorable speed-accuracy trade-off compared to state-of-the-art models like EfficientNet and RegNet.
在语义分割中展现出比 ResNet 骨干网络更高的速度和准确率。 Shows effectiveness in semantic segmentation with higher speed and accuracy than ResNet backbones.
提供适用于 GPU 和专用硬件的简单实用的卷积网络。 Provides simple and practical ConvNets suitable for GPU and specialized hardware.
局限 · Limitations
RepVGG 在低功耗设备上不如 MobileNets 等移动模型参数高效。 RepVGG is less parameter-efficient than mobile-regime models like MobileNets for low-power devices.
结构重参数化需要谨慎处理批归一化和分支转换。 The structural re-parameterization requires careful handling of batch normalization and branch conversion.
该方法主要针对 GPU 设计,可能并非对所有硬件平台最优。 The method is primarily designed for GPU and may not be optimal for all hardware platforms.
消融研究表明,移除恒等分支或 1x1 分支会显著降低准确率。 The ablation studies show that removing identity or 1x1 branches significantly reduces accuracy.
分割中的空洞卷积实现效率低,拖慢推理速度。 The dilated convolution implementation in segmentation is inefficient, slowing inference.
论文章节 · Sections(共 16)
摘要Abstract
1 引言1 Introduction
2.1 从单路径到多分支2.1 From Single-path to Multi-branch
2.2 单路径模型的有效训练2.2 Effective Training of Single-path Models
2.3 模型重参数化2.3 Model Re-parameterization
2.4 Winograd 卷积2.4 Winograd Convolution
3.1 简单即快速、节省内存、灵活3.1 Simple is Fast, Memory-economical, Flexible