图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模。近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视。图神经网络(GNN)是一类基于深度学习的处理图域信息的方法。由于其较好的性能和可解释性,GNN 最近已成为一种广泛应用的图分析方法。

GNN 的第一个动机源于卷积神经网络(CNN)。CNN 的广泛应用带来了机器学习领域的突破并开启了深度学习的新时代。然而 CNN 只能在规则的 Euclidean 数据上运行,如图像(2 维网格)和文本(1 维序列)。如何将 CNN 应用于图结构这一非欧几里德空间,成为 GNN 模型重点解决的问题。

▲ 图1. 左:图像(欧几里得空间) 右:图(非欧几里德空间)

GNN 的另一个动机来自图嵌入(Graph Embedding),它学习图中节点、边或子图的低维向量空间表示。DeepWalk、LINE、SDNE 等方法在网络表示学习领域取得了很大的成功。然而,这些方法在计算上较为复杂并且在大规模上的图上并不是最优的,GNN 旨在解决这些问题。

这篇文章对图神经网络进行了广泛的总结,并做出了以下贡献:

  • 文章详细介绍了图神经网络的经典模型。主要包括其原始模型,不同的变体和几个通用框架。

  • 文章将图神经网络的应用系统地归类为结构化场景、非结构化场景和其他场景中,并介绍了不同场景中的主要应用。

  • 本文为未来的研究提出四个未解决的问题。文章对每个问题进行了详细分析,并提出未来的研究方向。

模型

在模型这一部分中,文章首先介绍了最经典的图神经网络模型 GNN,具体阐述了 GNN 的模型与计算方式,然而 GNN 模型仍然存在一定的限制,比如较高的计算复杂度以及表示能力不足等等。

后续的很多工作致力于解决 GNN 存在的种种问题,在 2.2 一节中文章详细介绍了 GNN 的不同变体。具体来说,文章分别介绍了适应于不同图类型、采用不同的信息传递方式以及采用了不同的训练方法的变体。

▲ 图2. 不同的GNN变体

在 2.2.1 节中,文章介绍了处理不同图类型的 GNN 变体,包括有向图、异质图和具有边信息的图。在 2.2.2 节中,文章对于采用不同信息传递方式的变体进行了总结与概括。主要分为以下四个类别:

卷积。Graph Convolutional Network(GCN)希望将卷积操作应用在图结构数据上,主要分为Spectral Method和Spatial Method(Non-spectral Method)两类。Spectral Method希望使用谱分解的方法,应用图的拉普拉斯矩阵分解进行节点的信息收集。Spatial Method直接使用图的拓扑结构,根据图的邻居信息进行信息收集。

注意力机制。Graph Attention Network 致力于将注意力机制应用在图中的信息收集阶段。

门机制。这些变体将门机制应用于节点更新阶段。Gated graph neural network 将 GRU 机制应用于节点更新。很多工作致力于将 LSTM 应用于不同类型的图上,根据具体情境的不同,可以分为 Tree LSTM、Graph LSTM 和 Sentence LSTM 等。

残差连接。注意到堆叠多层图神经网络可能引起信息平滑的问题,很多工作将残差机制应用于图神经网络中,文中介绍了 Highway GNN 和 Jump Knowledge Network 两种不同的处理方式。

文章还对于不同的信息传递方式进行了公式化总结。简单来说,信息传递函数主要包括信息收集(agggregation)和节点信息更新(update)两个部分,在表格中列出了每种方法的不同配置。

▲ 表1. 采用不同消息传递函数的GNN变体总结

在 2.2.3 节中,文章介绍了 GNN 的不同训练方法。譬如 GraphSAGE 从附近的邻居收集信息,并且能够应用于 inductive learning 领域;FastGCN 使用了 importance sampling 的方法,使用采样替代使用节点所有的邻居信息,加快了训练过程。

在 2.3 节中,文章介绍了近年来文献中提出的图神经网络通用框架 MPNN(Message Passing Neural Network)、NLNN(Non-local Neural Network)以及 Deepmind 的 GN(Graph Network)。

MPNN 将模型总结为信息传递阶段和节点更新阶段,概括了多种图神经网络和图卷积神经网络方法。NLNN 总结了很多种基于自注意力机制的方法。GN 提出了更加通用的模型,能够总结概括几乎所有文中提到的框架,并且拥有更加灵活的表示能力、易于配置的块内结构以及易于组合的多模块架构。

▲ 图3. GN Block组合成复杂网络结构应用

GNN 被应用在众多的领域,文章具体将应用分为了结构化场景、非结构化场景以及其他三个类别。

在结构化场景中,GNN 被广泛应用在社交网络、推荐系统、物理系统、化学分子预测、知识图谱等领域。文章中主要介绍了其在物理、化学、生物和知识图谱中的部分应用。在非结构领域,文章主要介绍了在图像和文本中的应用。在其他领域,文章介绍了图生成模型以及使用 GNN 来解决组合优化问题的场景。

▲ 图4. GNN的应用示例

▲ 表2. 文章介绍的应用总结开放问题

文章最后提出了图神经网络领域的四个开放问题:

1. 浅层结构。经验上使用更多参数的神经网络能够得到更好的实验效果,然而堆叠多层的 GNN 却会产生 over-smoothing 的问题。具体来说,堆叠层数越多,节点考虑的邻居个数也会越多,导致最终所有节点的表示会趋向于一致。

