当前位置:首页 > 问答

【vghvghp有什么区别】不要再用VGG了!可以看到RepVGG如何重新铸造VGG荣耀。

写在前面

VGG是一个非常经典的网络,是牛津大学计算机视觉集团(Visual Geometry Group)和Google DEEPMIND的研究人员开发的“直通式”网络。既然你在看这篇文章,你应该已经对VGG很熟悉了。VGG有一个特别明显的缺陷。例如,网络中的参数数量多,模型检测精度差。换句话说,VGG网络效果并不理想。在随后的一段时间里,人们总是使网络变得更宽、更深,以期待更好的结果(例如:Google Net、ResNet)。

事实上,更深更广的网络更容易满足需求。这样,VGG就很少过问了。这时,大男子——郑少华相信,当科学技术总是螺旋式上升,捡起VGG模型注入新的思想时,RepVGG将出人头地。(莎士比亚)(莎士比亚)。

首先解释RepVGG这个名字的含义。所有Rep都称为重新参数化。Rep是指首先构建一系列结构(通常用于培训),将相应的参数等值转换为另一组参数(通常用于推理),将这一系列结构转换为另一个结构。RepVGG的情况是,在培训阶段训练多个分支模型,然后使用重新参数化将多个分支模型转换为单插槽模型,最后在推理时使用单插槽模型。

为什么要这么做?因为在训练过程中,多个季度的结构往往获得更高的性能效益。这是因为训练时可以使用多个分支结构来提高网络性能,推理时可以将多个分支结构转换为单插槽结构,从而大大提高推理速度。

RepVGG结构

听了上面的解释,我不知道你对RepVGG了解多少,还有很多疑惑是否正常,不要着急。下面详细分析了RepVGG的结构和设计,RepVGG模型与VGG具有相似的拓扑结构。没有任何分支,模型仅使用3x3的卷积核和Relu激活函数。[注意:其中RepVGG模型是指用于推理的结构,而“训练”时的结构不是。]模型的结构如下图所示。

如上图所示,在RepVGG的培训阶段,从ResNet借用了其结构,引入了误差结构和1x1的卷集成分支,论文中也证明了误差结构和1x1的卷积都可以提高网络性能。如下图所示。

至于RepVGG的推理阶段,其结构是简单的3x3卷积和Relu函数的结合。

多模型-单个模型

这部分绝对是RepVGG的核心!“重新参数化”(re- parameterization)是将多通道模型转换为单插槽模型。首先,我们要知道我们要转换的大象,即多道模型意味着什么。单路型号意味着什么?如上所述,多路复用模型是指处于教育阶段的模型,单处理器模型是指处于推理阶段的模型,如下图所示。

现在,我们的目标是将上图的右侧模型向左转换。仔细观察左右两幅画的差异,我们可以发现,我们只需要转换上图的黄色框部分。作者如何转换下图大致说明了多路转换模型到单插槽模型的过程。包括1到2的3x3卷积与BN层的集成、1x1卷积转换为3x3卷积以及将误差模块转换为特殊权重的卷积层。[注:上图中的卷积后,可能会有没有BN层的小伙伴。为什么在这里?事实上,一般卷积后,会沿着BN进行规范化。上图仅省略了网络的部分细节。]

1、卷积层和BN层的集成

上图

展示了卷积层和BN层合并的推导过程,非常容易理解。但需要注意的是这里的卷积层含有偏置b,往往现在带有BN结构的卷积都不含偏置b了,论文中的推导结构就没带偏置b,如下图所示:可以看出,下式和上图推导结构是一致的【符号表示有区别,没有偏置项b】

2、1x1卷积转换为3x3卷积

1x1卷积怎么转化为3x3的卷积呢?不知道大家有没有什么想法‍♂️‍♂️‍♂️我觉得这个大家应该是很容易就可以想到的——补两圈0!所以这部分其实是没什么好说的,论文中也是一笔带过。但这里我还是想提醒大家注意一下,因为我们的三路输出最后会通过Add操作,因此在使用3x3卷积时应该使用same形式,即保证输入输出的特征图维度不变

3、残差模块转换为3x3卷积

我们知道残差模块就是一个恒等映射,即要求输入等于输出。这一步该怎么实现呢?这里我们可以使用卷积核权重为1的1x1卷积,因为这样的卷积核不会改变输入特征图的值,这样我们就可以将残差模块等效为1x1的卷积操作了。之后再利用第2步将1x1的卷积转化成3x3的卷积。


卷积的可加性原理

