点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI

CNN经典模型VGG自2014年诞生以来,由于相比于各种多分支架构(如ResNet) 性能不佳,已渐“没落”……

但来自清华大学和旷视科技等机构的研究人员,他们居然只用3x3卷积和ReLU激活函数的超级简单架构,通过结构重参数化 (structural re-parameterization),就让这个7年前的老架构再次“容光焕发”!Great Again!

简单到什么程度?研究人员表示:

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

新架构RepVGG结合了多分支架构和单路架构的优点,在速度和性能上直达SOTA,在ImageNet上精度超过80%!

相关论文已被CVPR 2021接收,开源预训练模型和代码在GitHub上也已收获1700+ 标星!

兼顾多分支和单路架构的优点

一个已经快要“没落”的老模型,为什么还要重新捡起利用?

研究人员介绍道,因为简单的VGG式模型(单路架构、仅使用3x3卷积和ReLU激活函数)有五大现实优势:

1、3x3卷积非常快。在GPU上,3x3卷积的计算密度(理论运算量除以所用时间)可达1x1和5x5卷积的四倍。
2、单路架构因为并行度高也非常快。同样的计算量,“大而整”的运算效率远超“小而碎”的运算。
3、单路架构省内存。例如,ResNet的shortcut虽然不占计算量,却增加了一倍的显存占用。
4、单路架构灵活性更好,容易改变各层的宽度(如剪枝)。
5、RepVGG主体部分只有一种算子:3x3卷积接ReLU。在设计专用芯片时,给定芯片尺寸或造价,我们可以集成海量的3x3卷积-ReLU计算单元来达到很高的效率。别忘了,单路架构省内存的特性也可以帮我们少做存储单元。

由于多分支架构性能更好,为了让新架构RepVGG兼顾两者优点,他们提出一个新的做法:先训练一个多分支模型,然后将多分支模型等价转换为单路模型,最后部署这个单路模型。

具体来说,首先借鉴ResNet的做法,在训练时为每一个3x3卷积层添加平行的1x1卷积分支和恒等映射分支,构成一个RepVGG Block。

然后需将RepVGG Block转换为一个卷积,也就是将训练好的模型等价转换为只有3x3卷积的单路模型。

怎么转换?结构重参数化

如上图,利用卷积的相加性,需经过两次变换。

示例中,输入输出通道数都是2,那3x3卷积核所对应的参数矩阵为2x2x3x3,也就是4个3x3矩阵,1x1卷积核对应的参数矩阵为2x2x1x1,也就是4个1x1矩阵,为了画图方便换成1个2x2矩阵。

把1x1卷积等价转换为3x3卷积,只要用0填充一下就行了。

而恒等映射是一个特殊(以单位矩阵为卷积核)的1x1卷积,因此也是一个特殊的3x3卷积。

以上三个分支都有BN(batch normalization)层,推理时的卷积层和其后的BN层可转换为一个带bias的卷积层。

最后,将三分支得到的卷积核和bias分别相加,完成等价转换为只有3x3卷积的单路模型。

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

不少人都称赞这篇论文的思路非常有意思,简单易懂,让人眼前一亮!

效果确实也非常不错——

速度和精度达SOTA

RepVGG这样只用3x3卷积和ReLU激活函数的简单架构,特别适用于GPU和特殊推理芯片(inference chips)。

研究人员在1080Ti上对RepVGG进行了测试。在公平的训练设定下,同精度的RepVGG速度是ResNet-50的183%,ResNet-101的201%,EfficientNet的259%,RegNet的131%。

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

通过结构重参数化,RepVGG在ImageNet上达到了80.57%的top1精度,与最先进的复杂模型相比,速度-精度都非常出色。

关于作者

论文一作:丁霄汉,清华大学计算机视觉博士生,研究方向是计算机视觉和机器学习。在CVPR、ICML、ICCV、NeurIPS作为第一作者发表论文5篇。曾获得第七届百度奖学金荣誉——“十位顶尖 AI 学子”之一。

论文二作:张详雨,旷视科技旷视研究院base model组负责人,西安交大博士生。曾在微软亚洲研究院实习,是ResNet的主要作者之一。

论文三作:马宁宁,香港科技大学与旷视联合培养博士,主要研究方向为计算机视觉和高性能卷积神经网络。

论文地址:https://arxiv.org/abs/2101.03697
GitHub地址:https://github.com/DingXiaoH/RepVGG

参考链接:

[1]https://www.reddit.com/r/MachineLearning/comments/nqflsp/rrepvgg_making_vggstyle_convnets_great_again/
[2]https://zhuanlan.zhihu.com/p/344324470

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

点个在看 paper不断!

