repVGG论文笔记

文章目录

  • 关键点
  • 一、介绍
  • 二、方法论
  • 三、实验总结
  • 总结


关键点

本篇文章的工作主要是提出了一种卷积神经网络:在训练的过程中使用多分枝的结构,在推理的时候啊变成了3x3卷积加上relu激活函数的plain结构。为了解决这种权重融合的问题,作者提出了一种叫做struc-tural re-parameterization technique的技术,所以又叫REP VGG,paper中说比resnet50块83%,比resnet101快101%。所以本篇文章的工作最np的地方就是这个权重融合的这个想法了。


一、介绍

直接放个原图。
repVGG论文笔记_第1张图片
如图所示, B就是训练的网络结构,C就是推理的网络结构。
可以看到训练的网络就是一个2倍的下采样链接了3个重复的结构。这个结构是由(3x3,1x1,idengty)三个分支构成的,这个网络的设计可以看到resnet的影子, 推理又变成了4个3x3 ps:描述了一下,感觉自己写了句废话。。。。

为什么要这么干呢,作者说了几个好处吧:

1.兼具速度和精准度 :

  • 我理解巧妙的运用多分支模型准确率高但是速度慢, 单分支模型速度快但是准确率神马的有点差
  • 主要体现在模型参数,和分支统计意义的组合上吧

2.好设计芯片QAQ:

  • 应该是3x3+relu 这种结构cuda底层会有一些优化。我没做过实验,但是看了知乎上一个老哥说3x3大概是1X1的计算时间的2倍??

二、方法论

就是那个weight融合的过程:上面那个是训练,下面的那个是推理。
repVGG论文笔记_第2张图片


**对于多通道卷积和1x1 的卷积可以升降维度的uu还有点迷糊的可以移步另一篇blog,因为我也迷糊来着。
**
一维卷积,二维卷积,三维卷积,1乘1卷积的作用


咳咳,就是那个输入是2channals 的图片,卷积核不就得是2channel的吗,输出是2channel的,那卷积核的个数不就得是2 channel的吗,于是乎卷积核就是2x2xWxH这样子

训练过程3x3卷积对应就是2x2x3x3, 1x1的卷积就是2x2x1x1, identity那个就上都没有投影自己
推理的过程就是3x3卷积不变,1x1的卷积变成4个1x1的放中间padding了一圈0,硬凑成4个3x3了,identity那个反应了半天,不就是[10; 01]咩。。。。四周同样padding 0

三、实验总结

作者啊提出了不同的宽度和深度的repvgg:
repVGG论文笔记_第3张图片

挂一个paper上面的imagenet 分类实验吧:

repVGG论文笔记_第4张图片

之后打算做cub200细粒度分类来着,(可爱的鸟鸟是不是,妈妈的乖宝贝bushi)看看好不好使,搁这挖个坑吧。


总结

融合这个想法很不错, 扬长避短吗就是,还有线性代数得好好看看。

刚学有点菜,看的贼慢也有地方不对,或者关键点没说清楚可能。
看到这的希望大家都能不卷还能有钱
repVGG论文笔记_第5张图片

你可能感兴趣的:(深度学习,cnn,神经网络)