RESIDUAL GATED GRAPH CONVNETS
(ResGatedGraphConv论文笔记)
我在知乎上也发布了一份,希望大家看在创作不易的份上都来点个赞,名字还是叫杰克船长有烦恼,也希望大家多多留言帮助我进步
论文原文链接:[1711.07553] Residual Gated Graph ConvNets (arxiv.org)
摘要
图结构数据,如社交网络、脑功能网络、基因调控网络、通信网络等,引起了人们对将深度学习技术推广到图领域的兴趣。在本文中,我们有兴趣设计可变长度图的神经网络,以解决顶点分类、图分类、图回归和图生成任务等学习问题。现有的大部分工作都集中在循环神经网络(RNNs)来学习图的有意义的表示,最近也引入了新的卷积神经网络(ConvNets)。在这项工作中,我们想要严格地比较这两个基础架构家族来解决图学习任务。我们回顾了现有的图RNN和ConvNet架构,并提出了LSTM和ConvNet的扩展到任意大小的图。然后,我们针对子图匹配和图聚类两个基本图问题设计了一组分析控制实验,对不同的结构进行测试。数值结果表明,本文提出的图卷积网络比图RNN的精度提高3-17%,速度提高1.5-4倍。图卷积网也比变分(非学习)技术更准确36%。最后,最有效的图卷积网架构利用了门控边和剩余性。剩余性在学习多层架构中扮演着至关重要的角色,因为它们提供了10%的性能增益。
1. 引言
卷积神经网络和循环神经网络是深度学习体系结构,已经在计算机视觉(CV)和自然语言处理(NLP)的相关任务中取得了巨大成功。这类模型要求数据域是规则的结构,例如CV为二维或三维欧几里得网格结构,NLP为一维结构。除了CV和NLP,数据通常是不太规则的。社交网络上的用户、DNA序列、电信网络上的IP数据包都是促进可应用于图表的新神经网络技术发展的几个例子。这些技术的分类任务需要神经网络具有固定长度和可变长度图的架构。
在具有固定长度的图的情况下,根据谱图理论发展了一组卷积神经网络。随着工作的深入2013年提出了在谱域用拉普拉斯变换来表示图卷积运算,该理论类似于2011提出的欧氏傅里叶变换。这项工作在2015扩展到用于空间定位的平滑光谱滤波器。紧接着2016提出了Chebyshev模型实现了在稀疏图的运算的时间复杂度降低为线性复杂度。随后出现了很多其他的模型并在2017年该领域出现了重大进展,其中Cayley模型专注于窄带频率,同年研究员同时为处理多个(固定)图做出努力,并且使用一跳滤波器简化谱卷积网络架构,用来解决半监督聚类任务。
对于长序列图的处理,研究员定义了一个多层感知机,这便是最基本的一个RNN的模型。随着技术的发展后来又提出了LSTM模型以及比LSTM模型的参数量少但是效果与其差不多的GRU模型,研究员通过GPU模型和隐藏状态来捕获图的局部邻域的平均信息。同年研究员便将这样的模型引入到图卷积网络中,并且利用这个新的模型来解决通信任务上的问题。 2017年研究员在图卷积网络中引入了用于语义角色标注的边缘门控机制。随着技术的进步最终研究员们设计了一个学习图拉普拉斯算子幂的非线性逼近的网络,并将其应用于无监督图聚类问题。还有一些利用该模型在其他方面的工作如:药物设计、计算机图形学和视觉等。
2. 神经网络在可变长度图上的解决方案
2.1 循环神经网络(Recurrent Neural Network, RNN)
通用方法:考虑一个用于自然语言处理中的单词预测的标准RNN。设
h
i
h_i
hi是序列中与单词
i
i
i相关联的特征向量。在常规的RNN中,
h
i
h_i
hi是用上一步的特征向量
h
j
h_j
hj和当前的单词
x
i
x_i
xi计算得到的,因此我们有:
h
i
=
f
V
R
N
N
(
x
i
,
h
j
:
j
=
i
−
1
)
正则化后
h
i
=
f
G
−
R
N
N
(
x
i
,
h
j
:
j
→
i
)
…
…
(
E
q
.
1
)
h_i = f_{VRNN} ( x_i , {h_j : j = i − 1} )\\ 正则化后\\ h_i = f_{G-RNN} ( x_i , {h_j : j → i} )……(Eq.1)
hi=fVRNN(xi,hj:j=i−1)正则化后hi=fG−RNN(xi,hj:j→i)……(Eq.1)
其中
x
i
x_i
xi为数据向量,
{
h
j
:
j
→
i
}
\{h_j: j→i\}
{hj:j→i}为相邻顶点的特征向量集合。注意,集合
h
j
{h_j}
hj是无序的,这意味着
h
i
h_i
hi是内部固有的节点,即通过顶点重新索引(不需要图之间的顶点匹配)保持不变(我个人的看法是这点很想是WL测试也可以参考GIN模型其中的单射来解决同构图的问题)。关于另外一个关于
f
G
−
R
N
N
f_{G-RNN}
fG−RNN函数的性质便是其局部性,因为只考虑顶点
i
i
i的邻居,权重的共享,并且这个向量与图的长度无关。综上所述,要在一个图RNN中定义一个特征向量,需要一个映射函数
f
f
f,它以一个无序的向量集合
{
h
j
}
\{h_j\}
{hj}作为输入,即
i
i
i所有相邻顶点的特征向量和一个数据向量
x
i
x_i
xi。
我们把映射函数 f G − R N N f_{G-RNN} fG−RNN称为图RNN中的邻域传递函数。在常规RNN中,每个邻居相对于当前单词(从中心向左1个位置)是一个不同的位置。在一个图中,如果边缘没有加权或注释,则邻居是很难进行区分的。唯一特殊的顶点是围绕它建立邻域的中心顶点。这解释了公式(Eq.1)。
图神经网络:研究员提出使用带有多层感知器的RNN来定义特征向量
h
i
h_i
hi:
h
i
=
f
G
−
R
N
N
(
x
i
,
h
j
:
j
→
i
)
=
∑
j
→
i
C
G
−
V
R
N
N
(
x
i
,
h
j
)
…
…
(
E
q
.
2
)
其中
C
G
−
V
R
N
N
(
x
i
,
h
j
)
=
A
σ
(
B
σ
(
U
x
i
+
V
h
j
)
)
σ
为激活函数(
s
i
g
m
o
i
d
),
A
、
B
、
U
、
V
为待学习的权重参数。
h_i = f_{G-RNN} ( x_i , {h_j : j → i} )=\sum_{ j → i}C_{G-VRNN}(x_i, h_j )……(Eq.2)\\ 其中C_{G-VRNN}(x_i, h_j )= Aσ(Bσ(U x_i + V h_j ))\\ σ为激活函数(sigmoid),A、B、U、V为待学习的权重参数。
hi=fG−RNN(xi,hj:j→i)=j→i∑CG−VRNN(xi,hj)……(Eq.2)其中CG−VRNN(xi,hj)=Aσ(Bσ(Uxi+Vhj))σ为激活函数(sigmoid),A、B、U、V为待学习的权重参数。
由于模型的依赖计算图不是一个有向无环图(DAG),因此最小化的
E
q
.
(
2
)
Eq.(2)
Eq.(2)是不存在闭式解(解析解)。于是研究员就提出了一种不动点迭代形式:其中
t
=
0
,
1
,
2
,
…
t = 0,1,2,…
t=0,1,2,…
h
i
t
+
1
=
∑
j
→
i
C
(
x
i
,
h
j
t
)
…
…
(
E
q
.
3
)
,
h
i
t
=
0
=
0
∀
i
.
h^{t+1}_i = ∑_{j→i}C(x_i, h^t_j )……(Eq.3),\\ h^{t=0}_i = 0 \quad∀i.
hit+1=j→i∑C(xi,hjt)……(Eq.3),hit=0=0∀i.
研究员提出假设,只要映射是收敛的那么迭代就能保证收敛。此外,大量的迭代其计算成本会很高。
门控图神经网络(GGNN)。在这项研究中,研究员们使用了门控循环单位(GRU):
h
i
=
f
G
−
G
R
U
(
x
i
,
h
j
:
j
→
i
)
=
C
G
−
G
R
U
(
x
i
,
∑
j
→
i
h
j
)
…
…
(
E
q
.
4
)
h_i = f_{G-GRU} ( x_i , {h_j : j → i} )=C_{G-GRU}(x_i, \sum_{ j → i}h_j )……(Eq.4)
hi=fG−GRU(xi,hj:j→i)=CG−GRU(xi,j→i∑hj)……(Eq.4)
由于最小化Eq.(4)没有闭式解(解析解)所以研究员们就设计了如下迭代方案:
h
i
t
+
1
=
C
G
−
G
R
U
(
h
t
i
,
h
‾
i
t
)
h
i
t
=
0
=
x
i
∀
i
.
其中
h
‾
i
t
=
∑
j
→
i
h
j
t
C
G
−
G
R
U
(
h
t
i
,
h
‾
i
t
)
就等于
z
i
t
+
1
=
σ
(
U
z
h
i
t
+
V
z
h
‾
i
t
)
r
i
t
+
1
=
σ
(
U
r
h
i
t
+
V
r
h
‾
i
t
)
h
‾
i
t
+
1
=
t
a
n
h
(
(
U
h
(
h
i
t
⊙
r
i
t
+
1
)
+
V
h
h
‾
i
t
)
h
i
t
+
1
=
(
1
−
z
i
t
+
1
)
⊙
h
i
t
+
z
i
t
+
1
⊙
h
i
t
+
1
h^{t+1}_i = C_{G-GRU}(h_t^i,\overline h_i^t)\\ h^{t=0}_i =x_i \quad∀i.\\ 其中\overline h_i^t = \sum_{j → i}h_j^t\\ C_{G-GRU}(h_t^i,\overline h_i^t)就等于\\ z^{t+1}_i = σ(U_z h^t_i + V_z \overline h^t_i)\\ r^{t+1}_i = σ(U_r h^t_i + V_r \overline h^t_i)\\ \overline h^{t+1}_i = tanh((U_h(h^t_i\odot r^{t+1}_i ) +V_h\overline h^t_i)\\ h^{t+1}_i = (1 − z^{t+1}_i)\odot h^t_i + z^{t+1}_i\odot h^{t+1}_i
hit+1=CG−GRU(hti,hit)hit=0=xi∀i.其中hit=j→i∑hjtCG−GRU(hti,hit)就等于zit+1=σ(Uzhit+Vzhit)rit+1=σ(Urhit+Vrhit)hit+1=tanh((Uh(hit⊙rit+1)+Vhhit)hit+1=(1−zit+1)⊙hit+zit+1⊙hit+1
树状结构LSTM:研究员将原始LSTM模型扩展为树状结构:
h
i
=
f
T
−
L
S
T
M
(
x
i
,
h
j
:
j
∈
C
(
i
)
)
=
C
T
−
L
S
T
M
(
x
i
,
h
i
,
∑
j
∈
C
(
i
)
h
j
)
…
…
(
E
q
.
5
)
其中
C
(
i
)
为节点
i
的子节点集合
C
T
−
L
S
T
M
(
x
i
,
h
i
,
∑
j
∈
C
(
i
)
h
j
)
就等于
h_i = f_{T-LSTM} (x_i, {h_j : j ∈ C(i)}) = C_{T-LSTM}(x_i, h_i, ∑_{j∈C(i)}h_j)……(Eq.5)\\ 其中C(i)为节点i的子节点集合 C_{T-LSTM}(x_i, h_i, ∑_{j∈C(i)}h_j)就等于
hi=fT−LSTM(xi,hj:j∈C(i))=CT−LSTM(xi,hi,j∈C(i)∑hj)……(Eq.5)其中C(i)为节点i的子节点集合CT−LSTM(xi,hi,j∈C(i)∑hj)就等于
Tree -LSTM不需要迭代过程来更新其特征向量 h i h_i hi,因为树结构和原始LSTM一样也是DAG。因此,特征表示(Eq.5)可以用递推公式更新。然而,树是图的一种特殊情况,这种递归公式不能直接应用于任意结构的图。该模型的一个关键性质是函数 f i j f_{ij} fij, 该函数作为从邻居 j j j到顶点 i i i的边的门控函数。对于给定任务,门会关闭,让信息从邻居 j j j流到顶点 i i i,或为了阻止它而打开它。它似乎是学习图上系统的一个基本属性,因为一些邻居可能是不相关的。
2.2 卷积神经网络
通用方法。现在从一个经典的计算机视觉卷积网入手。设
h
i
j
l
h^l_{ij}
hijl表示与像素
(
i
,
j
)
(i, j)
(i,j)相关联的
l
l
l层上的特征向量。在常规卷积网络中
,
h
i
j
l
+
1
,h^{l +1}_{ij}
,hijl+1是通过对像素
(
i
,
j
)
(i, j)
(i,j)邻域内所有像素
(
i
′
,
j
′
)
(i ', j ')
(i′,j′)的特征向量
h
i
′
j
′
l
h^l_{i ' j '}
hi′j′l进行非线性变换得到的。例如,使用3 × 3卷积核,我们可以得到:
h
i
j
l
+
1
=
f
C
N
N
l
(
{
h
i
′
j
′
l
:
∣
i
−
i
′
∣
≤
1
a
n
d
∣
j
−
j
′
∣
≤
1
}
)
h^{l+1}_{ij} = f^l_{CNN}( \{h^l_{i′ j′} : |i − i′| ≤ 1\ and \ |j − j′| ≤ 1\} )
hijl+1=fCNNl({hi′j′l:∣i−i′∣≤1 and ∣j−j′∣≤1})
上面用
h
i
′
j
′
l
:
∣
i
−
i
′
∣
≤
1
a
n
d
∣
j
−
j
′
∣
≤
1
{h^l_{i′ j′} : |i − i′| ≤ 1\ and \ |j − j′| ≤ 1}
hi′j′l:∣i−i′∣≤1 and ∣j−j′∣≤1表示属于顶点
(
i
,
j
)
(i, j)
(i,j)的在3 × 3邻域的所有特征向量
h
i
′
j
′
l
h^l_{i ' j '}
hi′j′l的拼接。在ConvNets中,邻域的概念由欧氏距离给出。如前所述,对于图,邻域的概念是由图结构给出的。因此,对于一个图卷积网络,在顶点
i
i
i处的特征向量
h
i
h_i
hi的通式为:
h
i
l
+
1
=
f
G
−
C
N
N
(
h
i
l
,
{
h
j
l
:
j
→
i
}
)
…
…
(
E
q
.
6
)
h^{l+1}_i = f_{G-CNN}( h^l_i , \{h^l_j : j → i\} )……(Eq.6)
hil+1=fG−CNN(hil,{hjl:j→i})……(Eq.6)
其中
{
h
j
l
:
j
→
i
}
\{h^l_j : j → i\}
{hjl:j→i}表示相邻顶点的特征向量集合。也就是说,要定义一个图CNN,需要一个以向量
h
i
l
h^l_i
hil(中心顶点的特征向量)和一个无序向量集
{
h
j
l
}
\{h^l_j\}
{hjl}(所有相邻顶点的特征向量)作为输入的映射函数
f
G
−
C
N
N
f_{G-CNN}
fG−CNN。我们也将映射函数
f
G
−
C
N
N
f_{G-CNN}
fG−CNN称为邻域传递函数。在常规卷积网络中,每个邻居相对于中心像素的位置是不同的(例如,从中心向上一个像素和从中心向左一个像素)。对于图RNN,图卷积网络唯一特殊的顶点是围绕它建立邻域的中心顶点。
CommNets:其邻域传递函数如下:
h
i
l
+
1
=
f
G
−
V
C
N
N
(
h
i
l
,
{
h
j
l
:
j
→
i
}
)
=
R
e
L
U
(
U
l
h
i
l
+
V
l
∑
j
→
i
h
j
l
)
…
…
(
E
q
.
7
)
h^{l+1}_i = f_{G-VCNN}( h^l_i , \{h^l_j : j → i\} )= ReLU( U^lh^l_i + V^l∑_{j→i}h^l_j)……(Eq.7)
hil+1=fG−VCNN(hil,{hjl:j→i})=ReLU(Ulhil+Vlj→i∑hjl)……(Eq.7)
式中
l
l
l为层数,ReLU激活函数。我们将把这种架构称为VCNN。研究员利用这种图神经网络学习多个代理之间的通信,以解决流量控制等多个任务。
S-GCN:其传递函数如下:
h
i
l
+
1
=
f
S
−
G
C
N
(
h
i
l
,
{
h
j
l
:
j
→
i
}
)
=
R
e
L
U
(
∑
j
→
i
η
i
j
⊙
V
l
h
i
l
)
…
…
(
E
q
.
8
)
其中
η
i
j
作为边的门控函数,其计算公式为:
η
i
j
=
σ
(
A
l
h
i
l
+
B
l
h
j
l
)
…
…
(
E
q
.
9
)
h^{l+1}_i = f_{S-GCN}( h^l_i , \{h^l_j : j → i\} )= ReLU( ∑_{j→i}\eta _{ij}\odot V^lh^l_i)……(Eq.8)\\ 其中\eta _{ij}作为边的门控函数,其计算公式为:\\ \eta _{ij}= σ (A^lh^l_i + B^lh^l_j)……(Eq.9)
hil+1=fS−GCN(hil,{hjl:j→i})=ReLU(j→i∑ηij⊙Vlhil)……(Eq.8)其中ηij作为边的门控函数,其计算公式为:ηij=σ(Alhil+Blhjl)……(Eq.9)
这些门控函数在边上的应用其思想上与Tree- LSTM非常相似。我们相信这种机制对于图来说是很重要的,因为它们能够学习到边的信息,而这些边对于能否解决图上的相关任务是十分重要的。
3. 模型
Graph LSTM:将Tree-LSTM扩展到任意图和多层上:
换句话说,向量 h i l + 1 h^{l+1}_i hil+1是通过运行模型从 t = 0 , . . , T t = 0, .., T t=0,..,T在 l l l层计算得到的。它产生了向量 h i l , t = T h^{l,t=T}_i hil,t=T它变成了 h i l + 1 h^{l+1}_i hil+1还有下一层的输入 x i l + 1 x^{l+1}_i xil+1。提出的Graph LSTM模型不同于以前的Graph LSTM模型主要是因为这些之前模型中的单元 C G − L S T M C_{G-LSTM} CG−LSTM没有经过多次T迭代,这降低了Graph LSTM的性能。
超参数T对RNN结构的影响。左图为图匹配,中图为半监督聚类,右图为聚类任务的批处理时间(匹配趋势相同)。
Gated Graph ConvNets:我们利用VCNN的架构,Eq.(7),边缘控制机制,Eq.(8),得到以下模型:
h
i
l
+
1
=
f
G
−
G
C
N
N
(
h
i
l
,
{
h
j
l
:
j
→
i
}
)
=
R
e
L
U
(
U
l
h
i
l
+
∑
j
→
i
η
i
j
⊙
V
l
h
i
l
)
…
…
(
E
q
.
11
)
h^{l+1}_i = f_{G-GCNN}( h^l_i , \{h^l_j : j → i\} )= ReLU(U^lh^l_i + ∑_{j→i}\eta _{ij}\odot V^lh^l_i )……(Eq.11)
hil+1=fG−GCNN(hil,{hjl:j→i})=ReLU(Ulhil+j→i∑ηij⊙Vlhil)……(Eq.11)
Residual Gated Graph ConvNets:此外,我们利用的残差网络(ResNets)构建了多层门控图ConvNet。这可以归结为在连续的卷积层之间添加恒等算子:
h
i
l
+
1
=
f
l
(
h
i
l
,
{
h
j
l
:
j
→
i
}
)
+
h
i
l
h^{l+1}_i = f^l( h^l_i , \{h^l_j : j → i\} )+h^l_i
hil+1=fl(hil,{hjl:j→i})+hil
4. 实验
作者这里的实验主要是围绕着两个任务组成的分别是子图匹配和半监督聚类:
4.1 子图匹配
第一个实验聚焦于浅层图神经网络
第二个实验证明了多层网络与浅层网络相比的重要性。
第三个实验中,我们评估不同的预算参数的算法
其中:
L就是多少层
H代表是在神经网络中的隐藏层数
q代表我们还改变噪声的水平,即SBM中连接两个不同社区中的两个顶点的概率q (q越高,社区的混合程度越高)。
B代表的是预算参数( budgets of parameters ) 我个人理解可能是算力的大小
4.2 半监督聚类
与上面的实验任务相同,当层数增加(隐藏层)时,ConvNet架构明显优于RNN,其中提出的Gated ConvNet优于其他架构。对于固定数量的层 L = 6 L = 6 L=6,我们的Graph ConvNets所有预算力中表现最佳,同时其计算成本相比其他的模型也可以接受。
半监督聚类:第一行报告浅网络w.r.t.噪声q。第二行显示多层图网络w.r.t. l。第三行是关于图架构w.r.t.预算力B
接下来,我们报告模型的学习速度。我们将L = 6, B = 100K, H自动计算以满足预算。下图报告了按时间计算的精度。卷积网络的收敛速度比RNN快,特别是对于半监督任务。
RNN和卷积网络结构的学习速度。左图为图匹配,右图为半监督聚类。
5. 总结
本研究探讨了图神经网络架构的选择,以解决具有可变长度图的学习任务。我们开发了两个基本图学习问题的分析控制实验,即子图匹配和图聚类。数值实验表明,图卷积网络的精度随网络深度的增加而单调增加,而Graph RNN的性能随网络层数的增加而下降。这导致我们考虑最通用的Gate Graph ConvNets公式,Eq.(11)。我们还探讨了图的Resnet的好处,如公式(12)。若是没有残差,现有的图神经网络无法叠加很多层。这一特性对于图神经网络至关重要,当堆叠超过6层时,其准确率将提高10%。我们未来的工作将集中在解决化学、物理和神经科学领域的特定问题。
而下降。这导致我们考虑最通用的Gate Graph ConvNets公式,Eq.(11)。我们还探讨了图的Resnet的好处,如公式(12)。若是没有残差,现有的图神经网络无法叠加很多层。这一特性对于图神经网络至关重要,当堆叠超过6层时,其准确率将提高10%。我们未来的工作将集中在解决化学、物理和神经科学领域的特定问题。