【GNN】HAN:异构图注意力网络

2020 年 7 月 10 日 AINLP

今天学习的是北京邮电大学石川老师组的论文《Heterogeneous Graph Attention Network》,发表于 WWW 2019。

石川老师作为异构信息网络领域的青年学者,作出了很多关于异构网络的重要研究工作。

本文提出了一种基于分层注意力的异构图神经网络,包括节点级注意力和语义级注意力。其中,节点级注意力的目的是学习节点与元路径上的邻居之间重要性,而语义级注意力的目的在于学习不同元路径的重要性。通过这两种注意力的学习可以充分考虑节点和元路径的重要性,然后基于元路径的的相邻节点的特征进行分层聚合,从而生成节点的 Embedding。

1.Introduction

元路径可以表示连接着的两个对象的复合关系,被广泛用于捕获语义的方法。我们以下图 IMDB 数据集为例:

IMDB 数据集中包括了演员、电影和导演三种不同类型的节点(a),三者组成了一种拥有两种关系的异构网路图(b),在这个网络中我们可以获取两种元路径,包括可以反映共同出演关系的 Movie-Actor-Movie(MAM)和同一个导演关系的 Movie-Director-Movie(MDM)。我们可以看到,每个元路径都具有着不同的语义。所以如果直接将传统的 GNN 应用于异构网络图的话会损失大量的信息。

基于以上分析,在设计异构神经网络时我们需要解决以下几种问题:

  • 异构图:每个节点都具有着不同的属性,如何处理这种复杂的结构信息同时保留特征的多样性;
  • 语义级注意力:不同元路径具有不同的语义信息,如何计算不同任务下这些元路径的重要性;
  • 节点级注意力:元路径上节点有很多邻居,如何评估不同邻居的重要性。

针对以上问题,作者提出了异构图注意力网络(Heterogeneous graph Attention Network,以下简称 HAN)同时考虑了语义级注意力和节点级注意力。其大致流程如下:

  • 首先利用特定类型的变换矩阵将不同节点的特征压缩到同一空间中;
  • 然后基于节点级注意力学习同一路径中节点与其邻居的注意力分数,同时学习不同任务下不同元路径的语义级注意力分数;
  • 最后基于节点级注意力分数和语义级注意力分数综合得到 Node Embedding。

接下来,我们来看具体的模型实现。

2.HAN

首先是模型架构:

可以看到,模型分为三大部分:Node-Level Attention、Semantic-Level Attention 和 Prediction。

2.1 Node-level Attention

我们先来看节点级注意力。

由于节点的异构特点,不同节点都具有不同的特征空间。因此,作者设计了一个特定类型的转换矩阵将不同类型的节点的特征映射到相同的特征空间中:

这便使得节点级注意力可以处理任意类型的节点。

接着,作者利用 self-attention 去学习不同节点间的权重。给定元路径 上的节点对 (i,j),节点级注意力分数为:

其中, 为计算节点级注意力的深度神经网络。对于给定元路径 ,其路径上的所有节点共享

值得注意的是, 是非对称的,这也是异构网络的一大特点。

然后与 GAT 类似,利用 masked attention 为模型提供结构信息,然后得到当前节点 j 与其邻居节点的归一化后的注意力系数:

其中, 为 concat 操作, 为元路径 下节点级注意力向量。注意,这里的权重系数也是非对称的。

然后便可以得到元路径 下节点 Embedding:

当然,为了模型的稳定性,作者使用了使用 multi-head 机制,即重复节点级注意力 K 次,并将所学到的 Embedding 进行连接:

给定元路径集合 ,我们可以得到 P 组特定语义的 Embedding

2.2 Semantic-level Attention

我们再来看语义级别的注意力。

经过节点级注意力,我们可以得到节点多种类型的语义信息。语义级注意力的目的在于将这些不同语义信息进行融合。

我们将 P 组特定语义的 Embedding 作为输入,根据不同任务可以得到不同权重:

其中, 为计算语义级注意力的深度神经网络。

为了计算每一个元路径的重要性,我们首先使用一个线性转换(如:一层 MLP)来转换特点语义的 embedding。然后将学到的特定语义的 embedding 的重要性为语义级注意向量 q 转置的 Embedding 相似度:

其中, 分别为权重矩阵和偏置向量, 为语义级注意力向量。这些参数对所有的元路径都是共享的。

然后我们进行归一化:

加权后得到最终的 Embedding 向量 Z:

为了更好的了解聚合过程,我们看下图 (b) 部分:

我们可以利用最终得到的 Embedding 来应用于到其他任务中。比如说半监督学习的节点分类任务,我们会最小化交叉熵损失函数:

