【文献阅读-综述】A survey on graph neural networks(2023)
A survey on graph neural networks
关于图神经网络的调研
作者:Jing Wang
文章目录
摘要
介绍图神经网络的基础理论知识、常见的图神经网络模型、数据集,展望未来。
近年来,我们见证了深度学习给机器学习带来的发展。它以最先进的性能解决了计算机视觉、语音识别、自然语言处理和其他各种任务中的许多问题。然而,这些任务中的数据通常用欧几里得空间表示,但随着技术的发展,越来越多的应用正在从非欧几里得域生成数据,并将其表示为具有复杂关系和对象间相互依赖关系的图。这给深度学习算法带来了巨大挑战,因为图的独特性,将深度学习应用于无处不在的图数据中并不简单,为了解决非欧式空间的问题,图神经网络(GNNs)应运而生,GNN是一种神经模型,通过在图节点之间传递信息来捕获图之间的依赖关系,本文介绍了常用图神经网络、它们的学习方法以及用于GNNs的常用数据集,同时展望了图神经网络的未来。
以下是本篇文章正文内容
一、引言 Introduction
神经网络快速发展,深度学习称为人工智能和机器学习的“明珠”1。许多曾经依赖于人工方法提取特征信息的机器学习任务(如图像识别、机器翻译)都被多种更进步的深度学习方法替代。深度学习在图像分类、视频处理、语音识别和自然语言理解等领域的成功要归功于大数据和高性能计算能力,还要归功于深度学习2 本身在从欧氏数据中提取潜在表征方面的功效。
图可以是规则的,也可以是不规则的,一个图可以有大小不同的无序节点,同一个图中的节点可能有不同数量的邻居以及不同的邻居。意味着一些深度学习算法中在欧氏空间表现不错的操作(例如 卷积)难以应用到图领域。
图随处可见并在现实世界广泛使用。可以表示不同领域的对象(objects)及其之间的关系。例如,大规模社交网络、交通网络、化学分子分析、推荐系统3、生态系统等,越来越多的应用依赖于将非欧氏空间4 生成的数据表示为图,其对象之间具有复杂关系且相互依存。图结构的复杂性给现存深度学习算法带来巨大挑战,在卷积神经网络(CNN)和循环神经网络(RNN)的驱动下,图神经网络(GNN)出现了,它让深度学习算法可以应用于非欧氏空间解决图问题。
GNN是基于图结构的深度学习算法,学习图节点和边的表示方法,执行分类、聚类和对整个图进行预测等任务。与传统需要将图转换成向量或矩阵的机器学习算法不同,GNNs利用节点之间的关系,直接对图进行计算,改进了图数据的表达。例如在社交网络分析中,GNNs帮助发现社区结构并预测用户兴趣和行为等。在化学分子分析中,GNNs帮助完成分子分类、聚类及预测等任务。在推荐系统中,GNNs可以利用用户之间的关系改进推荐的有效性。
二、背景 Background
研究历程
图神经网络(GNNs)的早期研究属于循环神经网络(RecGNNs)的范畴,具有较高的开销(overhead)。
Sperduti 和 Starita 5 将神经网络引入直接非循环图(direct acyclic graphs),推动了 GNN 的研究。
Gori 和 Monfardini 6 首次提出了图神经网络的概念。
7 8进一步阐述了图神经网络的概念。
Wu, Pan 9 将图神经网络分为四类。
Zhang, Cui 10 不同类型图的深度学习方法综述。
Thomas, Moallemy-Oureh 11 根据图神经网络处理图类型和属性的不同能力对其进行了分类。
Waikhom 和 Patgiri 12 总结了图神经网络的学习模式。
Zhou, Cui 13 提出了图神经网络模型的通用管道/框架(pipeline)设计。
还有一些关于图神经网络学习方法的研究。
Cao, Li14 在高光谱分类(hyperspectral)中提取特征信息,避免15 引起的信息传递过度平滑的问题。
Okuda、Satoh16 提出了无监督图表示学习,以发现图像中的共同对象和一组特定对象,从而进行定位。(基于对比的学习方法)
17 中提出的节点分类和边检测结合了两种学习方法、随机游走和语言建模,其学习的表示可以用于下游任务。
本文全面回顾了图神经网络的不同模型以及图神经网络的学习方式。
主要贡献:
- 关于图神经网络模型完整而详细的综述;
- 对基于图的训练方法进行讨论;
- 分析图神经网络研究的未来挑战。
三、图神经网络 Graph Neural Network
3.1 图的概念和表示法 Concept and notation representation of graphs
图神经网络18 19 是一种适用于图结构分析的深度神经网络。
图 Graph:
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)
节点数量:
N
=
∣
V
∣
N=|V|
N=∣V∣
节点集:
v
=
{
v
1
,
v
2
,
…
,
v
n
}
v=\{v_1,v_2,\dots,v_n\}
v={v1,v2,…,vn}
边集:
E
⊆
V
×
V
E\subseteq V\times V
E⊆V×V
邻接矩阵:
A
∈
R
N
×
N
A\in\mathbb{R}^{N\times N}
A∈RN×N
3.2 图神经网络结构 Structure of Graph Neural Network
图结构中,每个节点被它自己及与其相连的节点的特征定义。
GNN20 的目标是学习每个节点的状态嵌入向量
h
v
∈
R
s
h_v\in\mathbb{R}^{s}
hv∈Rs21 ,包含了节点邻居的信息。节点状态向量
h
v
h_v
hv可以用来得到输出
o
v
o_v
ov:
- 假设 f ( . ) f(.) f(.)是一个函数,参数为局部转换函数(local transition function),它被所有节点共享,并根据来自邻居节点的输入更新节点状态;
- 假设 g ( . ) g(.) g(.)是一个局部输出函数,用来描述输出的生成方式。
h
v
=
f
(
x
v
,
x
c
o
[
v
]
,
h
n
e
[
v
]
,
x
n
e
[
v
]
)
(
1
)
h_v=f(x_v,x_{co[v]},h_{ne[v]},x_{ne[v]}) \qquad(1)
hv=f(xv,xco[v],hne[v],xne[v])(1)
o
v
=
g
(
h
v
,
x
v
)
(
2
)
o_v=g(h_v,x_v) \qquad(2)
ov=g(hv,xv)(2)
x
v
x_v
xv:节点v的特征向量
x
c
o
[
v
]
x_{co[v]}
xco[v]:与节点v相关联的边的特征向量
h
n
e
[
v
]
h_{ne[v]}
hne[v]:节点v邻居节点的状态向量
x
n
e
[
v
]
x_{ne[v]}
xne[v]:节点v邻居节点的特征向量
将所有状态向量、输出向量、特征向量、以及从节点特征得到的向量叠加,并分别由H,O,X,
X
N
X_N
XN表示:
H
=
F
(
H
,
X
)
(
3
)
H=F(H,X) \qquad(3)
H=F(H,X)(3)
O
=
G
(
H
,
X
N
)
(
4
)
O=G(H,X_N) \qquad(4)
O=G(H,XN)(4)
F和G分别是全局转换函数和全局输出函数,是图上所有节点 f 和 g 的堆叠。根据巴拿赫不动点定理(Banach’s immobility point theorem),GNN使用以下常规迭代方法来计算状态协变量:
H
t
+
1
=
F
(
H
t
,
X
)
(
5
)
H^{t+1}=F(H^t,X) \qquad(5)
Ht+1=F(Ht,X)(5)
H
t
H^t
Ht表示H第t次迭代循环。对于任意初始值
H
0
H_0
H0,公式(5)可以通过快速收敛到公式(3)的最终定点解得到。
四、图神经网络模型 Graph Neural Network Models
4.1 图卷积网络 Graph Convolutional Network(GCN)
GCN是一个卷积神经网络,直接作用于图,并利用其结构信息。
现代GCNs模仿CNNs,设计卷积和读出函数(readout functions)来学习图的常见局部和全局结构模式。CNN25 在建立其它复杂GNN模型中发挥核心作用。
4.1.1 图卷积方法
图卷积神经网络包括基于空间的图卷积神经网络26 27 28 和基于频谱的图卷积神经网络29 30 31 32 。
(1)基于空间的图卷积神经网络
基于空间域的图卷积神经结构主要包括三类运算符:邻域采样33、信息计算和信息聚合。在 GCN 中,聚合操作用于聚合节点所代表的相邻节点,以实现节点之间的信息传输。图1 展示基于空间域的GCN的节点的信息传递。
最简单的聚合过程是将图的节点特征(X)与图的拓扑结构信息(邻接矩阵 A)进行乘积运算。(图2)
为了解决 图2 中不计算节点自身特征而直接求和汇总的问题(这可能会导致梯度爆炸或消失),可以将单位矩阵 I 添加到邻接矩阵 A 中,并通过加权平均来汇总相邻节点的特征。
根据卷积堆叠的不同方法,基于空间的 GCN 可进一步分为两类:基于循环(recurrent-based)的和基于组成(composition-based)的空间 GCN。基于循环的方法使用相同的图卷积层来更新隐藏表达,而基于组成的方法使用不同的图卷积层来更新隐藏表达。图3给出对比。
空间方法是直接在空间域定义卷积。面临的问题是,由于每个节点的邻域大小不同,不可能定义一个相同大小的邻域,因此实现参数共享面临较大困难,但其思路仍然是卷积是一个节点对其邻域节点的加权平均,因此后续的许多方法都旨在解决参数共享问题。
(2)基于频谱的图卷积神经网络
基于频谱方法的卷积是基于空间方法的卷积的一个特例。通过神经网络,利用图的拉普拉斯矩阵的特征值和特征向量来研究图的特性。引入滤波器,从信号处理的角度定义卷积。
首先,利用卷积定理对谱域信号进行乘法运算。
其次,利用傅立叶变换将信号转换到原始空间,从而实现卷积。
这种方法避免了因图数据不满足平移不变性(translation invariance)而造成的卷积定义困难。(非欧氏空间数据)
由于图的结构不满足平移不变性,因此无法直接在空间域定义卷积,所以信号要转换到频域,在频域中实现卷积运算,然后再转换回空间域,这就是频谱方法。
基于频谱方法的图卷积神经网络假定图是无向图。
归一化图拉普拉斯矩阵是无向图的数学表示,其定义为:
L
=
I
n
−
D
−
1
2
A
D
−
1
2
(
6
)
L=I_n-D^{-\frac{1}{2}}AD^{-\frac{1}{2}} \qquad(6)
L=In−D−21AD−21(6)
D是度矩阵,是一个对角矩阵,A是邻接矩阵。利用图拉普拉斯矩阵的对称半正定性质,归一化的拉普拉斯矩阵可以进行分解:
L
=
U
Λ
U
T
(
7
)
L=U\Lambda U^T \qquad(7)
L=UΛUT(7)
特征分解,U为特征向量矩阵,
Λ
\Lambda
Λ为特征值的对角阵。正则化拉普拉斯矩阵的特征向量构成一组正交基。在图信号处理中,图信号
x
∈
R
˙
N
x\in\dot{R}^N
x∈R˙N是由图各个节点组成的特征向量,
x
i
x_i
xi即为第i个节点。图X的傅里叶变换和傅里叶逆变换:
x
^
=
F
(
x
)
=
U
T
x
(
8
)
\hat{x}=F(x)=U^Tx \qquad(8)
x^=F(x)=UTx(8)
x
=
F
−
1
(
x
^
)
=
U
x
^
(
9
)
x=F^{-1}(\hat{x})=U\hat{x} \qquad(9)
x=F−1(x^)=Ux^(9)
图的傅里叶变换将输入的图信号投射到一个正交空间,该空间的基底由正则化图拉普拉斯矩阵的特征向量构成。变换后信号的元素就是图信号在新空间中的坐标,因此原始输入信号可以表示为:
x
=
∑
i
x
^
i
u
i
(
10
)
x=\sum_i\hat{x}_iu_i \qquad(10)
x=∑ix^iui(10)
即傅里叶逆变换的结果。
图卷积:
x
⋆
G
g
=
F
−
1
(
F
(
x
)
⊙
F
(
g
)
)
(
11
)
x\star_G g=F^{-1}(F(x)\odot F(g)) \qquad(11)
x⋆Gg=F−1(F(x)⊙F(g))(11)
=
U
(
U
T
x
⊙
U
T
g
)
\quad\quad\quad=U(U^Tx\odot U^Tg)
=U(UTx⊙UTg)
g是定义的滤波器,
⊙
\odot
⊙是哈达玛乘积(Hadamard product)。
假设定义滤波器
g
θ
=
d
i
a
g
(
U
T
g
)
g_{\theta}=diag(U^Tg)
gθ=diag(UTg),图卷积34 可以简化为:
x
⋆
G
g
θ
=
U
g
θ
U
T
x
x\star_G g_{\theta}=Ug_{\theta}U^Tx
x⋆Ggθ=UgθUTx
基于频谱的图卷积网络都遵循这一模式,它们之间的主要区别在于滤波器的选择。
模型:Spectral CNN、Chebyshev Spectral CNN(ChebNet)35、自适应图卷积网络(AGCN)
4.1.2 谱域空域模型对比
作为最早的图卷积网络,基于频谱的模型在许多与图相关的分析任务中取得了令人瞩目的成果。这些模型在图信号处理方面有一定的理论基础。通过设计新的图信号滤波器,我们可以从理论上设计出新的图卷积网络。然而,基于频谱的模型也存在一些难以克服的缺点,下文从效率、通用性和灵活性等方面加以阐述。
就效率而言,谱域模型的计算成本随着图的增大急剧增加,因为它们要么需要执行特征向量计算,要么需要同时处理整个图,这使它们难以应用于大型图。空间域模型通过聚合相邻节点,直接在图域中执行卷积,因此具有处理大型图的潜力,其计算可以在一批节点中进行,而不是在整个图中。当相邻节点数量增加时,可以引入采样技术来提高效率。
就通用性而言,谱域模型假定图是固定的,因此很难在图中添加新的节点。另一方面,空间域模型在每个节点局部执行图卷积,并能在不同位置和结构之间轻松共享权重。
就灵活性而言,谱域模型仅限于处理无向图,有向图上的拉普拉斯矩阵没有明确定义,因此将谱域模型应用于有向图的唯一方法是将有向图转换为无向图。空间域模型在处理多个源输入时更为灵活,这些源输入可以组合成聚合函数。
4.2 图注意力网络 Graph Attention Network(GAT)
GAT36 由大量功能性识别的模块(图注意力层37)构成。特点有:高效,低存储类型、归纳学习和全图访问。图注意力层输入节点的特征值为 h ⃗ = { h ⃗ 1 , h ⃗ 2 , … , h ⃗ N } , h ⃗ i ∈ R F \vec{h}=\{\vec{h}_1,\vec{h}_2,\dots,\vec{h}_N\} ,\vec{h}_i\in\mathbb{R}^F h={h1,h2,…,hN},hi∈RF,其中N是节点数,F是节点特征的维度。通过图注意力层后,输出新的特征向量,表示为 h ′ ⃗ = { h ′ ⃗ 1 , h ′ ⃗ 2 , … , h ′ ⃗ N } , h ′ ⃗ i ∈ R F ′ \vec{h'}=\{\vec{h'}_1,\vec{h'}_2,\dots,\vec{h'}_N\} ,\vec{h'}_i\in\mathbb{R}^{F'} h′={h′1,h′2,…,h′N},h′i∈RF′,F‘是新特征维度。 图四 展示注意力层。
运用自注意力的目的是提高
h
′
⃗
\vec{h'}
h′的表达能力。在图注意力层中,权重矩阵
W
∈
R
F
′
×
F
W\in\mathbb{R}^{F'\times F}
W∈RF′×F 先作用于每个节点,随后对每个节点采用自注意力机制,计算注意力系数,共享自注意力机制用
a
a
a 表示,输出:
e
i
j
=
a
(
W
h
i
,
W
h
⃗
j
)
(
14
)
e_{ij}=a(Wh_i,W\vec{h}_j) \qquad(14)
eij=a(Whi,Whj)(14)
e
i
j
e_{ij}
eij表示节点 j 对于节点 i 的重要性。理论上可以计算图里任一节点相对于中心节点的权重。在GAT中,为了简化计算,节点仅限于中心节点的一跳(one-hop)邻居,同时将自己也视为邻居节点。现有研究中有很多方法选择,例如选择参数
a
⃗
∈
R
2
F
′
\vec{a}\in\mathbb{R}^{2F'}
a∈R2F′的单层前向传播网络,再使用LeakyReLu进行非线性化,得到:
e
i
j
=
L
e
a
k
e
y
R
e
L
u
(
a
⃗
T
(
W
h
i
⃗
,
W
h
j
)
)
(
15
)
e_{ij}=LeakeyReLu(\vec{a}^T(W\vec{h_i},Wh_j)) \qquad(15)
eij=LeakeyReLu(aT(Whi,Whj))(15)
最终邻居节点用softmax规范化为:
α
i
j
=
s
o
f
t
m
a
x
(
e
i
j
)
=
e
x
p
(
e
i
j
)
∑
k
∈
N
i
e
x
p
(
e
i
k
)
(
16
)
\alpha_{ij}=softmax(e_{ij})=\frac{exp(e_{ij})}{\sum_{k\in N_i}exp(e_{ik})} \qquad(16)
αij=softmax(eij)=∑k∈Niexp(eik)exp(eij)(16)
输出特征:
h
i
′
⃗
=
σ
(
∑
j
∈
N
i
α
i
j
h
j
⃗
)
(
17
)
\vec{h'_i}=\sigma(\sum\limits_{j\in N_i}\alpha_{ij}\vec{h_j}) \qquad(17)
hi′=σ(j∈Ni∑αijhj)(17)
为了提高注意力机制的普适性,GAT 选择使用多头注意力层(multi-headed attention layer),即从一组 K 个相互独立的图注意力层中选择一个单头注意力层38,然后将它们的结果拼接在一起,这样的输出特征:
h
i
′
⃗
=
∥
k
=
1
K
σ
(
∑
j
∈
N
i
α
i
j
(
k
)
W
k
h
j
⃗
)
(
18
)
\vec{h'_i}=\Vert_{k=1}^K\sigma(\sum_{j\in Ni}\alpha_{ij}^{(k)}W^k\vec{h_j}) \qquad(18)
hi′=∥k=1Kσ(∑j∈Niαij(k)Wkhj)(18)
∥
\Vert
∥表示拼接操作,
α
i
j
(
k
)
\alpha_{ij}^{(k)}
αij(k)是由第k组注意力机制计算得到的权重因子,
W
k
W^k
Wk是第k个模块的权重矩阵,要减少特征向量的维度,可以用求均值代替拼接操作,得到:
h
i
′
⃗
=
σ
(
1
K
∑
k
=
1
K
∑
j
∈
N
i
α
i
j
(
k
)
W
k
h
j
⃗
)
(
19
)
\vec{h'_i}=\sigma(\frac{1}{K}\sum\limits_{k=1}^K\sum\limits_{j\in Ni}\alpha_{ij}^{(k)}W^k\vec{h_j}) \qquad(19)
hi′=σ(K1k=1∑Kj∈Ni∑αij(k)Wkhj)(19)
4.3 图自编码器 Graph Autoencoder(GAE)
Kipf和Welling39 提出基于图的自编码器,由于其简单的编码-解码结构和高效的编码能力,在许多领域都大显身手。图5 展示GAE的流程。
4.3.1 编码器
GAE使用GCN当作编码器40 来获得节点的潜在表达(或嵌入):
Z
=
G
C
N
(
X
,
A
)
=
A
~
R
e
L
u
(
A
~
X
W
0
)
W
1
(
20
)
Z=GCN(X,A)=\tilde{A}ReLu(\tilde{A}XW_0)W_1 \qquad(20)
Z=GCN(X,A)=A~ReLu(A~XW0)W1(20)
将GCN当作函数,X和A是输入, Z ∈ R N × F Z\in\mathbb{R}^{N\times F} Z∈RN×F是输出,代表所有节点的潜在表达(嵌入)。 A ~ = D − 1 2 A D − 1 2 \tilde{A}=D^{-\frac{1}{2}}AD^{-\frac{1}{2}} A~=D−21AD−21, W 0 W_0 W0和 W 1 W_1 W1代表要学习的参数。
4.3.2 解码器
GAE用内积做解码器,重建初始图:
A
^
=
σ
(
Z
Z
T
)
(
22
)
\hat{A}=\sigma(ZZ^T) \qquad(22)
A^=σ(ZZT)(22)
A
^
\hat{A}
A^是重建后的邻接矩阵,合适的Z应当保证重建后的邻接矩阵尽可能与原始矩阵相似41 ,因为邻接矩阵决定了图的结构。因此GAE使用交叉熵作为训练过程的损失函数:
L
=
−
1
N
∑
y
l
o
g
y
^
+
(
1
−
y
)
l
o
g
(
1
−
y
^
)
(
23
)
L=-\frac{1}{N}\sum ylog\hat{y}+(1-y)log(1-\hat{y}) \qquad(23)
L=−N1∑ylogy^+(1−y)log(1−y^)(23)
y代表邻接矩阵A中的一个元素值(0或1),
y
^
\hat{y}
y^代表重建邻接矩阵
A
^
\hat{A}
A^的对应元素值(0到1之间)。
4.4 GCN和GAT的区别和联系
GAT和GCN之间的主要区别在于如何收集和计算邻居节点(距离为1)的特征表达。GAT替换掉了GCN中的固定规范化操作,而使用一种注意力机制。从本质上讲,GAT 简单地将 GCN 的标准功能替换为使用注意力权重对相邻节点进行特征聚合的功能。前者是用来解决后者短板的。
GCN的缺点:
- 分配给同阶邻域的不同邻居节点的权重是相同的,不能给邻域中的不同节点分配不同的权重。这限制了模型捕捉空间信息的相关性,这也是它在许多情况下不如 GAT 的原因。
- GCN 组合相邻节点特征的方式取决于图的结构,这使得训练好的模型对其他结构的图的通用性相对较差。
GAT的优点:
- 可以为邻域中的不同节点分配不同的权重。
- 引入注意力机制后,只与相邻节点(具有共享边的节点)相关,而无需获取整个图的信息。
所需图不一定是无向图(如果边不存在,可以省略计算);
使技术可以直接应用于归纳学习(Inductive Learning),包括以图方式评估在训练过程中完全不可见的模型。
GAT 的分类过程与 GCN 非常相似,使用 softmax 函数 + 交叉熵损失函数 + 梯度下降来完成分类过程。本质上,GCN 和 GAT 都是将相邻顶点的特征聚合到中心顶点(聚合操作),并利用图上的局部静态学习新的顶点特征表示: GCN 和 GAT 都将相邻顶点的特征聚合到中心顶点(聚合操作),并利用图上的局部静态来学习新的顶点特征表示。两者的区别在于,GCN 使用的是拉普拉斯矩阵,而 GAT 使用的是注意力系数。在某种程度上,GAT 更强,因为顶点特征之间的相关性更好地融入了模型中。
与 GCN 不同,GAT 适合归纳任务,其中重要的学习参数是 W 和 a(.),它们只与顶点特征有关,与图的结构无关。因此,在测试任务中改变图结构对 GAT 的影响很小,只需改变
N
i
N_i
Ni 并重新计算即可。
相比之下,GCN 是一种全图计算,在一次计算中更新整个图的节点特征。学习到的参数在很大程度上与图结构相关,这使得 GCN 在归纳任务中表现不佳。
另外需要注意GAT 和 GAN42 43 44 45 的区别,GAT 是一种图神经网络,但 GAN 不是。GAN由两个神经网络组成:
第一个称为判别器(Discriminator) D(Y),输入Y(例如一个图),输出一个表示Y是否“真实”的值,D(Y)可以看作是某种能量函数,当 Y 是真实样本时,它接近于 0,而当 Y 是噪声或奇怪样本时,它就是正值46 47 48 。
另一个称为生成器(Generator)G(Z)。这里的 Z 通常是从简单分布(如高斯分布[60])中随机取样的向量,生成器 G(Z) 生成图片(pictures),用来训练判别器 D(Y)(给真实图片较低的值,给其他图片较高的值),训练过程中给予一张真实图片,使之调整参数输出为低值,再给予一张 G 的图片,调整参数输出更大的值 D(G(Z))。另一方面,随着训练的进行,G 会调整其内部参数,使生成的图像越来越逼真,也就是说,它一直在优化自己生成的图像,让 D 以为它生成的图像是真实的。
对于这些生成的图像,G 希望将 D 的输出最小化,而 D 则希望将 D 的输出最大化,也就是所谓的对抗训练或 GAN。
结合公式介绍GAN的训练过程。
首先,建立一个生成器神经网络,所有参数都用 θ 表示,目的是生成图像 x,这些样本 x 都服从分布
P
G
(
x
;
θ
)
P_G(x;\theta)
PG(x;θ)。
然后,从现有的图像数据库中抽取(drawing) n 幅图像,对应高维空间
{
x
1
,
x
2
,
…
,
x
n
}
\{x_1,x_2,\dots,x_n\}
{x1,x2,…,xn}中的 n 个点。"抽取"的操作等同于在分布
P
d
a
t
a
(
x
)
P_{data}(x)
Pdata(x)中采样,能够抽到
{
x
1
,
x
2
,
…
,
x
n
}
\{x_1,x_2,\dots,x_n\}
{x1,x2,…,xn},即
P
d
a
t
a
(
x
1
)
,
P
d
a
t
a
(
x
2
)
,
…
,
P
d
a
t
a
(
x
n
)
P_{data}(x_1),P_{data}(x_2),\dots,P_{data}(x_n)
Pdata(x1),Pdata(x2),…,Pdata(xn)的概率很大。生成器的训练目标是使
P
G
(
x
)
P_G(x)
PG(x) 和
P
d
a
t
a
(
x
)
P_{data}(x)
Pdata(x) 尽可能接近。因此也就希望每个
P
G
(
x
1
;
θ
)
,
P
G
(
x
2
;
θ
)
,
…
,
…
,
P
G
(
x
n
;
θ
)
P_G(x_1;\theta),P_G(x_2;\theta),\dots,\dots,P_G(x_n;\theta)
PG(x1;θ),PG(x2;θ),…,…,PG(xn;θ)概率可以更大,即
∏
k
=
1
n
P
G
(
x
k
;
θ
)
\prod\limits_{k=1}^{n}P_G(x_k;\theta)
k=1∏nPG(xk;θ)(样本的概率)尽可能大。
最后,根据找到的参数对网络进行训练。
θ
∗
=
a
r
g
max
θ
∏
k
=
1
n
P
G
(
x
k
;
θ
)
\theta^*=arg\mathop{\max}\limits_{\theta}\prod\limits_{k=1}^nP_G(x_k;\theta)
θ∗=argθmaxk=1∏nPG(xk;θ)
=
a
r
g
min
θ
[
K
L
(
P
d
a
t
a
∥
P
G
)
]
(
25
)
\quad=arg\mathop{\min}\limits_{\theta}[KL(P_{data}\Vert P_G)] \qquad(25)
=argθmin[KL(Pdata∥PG)](25)
KL表示KL散度,表征两个分布的接近程度。公式(25) 表明,最大化似然和最小化 KL散度的结果一样,因此这一步就变成:训练网络以找到参数。
θ
∗
=
a
r
g
min
θ
[
K
L
(
P
d
a
t
a
∥
P
G
)
]
(
26
)
\theta^*=arg\mathop{\min}\limits_{\theta}[KL(P_{data}\Vert P_G)] \qquad(26)
θ∗=argθmin[KL(Pdata∥PG)](26)
五、数据集 Datasets
近年图神经网络常用的数据集包括 Cora、Citeseer 和 PubMed。
Category | Cora | Citeseer | PudMed |
---|---|---|---|
Nodes | 2708 | 3327 | 19717 |
Edges | 5429 | 4732 | 44338 |
Features | 1433 | 3703 | 500 |
Classes | 7 | 6 | 3 |
5.1 Cora数据集
Cora49 数据集由机器学习论文组成,它将论文分为七类:基于案例、遗传算法、神经网络、概率方法、强化学习、规则学习和理论。在选择论文时,每篇论文都至少引用或被引用过一篇最终语料库中的论文。语料库中有 2708 篇论文。在提取词干和删除停滞词后,只剩下 1433 个大小相同的词。删除所有文献频率小于10 的词。
数据集包含两个文件:cora.conten 和 cora.cite。
cora.conten 的内容格式: <paper_id> <word_attributes>+ <class_label>。每行的第一个条目(paper_id)是每篇论文的唯一编号 ID,随后的条目(word_attributes)包含 1433 个二进制代码,表示词汇表中的每个词在论文中是存在(用 1 表示)还是不存在(用 0 表示),最后一个条目(class_label)表示论文的类别标签。
cora.cite 包含语料库中论文的引用关系,格式: <被引论文 ID> <引用论文 ID>。每行数据包含两篇论文的编码 ID,第一项(被引论文 ID)表示被引论文的编号,第二项(引用论文 ID)表示引用论文的编号。
5.2 Citeseer数据集
Citeseer 数据集是从 CiteSeer 数字论文库中选取的论文,分为六个类别:代理(Agents)、人工智能(AI)、数据库(DB)、IR、ML、人机交互(HCI)。在选择论文时,最终语料库中的每篇论文都至少引用或被引用过一篇其他论文。整个语料库共有 3327 篇论文。在提取词干和去除停滞词后,只剩下 3703 个词。所有文献频率低于 10 的词都被删除。
与Cora类似,包括 citeseer.conten 和 citeseer.cites 两个文件。
citeseer.conten的内容格式:<paper_id> <word_attributes> + <class_label>。
citeseer.cites包含语料库中论文的引用关系,格式:<被引论文的ID> <引用论文的ID>。
5.3 PudMed数据集
PubMed 数据集包括 Pubmed 数据库中有关糖尿病的 19717 篇科学出版物,分为三类:实验性糖尿病、1 型糖尿病和 2 型糖尿病。引文网络由 44,338 个链接组成。数据集中的每篇出版物都由一个TF/IDF 加权词向量来描述,词属于一个包含 500 个唯一词的字典。
TF-IDF(term frequency-inverse document frequency,词频-反文档频率)是信息检索和数据挖掘中常用的加权技术。TF 是词频(TF-IDF 是一种统计方法,用于评估一个词对文档集或语料库中某个文档的重要性),一个词的重要性随其在文档中出现的次数成比例增加,但随其在语料库中出现的频率成反比减少。
数据集由三个文件组成:Pubmed-Diabetes.NODE.paper.tab、Pubmed-Diabetes.GRAPH.pubmed.tab.和Pubmed-Diabetes.DIRECTED.cites.tab.
Pubmed-Diabetes.NODE.paper.tab内容格式: <paper_id> +<label=****> +< TF-IDF>。每行数据的第一项(paper_id)是每篇论文的唯一编号 ID,第二项中的“星号”表示论文的类别,后面是 500 个浮点 TF_IDF 值,形式为 “word=…”,“word” 表示术语,“…” 表示术语的 TF_IDF 值。
另两个文件不重要。
六、总结
首先,本文介绍了四种常用的图神经网络及其各自的学习方法。
其次,介绍了近年来图神经网络常用的数据集。
图神经网络前景广阔,在社交网络分析、推荐系统、生物医学和可视化等领域有着广泛的应用。目前,随着研究的不断深入,图神经网络技术也在不断发展,新的模型和算法层出不穷。因此,可以预见,图神经网络将在未来的研究和应用中得到更加广泛和深入的应用。然而,当前的图神经网络正面临着诸多挑战。
- 处理大规模图数据。随着图数据规模的不断扩大,如何高效地处理图数据的存储、采样、获取和传输,已成为图神经网络面临的重要挑战。图神经网络面临的重要挑战。
- 模型的可解释性。与其他深度学习模型一样,图神经网络的黑箱特性使得模型的可解释性成为一个不容忽视的问题。如何更好地解释模型的决策过程和结果,帮助用户更好地理解模型,从而更好地使用模型,是图神经网络面临的重要挑战。
- 数据的稀疏性。与其它深度学习模型不同,图神经网络需要处理的数据通常是稀疏的,给模型的训练和推理带来巨大挑战。如何更好地处理稀疏数据,提高模型的性能和效率,是图神经网络面临的另一个重要挑战。
以后图神经网络的发展需要结合这些问题。
LeCun, Y., Y. Bengio, and G. Hinton, Deep learning. Nature, 2015. 521(7553): p. 436-44. ↩︎
Zhang, Y.-D., Z. Dong, and C. Cattani, Deep learning for computer-aided medical diagnosis. Multimedia Tools and Applications, 2020. 79(21): p. 15073-15073. ↩︎
Wu, S., et al., Session-Based Recommendation with Graph Neural Networks. 2019. ↩︎
Michael, et al., Geometric Deep Learning: Going beyond Euclidean data. IEEE Signal Processing Magazine, 2017. 34(4): p. 18-42. ↩︎
Sperduti, A. and A. Starita, Supervised neural networks for the classification of structures. IEEE Transactions on Neural Networks, 1997. 8(3): p. 714. ↩︎
Gori, M., G. Monfardini, and F. Scarselli. A new model for learning in graph domains. in IEEE International Joint Conference on Neural Networks. 2005. ↩︎
Scarselli, F., et al., The Graph Neural Network Model. IEEE Transactions on Neural Networks, 2009. 20(1): p.61 ↩︎
Gallicchio, C. and A. Micheli. Graph Echo State Networks. in International Joint Conference on Neural Networks. 2010. ↩︎
Wu, Z., et al., A Comprehensive Survey on Graph Neural Networks. IEEE transactions on neural networks and learning systems, 2021(1): p. 32. ↩︎
Zhang, Z., P. Cui, and W. Zhu, Deep Learning on Graphs: A Survey. 2018. ↩︎
Thomas, J.M., et al., Graph Neural Networks Designed for Different Graph Types: A Survey. 2022. ↩︎
Waikhom, L. and R. Patgiri, Graph Neural Networks: Methods, Applications, and Opportunities. 2021. ↩︎
Zhou, J., et al., Graph neural networks: A review of methods and applications. AI Open, 2020. 1: p. 57-81. ↩︎
Cao, Z., X. Li, and L. Zhao, Unsupervised Feature Learning by Autoencoder and Prototypical Contrastive Learning for Hyperspectral Classification. 2020. ↩︎
Yang, L., et al. Toward Unsupervised Graph Neural Network: Interactive Clustering and Embedding via Optimal Transport. in 2020 IEEE International Conference on Data Mining (ICDM). 2020. ↩︎
Okuda, M., et al. Unsupervised Common Particular Object Discovery and Localization by Analyzing a Match Graph. in IEEE International Conference on Acoustics, Speech and Signal Processing. 2021. ↩︎
Du, L., et al. Dynamic Network Embedding : An Extended Approach for Skip-gram based Network Embedding. in Twenty-Seventh International Joint Conference on Artificial Intelligence {IJCAI-18}. 2018. ↩︎
Liu, R., et al., Federated Graph Neural Networks: Overview, Techniques and Challenges. 2022. ↩︎
Zheng, X., et al., Graph Neural Networks for Graphs with Heterophily: A Survey. 2022 ↩︎
You, J., et al., Identity-aware Graph Neural Networks. 2021. ↩︎
Guttery, D.S., Improved Breast Cancer Classification Through Combining Graph Convolutional Network and Convolutional Neural Network. Information Processing and Management, 2021. 58. ↩︎
Atwood, J. and D. Towsley, Diffusion-Convolutional Neural Networks. Computer Science, 2015. ↩︎
Niepert, M., M. Ahmed, and K. Kutzkov, Learning Convolutional Neural Networks for Graphs. JMLR.org, 2016. ↩︎
Gilmer, J., et al., Neural Message Passing for Quantum Chemistry. 2017. ↩︎
Kipf, T.N. and M. Welling, Semi-Supervised Classification with Graph Convolutional Networks. 2016. ↩︎
Monti, F., et al. Geometric Deep Learning on Graphs and Manifolds Using Mixture Model CNNs. in 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017. ↩︎
Liu, Z., et al., GeniePath: Graph Neural Networks with Adaptive Receptive Paths. Proceedings of the AAAI Conference on Artificial Intelligence, 2018. 33. ↩︎
Gao, H., Z. Wang, and S. Ji, Large-Scale Learnable Graph Convolutional Networks. 2018, ACM. ↩︎
Defferrard, M., X. Bresson, and P. Vandergheynst, Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering. 2016. ↩︎
Henaff, M., J. Bruna, and Y. Lecun, Deep Convolutional Networks on Graph-Structured Data. Computer Science, 2015. ↩︎
Li, R., et al., Adaptive Graph Convolutional Neural Networks. 2018. ↩︎
Bianchi, F.M., et al., Graph Neural Networks with Convolutional ARMA Filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021. PP(99): p. 1-1. ↩︎
Dong, J., et al., Global Neighbor Sampling for Mixed CPU-GPU Training on Giant Graphs. 2021. ↩︎
Krizhevsky, A., I. Sutskever, and G. Hinton, ImageNet Classification with Deep Convolutional Neural Networks. Advances in neural information processing systems, 2012. 25(2). ↩︎
Defferrard, M., X. Bresson, and P. Vandergheynst, Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering. 2016 ↩︎
Velikovi, P., et al., Graph Attention Networks. 2017. ↩︎
Vaswani, A., et al., Attention Is All You Need. arXiv, 2017. ↩︎
Merity, S., Single Headed Attention RNN: Stop Thinking With Your Head. 2019. ↩︎
Kipf, T.N. and M. Welling, Variational Graph AutoEncoders. 2016. ↩︎
Ng, I., et al., A Graph Autoencoder Approach to Causal Structure Learning. 2019. ↩︎
B, J.X.A., et al., Attention adjacency matrix based graph convolutional networks for skeleton-based action recognition - ScienceDirect. Neurocomputing, 2021. 440: p. 230-239 ↩︎
Mirza, M. and S. Osindero, Conditional Generative Adversarial Nets. Computer Science, 2014: p. 2672-2680. ↩︎
Radford, A., L. Metz, and S. Chintala, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. Computer ence, 2015. ↩︎
Salimans, T., et al., Improved Techniques for Training GANs. 2016. ↩︎
Karras, T., S. Laine, and T. Aila. A Style-Based Generator Architecture for Generative Adversarial Networks. in 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2019. ↩︎
Zhang, Y., Deep learning in food category recognition. Information Fusion, 2023. 98: p. 101859. ↩︎
Wang, S., Advances in data preprocessing for biomedical data fusion: an overview of the methods, challenges, and prospects. Information Fusion, 2021. 76: p. 376-421. ↩︎
Zhang, Y.-D. and Z.-C. Dong, Advances in multimodal data fusion in neuroimaging: Overview, challenges, and novel orientation. Information Fusion, 2020. 64: p.149-187. ↩︎
Mohan, R., Collective Classification in Network Data. ↩︎