写点什么

AI 简报 - 重参数化 RepVGG

作者:AIWeker
  • 2022-11-30
    福建
  • 本文字数:653 字

    阅读完需:约 2 分钟

AI简报-重参数化RepVGG

本简报分享的是清华和旷视等 2021 年的一篇对于 VGG-style CNN 结构的一次优化,题目为:RepVGG: Making VGG-style ConvNets Great Again


RepVGG 指出当前的卷积 CNN 网络存在如下弊端:


  • 复杂的多分支网络设计,导致推理显存增加且耗时增加, 如 Resnet 的残差连接, Inception 的多分支 concat 等

  • 另外一个轻量化的网络设计,如 MobileNets 的 depthwise,以及 ShuffleNets 中 channel shuffle,增加了内存使用,同时对于某些设备支持不好


就 Resnet 的残差连接而言,文中进行了分析:



可知,因为残差的存在,在残差操作之前,会多一个显存的使用。


如何设计一个结构简单,满足精度要求且推理性能优越的网络结构呢?


RepVGG 采用了简单堆叠 3x3 卷积的方式设计了一个 plain 网络,同时在推理时进行参数合并。

RepVGG


RepVGG 的思路:


  • 推理:只保留 3x3 卷积和 RELU

  • 训练:多分支(1x1,identity)来增加特征学习

  • 训练的模型通过重参数化将多分支合并成一个 3x3 卷积


所以关键是怎么重参数化?重参数化的结果就是将 3x3 卷积、1x1 卷积和 identity 以及 BN 层合并成一个 3x3 的卷积。



  • 3x3 卷积和 1x1 卷积的合并

  • 所谓卷积操作,就是卷积核中权重与 feature 中的指定位置进行相乘后再汇总。而 1x1 卷积可以转化为中间值为 1x1 卷积核,其他权重为 0 的 3x3 卷积核。

  • 所以 3x3 卷积和 1x1 卷积的合并就是 1x1 卷积核与 3x3 卷积核中间位置的值相加。



    • 3x3 卷积和 identity 合并

    • 所谓 identity 就是 feature 自身,可以理解为对角权重为 1 的 1x1 卷积核。其他同 3x3 卷积和 1x1 卷积的合并

    • 3x3 卷积与 BN 合并

    • 3x3 卷积与 BN 合并就是将 BN 转化为 3x3 卷积。BN 层为归一化层



    • 而 BN(conv)为:



    • 所以合并成的一个新的 3x3 卷积:




  • 发布于: 刚刚阅读数: 6
    用户头像

    AIWeker

    关注

    InfoQ签约作者 / 公众号:人工智能微客 2019-11-21 加入

    人工智能微客(aiweker)长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发

    评论

    发布
    暂无评论
    AI简报-重参数化RepVGG_深度学习_AIWeker_InfoQ写作社区