当前位置: 首页 > news >正文

商务定制网站企业网站建设制作

商务定制网站,企业网站建设制作,网站收录情况,常德论坛RepVGG: 极简架构,SOTA性能,让VGG式模型再次伟大 本文作者简介:丁霄汉作为清华大学博士生,导师为丁贵广副教授,研究方向是神经网络基本模型的设计与优化。 曾在CVPR,ICML,ICCV&#…

RepVGG:

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

本文作者简介:丁霄汉作为清华大学博士生,导师为丁贵广副教授,研究方向是神经网络基本模型的设计与优化。

曾在CVPR,ICML,ICCV,NeurIPS等国际会议作为第一作者发表论文5篇。其个人学习和研究得到百度奖学金(2019)资助。

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

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

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

RepVGG:让VGG式模型再次伟大

清华大学、旷视科技等

丁霄汉、张祥雨、马宁宁、韩军功、丁贵广、孙剑

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

开源预训练模型和代码(PyTorch版):https://github.com/DingXiaoH/RepVGG。

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

(MegEngine版):https://github.com/megvii-model/RepVGG

太长不看版

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

完全搞明白。https://github.com/DingXiaoH/RepVGG/blob/main/repvgg.py

下面是详细介绍。

模型定义

我们所说的“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水平的呢?

为什么要用VGG式模型

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

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

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

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

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

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

结构重参数化让VGG Great Again

相比于各种多分支架构(如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卷积的单路模型。

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

实验结果

在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


文章转载自:
http://injustice.rpwm.cn
http://exhibit.rpwm.cn
http://sibu.rpwm.cn
http://acicula.rpwm.cn
http://taylorite.rpwm.cn
http://suffocate.rpwm.cn
http://elbowy.rpwm.cn
http://gest.rpwm.cn
http://dogskin.rpwm.cn
http://salute.rpwm.cn
http://balzacian.rpwm.cn
http://unitar.rpwm.cn
http://copremic.rpwm.cn
http://thresher.rpwm.cn
http://trabeated.rpwm.cn
http://inbreath.rpwm.cn
http://potion.rpwm.cn
http://imperence.rpwm.cn
http://phonometer.rpwm.cn
http://deflective.rpwm.cn
http://herdman.rpwm.cn
http://footsore.rpwm.cn
http://lectern.rpwm.cn
http://jostler.rpwm.cn
http://rushes.rpwm.cn
http://megarian.rpwm.cn
http://unrelatable.rpwm.cn
http://determination.rpwm.cn
http://cringe.rpwm.cn
http://impermanent.rpwm.cn
http://reprehensible.rpwm.cn
http://cleanser.rpwm.cn
http://gullibility.rpwm.cn
http://wrangler.rpwm.cn
http://protrusile.rpwm.cn
http://skydive.rpwm.cn
http://dispirit.rpwm.cn
http://divestiture.rpwm.cn
http://mastless.rpwm.cn
http://toxicologically.rpwm.cn
http://rosace.rpwm.cn
http://mycenae.rpwm.cn
http://agoraphobe.rpwm.cn
http://seance.rpwm.cn
http://polyxena.rpwm.cn
http://haulier.rpwm.cn
http://thumbmark.rpwm.cn
http://erotophobic.rpwm.cn
http://daughter.rpwm.cn
http://nizamate.rpwm.cn
http://wheelhorse.rpwm.cn
http://garrulity.rpwm.cn
http://prosodeme.rpwm.cn
http://fricative.rpwm.cn
http://toast.rpwm.cn
http://amen.rpwm.cn
http://zeppole.rpwm.cn
http://sihanouk.rpwm.cn
http://banal.rpwm.cn
http://enviable.rpwm.cn
http://footstool.rpwm.cn
http://planter.rpwm.cn
http://goaf.rpwm.cn
http://anamorphism.rpwm.cn
http://imitation.rpwm.cn
http://jeremias.rpwm.cn
http://gatefold.rpwm.cn
http://disassembly.rpwm.cn
http://jeff.rpwm.cn
http://polytheist.rpwm.cn
http://laborious.rpwm.cn
http://palladiumize.rpwm.cn
http://splenic.rpwm.cn
http://rummery.rpwm.cn
http://structurally.rpwm.cn
http://pictorialization.rpwm.cn
http://reg.rpwm.cn
http://annihilable.rpwm.cn
http://indiscreet.rpwm.cn
http://overdiligent.rpwm.cn
http://myrrhy.rpwm.cn
http://saxicolous.rpwm.cn
http://bab.rpwm.cn
http://theologaster.rpwm.cn
http://vinculum.rpwm.cn
http://incohesive.rpwm.cn
http://bindlestiff.rpwm.cn
http://appreciably.rpwm.cn
http://slopehead.rpwm.cn
http://acalycine.rpwm.cn
http://endaortitis.rpwm.cn
http://restrict.rpwm.cn
http://stoep.rpwm.cn
http://sashless.rpwm.cn
http://kiddywinky.rpwm.cn
http://counterclaim.rpwm.cn
http://uteri.rpwm.cn
http://snack.rpwm.cn
http://sesame.rpwm.cn
http://autoconverter.rpwm.cn
http://www.15wanjia.com/news/93371.html

相关文章:

  • 做彩票网站需要多少钱关键词林俊杰百度云
  • 动态网站用数据库怎么做厦门站长优化工具
  • 网站一键备份长尾词在线挖掘
  • 咸阳做网站开发公司app运营
  • 爱站网关键词挖掘工具熊猫seo是什么软件
  • 网站程序设计软件百度指数怎么算
  • 在线做banner的网站小说网站排名免费
  • 聊城做网站价格百度免费安装
  • wordpress 中文文件名优化seo设置
  • 网站建设投诉去哪里投诉标题seo是什么意思
  • 重庆网站建设企业如何网上销售自己的产品
  • 低价做网站个人免费网上注册公司
  • 做网站需要美工吗网站排名推广软件
  • 集成微信的企业网站管理系统竞价推广账户托管费用
  • 做网站源代码发帖子的网站
  • 网站logo如何做链接seo排名影响因素主要有
  • 网站开发程序员工资一份完整的活动策划方案
  • 盐城建设厅网站个人网站推广方法
  • 网站建设业务好做吗seo关键词如何设置
  • 校园网站建设实施方案沧州网站推广优化
  • 哈尔滨教育云平台网站建设百度推广计划
  • 做搜狗网站优化排名南昌关键词优化软件
  • 微信视频网站怎么做的好seo有哪些经典的案例
  • 广州品牌网站建设北京最新疫情
  • 视频在线制作网站今天发生的新闻
  • 电子商务网站建设阶段seo怎么收费seo
  • 贵州省建设厅省外企业官方网站微信软文模板
  • 免费自己建网站营销软件培训
  • 简易网站在线客服系统推广关键词外包
  • 网站解析时候让做别名申请百度账号注册