来源:新智元

本文约3500字,建议阅读7分钟

本文将带你了解UCI数据库的Python API,通过实际案例拆解并讲解代码。

[ 导读 ]深度学习无法进行因果推理,而图模型(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

以下是我们对这篇综述的部分摘译,点击阅读原文查看 arXiv 论文。

原始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的不同变体。

一览GNN的不同变体

图的类型(Graph Types)

在原始GNN中,输入的图由带有标签信息的节点和无向的边组成,这是最简单的图形格式。然而,世界上有许多不同的图形。这里,我们将介绍一些用于建模不同类型图形的方法。

图类型的变体

  • 有向图(Directed Graphs )

图形的第一个变体是有向图。无向边可以看作是两个有向边,表明两个节点之间存在着关系。然而,有向边比无向边能带来更多的信息。例如,在一个知识图中,边从head实体开始到tail实体结束,head实体是tail实体的父类,这表明我们应该区别对待父类和子类的信息传播过程。有向图的实例有ADGPM (M. Kampffmeyer et. al. 2018)。

  • 异构图(Heterogeneous Graphs)

图的第二个变体是异构图,异构图有几种类型的节点。处理异构图最简单的方法是将每个节点的类型转换为与原始特征连接的一个one-hot特征向量。异构图如GraphInception。

  • 带边信息的图(Edge-informative Graph)

图的另外一个变体是,每条边都有信息,比如权值或边的类型。例如G2S和R-GCN。

使用不同训练方法的图变体

训练方法变体

在传播步骤进行修改的GNN变体

传播步骤变体

GNN的三大通用框架

除了图神经网络的不同变体之外,我们还介绍了几个通用框架,旨在将不同的模型集成到一个框架中。

J. Gilmer等人(J. Gilmer et. al. 2017)提出了消息传递神经网络(message passing neural network, MPNN),统一了各种图神经网络和图卷积网络方法。

X. Wang等人(X. Wang et. al. 2017)提出了非局部神经网络(non-local neural network, NLNN),它结合了几种“self-attention”风格的方法。

P. W. Battaglia等人(P. W. Battaglia et. al. 2018)提出了图网络(graph network, GN),它统一了统一了MPNN和NLNN方法以及许多其他变体,如交互网络(Interaction Networks),神经物理引擎(Neural Physics Engine),CommNet,structure2vec,GGNN,关系网络(Relation Network),Deep Sets和Point Net。

几个尚未解决的问题

尽管GNN在不同领域取得了巨大成功,但值得注意的是,GNN模型还不能在任何条件下,为任何图任务提供令人满意的解决方案。这里,我们将陈述一些开放性问题以供进一步研究。

浅层结构

传统的深度神经网络可以堆叠数百层,以获得更好的性能,因为更深的结构具备更多的参数,可以显著提高网络的表达能力。然而,GNN总是很浅,大多数不超过三层。

实验显示,堆叠多个GCN层将导致过度平滑,也就是说,所有顶点将收敛到相同的值。尽管一些研究人员设法解决了这个问题,但这仍然是GNN的最大局限所在。设计真正的深度GNN对于未来的研究来说是一个令人兴奋的挑战,并将对进一步深入理解GNN做出相当大的贡献。

动态图形另一个具有挑战性的问题是如何处理具有动态结构的图形。静态图总是稳定的,因此对其进行建模是可行的,而动态图引入了变化的结构。当边和节点出现或消失时,GNN不能自适应地做出改变。目前对动态GNN的研究也在积极进行中,我们认为它是一般GNN的具备稳定性和自适应性的重要里程碑。

非结构性场景

我们讨论了GNN在非结构场景中的应用,但我们没有找到从原始数据中生成图的最佳方法。在图像域中,一些研究可以利用CNN获取特征图,然后对其进行上采样,形成超像素作为节点,还有的直接利用一些对象检测算法来获取对象节点。在文本域中,有些研究使用句法树作为句法图,还有的研究采用全连接图。因此,关键是找到图生成的最佳方法,使GNN在更广泛的领域发挥更大的作用。

可扩展性问题

如何将嵌入式算法应用于社交网络或推荐系统这类大规模网络环境,是几乎所有图形嵌入算法面对的一个致命问题,GNN也不例外。对GNN进行扩展是很困难的,因为涉及其中的许多核心流程在大数据环境中都要消耗算力。

这种困难体现在几个方面:首先,图数据并不规则,每个节点都有自己的邻域结构,因此不能批量化处理。其次,当存在的节点和边数量达到数百万时,计算图的拉普拉斯算子也是不可行的。此外,我们需要指出,可扩展性的高低,决定了算法是否能够应用于实际场景。目前已经有一些研究提出了解决这个问题的办法,我们正在密切关注这些新进展。

结论

在过去几年中,GNN已经成为图领域机器学习任务的强大而实用的工具。这一进展有赖于表现力,模型灵活性和训练算法的进步。在本文中,我们对图神经网络进行了全面综述。对于GNN模型,我们引入了按图类型、传播类型和训练类型分类的GNN变体。

此外,我们还总结了几个统一表示不同GNN变体的通用框架。在应用程序分类方面,我们将GNN应用程序分为结构场景、非结构场景和其他18个场景,然后对每个场景中的应用程序进行详细介绍。最后,我们提出了四个开放性问题,指出了图神经网络的主要挑战和未来的研究方向,包括模型深度、可扩展性、动态图处理和对非结构场景的处理能力。

CNN已老,GNN来了!清华大学孙茂松组一文综述GNN相关推荐

  1. 清华大学孙茂松当选 2022 年度 ACL Fellow

    他曾领导开发了 AI 作诗系统"九歌".学堂在线. 作者 | 李梅    编辑 | 陈彩娴 来源 | AI科技评论 近日,国际计算语言学协会(ACL)官方公布了 2022 年度 A ...

  2. 清华大学孙茂松:透过喧嚣,坐看云起,NLP 的迷思与感悟

    图源:澎湃新闻 2010年深层神经网络在语音识别研究方向上取得里程碑式进展,以这一事件为新起点和新动能,整个人工智能领域迅速跃迁到深度学习时代,包括自然语言处理(NLP)等关键领域也获得了长足发展. ...

  3. 清华大学孙茂松:NLP 面临的三大真实挑战

    2020-12-09 02:14:54 来源 | 智源社区 编辑 | 陈彩娴 自然语言处理一直被誉为人工智能皇冠上的明珠. 一方面,实现语言智能十分艰难.尽管机器人在电竞.围棋等方面频频超越人类,但目 ...

  4. 清华大学孙茂松:自然语言处理一瞥,知往鉴今瞻未来

    来源:AI科技评论 中国人工智能学会 本文约6200字,建议阅读5分钟 近日,清华大学人工智能研究院常务副院长孙茂松教授亲手执笔,对自然语言处理的贡献.当前境界与未来挑战进行了深入的探讨. 人类语言( ...

  5. NLP大火的prompt能用到其他领域吗?清华孙茂松组的 CPT 了解一下

    点击"凹凸域",马上关注 更多内容.请置顶或星标 机器之心报道 编辑:张倩 从 GPT-3 开始,一种新的范式开始引起大家的关注:prompt.这段时间,我们可以看到大量有关 pr ...

  6. NLP大火的Prompt能用到其他领域吗?清华孙茂松组的CPT了解一下

    ©作者 | 张倩 来源 | 机器之心 从 GPT-3 开始,一种新的范式开始引起大家的关注:prompt.这段时间,我们可以看到大量有关 prompt 的论文出现,但多数还是以 NLP 为主.那么,除 ...

  7. CNN已老,GNN来了

    深度学习无法进行因果推理,而图模型(GNN)或是解决方案之一.清华大学孙茂松教授组发表综述论文,全面阐述GNN及其方法和应用,并提出一个能表征各种不同GNN模型中传播步骤的统一表示. 深度学习的最大软 ...

  8. 马斯克失去世界首富头衔/ 清华孙茂松当选ACL Fellow/ VR头显可隔空接吻…今日更多新鲜事在此...

    日报君 发自 凹非寺 量子位 | 公众号 QbitAI 大家好,今天是12月13日星期二. 北方很多地方气温已降至零下十度,出门记得多穿点- 科技圈都发生了哪些大事? 一起来看看. 马斯克不再是世界首 ...

  9. 孙茂松等获钱伟长一等奖,倪光南、李生等入选CIPS首批会士

    智源导读:2020年12月27日, 中国中文信息学会2020学术年会在北京成功召开.会上颁发了"钱伟长中文信息处理科学技术奖",中国中文信息学会"青年创新奖", ...

最新文章

  1. Java多线程编程实战:模拟大量数据同步
  2. Kubernetes 1.14 版本发布:正式支持Windows 节点,持久化本地卷进入GA
  3. Bootstrap File Input 真正 解决跨域问题
  4. python mysqldb cursor_python中MySQLdb模块用法实例
  5. 【Deep Learning】深度学习中的函数类型
  6. 芯片巨头英特尔放弃竞争迷你计算机市场
  7. 信息学奥赛一本通 1003:对齐输出 | OpenJudge NOI 1.1 03
  8. 八皇后问题 (信息学奥赛一本通-T1213)
  9. POJ 1821 Fence(单调队列优化DP)
  10. 理解promise、async 和await之间的执行关系
  11. centos服务器之间copy文件夹命令,Centos下如何拷贝整个目录命令?Centos下拷贝目录命令的方法...
  12. k2pb1官改和梅林_K2P B1免拆机刷官改和梅林阉割版固件(方法超简单)
  13. 如何快速解决或避免EDI系统磁盘空间不足?
  14. 小米盒子刷arm linux,最新小米盒子3s刷原生安卓系统图文教程!值得收藏
  15. java.exe 0xc000012d_应用程序无法正常启动 0xc000012d
  16. 题解【[FJOI2018]所罗门王的宝藏】
  17. WordPress Feed跳转
  18. 作为IT售前专家,如何真正调研清楚项目需求?(第二篇)
  19. H5页面分享到朋友圈,自定义标题描述封面图 前端+php代码
  20. 曲面电视市场日渐成熟,TCL缘何“一骑绝尘”?

热门文章

  1. Linux下查询tomcat进程命令
  2. 深度学习与视频编解码算法一
  3. SQL2000安装失败原因大全
  4. 按关键词搜索工厂数据1688API
  5. KMP、BM、Sunday、Horspool、strstr字符串匹配算法的性能比较
  6. wx.createVideoContext()
  7. 软件安全之CRC检测
  8. 网络远程计算机终止,连接被远程计算机终止是怎么解决?如何设置远程连接?...
  9. Java中Array.sort()的几种用法[转]
  10. amr音频格式手机录音音频转MP3的方法