Graph-Based Global Reasoning Networks
时间:2018
Intro
CNN擅长提取局部关系,但是在处理全局上的区域间关系时显得低效,且需要堆叠很多层才可能完成,如图所示,人类很容易能提取其中的关系,而对CNN来说却很难,因为CNN在最后几层才能有足够大的感受野,为了解决这个问题,本文提出了一个单元来直接进行global relation reasoning。
Contribution
提出了global reason的方法
Approach
overview
先把feature从coordinate space投影到latent interaction space,然后在interaction space使用图卷积网络来推理结点之间的信息,将这个信息和结点特征融合之后再反投影到coordinate space中
From Coordinate space to Interaction Space
x
j
∈
R
1
×
C
x_j\in R^{1\times C}
xj∈R1×C是原始特征
X
∈
R
L
×
C
X\in R^{L\times C}
X∈RL×C中的一个特征,其中
L
=
H
×
W
L=H\times W
L=H×W,
C
C
C是feature dimension,通过下式转化特征
其中
B
=
[
b
1
,
b
2
,
.
.
.
,
b
N
]
∈
R
N
×
L
B=[b_1,b_2,...,b_N]\in R^{N\times L}
B=[b1,b2,...,bN]∈RN×L,为了降低输入维数并增加投影函数的capacity,本文实现
f
(
X
)
f(X)
f(X)为
f
(
ϕ
(
X
;
W
ϕ
)
)
f(\phi(X;W_\phi))
f(ϕ(X;Wϕ)),
B
=
θ
(
X
;
W
θ
)
B=\theta(X;W_\theta)
B=θ(X;Wθ),其中
θ
\theta
θ和
ϕ
\phi
ϕ通过两个卷积层来建模,如图所示
Reasoning with Graph Convolution
将特征从coordinate space 投影到interaction space中之后,我们得到一张图,图中每个结点有一个特征,捕捉两个区域的关系现在简化为捕捉两个相应结点之间的关系。
为了捕捉两个结点之间的关系,直接的做法是concat,然后输入到小的神经网络里,但这样做破坏了两个向量之间存在的下标对应关系。因此我们的做法是将特征训练成全连接图的结点,通过学习边的权值来在全连接图上进行推理,因此我们使用了图卷积网络,定义如下
其中
G
G
G和
A
A
A是邻接矩阵,
A
A
A被随机初始化,在训练中可以学习,单位矩阵是用来作为shortqcut connection以便降低优化的困难,这个过程如图所示
(b)图给出了两个不同方向的1维卷积——channel方向和结点方向
From Interaction Space to Coordinate Space
为了让上述步骤与CNN向兼容,需要将最后的输出投影回原来的空间,这样relation reasoning的结果可以提升CNN的表现。
给结点特征矩阵
Z
∈
R
N
×
C
Z\in R^{N\times C}
Z∈RN×C,我们需要学习一个映射函数,将其映射到
Y
∈
R
L
×
C
Y\in R^{L\times C}
Y∈RL×C:
Y
=
g
(
Z
)
Y=g(Z)
Y=g(Z),与第一步相同,我们使用线性投影
实际中,可以通过第一步的变换来直接得到这里的变换,令
D
=
B
T
D=B^T
D=BT
结论
本文指出了CNN在处理region relation的不足之处,提出了GloRe单元,通过将feature map 特征映射到图结点特征空间中,然后以图卷积网络提取并综合relation特征,最后返回到原空间的方法来弥补这一不足,可以将这个单元和别的网络结合起来。
问题
ResNet论文里指出,对于一层的skip connection其实没有意义,因为就是一个线性映射,那这里的skip connection还有什么用?