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

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.

相关推荐
热点推荐
王菲没想到,曾被自己“嫌弃”的李亚鹏,如今再让所有人刮目相看

王菲没想到,曾被自己“嫌弃”的李亚鹏,如今再让所有人刮目相看

雅儿姐游世界
2026-08-08 09:36:50
意甲高塔遭英超双雄疯抢,国米为埃斯波西托标价7300万镑

意甲高塔遭英超双雄疯抢,国米为埃斯波西托标价7300万镑

星耀国际足坛
2026-08-08 21:59:28
南亚次大陆一声巨响,中东防务圈破防,印度烈火-4到底打谁的脸?

南亚次大陆一声巨响,中东防务圈破防,印度烈火-4到底打谁的脸?

止戈军是我
2026-08-08 21:46:03
我国超3亿人患糖尿病?医生呼吁:停止食用“5物”,保护胰岛

我国超3亿人患糖尿病?医生呼吁:停止食用“5物”,保护胰岛

任医生聊健康
2026-07-09 12:00:29
大鱼来了!男篮锋线国手拒签顶薪,或被广东队“2换1”交易抢下?

大鱼来了!男篮锋线国手拒签顶薪,或被广东队“2换1”交易抢下?

绯雨儿
2026-08-08 12:08:02
预售走不动!《欢迎来龙餐馆》尝到空降的苦果,接下来得看沈腾了

预售走不动!《欢迎来龙餐馆》尝到空降的苦果,接下来得看沈腾了

星寒新影视
2026-08-07 21:28:03
乌克兰之所以能够走到今天,罪魁祸首不是北约,不是欧盟

乌克兰之所以能够走到今天,罪魁祸首不是北约,不是欧盟

安安说
2026-07-31 11:33:50
砸下十亿就能换回一条命吗?47岁的蔡磊在与渐冻症苦苦周旋了六年之后,这个男人最终在这场生死豪赌中笑到了最后

砸下十亿就能换回一条命吗?47岁的蔡磊在与渐冻症苦苦周旋了六年之后,这个男人最终在这场生死豪赌中笑到了最后

人生录
2026-08-07 00:05:14
黄金创今年以来最佳表现

黄金创今年以来最佳表现

每日经济新闻
2026-08-08 09:37:13
重大转折出现!22岁失联女孩线索锁定夺命,全程无防护令人揪心!

重大转折出现!22岁失联女孩线索锁定夺命,全程无防护令人揪心!

北海史记
2026-08-08 19:47:07
张柏芝18岁大儿子,与华裔女生恋爱,网友:这颜值,好般配...

张柏芝18岁大儿子,与华裔女生恋爱,网友:这颜值,好般配...

美芽
2026-08-06 19:28:47
陪父亲去北京看腰疼,老专家只按两下,就问到了病根

陪父亲去北京看腰疼,老专家只按两下,就问到了病根

观观说事
2026-08-08 10:15:03
重磅!西工大落户北京!

重磅!西工大落户北京!

京城教育圈
2026-08-08 21:19:54
谢振轩整理爷爷旧物,翻出满月红包,张柏芝看完沉默良久

谢振轩整理爷爷旧物,翻出满月红包,张柏芝看完沉默良久

精彩背后
2026-08-07 02:45:34
港媒曝白韵琴夫妇欲仿照蔡澜奢华养老,身家数亿要活110岁才花完

港媒曝白韵琴夫妇欲仿照蔡澜奢华养老,身家数亿要活110岁才花完

梅亭谈
2026-08-07 17:47:33
汪峰:我的大女儿给二女儿做了榜样!汪曼熙受苦了我得让醒醒知道

汪峰:我的大女儿给二女儿做了榜样!汪曼熙受苦了我得让醒醒知道

情感大头说说
2026-08-08 06:07:21
2026国家级养老调整定调,企退群体待遇缩差,五年方向已经明确

2026国家级养老调整定调,企退群体待遇缩差,五年方向已经明确

白昼说故事
2026-08-08 09:10:57
1000万,海港报价泰山队18岁新星,下半程突然爆发,泰山套现好机会?

1000万,海港报价泰山队18岁新星,下半程突然爆发,泰山套现好机会?

体坛风之子
2026-08-08 07:00:12
重聚!詹姆斯和韦德罕见合练曝光:两人同框大笑粉碎兄弟决裂传闻

重聚!詹姆斯和韦德罕见合练曝光:两人同框大笑粉碎兄弟决裂传闻

追球者
2026-08-08 11:47:21
热搜“婴儿进月子中心4天被送入ICU”:有毒月嫂,正在逼疯家长们

热搜“婴儿进月子中心4天被送入ICU”:有毒月嫂,正在逼疯家长们

大鱼简科
2026-08-07 11:46:40
2026-08-08 22:31:00
AI科技评论 incentive-icons
AI科技评论
点评学术,服务AI
7529文章数 20772关注度
往期回顾 全部

科技要闻

SpaceX最快下周完成600亿美元收购Cursor

头条要闻

男子在12306上买机票因行程有变退票 被扣了75%票价

头条要闻

男子在12306上买机票因行程有变退票 被扣了75%票价

体育要闻

29岁克拉克死因公布:吸食海洛因与可卡因

娱乐要闻

萧敬腾坦白!与大14岁妻子选择丁克

财经要闻

一枚“回旋镖”,击中王思聪

汽车要闻

这是"北京卫士"!星钽5X或搭载华为ADS Pro高阶驾驶辅助

态度原创

数码
艺术
本地
教育
亲子

数码要闻

RTX Spark最新跑分出炉:20核CPU多核紧追M4 Max、单核仍差24.5%

艺术要闻

24幅 中国当代画家 优秀人物油画

本地新闻

课本里的童年,绍兴正上演

教育要闻

【暑期社会实践】京芽智护小队中期总结|初心聚力踏前路,温情护航向新行

亲子要闻

发出美妙音乐的奥利奥先生是节奏盒子! #手工 #积木 #节奏盒子 #奥利奥 #音乐盒子

无障碍浏览 进入关怀版