清华旷视:让VGG再次伟大!相关推荐

  1. 清华旷视让全连接层“内卷”,卷出MLP性能新高度

    此前,清华大学与旷视科技曾通过结构重参数化将7年老架构VGG"升级"为性能直达SOTA的RepVGG模型. 如今,这个结构重参数化系列研究又添"新成员": 他们 ...

  2. CVPR 2021 | 涨点神器ACNet再进化!清华旷视提出Inception类型的DBB

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文转载自:AIWalker  |  作者:Happy Diverse Branch Block: Buil ...

  3. 清华旷视:RepVGG,更佳的速度-精度trade-off!

    文章题目:RepVGG:Make VGG-style ConvNets outstanding again 代码地址:在公众号「3D视觉工坊」,后台回复「RepVGG」,即可直接下载. 摘要: 本文提 ...

  4. 清华「计图」、旷视「天元」纷纷重磅开源,国产深度学习框架迎来高光时刻...

    来源:CSDN 本文约3141字,建议阅读7分钟. 本文介绍清华开源的深度学习框架 Jittor(计图) 引起了广泛关注,支撑旷视诸多业务和战绩的深度学习框架 MegEngine(天元) 也将在近日开 ...

  5. 国产深度学习框架迎来高光时刻,继清华 Jittor开源后,旷视「天元」纷纷重磅开源!...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 1956年,美国的达特茅斯会议成为人工智能开启的标志性事件.同年,中国第一批自主制 ...

  6. 旷视5号员工陈可卿:1991生于绍兴、10岁买电脑改变命运,信息奥赛金牌保送清华...

    允中 发自 融科资讯中心  量子位 出品 | 公众号 QbitAI 陈可卿,28岁,旷视创始员工,工号No.5. 他生于1991年,曾是信息学奥赛金牌选手,高中保送进清华. 大二以实习生身份进旷视,是 ...

  7. 清华成北京赛赢家,旷视唐文斌分享本质创业 | 联想高校AI精英挑战赛

    李根 发自 清华东南门  量子位 报道 | 公众号 QbitAI 无论是过去还是现在,联想都在清华尝到甜头. 过去,清华毕业生是联想PC业务供应链的核心保障力量,也是前线研发的中坚. 联想集团高级副总 ...

  8. 旷视Face++回清华求教AI本质创新,姚期智授2锦囊,出任首席顾问

    李根 发自 清华FIT  量子位 报道 | 公众号 QbitAI 6年前,3个清华姚班毕业生创办了AI公司旷视科技,其后以Face++闻名. 昨天,印奇.唐文斌和杨沐重回清华,向姚班创立者姚期智院士求 ...

  9. 荣誉 | 旷视再次入选《麻省理工科技评论》50家聪明公司​

    昨日,国际权威科技媒体<麻省理工科技评论>(MIT Technology Review)揭晓了"2019 年 50 大聪明公司"榜单(以下简称"MIT TR5 ...

最新文章

  1. pycharm如何改为中文显示?
  2. 科大星云诗社动态20210521
  3. [转]大话企业级Android应用开发实战 音乐播放器的开发
  4. 重构职场竞争力之测试跨界思维
  5. fiddler设置中文版本_Python3.x+Fiddler 抓取 APP 数据
  6. 将JSON对象中的某个字段进行分组和排序(java实现)
  7. DevExpress之TreeList用法
  8. vue从后台下载.zip压缩包文件
  9. 关于Windows API、CRT和STL二三事
  10. 锂电池电芯-市场现状及未来发展趋势
  11. 小米笔记本触摸板失灵问题
  12. B. Shashlik Cooking(思维)
  13. oracle kup04040,ORA-20011 ORA-29913 and ORA-29400错误的说明
  14. Flask web 表单、蓝本与代码模块化
  15. JAVA基础-java继承类实现
  16. 基于微信小程序的共享课本系统 毕业设计毕设参考
  17. Unity 如何写一个足球运动员AI(一)
  18. 元宇宙十大技术及其产业
  19. 华盛顿大学计算机科学,华盛顿大学计算机科学与信息系统Computer Science and Information Systems世界排名2020年最新排名第18位(QS世界排名)...
  20. intoduction linux services

热门文章

  1. Asterisk安装
  2. 获取应用程序路径信息
  3. Microsoft Enterprise Library 5.0 系列(八) Unity Dependency Injection and Interception
  4. 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
  5. 数据结构与算法:11 Leetcode同步练习(四)
  6. 【C#串口编程计划】C#通讯类库构建
  7. oracle某个表丢失,丢失一个控制文件并恢复数据库
  8. 又一例“监视员工?”百度回应:和 996 无关,目前没有任何应用
  9. 22张精炼图笔记,深度学习专项学习必备
  10. 免费!这里有一份开发者进阶“宝典”求带走