其中,C 为分类器的参数, 为有标签的节点的索引, 为有标签的节点的标签, 为有标签的节点的 embedding。

HAN 的整体过程如下所示:

2.3 Analysis of the Proposed Model

分析下模型。

  • HAN 可以处理异构网络中多类型节点、关系和丰富的语义信息,信息可以通过不同的关系从一种节点转移到另一种节点。利用 HAN 可以使得不同类型的节点 Embedding 进行相互融合、相互促进和相互升级;

  • HAN 高效且易于实现,注意力的计算可以基于节点和元路径进行并行计算。对于给定的元路径 ,节点级注意力的时间复杂度为 ,其中 K 表示 attention head 的数量, 表示节点数量, 为基于元路径的节点对的数量, 分别是转换矩阵的行数和列数。总的复杂度与节点数量和基于元路径的节点对的数量呈线性关系;

  • 整个模型的 Attention 是共享的,因此参数的数量不取决于异构图的规模,能够应用于 Inductive 的问题;

  • 该模型对于学习节点 embedding 具有很好的可解释性。基于注意力分数,可以查看哪些节点或元路径对相关任务的贡献度,有助于分析和解释实验结果。

3.Experiment

简单看下实验部分。

首先是数据集:

不同模型在不同数据集和评价指标下的结果, 移除了节点级注意力,节点邻居具有同样的重要性; 移除了语义级注意力,每个元路径都具有相同的重要性, 是完整的模型。

聚类结果分析:

节点级注意力分析,可以看到相同类型的节点分数更高:

语义级注意力分析,NMI 为聚类结果,可以反映元路径的重要性,可以 NMI 较大的其注意力分数也更大:

可视化结果:

参数敏感性分析:

4.Conclusion

本篇文章针对异构图网络进行分析,指出了异构网络建模的三大难点,在此基础上提出了异构图注意力网络 HAN,该算法利用节点级注意力和语义级注意力分别捕获异构网络背后复杂的结构和丰富的语义信息,并在诸多数据集和任务中取得了不错的成绩。

5.Reference

  1. Wang X, Ji H, Shi C, et al. Heterogeneous graph attention network[C]//The World Wide Web Conference. 2019: 2022-2032.
  2. 《SFFAI分享 | 纪厚业:Heterogeneous Graph Attention Network》

推荐阅读

这个NLP工具,玩得根本停不下来

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
5

相关内容

图注意力网络(Graph Attention Network,GAT),它通过注意力机制(Attention Mechanism)来对邻居节点做聚合操作,实现了对不同邻居权重的自适应分配,从而大大提高了图神经网络模型的表达能力。
系列教程GNN-algorithms之六:《多核卷积拓扑图—TAGCN》
专知会员服务
49+阅读 · 2020年8月8日
注意力图神经网络的小样本学习
专知会员服务
191+阅读 · 2020年7月16日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
【GNN】图神经网络入门之GRN图循环网络
深度学习自然语言处理
17+阅读 · 2020年5月9日
WWW 2020 开源论文 | 异构图Transformer
PaperWeekly
13+阅读 · 2020年4月3日
知识图注意力网络 KGAT
图与推荐
52+阅读 · 2020年3月16日
【论文笔记】Graph U-Nets
专知
80+阅读 · 2019年11月25日
【论文笔记】自注意力图池化
专知
80+阅读 · 2019年11月18日
HAN:基于双层注意力机制的异质图深度神经网络
PaperWeekly
36+阅读 · 2019年4月23日
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
10+阅读 · 2018年2月4日
VIP会员
相关VIP内容
系列教程GNN-algorithms之六:《多核卷积拓扑图—TAGCN》
专知会员服务
49+阅读 · 2020年8月8日
注意力图神经网络的小样本学习
专知会员服务
191+阅读 · 2020年7月16日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
相关资讯
【GNN】图神经网络入门之GRN图循环网络
深度学习自然语言处理
17+阅读 · 2020年5月9日
WWW 2020 开源论文 | 异构图Transformer
PaperWeekly
13+阅读 · 2020年4月3日
知识图注意力网络 KGAT
图与推荐
52+阅读 · 2020年3月16日
【论文笔记】Graph U-Nets
专知
80+阅读 · 2019年11月25日
【论文笔记】自注意力图池化
专知
80+阅读 · 2019年11月18日
HAN:基于双层注意力机制的异质图深度神经网络
PaperWeekly
36+阅读 · 2019年4月23日
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
相关论文
Top
微信扫码咨询专知VIP会员