图神经网络(GNN)简介

深度学习与图神经网络

近年来,人工智能与深度学习在各个领域得到了长足的发展。从最先掀起这轮深度学习浪潮的计算机视觉(Computer Vision)领域,到亦备受关注的自然语言处理(Natural Language Processing)、数据挖掘(Data Mining)领域,再到各个专门领域,如生物信息(图1)、游戏博弈(图2)等,人工智能正日益展露锋芒。
图1 AlphaFold,用于蛋白质结构预测
图2 AlphaGo,DeepMind开发的围棋大师

人工智能与深度学习取得如此进展的最大驱动力可以被总结为以下两点[1]:

  1. 数据可用性的增强。随着数字社会的发展以及越来越多的数字活动(如网络社交、图片分享等),可用于的数字化数据的规模也在日益增长,为研究、实现众多智能算法、尤其是数据驱动的算法提供了数据基础。
  2. 计算规模的增长。随着神经网络的出现,智能算法的计算规模可以得到充分的扩展,以应对数据规模的增长。图3指出,随着数据量的增长,传统算法和小规模神经网络的性能将趋于饱和,我们需要依赖更大规模的神经网络,以使算法从数据中得到更多助益,获得更佳的性能。

图3 数据量、算法性能与算法计算规模之间的联系
从数据的角度看待目前人工智能的应用,传统的网格数据(图像)、序列数据都有一系列成熟的神经网络可以对其进行建模,例如CNN之于图像、RNN之于时间序列,对于另一种广泛存在的数据类型:图(Graph),有效的网络结构也需要被提出并形成系列,从而解决图相关问题。图的实例包括:社交网络、知识图谱、时空观测等,涵盖现实世界的方方面面。优秀的图神经网络可以对图进行有效的分析和应用,其所能带来的潜在收益也促使图神经网络的研究成为近年来人工智能研究领域的一大热点。

图神经网络简介

通过上节,笔者已指出图神经网络即是应用于图结构数据的一系列神经网络。本节,笔者希望在介绍具体的图神经网络之前,另各位对图神经网络的基本结构、操作(模块)有一个概念性的了解。

一个主流的、类比卷积神经网络的观念认为,图神经网络的基本操作包括图滤波(Graph Filtering)和图池化(Graph Pooling),对应于卷积神经网络中的卷积与池化操作。参考[2],图滤波操作与图池化操作可分别由图4和图5表示。
图4 图滤波操作
图5 图池化操作

图滤波操作用于从图结构数据中提取特征。有鉴于神经网络近年来迅猛的发展,图滤波操作也已扩展至包括卷积算子、循环算子、注意力算子、跳转连接算子等多种针对图结构数据的基本算子,后面笔者将分别介绍。

作为补充,当图结构过于复杂或者庞大,上述图操作难以满足计算复杂度、硬件等限制时,还需引入图采样(Graph Sampling)操作来简化整体计算。常见的图采用操作包括节点采样(Node-wise Sampling)、层采样(Layer-wise Sampling)与子图(Subgraph-wise Sampling)采样。

图池化是对由图滤波操作提取的特征进行下采样,以满足一些特定任务对(全局)特征的需求。图池化操作可被分类为直接(全局)池化和分层池化,这也是应对复杂或者大规模的图而做出的区分,即可能需要采用分层池化以对这些复杂的图进行处理,以防丢失这些图所蕴含的丰富的分层信息。

综上,图神经网络的基本结构可以表示如下[3]:

图6 图神经网络的基本结构

参考文献

[1] Andrew Ng, “Machine Learning Yearning,” 2017. [Online]. Available: https://deeplearning-ai.github.io/machine-learning-yearning-cn/

[2] Yao Ma and Jiliang Tang, “Deep Learning on Graphs,” Cambridge University Press, 2021. [Online]. Available: https://cse.msu.edu/~mayao4/dlg_book/

[3] Jie Zhou et al., “Graph neural networks: A review of methods and applications,” arXiv:1812.08434 [cs, stat], Oct. 2021, Accessed: Nov. 01, 2021. [Online]. Available: http://arxiv.org/abs/1812.08434

猜你喜欢

转载自blog.csdn.net/zbgjhy88/article/details/122269656