zoukankan      html  css  js  c++  java
  • 【Dynamic Convolution】2020-CVPR-Dynamic Convolution Attention over Convolution Kernels-论文阅读

    Dynamic Convolution

    2020-CVPR-Dynamic Convolution Attention over Convolution Kernels

    来源:ChenBong 博客园

    Introduction

    类似CondConv的条件卷积层,对每个样本单独计算不同的卷积层

    方法几乎一致,出发点不同,CondConv是从分支集成的角度,本文是从权重Attention的角度

    每层有K套权重,每个样本计算一组attention:(pi_1...pi_K) ,对K套权重加权求和:

    attention 计算过程:

    image-20210303160106507

    Motivation

    Contribution

    • 提高小计算量下模型的性能(不适用于大网络,占用K倍的显存)
    • 使用多套权重,在略微增加一点计算量的条件下,增强模型的表达能力
    • 不同的样本x有不同的attention
    • 其他动态网络,都是固定权重+动态结构;本文的方法是动态权重,固定结构

    Method

    与CondConv的对比:

    CondConv

    出发点:分支集成

    image-20210303172507527

    权重聚合的方式:

    image-20210202172443315

    (alpha) 如何得到?

    • routing function: (alpha) 是输入x的函数,其中R是 fc 层的参数),将 pool(x) ==> n dim
    • (α=r(x)=sigmoid(fc(avg pool(x))))

    Dynamic Convolution

    出发点:权重attention

    权重聚合的方式:

    image-20210303172117140

    (pi) 如何得到?

    • (pi=softmax(fc(relu(fc(avgpool(x))))))
    image-20210303193711843

    2个主要区别: (Sigma~pi=1) 的约束,退火的attention

    Sum the Attention to One

    image-20210303160129356

    以K=3为例,加入 (Sigma~pi=1) 的约束后,聚合后权重的空间从2个三棱锥内部空间,缩小到三角形的面上,有利于 (pi) 的优化

    Near-uniform Attention in Early Training Epochs

    image-20210303160228507

    前期 attention 较为平均,有利于初始阶段的各套权重的学习:

    image-20210303160341439

    与CondConv实验比较

    image-20210303160547261

    加入了以上2个trick,使得此类方法所需的权重套数变少(8 => 4),且性能更好

    Experiments

    ImageNet

    image-20210303162508643

    只能在小模型上实验,虽然MAdds增加不多,但训练阶段显存占用估计是原始网络的K倍

    image-20210303162958961

    对MBv2/v3的改进效果

    Ablation

    不同的权重聚合方式

    • attention:K套权重加权求和
    • average:K套权重取平均(不同样本使用的weight都是一样的,weight不再有 input-dependency)
    • max:取K套权重中,(pi_i) 最大的那套权重(有 input-dependency,但每个input只使用一套weight的知识,证明对于同一个input x使用多套weight聚合的有效性,最后并不是收敛到某套weight上)
    • shuffle per image:同一个 (x) ,shuffle K套权重的 (pi) (证明网络确实学到了该如何分配K套 weight 的权值)
    • shuffle across images:对图片 (x) 使用图片 (x') 计算得到的 attention(证明确实存在 input-dependency )
    image-20210303160855380

    实验中观察到 attentions are flat at low levels and sparse at high levels. 的现象(在CondConv中同样观察到该现象),这也可以帮助解释表3中,max操作(sparse)对low layer有损害,而 avg 操作(flat)对high layer有损害,因此这2个操作会导致网络性能下降

    不同层是否启用attention

    image-20210303161537202

    较深的层启用 attention 的效果较好

    The number of convolution kernels (K)

    image-20210303161937615

    K越大性能提升越好,K>=4以后提升不大

    Softmax Temperature (( au))

    image-20210303162355266

    image-20210303160228507 中的 ( au) 做消融实验

    Conclusion

    Summary

    • 对CondConv的2个小的改进,提高了一点性能,补充了一些实验,一些现象在之前的CondConv中也有观察到,不够 novel

    Reference

    https://blog.csdn.net/weixin_42096202/article/details/103494599

    https://blog.csdn.net/weipf8/article/details/105756526/

    https://www.yuque.com/z_zhang/is/edrrwq

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

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

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

  • 相关阅读:
    【Java】XML文件的解析
    PE知识复习之PE合并节
    PE知识复习之PE的重定位表
    PE知识复习之PE的两种状态
    PE知识复习之PE的节表
    PE知识复习之PE的各种头属性解析
    PE知识复习之PE的导入表
    PE知识复习之PE的导出表
    PE知识复习之PE的绑定导入表
    第三讲扩展,VA,RVA,FA(RAW),模块地址的概念
  • 原文地址:https://www.cnblogs.com/chenbong/p/14476760.html
Copyright © 2011-2022 走看看