深度学习无法进行因果推理,而图模型(GNN)或是解决方案之一。清华大学孙茂松教授组发表综述论文,全面阐述GNN及其方法和应用,并提出一个能表征各种不同GNN模型中传播步骤的统一表示。文中图表,建议高清打印过塑贴放手边作参考。
深度学习的最大软肋是什么?
这个问题的回答仁者见仁,但图灵奖得主Judea Pearl大概有99.9%的几率会说,是无法进行因果推理。
对于这个问题,业界正在进行积极探索,而其中一个很有前景的方向就是图神经网络(Graph Neural Network, GNN)。
最近,清华大学孙茂松教授组在 arXiv 发布了论文 Graph Neural Networks: A Review of Methods and Applications,作者对现有的GNN模型做了详尽且全面的综述。
“图神经网络是连接主义与符号主义的有机结合,不仅使深度学习模型能够应用在图这种非欧几里德结构上,还为深度学习模型赋予了一定的因果推理能力。”论文的共同第一作者周界说。
“在深度学习方法的鲁棒性与可解释性受到质疑的今天,图神经网络可能为今后人工智能的发展提供了一个可行的方向。”
GNN最近在深度学习领域受到了广泛关注。然而,对于想要快速了解这一领域的研究人员来说,可能会面临着模型复杂、应用门类众多的问题。
“本文希望为读者提供一个更高层次的视角,快速了解GNN领域不同模型的动机与优势。”周界告诉新智元:“同时,通过对不同的应用进行分类,方便不同领域的研究者快速了解将GNN应用到不同领域的文献。”
毫不夸张地说,论文中的图表对于想要了解学习GNN乃至因果推理等方向的研究者来说,简直应该高清打印过塑然后贴在墙上以作参考——
GNN的各种变体,通过比对各自的 aggregator & updater,就能轻松分辨不同的GNN模型。这只是这篇综述强大图表的一个示例。
想要快速了解GNN,看这篇文章绝对没错
在内容上,模型方面,本文从GNN原始模型的构建方式与存在的问题出发,介绍了对其进行不同改进的GNN变体,包括如何处理不同的图的类型、如何进行高效的信息传递以及如何加速训练过程。最后介绍了几个近年来提出的通用框架,它们总结概括了多个现有的方法,具有较强的表达能力。
在应用上,文章将GNN的应用领域分为了结构化场景、非结构化场景以及其他场景并介绍了诸如物理、化学、图像、文本、图生成模型、组合优化问题等经典的GNN应用。
典型应用场景介绍
文章最后提出了四个开放性问题,包括如何处理堆叠多层GNN造成的平滑问题,如何处理动态变化的图结构,如何使用通用的方法处理非结构化的数据以及如何将其扩展到更大规模的网络上。
作者还整理了一个GNN论文列表:
https://github.com/thunlp/GNNPapers
原始GNN及其局限性
GNN的概念首先是在F. Scarselli等人的论文The graph neural network model(F. Scarselli et. al. 2009)中提出的。在这里,我们描述了原始的GNN,并列举了原始GNN在表示能力和训练效率方面的局限性。
接着,我们介绍了几种不同的GNN变体,这些变体具有不同的图形类型,利用不同的传播函数和训练方法。
最后,我们介绍了三个通用框架,分别是message passing neural network (MPNN),non-local neural network (NLNN),以及graph network(GN)。MPNN结合了各种图神经网络和图卷积网络方法;NLNN结合了几种“self-attention”类型的方法;而图网络GN可以概括本文提到的几乎所有图神经网络变体。
图神经网络
如前所述,图神经网络(GNN)的概念最早是Scarselli等人在2009年提出的,它扩展了现有的神经网络,用于处理图(graph)中表示的数据。在图中,每个节点是由其特性和相关节点定义的。
虽然实验结果表明,GNN是建模结构化数据的强大架构,但原始GNN仍存在一些局限性。
首先,对于固定节点,原始GNN迭代更新节点的隐藏状态是低效的。如果放宽了固定点的假设,我们可以设计一个多层的GNN来得到节点及其邻域的稳定表示。
其次,GNN在迭代中使用相同的参数,而大多数流行的神经网络在不同的层中使用不同的参数,这是一种分层特征提取方法。此外,节点隐藏状态的更新是一个顺序过程,可以从RNN内核(如GRU 和 LSTM)中获益。
第三,在边上也有一些无法在原始GNN中建模的信息特征。此外,如何学习边的隐藏状态也是一个重要的问题。
最后,如果我们把焦点放在节点的表示上而不是图形上,就不适合使用固定点,因为在固定点上的表示的分布在数值上是平滑的,区分每个节点的信息量也比较少。
图神经网络的变体
在这一节,我们提出图神经网络的几种变体。首先是在不同图类型上运行的变体,这些变体扩展了原始模型的表示能力。其次,我们列出了在传播步骤进行修改(卷积、门机制、注意力机制和skip connection)的几种变体,这些模型可以更好地学习表示。最后,我们描述了使用高级训练方法的标题,这些方法提高了训练效率。
图2概述了GNN的不同变体。