关键词:图神经网络 计算机视觉 图像识别 深度学习非欧空间 图 图嵌入 图卷积网络 图注意力网络 图自编码器 图生成网络 图时空网络 浅层结构 动态图 非结构化场景

一 简介

深度学习技术已经在语音识别、机器翻译、图像分析和计算机视觉等方向取得了重要成果,之所以CNN、RNN等模型能够在图像、音频等处理中取得很好地效果,其一个重要原因是:图像、音频等数据都可以很好地在欧氏空间中进行表示,并且以规则的栅栏结构呈现,CNN等可以很自然的在这些数据上进行操作。

  1. 而也有很多数据,如社交网络数据、生物化学图结构和引文网络等,这些只能在非欧空间中表示,图(Graph)是其中一个典型的表示方式。图的复杂性使得现有的深度学习算法在处理时面临着巨大的挑战。这是因为图是不规则的,每个图都有一个大小可变的无序节点,图中的每个节点都有不同数量的相邻节点,导致一些重要的操作(例如卷积)在图像(Image)上很容易计算,但不再适合直接用于图。此外,现有深度学习算法的一个核心假设是数据样本之间彼此独立。然而,对于图来说,情况并非如此,图中的每个数据样本(节点)都会有边与图中其他实数据样本(节点)相关,这些信息可用于捕获实例之间的相互依赖关系。

图神经网络GNN - 图1

(左为欧式空间中的图像(image),右为非欧式空间中的图(graph))

  1. 以上,正是因为传统的CNN等模型无法直接运用在图数据上,所以需要在图上重新定义卷积操作。另外,图神经网络(GNN 的另一个动机来自图嵌入(Graph Embedding,一种将图数据映射为低微稠密向量的过程),它学习图中节点、边或子图的低维向量空间表示。DeepWalkLINESDNE 等方法在网络表示学习领域取得了很大的成功。然而,这些方法在计算上较为复杂并且在大规模上的图上并不是最优的,GNN 旨在解决这些问题。

二 分类与原理

  1. 我们将图神经网络划分为五大类别,分别是:图卷积网络(Graph Convolution NetworksGCN)、 图注意力网络(Graph Attention Networks)、图自编码器( Graph Autoencoders)、图生成网络( Graph Generative Networks 和图时空网络(Graph Spatial-temporal Networks)。
  2. 图卷积网络GCN是许多复杂图神经网络模型的基础,包括基于自动编码器的模型、生成模型和时空网络等。图卷积网络将卷积运算从传统数据(例如图像)推广到图数据。其核心思想是学习一个函数映射$ f(.) $ ,通过该映射图中的节点 $ v_i $ 可以聚合它自己的特征 $ x_i $ 与它的邻居特征 $ x_j $ 来生成节点 $ v_i $ 的新表示。下图展示了图卷积网络节点表征学习的过程。

图神经网络GNN - 图2

  1. 图中为一个含多层 GCN 层的图卷积网络变体。通过从邻域聚合特征信息,一个 GCN 层把每个节点的隐藏表征进行压缩。在特征聚合之后,非线性置换被应用到生成的输出上。通过多层堆叠,每个节点的最终隐藏表征从后续邻域获得信息。
  2. 以下为多个建立在GCN基础上的图神经网络模型(包括图自编码器和图时空网络)。

图神经网络GNN - 图3

三 典型应用

  1. 可广泛应用于计算机视觉。包括场景图生成、点云分类与分割、动作识别等多个方面。
  2. 可应用于推荐系统。以项目和用户作为节点,基于图的推荐系统能够生成高质量的推荐。
  3. 应用于化学领域研究分子的图结构。在分子图中,原子为图中的节点,化学键为图中的边。节点分类、图形分类和图形生成是分子图的三个主要任务,它们可以用来学习分子指纹、预测分子性质、推断蛋白质结构、合成化合物。

四 存在的问题

  1. 浅层结构。经验上使用更多参数的神经网络能够得到更好的实验效果,然而堆叠多层的 GNN 却会产生过度平滑(over-smoothing)的问题。具体来说,堆叠层数越多,节点考虑的邻居个数也会越多,导致最终所有节点的表示会趋向于一致。
  2. 动态图。目前大部分方法关注于在静态图上的处理,对于如何处理节点信息和边信息随着时间步动态变化的图仍是一个开放问题。
  3. 非结构化场景。虽然很多工作应用于非结构化的场景(比如文本),然而并没有通用的方法用于处理非结构化的数据。
  4. 扩展性。虽然已经有一些方法尝试解决这个问题,将图神经网络的方法应用于大规模数据上仍然是一个开放性问题。

参考

[1] Wu, Zonghan, et al. “A Comprehensive Survey on Graph Neural Networks.” arXiv preprint arXiv:1901.00596 (2019).

[2] Zhou, Jie, et al. “Graph neural networks: A review of methods and applications.” arXiv preprint arXiv:1812.08434 (2018).

[3] https://zhuanlan.zhihu.com/p/129308686

[4] https://zhuanlan.zhihu.com/p/75307407

[5] https://www.jiqizhixin.com/graph/technologies/c39cf57b-df95-4c9e-9a8a-0d8ea330d625

[6] https://zhuanlan.zhihu.com/p/54241746