gcn 图卷积神经网络_图神经网络三剑客:GCN、GAT与GraphSAGE

本文介绍了图神经网络的三种常见方法:GCN、GAT和GraphSAGE。GCN基于巴拿赫不动点定理,通过切比雪夫多项式进行近似计算;GAT引入注意力机制,增强节点特征更新;GraphSAGE提出归纳式框架,适用于大规模图的节点表示学习。这些方法在图数据的处理上表现出色,为图神经网络的工程应用奠定了基础。
摘要由CSDN通过智能技术生成

2019 年号称图神经网络元年,在各个领域关于图神经网络的研究爆发式增长。 本文主要介绍一下三种常见图神经网络: GCN、GAT 以及 GraphSAGE。 前两者是目前应用比较广泛的图神经网络,后者则为图神经网络的工程应用提供了基础。

8c3ebbeacf4447ea2f040783528e6954.png

GCN

图神经网络基于巴拿赫不动点定理提出,但图神经网络领域的大发展是在 2013 年 Bruna 提出图上的基于频域和基于空域的卷积神经网络后。

关于图卷积神经网络的理解与介绍,知乎上的回答已经讲的非常透彻了。

如何理解 Graph Convolutional Network (GCN)?

https://www.zhihu.com/question/54504471/answer/332657604

这里主要介绍一下 PyG 和 DGL 两个主要的图神经网络库实现所基于的文章 Semi-supervised Classification with Graph Convolutional Networks 。它基于对图上频域卷积的一阶近似提出了一种高效的逐层传播规则。

5ba7323e6eb267b81fc15b28bb0e5b64.png

论文标题: Semi-supervised Classification with Graph Convolutional Networks

论文链接: https://arxiv.org/abs/1609.02907

在将定义在欧式空间上的拉普拉斯算子和傅里叶变换对应到图上之后,图上的频域卷积操作可以基于卷积定理自然导出:

b999be51f508bbe468b61bc3bbb26b79.png

其中图上的拉普拉斯矩阵(归一化后)L 是一个半正定对称矩阵,它具有一些良好的性质,可以进行谱分解:

2f7b27ee6f284c36e83def915d92ea8b.png

,其中 U 是 L 的特征向向量组成的矩阵,Λ 是 L 的特征值组成的对角矩阵, 则是定义在图上的对信号 的傅里叶变换。

而对角矩阵 则是卷积核,也是不同的卷积操作关注的焦点,对 不同的设计会影响卷积操作的效率,其编码的信息也会影响最终任务的精度。

一开始的图卷积神经网络将视作 L 的特征值的一个函数 。但这种定义存在两个问题:

1. 对特征向量矩阵 U 的乘法操作时间复杂度是;

2. 对大规模图的拉普拉斯矩阵 L 的特征分解是困难的。

之后的研究发现可以使用切比雪夫多项式来对进行近似:

b23e665db394ef43d4b381577656c876.png

其中

992c472eb9c108c1236b44af44d7a7bc.png

。是 L 的最大特征值,是切比雪夫多项式的系数向量。切比雪夫多项式通过如下的递推公式定义: ,起始值:

3937be452c713650abf8b1b3eac805cd.png

。 将其代入之前定义的卷积操作:

de9fdcbdba376d9ad8ee2360c2dc1261.png

其中

c0fde5b2b2d213a45db943a16071b719.png

,此时的时间复杂度为 。文章在此基础上对卷积操作进行了进一步的简化,首先固定 K=1,并且让近似等于 2(注意之前对 L 的定义),则上式可以简化为一个包含两个自由参数 和 的公式:

我们进一步假定

d6ab6d9090ccbfbf43f4e0478605cf75.png

,则可进一步对公式进行变形:

47fb07c19a16c5d096a0b343a0be197c.png

但是此时的

21ff382c47c27bc90ab0de1d07897c6e.png

的特征值取值在 [0, 2],对这一操作的堆叠会导致数值不稳定以及梯度爆炸(或消失)等问题。为了解决这一问题,引入一种称为重归一化(renormalization)的技术:

fd3f5805c568eeb71599fcceff5d121e.png

最后将计算进行向量化,得到最终的卷积计算公式为:

bdd364d3145b06295770c8533e61a90d.png

这一计算的时间复杂度为

bb9ccaa95cb47a822d20c39d5978c9bc.png

。基于上式实现的 GCN 在三个数据集上取得了当时最好的结果。

