读《Random Walk Graph Neural Networks》

2020?

摘要

消息传递网络MPNN构建的GNN的隐藏层不是由采用图结构的参数组成,它们的更新过程是由全连接层参数化的。 (就是全欧式呗)

本文模型的第一层由许多可训练的“隐藏图”组成,它们使用随机游走图核与输入图进行比较以生成图表示。
然后将这些表示传递到产生输出的全连接神经网络。 这里采用的随机游走核是可微的,所以模型是端到端。 (可微→可BP→可端到端)

1.引言

MPNN [13]

这些现有GNN的通用模型采用消息传递过程来聚合顶点的信息生成整个图的表示

图核[33, 22]早于神经网络应用于图领域

图核是定义在图空间上的对称正半定函数,因为太过复杂,也因为数据表示(由图核产生)和学习(由 SVM 执行)是相互独立的,无法实现端到端。
与直接将图相互比较的图内核相比,MPNN 首先通过聚合其顶点的表示将图转换为向量,然后用比如MLP来处理。

本文模型保留了核方法​​的灵活性,可以很容易地应用于图结构数据(例如图),并且还可以在不需要特征工程的情况下学习依赖于任务的特征。(将图核与GNN结合,还可以提高可解释性)

2.相关

大多数图核是 R 卷积框架的实例,用于比较输入图中不同类型的子结构。 这样的子结构包括

随机游走 [17, 12, 25, 43, 42]
最短路径 [5]
子树 [34]
图元 [37]

至于GNN,包括GCN,以及切比雪夫网络,都是MPNN的特例。
MPNN 与

Weisfeiler-Lehman 子树内核 (WL) [36]

关系不小。MPNN在区分非同构图方面与 WL核一样强大

类似的工作[23]
其生成的表示与随机游走核或 WL 内核相关联,输出存在于这些核的再生内核希尔伯特空间 (RKHS) 中。
但是核是在输入图和来自参数矩阵的行向量之间计算的,这些向量不能总是映射到图结构。

本文的参数对应于图的邻接矩阵和特征矩阵。

其他合并神经网络和图内核的工作包括 [29, 31, 10] 和 [1]。
[29] 使用图核来预训练 GNN
[31] 使用图核提取特征,然后将其传递给卷积神经网络
[10] 提出一个新的图核,对应于通过梯度下降训练的无限宽的多层 GNN
[1] 中提出了一种通过将输入图与一组源图进行比较来学习图表示的无监督方法。 不过源图是固定的,不可训练(那就相当于标签吧,弱监督?)

还与 GNN 的可解释性技术有关 [45, 2, 47]。

强调,所提出模型的主要重点不是为其预测提供可解释的解释,而是这些解释是学习过程的副产品。(无心插柳柳成荫呐)

3.准备

定义G = (V, E)和G’ = (V’, E’)的直积(笛卡尔积)G× = (V×, E×),其中V×, E×分别是两图节点和边的笛卡尔积
两节点在G×中为邻居←→对应的节点在G和G’中也是邻居(?)

4.随机游走GNN

一个关键问题:顺序不变性
给定图 G 的邻接矩阵 A,模型需要为所有矩阵 P A PT 产生相同的输出,其中 P ∈ Π 和 Π 表示 n × n 置换矩阵的集合
MPNN的模型基本上是对节点表示采用一些置换不变的函数,比如求和,最大,均值
其他GNN则是对节点进行启发式排序(类似于对齐?)

本模型将输入图与N个邻接矩阵和特征矩阵可训练的隐藏图比较,每个邻接矩阵和特征矩阵由可训练矩阵Wi和Zi描述。
这些图通过节点数量区分。
这些图可能无标签,或者它们的顶点可能用连续的多维特征进行注释。
这些图可以是带或不带自环的加权有向图或无向图,这里取做有自环的无向图,也即有n(n−1)/2个训练参数

可微→可BP→可端到端
但现有的大多数图比较算法不可微,对于这些不可微的图比较算法“隐藏图”在训练期间要保持不变,这会极大地限制模型的表达能力
于是本文采用P步随机游走核

在直积G×上做随机游走等效于同时在G和 G’上随机游走
假定两图节点开始结束概率都是均匀分布,那么可以通过A×获得匹配路径个数
在这里插入图片描述
随机游走核如上式,其中λ为正实值权值
改造核计算两个图 G 和 G’ 之间长度正好为 p∈ {0, 1, . . . , P} 的公共路径的数量
在这里插入图片描述
这样对任意p,得到不同的核值,这些核值可以看做输入图的特征,做p和图G的笛卡尔积做对应
构造矩阵H,其中
在这里插入图片描述
(即矩阵i行对应图Gi,j列是对应每个图与原图的j-1步核)。最后H拉平送入全连接输出
在这里插入图片描述
再考虑节点属性,记X为输入图G的节点属性矩阵,记同维度的向量标注隐藏图Gi的节点,组成可训练矩阵Zi
S=ZiXT,Sij即为隐藏图的第i个节点与输入图G的第j个节点的内积。这个矩阵编码了两图的相似度(之前也看到某些文章说内积就能表示相似度,为啥?算余弦吗?)
将S逐行堆叠得到向量s
在这里插入图片描述
G×的每个节点对应一对节点,分别来自G和Gi(不过目前为止都是考察)

4.1实施细则

训练过程可能隐藏图的邻接矩阵会出现负值,为增强可解释性,用relu严格要求其非负性
对于G×的邻接矩阵A×,可以看做A和A’的Kronecker积(分块乘法),从而有A× = A ⊗ RELU(Wi)(通过Kronecker积避免计算A×及其幂,类似切比雪夫展开式降低时间复杂度吧)
Kronecker积有性质vec(ABC) = (CT ⊗ A)vec(B),从而有
在这里插入图片描述
其中vec−1表示向量化(逐层堆叠)的逆,也即向量→矩阵,从而有
在这里插入图片描述
(这里因为假定输入无向图,所以A=AT,但其实也无所谓吧,就像前文也说过只是权且假定,有向非对称也一样能做)
此时只对 p = 1 成立。为了推广这个结果,有必要证明 A p × = A p 1⊗A p 2 对所有 p 成立(在原文附录)
在这里插入图片描述
这里可以通过结合律避免计算A和RELU(Wi)的幂
如果X高维,则通过一层感知机转换,X˜ = f(XW+b),进一步还可以用MPNN来更新,即X˜ = MPNN(A,X)

5.实验

(突然想到上文都是输入单图与假想图作比较,也即这里提到的主要是在研究本模型能学到哪些图结构)

5.1人造数据集

通过Erdös-Rényi构造随机图

5.2真实数据集

生化:MUTAG, D&D, NCI1, PROTEINS, ENZYMES
社交:IMDB-BINARY, IMDB-MULTI, REDDIT-BINARY, REDDIT-MULTI5K, COLLAB
对照组:

图核(来自GraKeL库):

graphlet kernel (GR) [37]
shortest path kernel (SP) [5]
Weisfeiler-Lehman subtree kernel (WL) [36]

MPNNs:

DGCNN [48]
DiffPool [46]
ECC [39]
GIN [44]
GraphSAGE [14].

采用 [11] 的评估框架

6.总结

下一步希望推广到无监督
(有些犯迷糊了,没有成对比较的分类吗,那得有监督吧,而且每个图学到一个与之类似的隐藏图怎么实现分类呢?还是看下代码吧,就算不能运行也理解一下扩展思路吧)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值