网易首页 > 网易号 > 正文 申请入驻

RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大!

0
分享至

  2020年B站年度弹幕是“爷青回”。 一定有很多瞬间,让你感觉“爷的青春回来了”。 在这个卷积网络各种超参精确到小数点后三位的时代,你是否还记得五六年前的田园时代,堆几个卷积层就能涨点的快乐?

  我们最近的工作RepVGG,用结构重参数化(structural re-parameterization)实现VGG式单路极简架构,一路3x3卷到底,在速度和性能上达到SOTA水平,在ImageNet上超过80%正确率。

  不用NAS,不用attention,不用各种新颖的激活函数,甚至不用分支结构,只用3x3卷积和ReLU,也能达到SOTA性能?

  论文:https://arxiv.org/abs/2101.03697

  开源预训练模型和代码(PyTorch版):

  https://github.com/DingXiaoH/RepVGG

  放出两天已有300 star,模型已被下载数百次,据同行反馈在真实业务上效果很好。

  (MegEngine版):

  https://github.com/megvii-model/RepVGG

  太长不看版

  方法有多简单呢?下午5点看完文章,晚饭前就能写完代码开始训练,第二天就能看到结果。如果没时间看完这篇文章,只要点开下面的代码,看完前100行就可以完全搞明白。

  https://github.com/DingXiaoH/RepVGG/blob/main/repvgg.py

  下面是详细介绍。

  1

  模型定义

  我们所说的“VGG式”指的是:

  1. 没有任何分支结构。即通常所说的plain或feed-forward架构。

  2. 仅使用3x3卷积。

  3. 仅使用ReLU作为激活函数。

  下面用一句话介绍RepVGG模型的基本架构:将20多层3x3卷积堆起来,分成5个stage,每个stage的第一层是stride=2的降采样,每个卷积层用ReLU作为激活函数。

  再用一句话介绍RepVGG模型的详细结构:RepVGG-A的5个stage分别有[1, 2, 4, 14, 1]层,RepVGG-B的5个stage分别有[1, 4, 6, 16, 1]层,宽度是[64, 128, 256, 512]的若干倍。这里的倍数是随意指定的诸如1.5,2.5这样的“工整”的数字,没有经过细调。

  再用一句话介绍训练设定:ImageNet上120 epochs,不用trick,甚至直接用PyTorch官方示例的训练代码就能训出来!

  为什么要设计这种极简模型,这么简单的纯手工设计模型又是如何在ImageNet上达到SOTA水平的呢?

  2

  为什么要用VGG模型?

  除了我们相信简单就是美以外,VGG式极简模型至少还有五大现实的优势(详见论文)。

  1. 3x3卷积非常快。在GPU上,3x3卷积的计算密度(理论运算量除以所用时间)可达1x1和5x5卷积的四倍。

  2. 单路架构非常快,因为并行度高。同样的计算量,“大而整”的运算效率远超“小而碎”的运算。

  3. 单路架构省内存。例如,ResNet的shortcut虽然不占计算量,却增加了一倍的显存占用。

  4. 单路架构灵活性更好,容易改变各层的宽度(如剪枝)。

  5. RepVGG主体部分只有一种算子:3x3卷积接ReLU。在设计专用芯片时,给定芯片尺寸或造价,我们可以集成海量的3x3卷积-ReLU计算单元来达到很高的效率。别忘了,单路架构省内存的特性也可以帮我们少做存储单元。

  3

  结构重参数化让VGG再次伟大

  相比于各种多分支架构(如ResNet,Inception,DenseNet,各种NAS架构),近年来VGG式模型鲜有关注,主要自然是因为性能差。例如,有研究[1]认为,ResNet性能好的一种解释是ResNet的分支结构(shortcut)产生了一个大量子模型的隐式ensemble(因为每遇到一次分支,总的路径就变成两倍),单路架构显然不具备这种特点。

  既然多分支架构是对训练有益的,而我们想要部署的模型是单路架构,我们提出解耦训练时和推理时架构。我们通常使用模型的方式是:

  1. 训练一个模型

  2. 部署这个模型

  但在这里,我们提出一个新的做法:

  1. 训练一个多分支模型

  2. 将多分支模型等价转换为单路模型

  3. 部署单路模型

  这样就可以同时利用多分支模型训练时的优势(性能高)和单路模型推理时的好处(速度快、省内存)。这里的关键显然在于这种多分支模型的构造形式和转换的方式。

  我们的实现方式是在训练时,为每一个3x3卷积层添加平行的1x1卷积分支和恒等映射分支,构成一个RepVGG Block。这种设计是借鉴ResNet的做法,区别在于ResNet是每隔两层或三层加一分支,而我们是每层都加。

  训练完成后,我们对模型做等价转换,得到部署模型。这一转换也非常简单,因为1x1卷积是一个特殊(卷积核中有很多0)的3x3卷积,而恒等映射是一个特殊(以单位矩阵为卷积核)的1x1卷积!根据卷积的线性(具体来说是可加性),每个RepVGG Block的三个分支可以合并为一个3x3卷积。

  下图描述了这一转换过程。在这一示例中,输入和输出通道都是2,故3x3卷积的参数是4个3x3矩阵,1x1卷积的参数是一个2x2矩阵。注意三个分支都有BN(batch normalization)层,其参数包括累积得到的均值及标准差和学得的缩放因子及bias。这并不会妨碍转换的可行性,因为推理时的卷积层和其后的BN层可以等价转换为一个带bias的卷积层(也就是通常所谓的“吸BN”)。

  对三分支分别“吸BN”之后(注意恒等映射可以看成一个“卷积层”,其参数是一个2x2单位矩阵!),将得到的1x1卷积核用0给pad成3x3。最后,三分支得到的卷积核和bias分别相加即可。这样,每个RepVGG Block转换前后的输出完全相同,因而训练好的模型可以等价转换为只有3x3卷积的单路模型。

  从这一转换过程中,我们看到了“结构重参数化”的实质:训练时的结构对应一组参数,推理时我们想要的结构对应另一组参数;只要能把前者的参数等价转换为后者,就可以将前者的结构等价转换为后者。

  4

  实验结果

  在1080Ti上测试,RepVGG模型的速度-精度相当出色。在公平的训练设定下,同精度的RepVGG速度是ResNet-50的183%,ResNet-101的201%,EfficientNet的259%,RegNet的131%。注意,RepVGG取得超过EfficientNet和RegNet并没有使用任何的NAS或繁重的人工迭代设计。

  这也说明,在不同的架构之间用FLOPs来衡量其真实速度是欠妥的。例如,RepVGG-B2的FLOPs是EfficientNet-B3的10倍,但1080Ti上的速度是后者的2倍,这说明前者的计算密度是后者的20余倍。

  在Cityscapes上的语义分割实验表明,在速度更快的情况下,RepVGG模型比ResNet系列高约1%到1.7%的mIoU,或在mIoU高0.37%的情况下速度快62%。

  另外一系列ablation studies和对比实验表明,结构重参数化是RepVGG模型性能出色的关键(详见论文)。

  最后需要注明的是,RepVGG是为GPU和专用硬件设计的高效模型,追求高速度、省内存,较少关注参数量和理论计算量。在低算力设备上,可能不如MobileNet和ShuffleNet系列适用。

  参考文献

  [1] Andreas Veit, Michael J Wilber, and Serge Belongie. Residual networks behave like ensembles of relatively shallow networks. In Advances in neural information processing systems, pages 550–558, 2016. 2, 4, 8

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
NBA官宣总决赛裁判大名单:福斯特托尼兄弟等四大名哨领衔

