转自 AI前线
1 GNN:从尝鲜进入快速爆发期
今年以来,图神经网络技术(Graph Neural Network, GNN)得到了学术界极大的关注与响应。各大学术会议纷纷推出 GNN 相关的 workshop,在投中的论文中,以 Graph Network 为关键词的论文数量也呈现井喷之势,下图给出了近三年,上述关键词在各学术会议上的增长趋势:
GNN 在经历过 2017-2018 年两年的孕育期与尝试期之后,在 2018 年末至今的一年多时间里,迎来了快速爆发期。从理论研究到应用实践,可谓是遍地开花,让人应接不暇。在理论研究上,GNN 的原理解释、变体模型以及对各种图数据的拓展适配等工作成为了主流。而在应用实践上,GNN 更是展现出了前所未有的渗透性,从视觉推理到开放性的阅读理解问题,从药物分子的研发到 5G 芯片的设计,从交通流量预测到 3D 点云数据的学习,我们看到了 GNN 极其广阔的应用前景。本文将对近一年各大顶级会议(如 ICML、NIPS、CVPR、ACL、KDD 等)上的 GNN 相关论文进行梳理,重点从理论研究和应用实践两方面解读过去一年 GNN 的进展。由于时间和篇幅有限,本文并没有对每一个方向都进行全面的总结与概括,感兴趣的读者可以根据文中给出的论文链接自行查漏补缺。
2 GNN 的原理、变体及拓展
GNN 作为一个新兴的技术方向,其原理解读以及各类变体与拓展构成了理论研究的热点,这些论文很好地回答了 GNN 的优缺点以及相关的适应性改造问题。
2.1 GNN 原理解读
当前 GNN 研究的第一个热点在于其相关能力的理论化研究。在 “How Powerful are Graph Neural Networks?” 和 “On the equivalence between graph isomorphism testing and function approximation with GNNs” 中,都对 GNN 在图同构问题上的表现进行了探讨。图同构问题是辨别给定的两个图是否一致,同构图如下图所示。这个问题考验了算法对图数据结构的辨别能力,这两篇文章都证明了 GNN 模型具有出色的结构学习能力。图中天然包含了关系,因此许多 GNN 相关的工作就建立在对给定系统进行推理学习的研究上,在这些研究中,“Can graph neural networks help logic reasoning? ” 和 “The Logical Expressiveness of Graph Neural Networks” 论证了 GNN 在逻辑推理上的优秀表现。“All We Have is Low-Pass Filters ” 从低通滤波的层面解释了 GNN 的有效性。这些原理解读,有助于我们对 GNN 的特色专长建立一种更加清晰的认识。
2.2 GNN 的各类变体
GNN 模型的相关变体研究是领域内的另一个热点,这些变体在一些方面提升了 GNN 的能力表现。我们知道 GCN 模型来源于图信号上的傅里叶变换,“Graph Wavelet Neural Network” 引入了图信号上的小波变换来改造 GCN 模型,将卷积计算变换到空域局部邻域内。将数据表征从欧式空间转化到双曲空间,不仅能获得更好地层次化表示,同时能大大节约空间维度,“Hyperbolic Graph Convolutional Neural Networks”和 “Hyperbolic Attention Networks” 同时将 GNN 拓展到了双曲空间上去。
在 “MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing” 和 “Diffusion Improves Graph Learning”中,同时将原始 GCN 中的邻居定义由一阶拓展到高阶,强化了模型低通滤波的特性。
2.3 GNN 在各类图数据及任务上的拓展
图数据是一个种类繁多的数据家族,模型对这些不同类型的数据如何适配,是 GNN 发展的另一重要方向。下表给出了相应的概括:
[1]: HetGNN: Heterogeneous Graph Neural Network
[1]: HetGNN: Heterogeneous Graph Neural Network
https://www.kdd.org/kdd2019/accepted-papers/view/hetgnn-heterogeneous-graph-neural-network
[2]: Representation Learning for Attributed Multiplex Heterogeneous Network
https://arxiv.org/abs/1905.01669
[3]: HyperGCN: A New Method For Training Graph Convolutional Networks on Hypergraphs
https://arxiv.org/abs/1809.02589
[4]: DyRep: Learning Representations over Dynamic Graphs
https://openreview.net/pdf?id=HyePrhR5KX
[5]: Semi-supervised Learning with Graph Learning-Convolutional Networks
[6]: Learning Discrete Structures for Graph Neural Networks
https://arxiv.org/abs/1903.11960
在图数据相关的任务上,图的分类是一个重要而又未完全解决好的问题,其难处在于如何在图数据上实现层次化的池化操作从而获得图的全局表示,“Graph Convolutional Networks with EigenPooling”中给出了一种新的操作思路。
3 GNN 相关应用
近几年,以深度学习为代表的人工智能技术给产业界带来了新的变革。该技术在视觉、语音、文本三大领域取得了极大的应用成果,这种成功,离不开深度学习技术对这三类数据定制化的模型设计工作。脱离于这三类数据之外,图数据是一种更加广泛的数据表示方式,夸张地说,没有任何一个场景中的数据彼此之间是孤立存在的,这些数据之间的关系都可以以图的形式进行表达。下图给出了一些图数据的使用场景:
如何将图数据的学习与深度学习技术进行深度结合成为了一个迫切且紧要的需求。在这样的背景之下,图神经网络技术的兴起恰似一股东风,第一次使得我们看到了深度学习应用到图数据之上的曙光。实际上,在最近一年,GNN 的应用场景不断延伸,覆盖了计算机视觉、3D 视觉、自然语言处理、科研、知识图谱、推荐、反欺诈等场景,下面我们将逐项概括。
3.1 计算机视觉
在前几年跨越了视觉识别的大门之后,推理相关的视觉任务已经成为了了各大 CV 顶会的主要关注点,如:视觉问答、视觉推理、语义图合成、human-object interaction 等,甚至如视觉的基础任务,目标检测也需要用到推理来提升性能。在这些任务中,已经大量出现应用 GNN 的相关工作。下面我们以最常见的视觉问答任务举例说明,在“Relation-Aware Graph Attention Network for Visual Question Answering”一文中,给出了将 GNN 与视觉模型结合的示意图:
在上图中,视觉模型的作用是提取给定图像中的语义区域,这些语义区域与问题一并当做图中的节点,送到一个 GNN 模型中进行推理学习,这样的一种建模方式,可以更加有效地在视觉问答中对问题进行自适应地推理。
另外一个有意思的场景是少样本或零样本学习,由于这类场景下样本十分缺乏,如何充分挖掘样本之间的潜在关联信息(比如标签语义关联、潜层表达关联)就成为了一个至关重要的考量因素,引入 GNN 成为了一个非常自然的动作,相关工作有“Rethinking Knowledge Graph Propagation for Zero-Shot Learning”、“Edge-labeling Graph Neural Network for Few-shot Learning”。
3.2 3D 视觉
3D 视觉是计算机视觉的又一重要发展方向,世界是 3D 的,如何让计算机理解 3D 世界,具有极其重要的现实价值。3D 视觉中,点云数据是一种十分常见的数据表示方法。
点云数据通常由一组坐标点(x,y,z)表示,这种数据由于映射了现实世界中物体的特征,因此存在一种内在的表征物体语义的流行结构,这种结构的学习也是 GNN 所擅长的。需要说明一点的是,在 3D 视觉中流行的是几何学习 Geometry Learning,当下,几何学习与 GNN 在一些场景如点云分割、点云识别等正在深度融合,相关论文有 “Graph Attention Convolution for Point Cloud Segmentation”、“Semantic Graph Convolutional Networks for 3D Human Pose Regression”。
3.3 自然语言处理
GNN 与 NLP 的结合,关键点也在于 GNN 优秀的推理能力。GNN 在一些场景如:阅读理解、实体识别与关系抽取、依存句法分析中都有应用。下面我们以多跳阅读(Multi-hop reading)为例,多跳阅读是说在阅读理解的过程中,往往需要在多篇文档之间进行多级跳跃式的关联与推理,才能找到正确答案,相比较以前的单文档问答数据集,这是一个更具有开放性与挑战性的推理任务。下图给出了多跳阅读的样例:
在“Cognitive Graph for Multi-Hop Reading Comprehension at Scale”一文中,作者基于 BERT 和 GNN 的实现可有效处理 HotPotQA 数据集中有关多跳阅读问题的数百万份文档,在排行榜上的联合 F1 得分为 34.9,而第二名的得分只有 23.6。
3.4 科研场景
如果我们把原子看做图中的节点、化学键看做边,那么分子就可以表征为一张图。这种以图来表示分子的方法,可以将 GNN 结合到很多实际的科研场景中,如蛋白质相互作用点预测、化学反应产物预测等,这些场景有利于将深度学习的快速拟合能力带入进药物研发、材料研发等行业中去,提升研发效率。
在“Circuit-GNN: Graph Neural Networks for Distributed Circuit Design”一文中,作者将 GNN 结合进高频电路设计(如 5G 芯片等)场景,大大提升了电路电磁特性仿真计算的效率。下图给出了系统示意图:
3.5 知识图谱
由于知识图谱本身就是一种图数据,因此知识图谱 +GNN 的组合自然就成了解决各类知识图谱问题的新手段。关系补全或预测问题是知识图谱的一大基础任务,通过关系的推理补全可以大大提升知识图谱的应用质量,下图给出了关系补全的一个实例:
在论文“Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs”中,作者选择用 GNN 对知识图谱进行建模,相比之前基于单独三元组关系的推理,基于 GNN 的方法可以更好地捕捉三元组邻域复杂而隐含的模式信息,这种优势对完成关系补全任务具有十分重要的作用。
实体对齐是知识图谱的另一类任务,给定多个知识图谱,需要首先确定各自图谱中的哪些实体描述的是同一个对象,完成这项工作才能正确地将它们合成一个大的知识图谱。论文“Multi-Channel Graph Neural Network for Entity Alignment”提出了一种基于 GNN 的实体对齐方案,实验表明,在多个数据集上,该方案均取得了最好的效果。
近几年,知识图谱在工业界声势日隆,在这种语境下,我们也称知识图谱为业务图谱,在论文“Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks”中,作者成功运用 GNN 技术对电影业务图谱进行建模,在电影流行度预测上效果表现十分出色。
另外,知识图谱与推荐系统结合也成了近期一个比较热门的方向,这部分可参考下一节推荐系统中的讲解。
3.6 推荐系统
推荐是各大互联网公司十分重要的营收手段,因此一直以来备受工业界与学术界双重关注。过去这几年,推荐系统由早期的协同过滤算法发展到 MF 模型、再到之后的 Wide&Deep,以及基于 Network Embedding 的方法,可以明显地看到基于神经网络的方法正在逐渐占据主要位置,而 GNN 的出现,又一次大大加速了这个技术趋势。
以电商平台的推荐为例,推荐系统的核心数据在于用户 – 商品交互的二部图,而基于神经网络的多数方法将二部图中的实体映射到一个合适的向量空间中去,使得在图上距离越近的两个实体在向量空间中的距离也越近,如下图所示:
GNN 本身是一种深度模型,与推荐系统结合之后,多层 GNN 模型可以更好地捕捉用户与商品之间的高阶协同关系,论文“Neural Graph Collaborative Filtering”中,作者论证了多层 GNN 所带来的“Deep”与“High order”效益对推荐质量的有效提升。
除了推荐系统算法模型本身的研究,另一种思路在于如何使推荐系统有效融合进额外的信息,如用户端社交网络的信息、商品端商品知识图谱的信息。这类信息中通常也蕴含了极强的关系,因此可以非常自然地与用户 – 商品二部图合在一起构成一个更大的异构图。下图给出了与电影知识图谱的结合示意图:
有了这样的图数据抽象之后,引进 GNN 进行推荐建模也就成了一种自然的选择,相关论文有 KGAT:“ Knowledge Graph Attention Network for Recommendation”、“Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation”、“Session-based Social Recommendation via Dynamic Graph Attention Networks”等。
另外一个十分重要的、也与推荐系统息息相关相关的业务场景是广告点击率(CTR)预测。该场景下的样本通常是由多领域的特征数据构成,比如用户域、设备域、广告域等等,如何建模这些数据域之间的特征交互,成为了该任务的核心。最近基于神经网络的方法都是直接将各个域之间的特征拼接起来然后送到上层的网络模型中,以期得到这些域之间的高阶交互,这种简单的非结构化的拼接方式,会大大限制模型的学习能力。在“Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction”一文中,作者将各个域之间以图的形式连接起来(下图中的 Feature graph),然后用 GNN 建模各个特征域之间高阶复杂的交互关系,相比之前的模型取得了最好效果。
3.7 反欺诈
反欺诈业务是各大公司保证运营业务与营销业务正常开展的前提,通常我们所面临的欺诈问题包括:垃圾评论、排名欺诈、交易欺诈、薅羊毛、账户盗用等。这些欺诈现象的背后往往是黑产团伙协同作案,大大提高了反欺诈业务的打击成本。
关系数据的挖掘是绝大部分反欺诈业务开展最重要的技术视角,不论是基于欺诈风险传播的关联分析还是基于黑产团伙模式的结构化挖掘,图都是反欺诈业务人员的首选工具。在这样的背景下,GNN 也变得极有发挥空间。例如,论文“Heterogeneous Graph Neural Networks for Malicious Account Detection”中运用 GNN 对支付宝欺诈用户进行识别检测,“Spam Review Detection with Graph Convolutional Networks”中运用 GNN 对咸鱼上的评论进行欺诈识别。
4 GNN 开源项目总结
在 2019 年,图领域出现了不少新的开源项目,一些已有的开源项目也有较大的改善。
1 月,阿里妈妈开源了国内首个支持工业级图深度学习的框架 Euler,内置很多实用的图算法。项目地址:https://github.com/alibaba/euler
3 月,德国多特蒙德工业大学的学者们提出了 Pytorch Geometric ,实现了诸多 GNN 的变体模型,上线之后获得了大佬 Yann LeCun 的推荐。项目地址:https://github.com/rusty1s/pytorch_geometric
5 月,著名图学习框架 DGL 发布 v0.3 版本(目前已经更新至 0.4.1 版本,也补齐了很多 GNN 的变体模型),0.3 版本在性能上有了非常显著的提升,相比 0.2 版本训练速度提高了 19 倍,同时支持亿级规模的图神经网络训练。项目地址:https://github.com/dmlc/dgl
12 月,斯坦福大学的 Jure Leskovec 教授在 NeurlPS 2019 大会演讲中宣布开源 Open Graph Benchmark,通过这一数据集可以更好地评估模型性能等方面的指标。项目地址:http://ogb.stanford.edu
同月,清华大学知识工程研究室(KEG)推出了大规模图表示学习工具包 CogDL,可以让研究者和开发者更加方便地训练和对比用于节点分类、链路预测以及其他图任务的基准或定制模型。项目地址:https://github.com/THUDM/cogdl/
除了上述的项目,GitHub 上图相关的两个论文项目也很不错,总结了近年来各大顶会所有相关论文,收录非常及时全面,推荐大家关注:https://github.com/naganandy/graph-based-deep-learning-literature 和 https://github.com/DeepGraphLearning/LiteratureDL4Graph。
5 展望
展望来年,最可以确定的一点是 GNN 依然会保持如今快速发展的态势。从理论研究上看,不断解构 GNN 相关的原理、特色与不足,进而提出相应地改进与拓展,是非常值得我们关注的部分。另外,关于一直以来研究 GNN 所用的标准数据集,如 Cora、PubMed,这些数据集场景单一、异构性不足,难以对复杂的 GNN 模型进行准确评价,针对这一问题,近期斯坦福大学等开源的 OGB 标准数据集有望大大改善这个现状,在新的评价体系下,哪些工作能够脱颖而出,且让我们拭目以待。
在应用场景上,相信 GNN 能够带给我们更加亮眼的工作,除了在视觉推理、点云学习、关系推理、科研、知识图谱、推荐、反欺诈等领域有广泛应用外,在其他的一些场景,如交通流量预测、医疗影像、组合优化等,也出现了一些 GNN 相关的工作。大体上看,如何准确有效地将图数据与 GNN 二者有机结合到相关场景,是应用上需要着重考虑的事情,相信来年,会出现更多这样的工作来拓展 GNN 的应用边界。