读完这篇论文以后:我的看法是:GNN目前的发展分为:如何改进GNN中的模块、如何针对不同的图类型提出方法模型、如何将GNN应用到实际中去。 ps:我认为读综述类论文的目的是为研究搭建起大局观,不必细抠文章中提到的各种方法的实现细节(这个直接去阅读相关的论文即可)。
Graph neural networks: A review of methods and applications
abstract
现实应用场景下很多都需要graph reasoning model,GNN通过在图上的节点进行信息传递来捕捉图相关性,GNN的很多变体:GCN,GAT,GRN…本文将讨论GNN的变体,应用,提出未来研究的open problems。
1. introduction
GNN的研究motivation: 1.CNN的强大不再多说,但是CNN只能处理结构规则的欧几里得结构,GNN可以处理非规则的欧几里得结构。 2.另外一个motivation来源于图表示学习(如何通过低维向量来表示图节点?边?以及子图?)。之前提出的图表示学习方法计算效率不高(参数与图节点数目呈线性增长,缺失泛化能力/难以处理动态图或者是扩展到新图上。
2. general design pipeline of GNNs
给定图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),邻接矩阵A。
2.1 find graph structure
先要根据应用确定出是什么样的graph。通常有两种方案:structural scenarios:图结构很显而易见(像知识图等),non-structural scenarios:图结构是隐含的,需要自己先根据任务定义出图。
2.2 specify graph type and scale
弄清楚图是属于有向图/无向图(无向图可以被视为是双向的有向图)?同质图/异质图(异质图中的节点和边的种类应该被重要考虑)?静态图/动态图(动态图中的时间信息应该被重点考虑)?
上述的一些分类概念垂直的,举例说明:动态有向异质图。还有一些其他定义:如超图和符号图。
判定图的等级:图是大图还是小图没有详细的评判指标,并且随着计算资源的发展在变化,在本文中如果图的邻接矩阵或者它的拉普拉斯矩阵无法被存储时就被称为大图(需要考虑一些采样法),否则称为小图。
2.3 design loss function
需要根据任务类型来设计损失函数。 图学习任务大致可以被分为三种类型:node level(节点分类、节点聚类、节点回归)、edge level(边分类、链接预测–两个给定节点之间是否存在边的预测)、graph level(图分类、图回归、图匹配,需要建模学习图表征)。
从监督的角度出发,图学习任务可以被分为三种训练设置:supervised setting(提供有标签数据)、semi-supervised setting(给定小部分的labeled数据,transductive setting:预测无标签数据的label,inductive setting:从相同的分布中推断出新的unlabeled数据。最多的节点和边分类的任务都是属于半监督学习。)unsupervised setting(只提供了unlabeled data,节点聚类是一种典型的无监督setting)。
定义了任务种类和训练setting以后,就可以根据任务来定义具体的损失函数了。举例:对于半监督节点分类任务,可以在训练过程中对labeled data使用交叉熵损失。
2.4 bulid model using computational modules
一些通用的computational moduels(模块):
propagation module:用于在节点之间传递信息,这样聚合信息就可以同时捕捉特征和拓扑信息了。在propagation moduel中卷积操作和循环操作用于在邻居之间聚合信息,skip connection用于从节点的历史表征中汇总信息同时减轻过平滑的问题。
sampling module:当图太大了的时候就需要采样操作,采样模块经常和propagation module组合。
pooling module:当我们需要高等级的子图或图的表征的时候,就需要池化模块。
3. instantiations of computational modules
3.1 propagation modules - convolution operator
3.1.1 spectral approaches
通过图傅立叶变换与图傅立叶反变换完成图信号在空域以及频域的转换。频域图卷积模型的进化过程为:spectral network(参数过多,计算效率不高,filter没有空间局部化)-> chebynet(通过切比雪夫多项式拟合来减少参数,相当于K-localized)->GCN(通过一阶切比雪夫多项式拟合来减少参数,更加引入了renormalized trick,对邻接矩阵加入了自连接,ps:GCN也可以被视为是空域图卷积方法)。之后的方法对频域图卷积进行改进的思路包括:增强图拉普拉斯矩阵(AGCN、DGCN),替换图傅立叶转换(GWNN,之后将会更新这几篇论文的阅读笔记)等。但是频域图卷积方法存在着filters无法迁移到不同结构的图上,以及只能适用于transductive setting下,对图结构具有依赖性。
3.1.2 basic spatial approaches
其的主要挑战是如何在不同数量的邻居上定义卷积操作以及保持平移不变性。neural FPs:对不同度的节点使用不同的权重矩阵,因此难以扩展到大图上去。DCNN:定义了融合的卷积核,同时考虑多个hop的邻接矩阵。PATCHY-SAN:对每个节点挑选k个邻居进行卷积。LGCN:应用了1D CNN成为信息聚合器。GraphSAGE:采样固定数目的邻居进行信息聚合,aggregator:lstm、mean、pooling。
3.1.3 attention-based spatial approaches
(需要说明的在图上进行标明了)。 GNN的理论研究层面:图信号处理、泛化性能、表达能力、不变性(因为图整体上是无序的)、可移植性(图的参数不变可以保持性能)、标签效率。
open problems:鲁棒性(对于对抗攻击十分脆弱)、可解释性、图的预训练(还是需要人工数据,完全的无监督学习方法的效果不大好)、复杂图结构(各种各样的复杂结构的图会出现)。
|