dc65af37b46a60441c65b48aa78fff4f.png
332cc8ef40fc46eb7a816c1009e7699f.png

GAT

PyG 与 DGL 的 GAT 模块都是基于 Graph Attention Networks 实现的,它的思想非常简单,就是将 transform 中大放异彩的注意力机制迁移到了图神经网络上。

00dca6a6ada7edeb43b1b48ef75f4a62.png

论文标题: Graph Attention Networks

论文链接: https://arxiv.org/abs/1710.10903

整篇文章的内容可以用下面一张图来概况。

de453a6a245b8acbbc0194296fa27639.png

首先回顾下注意力机制的定义,注意力机制实质上可以理解成一个加权求和的过程:对于一个给定的 query,有一系列的 value 和与之一一对应的 key,怎样计算 query 的结果呢?

很简单,对 query 和所有的 key 求相似度,然后根据相似度对所有的 value 加权求和就行了。这个相似度就是 attention coefficients,在文章中计算如下:

e1bd6ae3ef0435a66a267059fa605725.png

其中

fe48513a989f253fe37eaee8ad9af05f.png

是前馈神经网络的权重系数,|| 代表拼接操作。

利用注意力机制对图中结点特征进行更新:

35c94ea5eb43163733fbdba8b6735ecc.png

既然得到了上式,那么多头注意力的更新就不言而明了,用 k 个权重系数分别得到新的结点特征之后再拼接就可以了:

ddab182e0309285d1470cee10f33dea3.png

最后就是大家喜闻乐见的暴打 benchmarks 的环节,GAT 在三个数据集上达到了当时的 SOTA。

8c2dbea7ee853f28c606862dcaa6c64f.png
667e855178361f9831dbf3b97cc430eb.png

GraphSAGE

GraphSAGE 由 Inductive Representation Learning on Large Graphs 提出,该方法提供了一种通用的归纳式框架,使用结点信息特征为未出现过的(unseen)结点生成结点向量,这一方法为后来的 PinSage(GCN 在商业推荐系统首次成功应用)提供了基础。

e7a8c10845741d9829488d4c6b7607c8.png

论文标题: Inductive Representation Learning on Large Graphs

论文链接: https://arxiv.org/abs/1706.02216

但 GraphSAGE 的思想却非常简单,也可以用一张图表示。

ba629a930ec7b5eae258300a5ffea591.png

算法的详细过程如下:

5c9d97f6dc1c26eb8d81683fb75e0794.png

1. 对图上的每个结点 v,设置它的初始 embedding 为它的输入特征 ;

2. 之后进行 K次迭代,在每次迭代中,对每个结点 v,聚合它的邻居结点(采样后)的在上一轮迭代中生成的结点表示 生成当前结点的邻居结点表示 ,之后连接 输入一个前馈神经网络得到结点的当前表示 ;

3. 最后得到每个结点的表示

60d46c1728b850ddb26bdfd96446e8d5.png

这个算法有两个关键点:一是邻居结点采样,二是聚合邻居结点信息的聚合函数。

邻居结点采样方面,论文中在 K 轮迭代中,每轮采样不同的样本,采样数量为 。在聚合函数方面,论文提出了三种聚合函数:

Mean aggregator:

LSTM aggregator: 使用 LSTM 对邻居结点信息进行聚合。值得注意地是,因为 LSTM 的序列性,这个聚合函数不具备对称性。文章中使用对邻居结点随机排列的方法来将其应用于无序集合。

Pooling aggregator:

论文在三个数据集上取得了对于 baseline 的 SOTA。

6dc576ccc1f8ab97f7626177443865f5.png
2553288928938e3f401f27237d1cc652.png

既然为工程应用提出的方法,对于实验部分就不能一笔带过了,这里给出论文中两个有意思的结论:

对于邻居结点的采样,设置 K=2 和

ba24a4948d4b13c6efd7273d5501dc73.png

得到比较好的表现;

对于聚合函数的比较上,LSTM aggregator 和 Pooling aggregator 表现最好,但是前者比后者慢大约两倍。

e6325973b5035c87df715c805b6f4507.png

总结

本文对图神经网络中常用的三种方法进行了介绍。随着图神经网络研究的热度不断上升,我们也看到图神经网络的不同变种不断涌现,此外,因为对于非欧空间数据良好的表达能力,图神经网络在交通、金融、社会科学等有大量相应数据积淀的交叉领域也面临着广阔的应用前景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值