【WeightNet】2020-ECCV-WeightNet: Revisiting the Design Space of Weight Networks-论文阅读

WeightNet

2020-ECCV-WeightNet: Revisiting the Design Space of Weight Networks

来源:ChenBong 博客园


Prepare

CondConv

条件参数生成

image-20210202171609075 image-20210202172117329

image-20210202172443315

(alpha) 如何得到?

  • (α=r(x)=sigmoid(fc(avg pool(x))))

SENet

channel attention 的模块,对卷积层的不同输出通道学习不同的权重 (α)

image-20210209161119063

具体细节:GAP ==> FC+relu ==> FC+sigmoid

image-20210209161146153

Introduction

卷积核的参数生成网络,对CondConv和SENet的重新思考,将两种看起来不同的方法统一到一个通用的框架下。

image-20210209173706485

Motivation

Contribution

Method

Group FC

image-20210209172101428

统一两种方法

input feature map: (X ∈ mathbb{R}^{C×h×w})

output feature map: (Y ∈ mathbb{R}^{C×h'×w'})

real kernel: (W' ∈ mathbb{R}^{C×C×k^h×k^w})

((h,w), (h', w'), (k^h, k^w)) denote the input, output, and kernel size

第一步:SENet 和 CondConv 的第一步都是使用卷积层的输入x,学习一个attention vector (α)

  • CondConv
    • (oldsymbol{alpha}=sigmaleft(mathbf{W}_{f c 1} imes frac{1}{h w} sum_{i in h, j in w} mathbf{X}_{c, i, j} ight))
    • 其中,(W_{fc1} ∈R^{m×c}, X_c∈R^{c×1}) ,所以 (alpha∈R^{m×1}),m为 expert 的数量
  • SENet
    • (oldsymbol{alpha}=sigmaleft(mathbf{W}_{f c_{2}} imes deltaleft(mathbf{W}_{f c 1} imes frac{1}{h w} sum_{i in h, j in w} mathbf{X}_{c, i, j} ight) ight))
    • 其中 (mathbf{W}_{f c 1} in mathbb{R}^{C / r imes C}) (mathbf{W}_{f c 2} in mathbb{R}^{C imes C / r})(mathbf{W}_{f c 2} in mathbb{R}^{C imes C / r})

第二步:

  • CondConv
    • (mathbf{W}^{prime}=alpha_{1} cdot mathbf{W}_{1}+alpha_{2} cdot mathbf{W}_{2}+ldots+alpha_{m} cdot mathbf{W}_{m})
    • 可以改写为: (egin{aligned} mathbf{W}^{prime} &=mathbf{W}^{T} imes oldsymbol{alpha} , ext { where } mathbf{W} =left[mathbf{W}_{1} mathbf{W}_{2} ldots mathbf{W}_{m} ight] end{aligned})
    • 其中 (mathbf{W} in mathbb{R}^{m imes C C k_{h} k_{w}}) , $alpha in mathbb{R}^{m imes 1} $ ,所以 (mathbf{W}' in mathbb{R}^{C C k_{h} k_{w}})
    • 可以看成一个全连接层,输入是 (alpha) ,输出新的卷积层权重
    • 左边的矩阵为一个稠密矩阵,gruop=1
  • SENet
    • (egin{aligned} mathbf{Y}_{c} &=left(mathbf{W}_{c}^{prime} * mathbf{X} ight) cdot oldsymbol{alpha}_{c} \ &=left(mathbf{W}_{c}^{prime} cdot oldsymbol{alpha}_{c} ight) * mathbf{X} end{aligned})
    • (mathbf{W}_c''=mathbf{W}_{c}^{prime} cdot oldsymbol{alpha}_{c})
    • 其中,(mathbf{W}_{c}' in mathbb{R}^{C imes C imes k_h imes k_w}, alpha in mathbb{R}^{C imes 1})
    • 可以看成一个分组全连接层,gruop=C, 输入是 (alpha) ,输出新的卷积层权重
    • 左边的矩阵为一个稀疏矩阵,gruop=C

两种方法都可以看成是先使用 input 计算α,再利用α计算当前卷积核的实际推理权重

image-20210209190101356

(a) CondConv

  • input: m
  • output:(C ×C × k_h × k_w)
  • gruop:1

(b) SENet

  • input: (C)
  • output:(C ×C × k_h × k_w)
  • gruop:C

(c) WeightNet

  • input:(M × C)
  • output:(C ×C × k_h × k_w)
  • gruop:(G×C)

引入M和G,2个超参数

image-20210209190732176

WeightNet

第一步:计算attention vector α

  • (oldsymbol{alpha}=sigmaleft(mathbf{W}_{f c_{2}} imes mathbf{W}_{f c 1} imes frac{1}{h w} sum_{i in h, j in w} mathbf{X}_{c, i, j} ight))
  • 其中, (mathbf{W}_{f c 1} in mathbb{R}^{C / r imes C}, mathbf{W}_{f c 2} in mathbb{R}^{M C imes C / r}) ,r取16

第二步:gruop fc layer,输入α,输出当前卷积层的实际推理权重

  • input:(M × C)
  • output:(C ×C × k_h × k_w)
  • gruop:(G×C)

将实际卷积核的参数 实际上可以看成存储在第二步中分组全连接层的参数当中

复杂度

计算复杂度

每一层的实际推理有2个步骤,1)权重生成,2)卷积计算

1)权重生成:(O(MCCk_hk_w/G)) ,和2比起来很小,可以忽略

2)卷积计算:(O(hwCCk_hk_w))

参数复杂度

1)权重生成:(O(M/G×C×C×k_h×k_w)) ,这里应该忽略了第一步中计算α的2个fc的参数

2)卷积计算:0

(M/G) 记为 (λ) (参数倍数)

Experiments

ImageNet

image-20210209192241572

G=2,λ=1/2/4/8

在计算量不变的情况下,提升模型性能,模型越小提升效果越明显

attention modules

image-20210209193839886

小网络上,CondConv性能更好

Ablation

λ

image-20210209193935178

λ越大,模型参数量越大

G

image-20210209194012217

分组数G越大,性能越好

kernel相似性

image-20210209194547630

本文的方法生成的卷积核的kernel之间的相似性更低

Conclusion

Summary

To Read

Reference

SENet:

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

https://www.cnblogs.com/bonelee/p/9030092.html

WeightNet:

https://mp.weixin.qq.com/s/uI1oEXqlqeyJ4NfyT0f40Q

https://mp.weixin.qq.com/s/EhdrYfM25xGiVKWXhh8reQ

https://www.cnblogs.com/gaopursuit/p/13497401.html

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

原文地址:https://www.cnblogs.com/chenbong/p/14426621.html