2. 动态图。目前大部分方法关注于在静态图上的处理,对于如何处理节点信息和边信息随着时间步动态变化的图仍是一个开放问题。

3. 非结构化场景。虽然很多工作应用于非结构化的场景(比如文本),然而并没有通用的方法用于处理非结构化的数据。

4. 扩展性。虽然已经有一些方法尝试解决这个问题,将图神经网络的方法应用于大规模数据上仍然是一个开放性问题。

图神经网络(一)--综述相关推荐

  1. 论文翻译-A Comprehensive Survey on Graph Neural Networks《图神经网络GNN综述》

    文章目录 1 简介 1.1 GNN简史 1.2 GNN的相关研究 1.3 GNN vs 网络嵌入 1.4 文章的创新性 2 基本的图概念的定义 3 GNN分类和框架 3.1 GNNs分类 3.2 框架 ...

  2. [论文翻译]-A Comprehensive Survey on Graph Neural Networks《图神经网络GNN综述》

    文章目录 摘要 1 简介 1.1 GNN简史 1.2 Related surveys on graph neural networks 1.3 Graph neural networks vs. ne ...

  3. 图神经网络综述:方法及应用 | Deep Reading

    整理 | 耿玉霞,浙江大学直博生.研究方向:知识图谱,零样本学习,自然语言处理等. 来源 | 开放知识图谱(公众号id:OpenKG-CN) 责编 | Jane 近日,清华刘知远老师组在 arXiv ...

  4. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  5. 清华大学刘知远教授新作,图神经网络最佳解锁方式 | 送书福利

    学习图神经网络,你怕了吗? 深度学习领域的顶级大会(International Conference on Learning Representations),在几个月前,有人分析了提交给该大会的论文 ...

  6. 图神经网络(Graph Neural Networks)概述

    论文:A Comprehensive Survey on Graph Neural Networks 一篇关于图神经网络的综述文章,着重介绍了图卷积神经网络(GCN),回顾了近些年的几个主要的图神经网 ...

  7. 图神经网络的解释性综述!

    ↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 来源:纪厚业,北京邮电大学,图与推荐 编辑:数据派THU本文约1.5w字,干 ...

  8. 图神经网络(Graph Neural Networks,GNN)综述

    鼠年大吉 HAPPY 2020'S NEW YEAR 作者:苏一 https://zhuanlan.zhihu.com/p/75307407 本文仅供学术交流.如有侵权,可联系删除. 本篇文章是对论文 ...

  9. 图网络究竟在研究什么?从15篇研究综述看图神经网络GNN的最新研究进展

    近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视.图神经网络(GNN)是一类基于深度学习的处理图域信息的方法. 到目前,相关研究的已经非常多了,不过我们回过头来看思考和回顾一下 ...

  10. 图神经网络在生物医药领域的12项研究综述

    本文转载自ScienceAI(Philosophyai) 2020年,图机器学习(Graph ML)已经成为机器学习(ML)领域中的一个备受关注的焦点研究方向.其中,图神经网络(GNN)是一类用于处理 ...

最新文章

  1. oracle row 00033,00033-ContentProvider实现数据共享[总结]
  2. “高级”数据结构——树状数组
  3. SAP Spartacus component-wrapper自定义指令的实现
  4. (转)msys2使用教程
  5. 【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动
  6. 算法之递推及其应用(递推关系的建立及在信息学竞赛中的应用 安徽 高寒蕊)...
  7. PTA22、最小乘积(基本型) (10 分)
  8. mysql的to datetime_mysql-笔记-datetime
  9. Ruby之散列与快排小程序
  10. sps忘记保存文档怎么恢复_路由器管理员密码忘了怎么办【解决方法】
  11. mysql-cluste多少钱,mysql-cluster集群
  12. mst多生成树优化及规范
  13. 如何实现多实验并行迭代,谈阿里妈妈的A/B测试实践
  14. 串口通信pyserial
  15. mac 电脑如何从双系统恢复原mac系统,无需u盘一键重新安装macos
  16. 禁止网页右键查看源代码
  17. 萌宠历险记html5游戏在线玩,7724萌宠历险记
  18. IDEA 工具中 如何生成有参和无参的构造方法
  19. ev4视频转换为mp4工具使用教程
  20. MySQL空间函数——ST_AsText走过的坑

热门文章

  1. WSL2扩展虚拟硬件磁盘( VHD大于256GB报错问题)
  2. 一键杀死最近打开APP
  3. pandas不可哈希化问题,unhashable type: ‘pandas._libs.tslibs.offsets.Hour
  4. vscode 分析c代码_vs code(C语言)配置教程
  5. jupyterlab nb_conda 增加 删除_Jupyter lab
  6. 进阶16 网络编程入门
  7. python连续质数计算代码分析,素性测试的Miller-Rabin算法完全解析 (C语言实现、Python实现)...
  8. html在线拖拽环绕,用HTML5原生实现拖放或排序
  9. moment获取几小时前_请问怎么把“多少小时前”精确到“多少小时多少分钟前”...
  10. tomcat 7 jndi mysql,tomcat7添加mysql数据库的jndi数据源