NBA官宣总决赛裁判大名单:福斯特托尼兄弟等四大名哨领衔

醉卧浮生
2026-06-03 00:41:39
央视再曝新毒物!长期用会致癌,已流窜至全国,不少婴儿孕妇中招

央视再曝新毒物!长期用会致癌,已流窜至全国,不少婴儿孕妇中招

做一个合格的吃瓜群众
2026-06-02 14:36:43
瞒了整整三个月!伊朗终于官宣大事,局势已彻底尘埃落定?

瞒了整整三个月!伊朗终于官宣大事,局势已彻底尘埃落定?

一网打尽全球焦点
2026-06-03 02:53:45
“机密”文件竟在微信群中传播!查明:档案局服务人员发现涉密文件与儿子工作有关,遂拍照发家庭群,已被辞退;相关负责人被党内严重警告

“机密”文件竟在微信群中传播!查明:档案局服务人员发现涉密文件与儿子工作有关,遂拍照发家庭群,已被辞退;相关负责人被党内严重警告

扬子晚报
2026-06-03 07:37:03
太狠了!一个夏天赚10亿美金!他到底凭什么?!

太狠了!一个夏天赚10亿美金!他到底凭什么?!

柚子说球
2026-06-02 22:34:38
痛心!广西失联18岁女孩李思绮去世,月薪3000,晚上11点才下班