完成了上述三步,我们就可以实现从①到②的变换,即现在我们得到了含3路3x3卷积的结构,接下来就是要实现从②到③的转化,即要将含3路3x3卷积的结构变换成只有1路3x3卷积的结构⛳⛳⛳这里需要利用卷积的可加性原理,即如果几个大小兼容的二维核在相同的输入上以相同的步幅操作以产生相同分辨率的输出,并且它们的输出被求和,我们可以将这些核在相应的位置相加,从而得到一个产生相同输出的等效核。这句话很好地总结了可加性原理,但是当我开始看到这句话的时候也是不明白为什么,后面也是自己画了一些图,就恍然大悟,所以我想说很多时候我们应该多动手,好脑子不如烂笔头下面给出整理的图片帮助大家理解,如下图:

看了上图可以发现,不管我们是先进行卷积得到结果后再进行Add操作,还是先将卷积核的值先相加得到新的卷积核,然后再进行卷积,所得到的结果是一样的,这就是卷积的可加性。由此可知,我们将②变为③其实只需要将三个3x3的卷积核的值进行相加即可!

实验结果

上面其实就把RepVGG最核心的给讲完了,下面来看一下RepVGG的效果叭。可以看出RepVGG的效果还是很好的,特别的表5中RepVGG-B2的FLOPs是EfficientNet-B3的10倍,但1080Ti上的速度是后者的2倍,这说明前者的计算密度是后者的20余倍。

希望本文章对你有所帮助!感谢支持!


作者:秃头小苏
链接:
来源:稀土掘金

1.《【vghvghp有什么区别】不要再用VGG了!可以看到RepVGG如何重新铸造VGG荣耀。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【vghvghp有什么区别】不要再用VGG了!可以看到RepVGG如何重新铸造VGG荣耀。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3057708.html

上一篇

【手机热是什么原因是什么原因】你知道手机发热的12点原因有几个吗?| |新手机又为什么热了?

下一篇

【创维电视为什么有黑块】看电影游戏两者都难吗?创意维S81 pro OLED电视满足你

【vghvghp有什么区别】Vgg网络解读

【vghvghp有什么区别】Vgg网络解读

vghvghp有什么区别相关介绍,论文题目:very deep convolutional networks for large-scale image recognition 论文地址: 摘要 "研究了该任务中卷积网络深度对...

【vghvghp有什么区别】“英语小教室”在国外订购或去表格的话,你注意到V、gf、VG、PL了吗?

  • 【vghvghp有什么区别】“英语小教室”在国外订购或去表格的话,你注意到V、gf、VG、PL了吗?
  • 【vghvghp有什么区别】“英语小教室”在国外订购或去表格的话,你注意到V、gf、VG、PL了吗?
  • 【vghvghp有什么区别】“英语小教室”在国外订购或去表格的话,你注意到V、gf、VG、PL了吗?

【vghvghp有什么区别】液压油的执行标准及HL、HM、HG、HV、HS代表的含义

  • 【vghvghp有什么区别】液压油的执行标准及HL、HM、HG、HV、HS代表的含义
  • 【vghvghp有什么区别】液压油的执行标准及HL、HM、HG、HV、HS代表的含义
  • 【vghvghp有什么区别】液压油的执行标准及HL、HM、HG、HV、HS代表的含义

【vghvghp有什么区别】HSV、HPV、HIV愚蠢,我不知道。你知道都是什么吗?

  • 【vghvghp有什么区别】HSV、HPV、HIV愚蠢,我不知道。你知道都是什么吗?
  • 【vghvghp有什么区别】HSV、HPV、HIV愚蠢,我不知道。你知道都是什么吗?
  • 【vghvghp有什么区别】HSV、HPV、HIV愚蠢,我不知道。你知道都是什么吗?

【vghvghp有什么区别】Hlookup和Vlookup函数之间有什么区别?让我告诉你一个例子!

  • 【vghvghp有什么区别】Hlookup和Vlookup函数之间有什么区别?让我告诉你一个例子!
  • 【vghvghp有什么区别】Hlookup和Vlookup函数之间有什么区别?让我告诉你一个例子!
  • 【vghvghp有什么区别】Hlookup和Vlookup函数之间有什么区别?让我告诉你一个例子!

【vghvghp有什么区别】HCNA数字-VLAN-GVRP-VTP差异

  • 【vghvghp有什么区别】HCNA数字-VLAN-GVRP-VTP差异
  • 【vghvghp有什么区别】HCNA数字-VLAN-GVRP-VTP差异
  • 【vghvghp有什么区别】HCNA数字-VLAN-GVRP-VTP差异

【vghvghp有什么区别】LCM驱动电压VGHVGL生成电路原理分析!

  • 【vghvghp有什么区别】LCM驱动电压VGHVGL生成电路原理分析!
  • 【vghvghp有什么区别】LCM驱动电压VGHVGL生成电路原理分析!
  • 【vghvghp有什么区别】LCM驱动电压VGHVGL生成电路原理分析!