2020-2-27 17:28| 发布者: 炼数成金_小数| 查看: 47856| 评论: 0|原作者: 桑运鑫|来自: PaperWeekly
摘要: 2019 年号称图神经网络元年,在各个领域关于图神经网络的研究爆发式增长。本文主要介绍一下三种常见图神经网络:GCN、GAT 以及 GraphSAGE。前两者是目前应用比较广泛的图神经网络,后者则为图神经网络的工程应用提供 ...
2019 年号称图神经网络元年,在各个领域关于图神经网络的研究爆发式增长。本文主要介绍一下三种常见图神经网络:GCN、GAT 以及 GraphSAGE。前两者是目前应用比较广泛的图神经网络,后者则为图神经网络的工程应用提供了基础。
GCN 图神经网络基于巴拿赫不动点定理提出,但图神经网络领域的大发展是在 2013 年 Bruna 提出图上的基于频域和基于空域的卷积神经网络后。
关于图卷积神经网络的理解与介绍,知乎上的回答已经讲的非常透彻了。
如何理解 Graph Convolutional Network (GCN)? https://www.zhihu.com/question/54504471/answer/332657604
这里主要介绍一下 PyG 和 DGL 两个主要的图神经网络库实现所基于的文章 Semi-supervised Classification with Graph Convolutional Networks。它基于对图上频域卷积的一阶近似提出了一种高效的逐层传播规则。
论文标题:Semi-supervised Classification with Graph Convolutional Networks 论文链接:https://arxiv.org/abs/1609.02907
在将定义在欧式空间上的拉普拉斯算子和傅里叶变换对应到图上之后,图上的频域卷积操作可以基于卷积定理自然导出:
GAT PyG 与 DGL 的 GAT 模块都是基于 Graph Attention Networks 实现的,它的思想非常简单,就是将 transform 中大放异彩的注意力机制迁移到了图神经网络上。
论文标题:Graph Attention Networks 论文链接:https://arxiv.org/abs/1710.10903 整篇文章的内容可以用下面一张图来概况。
首先回顾下注意力机制的定义,注意力机制实质上可以理解成一个加权求和的过程:对于一个给定的 query,有一系列的 value 和与之一一对应的 key,怎样计算 query 的结果呢?
很简单,对 query 和所有的 key 求相似度,然后根据相似度对所有的 value 加权求和就行了。这个相似度就是 attention coefficients,在文章中计算如下: 既然得到了上式,那么多头注意力的更新就不言而明了,用 k 个权重系数分别得到新的结点特征之后再拼接就可以了:
最后就是大家喜闻乐见的暴打 benchmarks 的环节,GAT 在三个数据集上达到了当时的 SOTA。
GraphSAGE GraphSAGE 由 Inductive Representation Learning on Large Graphs 提出,该方法提供了一种通用的归纳式框架,使用结点信息特征为未出现过的(unseen)结点生成结点向量,这一方法为后来的 PinSage(GCN 在商业推荐系统首次成功应用)提供了基础。
论文标题:Inductive Representation Learning on Large Graphs 论文链接:https://arxiv.org/abs/1706.02216 但 GraphSAGE 的思想却非常简单,也可以用一张图表示。
算法的详细过程如下:
总结 本文对图神经网络中常用的三种方法进行了介绍。随着图神经网络研究的热度不断上升,我们也看到图神经网络的不同变种不断涌现,此外,因为对于非欧空间数据良好的表达能力,图神经网络在交通、金融、社会科学等有大量相应数据积淀的交叉领域也面临着广阔的应用前景。 |