痛心!广西失联18岁女孩李思绮去世,月薪3000,晚上11点才下班

小鋭有话说
2026-06-03 11:19:08
好消息!下个月起,单位不能随便辞退老员工了!

好消息!下个月起,单位不能随便辞退老员工了!

岁月有情1314
2026-06-03 01:36:24
网传同济大学解聘在岗教师,教师职称涵盖讲师、副教授、教授?

网传同济大学解聘在岗教师,教师职称涵盖讲师、副教授、教授?

文忆天下
2026-06-03 07:09:35
伊朗革命卫队称袭击美国第五舰队总部

伊朗革命卫队称袭击美国第五舰队总部

界面新闻
2026-06-03 07:52:50
1949年,兰州战役结束,八千将士牺牲,数万俘虏里找不到敌军军官

1949年,兰州战役结束,八千将士牺牲,数万俘虏里找不到敌军军官

唠叨说历史
2026-06-02 17:16:56
香港“演艺界教父”钟景辉今晨在睡梦中安详离世……他是周润发等巨星的恩师,曾参演《赌神3》《算死草》《使徒行者》

香港“演艺界教父”钟景辉今晨在睡梦中安详离世……他是周润发等巨星的恩师,曾参演《赌神3》《算死草》《使徒行者》

都市快报橙柿互动
2026-06-03 14:08:56
割四赔五后续:麦客撤了,麦烂了,农户跪了,这锅谁背?

割四赔五后续:麦客撤了,麦烂了,农户跪了,这锅谁背?

番外行
2026-06-02 14:19:47
AI原生时代,新一代领导者登场

AI原生时代,新一代领导者登场

智东西
2026-06-02 21:25:34
审慎起见,香港食安中心封存一批幼儿成长配方奶粉

审慎起见,香港食安中心封存一批幼儿成长配方奶粉

中新经纬
2026-06-03 11:15:41
山西沁源县委书记赵永进被查,此前当地煤矿爆炸致82人死亡

山西沁源县委书记赵永进被查,此前当地煤矿爆炸致82人死亡

知知贵阳
2026-06-02 22:06:03
“宿迁阿斗”,国补都扶不起京东?

“宿迁阿斗”,国补都扶不起京东?

七使2022
2026-06-02 16:21:50
男子为寻“刺激”半夜侵犯女性,2016年33名女子遭侵犯仅4人报案

男子为寻“刺激”半夜侵犯女性,2016年33名女子遭侵犯仅4人报案

汉史趣闻
2026-06-03 10:50:35
23小时锁单破万,星耀7靠什么颠覆中级车市场?

23小时锁单破万,星耀7靠什么颠覆中级车市场?

《新车新技术》
2026-05-31 20:39:11
NBA总决赛G1开战前,文班亚马为马刺队友赠送了一份独特的礼物

NBA总决赛G1开战前,文班亚马为马刺队友赠送了一份独特的礼物

夜白侃球
2026-06-03 10:57:38
稻城亚丁占省道反转!央媒曝猛料,就算景区敛财,游客也全力支持

稻城亚丁占省道反转!央媒曝猛料,就算景区敛财,游客也全力支持

小鋭有话说
2026-06-03 11:45:29
2026-06-03 15:03:00
AI科技评论 incentive-icons
AI科技评论
点评学术,服务AI
7329文章数 20755关注度
往期回顾 全部

科技要闻

员工抗议键鼠追踪,Meta让步:可暂停30分钟

头条要闻

女子称凌晨入睡后银行卡多次被转账损失42万 银行回应

头条要闻

女子称凌晨入睡后银行卡多次被转账损失42万 银行回应

体育要闻

选择中国品牌的库里,和他们的巨大野心

娱乐要闻

著名演员魏宗万去世!曾演活司马懿

财经要闻

左手通胀右手衰退,欧美当下的困局

汽车要闻

依托全域辅助驾驶布局 千里浩瀚助推吉利5月市场大热

态度原创

手机
健康
艺术
家居
教育

手机要闻

谷歌扩大Quick Share与AirDrop互传适配范围 覆盖更多安卓机型

违规干细胞应用,暗藏致命隐患!

艺术要闻

二十年前割麦的场景

家居要闻

江畔轻奢 观云大宅

教育要闻

教育部:“阳光志愿”信息服务系统将优化升级

无障碍浏览 进入关怀版