本文主要梳理了 2019 年各大顶会上关于
异质图神经网络
的论文,包括算法研究及应用研究。同时,作者也整理了相关大牛老师/论文/资料/数据集供大家学习。
作者丨纪厚业
学校丨北京邮电大学博士生
研究方向丨异质图神经网络及其应用
图神经网络是近年来图数据挖掘领域的热⻔研究⽅向之⼀,尤其以 Graph Convolutional Network,Graph Attention Network 为代表的图神经网络已经引起了学术界与⼯业界的⼴泛关注。
然⽽,⽬前的图神经网络主要针对同质图(节点类型和边类型单⼀)设计。同质图中只有⼀种类型的节点和边(例如,只有朋友关系的社交网络),网络结构较为简单。因此,同质图神经网络通常只需要聚合单⼀类型的邻居来更新节点的表示即可(例如,通过在朋友关系下的邻居来更新节点表示)。
但真实世界中的图大部分都可以被自然地建模为异质图(多种类型的节点和边,如下图所示,IMDB 数据中包含三种类型的节点 Actor、Movie 和 Director,两种类型的边 Actor-Moive 和 Movie Director)。多种类型的节点和丰富的语义信息给异质图神经网络设计带来了巨大挑战。
![]()
与同质图不同,异质图通常需要需要考虑不同关系下邻居信息的差异。因此,异质图神经网络通常采用层次聚合的⽅式:1) 节点级别(下图 (a))。针对节点,找到其在某种关系下的邻居并聚合邻居信息来得到节点在某种关系下的表示;2) 语义级别(下图 (b))。对多种关系(不同的边类型/元路径)下的节点表示进⾏融合,得到⼀个较为全⾯的节点表示。元路径是⼀种节点间的连接模式,如上图中的 Movie-Actor-Movie 和 Movie-Director-Moive。注意,不同类型的边关系(如 Movie Actor)可以认为是⻓度为 1 的元路径。
![]()
接下来的章节,我们首先梳理了⼏种异质图神经网络的架构设计,然后介绍了异质图神经网络在的实际应用(NLP/推荐/恶意评论检测)。最后,附上了异质图分析的相关导师/论文/资料/数据集。
模型
![]()
![]()
本文由北京邮电大学联合清华大学和西弗吉尼亚大学发表在 WWW 2019 上。 本文首次提出了基于注意力机制的异质图神经网络 Heterogeneous Graph Attention Network (HAN),可以⼴泛地应用于异质图分析。作者也开源了相关的代码和数据:
https://github.com/Jhy1993/HAN
HAN 也遵循经典的异质图神经网络架构(节点级别聚合与语义级别聚合)。为了更好的实现层次聚合函数,HAN 利用语义级别注意力和节点级别注意力来同时学习元路径与节点邻居的重要性,并通过相应地聚合操作得到最终的节点表示。这是⼀个很自然的想法,因为节点邻居的重要性或者是元路径的重要性肯定是有所差异的。如果能捕获这种差异性应该能带来⼀定的提升。模型整体架构如下图所示:
![]()
HAN 中节点级别的聚合:
这里设计了节点级别的注意力旨在学习在给定元路径 Φ 下不同邻居 j 的重要性,然后通过加权平均来学习节点在某个语义下的表示。
![]()
这里,
代表节点 i 在元路径 Φ 下的邻居 的重要性,
代表节点 i 在元路径 Φ 下的表示。注意,
只能描述节点某⼀个⽅⾯的特点。给定⼀组元路径
,我们可以得到⼀组节点表示
。
HAN 中语义级别的聚合:
这里涉及了语义级别注意力旨在学习多个元路径下的节点表示的重要性,并进⾏加权融合。
![]()
其中,
代表各个元路径的重要性,Z 代表最终的节点表示。可以看出,Z 融合了节点多个⽅⾯的表示,可以更加全⾯的对节点进⾏描述。
![]()
![]()
本文与上篇 Heterogeneous Graph Attention Network 名字仅有⼀字之差,发表时间也仅仅相差 3 个⽉。Heterogeneous Graph Neural Network (HetGNN) 也遵循异质图神经网络的层次聚合⽅式,只是聚合器的设计略有不同。数据集和代码⻅:
https://github.com/chuxuzhang/KDD2019_HetGNN
![]()
与 HAN 不同,本文的 HetGNN 没有考虑节点级别的注意力,⽽是用了 LSTM 作为聚合器来聚合某种关系下的节点邻居并更新节点表示。这里的邻居选择也有所不同:通过 random walk with restart 来选择固定数量的邻居。
HetGNN 中的节点级别的聚合:
![]()
其中,
是节点 v 在特定关系 t 下的邻居集合,
是邻居节点 v' 的初始表示,
是节点 v 聚合了特定关系 t 下邻居信息的表示。
![]()
这里,
是融合多个语义下的节点 v 的表示,
代表节点对自身信息的权重,
代表节点对其在关系 t 下表示的权重。
可以看出,HetGNN 也是经典的层次聚合,只不过节点级别的聚合器选取了 LSTM。
![]()
![]()
本文所提出的 Graph Transformer Networks 也遵循异质图神经网络的层次聚合。但是本文的重点并不在于聚合器的设计,⽽是解决异质图分析中的另⼀个重要问题:如何选取合适元路径?
异质图分析的很多文章都需要预先指定元路径(包括上述两篇文章),但是这需要很强的先验知识。元路径选的好不好会极大的影响模型的效果。GTN 可以自动的逐步⽣成对任务有用的元路径,省去了⼈⼯指定带来的偏差。数据集和代码⻅:
https://github.com/seongjunyun/Graph_Transformer_Networks
![]()
GTN 中节点级别的聚合:
这里采用经典 GCN 的聚合⽅式。针对第 i 条元路径,通过聚合得到的节点表示为
。
![]()
其中,
代表第 i 条元路径的邻居矩阵(包含自连接)。
GTN 中语义级别的聚合:
给定 C 条元路径, 这里是简单的将多条元路径下的节点表示拼接起来。
![]()
应用
![]()
![]()
本文由北京邮电大学联合南洋理⼯大学发表在 EMNLP 2019,是异质图神经网络在 NLP 中的应用。 数据集和代码⻅:
http://www.shichuan.org/dataset/HGAT.7z
针对短文本分类的稀疏/歧义和标签稀缺问题,通过将其建模为异质图来解决数据稀疏和歧义带来的挑战。下图是作者在 AG-News 数据上建⽴的异质图。
![]()
同时,本文提出了⼀种异质图注意力 HGAT 来学习短文本的表示并进⾏分类。HGAT 也遵循异质图神经网络的层次聚合,并且利用层次注意力机制来实现更好的信息聚合。模型架构⻅:
![]()
HGAT 中的节点级别的聚合:
首先将节点及其邻居的表示拼接起来,然后通过单层 MLP 和注意力向量将其转化为注意力分数。
![]()
其中,
代表节点 v 的邻居 v' 的重要性,对起进⾏归⼀化后就得到了注意力权重
。 然后,根据注意力权重来进⾏对邻居加权平均并得到节点表示。
![]()
HGAT 中的语义级别的聚合:
这里作者首先定义了节点 v 在关系 τ 下的表示
。然后计算了其注意力分数
。
![]()
其中,
是针对关系类型 τ 的注意力向量。
![]()
本文由北京邮电大学联合阿里巴巴发表在 KDD 2019, 是异质图神经网络在推荐中的应用。针对淘宝业务的实际需求,本文将 Intent Recommendation 场景建模为⼀个大规模异质图,并提出了⼀种基于异质图神经网络的推荐算法 MEIRec。作者也给出了⼀个 Intent Recommendation 的例⼦,⻅下图:
![]()
![]()
本文所提出的 MEIRec 的核⼼思想是:设计⼀个异质图神经网络来学习 user 和 query 的表示。这里的异质图神经网络也遵循经典的层次聚合⽅式。下图展示了 MEIRec 的整个算法框架。
![]()
可以看出,作者选择了 QIU 和 IQU 两条元路径来学习 User 的表示,选择了 QIU 和 IUQ 来学习 Query 的表示。这里将异质图神经网络应用于推荐时⽐较自然的:淘宝的实际业务场景是天然的异质图,多条元路径可以更好地对节点进⾏描述。
MEIRec 中的节点级别的聚合:
以针对 User 的元路径 UIQ 为例,首先聚合 Query 的新来更新 I 的表示。
![]()
这里,g 是简单的平均操作。然后聚合 I 的表示来更新 User 的表示:
![]()
这里,g 是用了 LSTM。
MEIRec 中的语义级别的聚合:
以针对 User 的多条元路径
为例, 最终的 User 的表示:
![]()
最后,基于所学习的 User 和 Query 的表示进⾏ Intent Recommendation。将异质图神经网络应用于推荐时⾮常自然的。很多推荐问题都与图上的链路预测息息相关。
![]()
![]()
本文由阿里巴巴发表在 CIKM 2019 上,是异质图神经网络在垃圾评论中的应用。本文也获得了 CIKM 的最佳应用论文奖。
![]()
作者将闲⻥上的恶意评论建模为⼀个大规模异质图(如下图所示),提出了⼀种 GCN-based Anti-Spam (GAS) 模型,可以实现⾼效准确的垃圾评论检测。由于这里的图数据实际上只有 User-Item 之间的⼀种关系,GAS 模型并没有遵循异质图神经网络经典的层次聚合,只选取了⼀种元路径(User-Item)在节点层⾯来聚合邻居信息。
![]()
这里与上⾯⼏篇的聚合都所不同,作者引⼊了 User-Item 边上的评论信息作为边的特征。首先,聚合邻居信息更新边的表示
。
![]()
这里,l 代表聚合的层数,U(e) 和 I(e) 分别代表这条边 e 两端的 User 和 Item。
然后,更新 User/Item 的表示。 这里以 User 为例:
![]()
其中,
代表第 l 层节点 u 邻居的表示,
代表第 l 层节点 u 的表示。
总结
图神经网络已经成为深度学习领域的热⻔研究⽅向之⼀。作为真实⽣活中⼴泛存在的异质图,其相应的异质图神经网络具有更⾼的实际研究价值。下⾯通过⼀个表格来对⽐本文所整理所有算法。
![]()
相关信息(导师/资料/论文/数据)
国内外相关大⽜⽼师:
Philip S.Yu(俞⼠纶),UIC 教授兼清华数据科学研究院院⻓, ACM 和 IEEE 院⼠,异质图分析倡导者,名列全球计算机科学领域⾼引作者前⼗的华⼈。主⻚:
https://www.cs.uic.edu/~psyu/
Jiawei Han(韩家炜),UIUC 教授,IEEE 和 ACM 院⼠。曾担任KDD、SDM 和 ICDM 等国际知名会议的程序委员会主席。个⼈主⻚:
https://hanj.cs.illinois.edu
⽯川⽼师,北京邮电大学教授,智能通信软件与多媒体北京市重点实验室副主任,在 Springer 出版异质图分析⽅向第⼀部英文专著。个⼈主⻚:
http://www.shichuan.org/ShiChuan_ch.html
Yizhou Sun(孙怡⾈),UCLA 助理教授,发表异质图分析经典论文 PashSim 作者, 出版关于异质图分析专著 Mining Heterogeneous Information Networks: Principles and Methodologies。个⼈主⻚:
http://www.ccs.neu.edu/home/yzsun/Publications.htm
Yangqiu Song(宋阳秋), WeChat-HKUST联合实验室副主任,其关于异质图分析的论文 HinDroid 获得了 ACM SIGKDD 2017 Best Student Paper Award (Applied Data Science Track)。个⼈主⻚:
http://www.cse.ust.hk/~yqsong/
Yanfang Ye(叶艳芳),凯斯西储大学副教授,曾任科摩多安全首席科学家,其关于异质图分析的论文 HinDroid 获得了 ACM SIGKDD 2017 Best Student Paper Award (Applied Data Science Track)。个⼈主⻚:
https://cse.nd.edu/seminars/cse-seminar-series-fanny-ye
相关资料/论文整理:
https://github.com/Jhy1993/Representation-Learning-on-Heterogeneous-Graph
相关数据集整理:
https://github.com/Jhy1993/Datasets-for-Heterogeneous-Graph