Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition
原文地址:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123690528.pdf
Abstract 在基于骨骼的动作识别中,GCNs实现了瞩目的成功,但如何在不增加额外的计算负担的情况下高效的建模时空骨骼图在工业应用领域任然是个具有挑战性的问题。在这篇文章中,作者重思了在目前存在的基于GCN的骨骼动作识别方法中的空间聚合,发现他们都受限于耦合集合机制。受CNNs中的解耦聚合机制的启发,作者提出了解耦GCN来增强图建模能力,在不增加额外的计算量,延迟和GPU内存花费的情况下,而且不到10%的额外参数。另外一个GCN普遍的问题是过拟合,dropout在GCN中也不够有效,作者提出了DropGraph来丢弃在相邻结点中的特征。此外,作者介绍了一种注意力指导丢弃机制(attention-guide drop mechanism)来增强正则化效果。
Introduction
作者发现目前的GCN方法忽视了CNN中的一个重要机制:解耦聚合(decoupling aggregation)。具体来说,在CNN中每一个channal都有一个独立的spatial aggregation kernel,在不同的频率,方向和颜色能获得不同的空间信息。然而在图卷积中所有channal共享同一个空间聚集核,即邻接矩阵。受CNN中的解耦聚合的启发,作者提出了解耦图卷积网络。
在图卷积中的普遍问题是过拟合,虽然在GCNs中使dropout,但效果不理想:即使一个node被dropped,但这个node的信息任然被他的neighbor nodes获得,这就造成了过拟合。因此作者提出了DropGraph,关键idea是:当丢弃一个node时,同时也丢弃他的相邻结点。此外,还提出一个注意力-指导丢弃机制(ADG)来增强正则化效果。
main contributions:
- We propose DC-GCN, which efficiently enhances the expressiveness of graph convolution with zero extra computation cost.
- We propose ADG to effectively relieve the crucial over-fitting problem in GCNs.
- Our approach exceeds the state-of-the-art method with less computation cost. Code will be available at https: //github.com/kchengiva/DecoupleGCN-DropGraph.
Approach
1.Decoupling graph convolutional network
Motivation 图卷积包括两个矩阵乘积操作:AX和XW。AX计算不同骨骼间的聚合信息,我们称之为spatial aggregation。 XW计算不同信道间的相关信息,我们称之为channal correlation。
在Fig.1(a)中,空间聚集(AX)能被分解为分别计算每一个信道上的聚合。特征X的所有信道共享同一个邻接矩阵A(画着相同的颜色),这意味着所有信道共享同一个聚合核,我们称之为耦合聚合。所有目前的识别方法都采用这种方式,例如ST-GCN,Nolocal adaptive GCN,AS-GCN,Directed-GCN。我们统称为耦合图卷积。
然而,作为GCN启发的源头CNN没有采用耦合聚合。在图(b)中,不同的信道有独立的空间聚合核,显示不同的颜色。我们称这个机制为解耦聚合。
DeCoupling GCN被耦合聚合所限制的传统图卷积类似于退化深度卷积,他的卷积核在信道间被共享。退化深度卷积的表达能力明显弱于标准深度卷积。因此,作者推断目前基于GCN的谷歌动作识别模型缺少解耦聚合机制。
在文章中,作者提出了解耦图卷积(DGC),不同的信道有独立可训练的邻接矩阵,展示在图©。解耦图卷积大大增加了邻接矩阵的多样性。类似于CNN核的冗余,DGC能介绍冗余的邻接矩阵。因此我们把信道分离成g组。在一组的信道共享一个可训练的邻接矩阵。当g=C时,每一个信道都有他自己能生成大量冗余参数的spatial aggregation kernel;当g=1时,DGC退化成聚合图卷积(coupling graph convolution)。DGC的等式如下:
Attention-guided DropGraph
DropGraph的主要思路是:当丢弃一个节点时,我们同时丢弃该节点的邻居节点集。DropGraph有两个参数:
γ
\gamma
γ和K。
γ
\gamma
γ控制采样概率,K控制被丢弃邻居集的大小。在一个输入特征图中,我们首先用概率为
γ
\gamma
γ的伯努利分别采集根节点
v
r
o
o
t
v_{root}
vroot,然后丢弃该节点以及离该节点最大为K步的结点 。算法如下。
keep_prob表示被保留的激活单元的概率。在常规卷积中,keep_prob=1-
γ
\gamma
γ。但在DropGraph,
v
r
o
o
t
v_{root}
vroot上的每一个零项都扩展到它的第1;2ed;···;k阶邻域。因此,keep_prob同时依赖于
γ
\gamma
γ和K。在一个有n个点e条边的图中,定义每个节点的平均度为
d
a
v
e
=
2
e
/
n
d_{ave}=2e/n
dave=2e/n。在一个随机被取样的结点的i_th阶领域,期望节点数能被评估为
B
i
=
d
a
v
e
×
(
d
a
v
e
−
1
)
i
−
1
B_i=d_{ave}\times(d_{ave}-1)^{i-1}
Bi=dave×(dave−1)i−1
平均被丢弃的丢弃大小为:
d
r
o
p
s
i
z
e
=
1
+
∑
i
=
1
K
B
i
drop_{size}=1+\sum_{i=1}^KB_i
dropsize=1+i=1∑KBi
如果我们想保持keep_prob概率的激活单元,我们设置:
γ
=
1
−
k
e
e
p
p
r
o
b
d
r
o
p
s
i
z
e
\gamma=\frac{1-keep_{prob}}{drop_{size}}
γ=dropsize1−keepprob
注意到在丢弃的区域可能有一些重叠的地方,因此这个等式仅仅是个近似。在实验中,一开始是评估keep_prob在0.75-0.95,然后用公式5计算
γ
\gamma
γ.
Attention-guided drop mechanism
为了增强正则化效应,作者让注意力区域有更高的采样
v
r
o
o
t
v_{root}
vroot的概率。
v
v
v是一个节点,
γ
v
\gamma_v
γv表示采样的结点
v
v
v是
v
r
o
o
t
v_{root}
vroot的概率,更正等式5为:
α
\alpha
α是注意力图,
α
~
\tilde{\alpha}
α~是归一化注意力图,
c
o
u
n
t
(
α
)
count(\alpha)
count(α)是
α
\alpha
α中元素的数量。
Spatial-temporal ADG