Dynamic Region-Aware Convolution论文阅读笔记

Dynamic Region-Aware Convolution

Abstract

  • 在空间上,针对不同的的区域使用不同的filter进行convolution
  • 标准卷积通过增加channel来提取视觉信息,但会花费很多算力
  • 该方法将增加channel修改为在不同的区域使用不同的filter,该方法提高了卷积的表现力并保持了平移不变性

Introduction

  • 目前的主流卷积是filter在空间上共享,当卷积操作不断重复时就能提取特征

  • 该方法有两个缺点:

    • 计算效率不高
    • 优化困难
  • 通过语音分割,针对不同的空间区域使用不同的filter: local convolution

    • 比标准卷积更有效的提取特征
    • 不增加计算复杂度
  • local convolution的两个缺点:

    • 带来了更多的参数
    • 破坏了平移不变性
  • local convolution依旧是对不同的样本共享filter参数

  • 共享filter参数对不同样本的customized features提取效果不好

  • 考虑到以上几点,作者提出了带有可学习结构并且能够自动分配filters到对应区域的local convolution

    • 针对每一个不同的输入,作者设计了一个 learnable guided mask module来自动生成filter共享区域
    • The region-sharing-pattern 意味着我们将空间维度分为了多个区域,且在该区域内只共享一个filter
    • 对于不同的输入,不同的区域都会有不同的filter
  • 结构:

    • 利用标准卷积生成guided features
    • 通过guided features将输入分为多个区域(根据颜色区分)
    • 对每个不同的区域,我们利用filter generator module来生成一个filter(因此我们主要优化的参数就是filter generator部分)
  • 贡献:

    • 推出了一个新的Dynamic Region-Aware Convolution,不仅有强大的语义表达能力,而且保持了卷积的平移不变性
    • 让learnable guided mask可以反向传播,因此region-sharing-pattern可以通过梯度跟新进行优化
    • 在人脸识别,检测和分割方面有更好的效果(不增加网路复杂度)

Related Work

我们的工作区别于spatial related work 和 dynamic mechanism

Spatial Related Convolution

  • 最早的版本是local convolution
    • 有效利用语义信息,局部卷积对输入的不同区域使用不同的filter
    • 这个工作表明local convolution可以有效利用local information
  • 作者的方法可以保持平移不变性并提取更多的信息

Dynamic Mechanism

随着data dependency mechanism(提取更多的独立信息)的兴起,dynamic mechanism得到了发展

通过data dependency mechanism,网络可以灵活的改良他们的结构和参数,以自动适应多变的信息并提高网络表达力

Our Approach

Dynamic Region-Aware Convolution

首先经过标准卷机和基础局部卷积,然后输入到DRConv

  • 标准卷积:

Y u , v , o = ∑ c = 1 C X u , v , c ∗ W c ( o ) , ( u , v ) ∈ S , (1) Y_{u,v,o}=\sum_{c=1}^{C}X_{u,v,c}*W_{c}^{(o)}, \quad (u,v)\in S, \tag{1} Yu,v,o=c=1CXu,v,cWc(o),(u,v)S,(1)

∗ * 代表2D卷积

  • 基础局部卷积:

Y u , v , o = ∑ c = 1 C X u , v , c ∗ W u , v , c ( o ) , ( u , v ) ∈ S , (2) Y_{u,v,o}=\sum_{c=1}^{C}X_{u,v,c}*W_{u,v,c}^{(o)}, \quad (u,v)\in S, \tag{2} Yu,v,o=c=1CXu,v,cWu,v,c(o),(u,v)S,(2)

W u , v , c ( o ) W_{u,v,c}^{(o)} Wu,v,c(o)代表在 ( u , v ) (u,v) (u,v)点的独立的非共享filter

经过以上操作以后,我们定义一个guided mask M = { S 0 , S 1 , . . . , S m − 1 } M = \{ S_{0},S_{1},...,S_{m-1} \} M={S0,S1,...,Sm1}表示分割的区域,M由数据依靠机制从不同的输入图片分别学得

W = [ W 0 , … , W m − 1 ] W = [W_{0},…,W_{m-1}] W=[W0,,Wm1]定义了不同的filter,且 W t W_{t} Wt对应了 S t S_{t} St
Y u , v , g = ∑ c = 1 C X u , v , c ∗ W t , c ( o ) , ( u , v ) ∈ S t , (3) Y_{u,v,g}=\sum_{c=1}^{C}X_{u,v,c}*W_{t,c}^{(o)}, \quad (u,v)\in S_{t}, \tag{3} Yu,v,g=c=1CXu,v,cWt,c(o),(u,v)St,(3)
该方法主要包括两个部分:

  • learnable guided mask将图片分割
  • filter generator module生成对每个区域不同的filter

