• MixConv


    深度分离卷积一般使用的是3*3的卷积核,这篇论文在深度分离卷积时使用了多种卷积核,并验证了其有效性

    1、大的卷积核能提高模型的准确性,但也不是越大越好。如下,k=9时,精度逐渐降低

    2、 mixConv及其实现

         挺简洁的,可直接替换深度分离卷积

    1 def mdconv(x, filters, **args):
    2     G = len(filters)
    3     y = []
    4     for xi, fi in zip(tf.split(x, G, axis=-1), filters):
    5         y.append(tf.nn.depthwise_conv2d(xi, fi, **args))
    6     return tf.concat(y, axis=-1)

      

    3、有效性

       

    4、MixConv设计

       (1)G 的选择

             通过搜索来选择,并不固定

       (2)kernel size

           通过搜索从{3x3, 5x5, 7x7,9x9}中选择

       (3)Channel Size Per Group

          两种策略,一种每组通道数相同,一种相邻/2,如32个通道,(8,8,8,8)或者(16,8,4,4)

      (4)Dilated Convolution

            想用空洞卷积替换大的卷积核,实验证明效果没有大的卷积核好使

    5、验证

        通过flops证明效率高,这个并不令人信服

        为啥与9*9的卷积比?

        提升的并不明显

        为啥不和mobilentV3比?

       

      

    6、Ablation Study

        (1)As shown in the figure, large kernel size has different impact on different layers: for most of layers, the accuracy doesn’t change much,
            but for certain layers with stride 2, a larger kernel can significantly improve the accuracy.

           没看出来。。。。

       (2)通道划分策略在不同模型上,表现的性能不一样。V1上exp策略更好,V2上均分更好

       (3) 空洞卷积在小核上表现还好,大卷积核上急速下降(图上看不出来用多大卷积核会这样。。。。)

           

    7、搜索网络

      

        看着还行。。。

         参考:

         https://zhuanlan.zhihu.com/p/75242090

  • 相关阅读:
    Thinking in Ramda: Getting Started
    计算机网络 第一章 绪论(习题)
    URI和URL傻傻分不清
    mac下安装sshpass并配置自动登录
    项目 NodeJS 版本锁定及自动切换
    项目部署篇(一)后端springboot项目打包和部署
    安卓开启GPS,native.js
    native.js,安卓判断APP是否在电池优化白名单
    Self-Supervised Visual Representations Learning by Contrastive Mask Prediction
    wireshark抓包工具使用介绍(附图)
  • 原文地址:https://www.cnblogs.com/573177885qq/p/11297873.html
Copyright © 2020-2023  润新知