Learnable guided mask

learnable guided mask决定了每个filter在空间维度上的分布(哪个区域对应哪个filter),并通过loss进行优化,因此他可以自适应于输入的空间信息的变化,从而filter的分布也跟随变化

其中,对于具有m个共享区域的k×k DRConv,我们采用k×k标准卷积产生m个channel的guided feature(k表示核大小)

我们用F表示guided feature,M表示guided mask;
M u , v = arg ⁡ max ⁡ ( F u , v 0 , F u , v 1 , . . . , F u , v m − 1 ) (4) M_{u,v}=\arg \max(F_{u,v}^{0},F_{u,v}^{1},...,F_{u,v}^{m-1}) \tag{4} Mu,v=argmax(Fu,v0,Fu,v1,...,Fu,vm1)(4)
arg ⁡ max ⁡ ( ∗ ) \arg \max (*) argmax()输出的是最大F的索引,并且 F u , v F_{u,v} Fu,v代表在 ( u , v ) (u,v) (u,v)点的guided feature张量

因此 M u , v M_{u,v} Mu,v取值为0到m-1,指出了在 ( u , v ) (u,v) (u,v)点要用到的filter的索引
具体过程如下:

在这里插入图片描述
注意:

  • M是索引空间,取值为0到m-1;
  • W是filter的选取空间
  • F是输入的特征空间

过程是:先将x通过conv得到m个channel的特征,再从中选择最大的value的索引,将该索引保存在M空间,再根据M选择对应的W中的filter

为了将求最大索引这一步可微,必须要求出获得guided feature的参数的梯度。为了解决这个问题,作者提出了近似梯度的方法

Forward Propagation

由(4)得到guided mask之后,我们可以获得filter W ^ u , v \widehat{W}_{u,v} W u,v
W ^ u , v = W M u , v W M u , v ∈ [ W 0 , . . . , W m − 1 ] (5) \widehat{W}_{u,v} = W_{M_{u,v}}\tag{5}\\ W_{M_{u,v}}\in[W_{0},...,W_{m-1}] W u,v=WMu,vWMu,v[W0,...,Wm1](5)

Backward Propagation

引入 F ^ \widehat{F} F 代替one-hot-form M u , v M_{u,v} Mu,v
F ^ u , v j = e F u , v j ∑ n = 0 m − 1 e F u , v n (6) \widehat{F}^{j}_{u,v}=\frac{e^{F^{j}_{u,v}}}{\sum^{m-1}_{n=0}e^{F^{n}_{u,v}}}\tag{6} F u,vj=n=0m1eFu,vneFu,vj(6)
通过softmax函数,作者将 F ^ u , v j \widehat{F}^{j}_{u,v} F u,vj与one-hot-form的距离拉近

在式(5)中 W ^ u , v \widehat{W}_{u,v} W u,v可以被看作是W与one-hot-form M u , v M_{u,v} Mu,v相乘,所以他的导数可以写为
M u , v = < W ^ u , v , F ^ u , v > ▽ F ^ u , v j L = < ▽ W ^ u , v , W j > (7) M_{u,v}=<\widehat{W}_{u,v},\widehat{F}_{u,v}>\\ \bigtriangledown _{\widehat{F}^{j}_{u,v}}L=<\bigtriangledown _{\widehat{W}_{u,v}},W_{j}>\tag{7} Mu,v=<W u,v,F u,v>F u,vjL=<W u,v,Wj>(7)
结合式(6)就得到了最后的梯度计算
▽ F u , v L = F ^ u , v ⨀ ( ▽ F ^ u , v L − 1 < F ^ u , v , ▽ F ^ u , v L > ) (8) \bigtriangledown _{F_{u,v}}L=\widehat{F}_{u,v} \bigodot (\bigtriangledown _{\widehat{F}_{u,v}}L-1<\widehat{F}_{u,v},\bigtriangledown _{\widehat{F}_{u,v}}L>\tag{8}) Fu,vL=F u,v(F u,vL1<F u,v,F u,vL>)(8)

Dynamic Filter: Filter generator module

G(*)包含两层卷积层,卷积核为1x1:

  • 先通过自适应平均pooling得到k * k * c的特征图

  • 第一层卷积后接sigmoid激活函数

  • 第二层卷积的group=m,不使用激活函数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值