GNN图神经网络

一种用于处理图形数据的深度学习技术。通过一些特别的节点和边的策略,GNN能把图数据变成神经网络能训练的标准格式。在节点分类、边信息传播和图聚类这些任务中,GNN表现得都特别好。

相比于其他的图学习算法,GNN有着特别出色的学习能力,它擅长找到图数据中**节点和边背后隐藏的深层次规律和语义特征。**有了这个强大的能力,GNN在解决各种不同领域的问题时,都可以更准确地预测,结果也更稳定。

参考资料

图神经网络(GNN)最简单全面原理与代码实现! - 知乎 (zhihu.com)

图神经网络(GNN)原理与应用 (qq.com)

强烈推荐:A Gentle Introduction to Graph Neural Networks (distill.pub)

1. 什么是图数据?在图神经网络中,图数据是以什么形式表示的?

图数据是由**节点(Node)边(Edge)**组成的数据,最简单的方式是使用邻接矩阵来表示图形结构,从而捕捉图形中的节点和边的相关性。假设图中的节点数为n,那么邻接矩阵就是一个n*n的矩阵,如果节点之间有关联,则在邻接矩阵中表示为1,无关联则为0。在图中,鲁班与其他英雄都没有关联,表现在邻接矩阵当中就是它所在的行与列为全零。

图数据的信息包含3个层面,分别是节点信息(V)、边信息(E)、图整体(U)信息,它们通常是用向量来表示。而图神经网络就是通过学习数据从而得到3个层面向量的最优表示

2. 对于图数据而言有怎样的任务?

图层面的任务(分类/回归)

例:分子是天然的图,原子是节点,化学键是边。现在要做一个分类,有一个苯环的分子分一类,两个苯环的分子分一类。这是图分类任务

边层面的任务(分类/回归)

例:UFO拳击赛上,首先通过语义分割把台上的人和环境分离开来。赛场上的人都是节点,现在要做一个预测,预测的是这些人之间的关系,是对抗关系?还是观众watch的关系?还是裁判watch的关系?这是边分类任务。

节点层面的任务(分类/回归)

例:假设一个跆拳道俱乐部里有A、B两个教练,所有的会员都是节点。有一天A、B两个跆拳道教练决裂,那么各个学员是愿意和A在一个阵营还是愿意和B在一个阵营?这是节点分类任务。

3. 图神经网络是如何工作的?

img

GNN工作流程图

GNN是对图上的所有属性进行的一个可以优化的变换,它的输入是一个图,输出也是个图。它只对属性向量(即上文所述的V、E、U)进行变换,但它不会改变图的连接性(即哪些点互相连接经过GNN后是不会变的)。在获取优化后的属性向量之后,再根据实际的任务,后接全连接神经网络,进行分类和回归。大家可以把图神经网络看做是一个图数据的在三个维度的特征提取器。

GNN对属性向量优化的方法叫做**消息传递机制。**比如最原始的GNN是SUM求和传递机制;到后面发展成图卷积网络(GCN)就考虑到了节点的度,度越大,权重越小,使用了加权的SUM;再到后面发展为图注意力网络GAT,在消息传递过程中引入了注意力机制;目前的SOTA模型研究也都专注在了消息传递机制的研究。见下图所示。

img

三种不同的图神经网络模型的消息传递机制差异

但是!即使消息传递机制你不完全明白也没有关系你只要记住:不同GNN的本质差别就在于它们如何进行节点之间的信息传递和计算,也就是它们的消息传递机制不同。就可以了!

图卷积神经网络(GCN)

基于谱方法的图卷积神经网络

谱方法图卷积神经网络是一种特殊的神经网络,它借助图信号处理中的谱理论来定义卷积操作。听起来很复杂,但其实就像是把图信号变成频域信号,然后再在这些信号上定义卷积操作。这就像是在音乐的频谱上调整音量,然后在调整后的频谱上播放音乐。这种方法的好处是能很好地处理不规则的图结构数据,还能灵活应用在各种不同的情况下。

谱方法图卷积神经网络已经被用在很多领域,比如图像识别、自然语言处理、社交网络分析等。这就像是一把瑞士军刀,各种场合都能用得上。

表1基于谱方法的图卷积模型做了一个全面的总结,包括了模型、核心思想、图种类、学习模式、激活函数、数据以及任务等多个方面。如果你想深入了解这个神经网络,这个表就能给你提供很多有用的信息。

表1 谱方法图卷积模型

图片

基于空间方法的图卷积神经网络

空间方法的图卷积神经网络是一种图形神经网络的模型,这个模型的主要任务是对图形进行分类,或者对图形中的节点进行分类。这种方法和我们之前说过的基于谱方法的图卷积神经网络不太一样,它并不是在信号处理理论的基础上进行的,而是在空间域上直接进行卷积操作。

这个模型是怎么做到的呢?它会把图形数据转换成适合处理的形式,这样模型就能更好地处理图形数据,从而提高图卷积神经网络的性能。这样的网络能够更好地捕捉到图形数据的空间信息,让模型更加聪明,更能够适应新的情况。

图1就是展示了这个处理流程。这个模型在很多领域都有很大的用处,比如地理信息系统、社交网络、生物信息学等等。有了这个模型,我们可以更好地处理和理解这些领域的图形数据,为我们的生活和工作带来更多的便利和价值。

图片

图1 一个标准的空间图卷积处理流程

表2从模型、核心思想、图种类、学习模式、激活函数、数据以及任务对空间方法图卷积模型进行了汇总。

表2 空间方法图卷积模型

图片

基于池化的图卷积神经网络

简单来说,这个基于池化的图卷积神经网络(Pooling-based GCN)就是通过加入一个池化层,来把图数据变小,这样计算起来就更快,内存也用得少了。池化操作呢,可以是全局的、局部的,或者是自适应的。全局池化是把整个图当作一个整体来处理,这样适用于节点分类、社区检测和链接预测等任务。局部池化则是把图分成很多小块,然后对每个小块进行处理,这样适用于社区检测和节点分类等任务。自适应池化就聪明了,它会根据图的结构和特征,自动选择需要处理的地方,这样就能更好地保留图的结构和特征信息。最后,表3就简单明了地总结了一下这些基于池化的图卷积神经网络模型。

表3 池化图卷积模型

图片

图自编码器

自编码器和图神经网络结合起来,就像是把两个强大的工具合并成了一个。这样一来,它就能更好地学习和理解图结构数据了。图自编码器分为编码器和解码器两个部分,就像是你用手机拍照片然后再看照片一样。它通过这种方式,从无标签的图结构数据中学习出隐藏的规律和结构信息,并且用一种简单的方式保存下来。然后,图神经网络再利用这些简单的信息,像是个“监督者”一样去学习,这样就能够更好地分类、预测图结构数据了。相比以前的方法,这种方法更强、更准确,所以它可以在很多领域都有用,比如推荐系统、社交网络分析,还有生物信息学等等。

图片

图2 图自编码器

表4从模型、核心思想、图种类、学习模式、激活函数、数据以及任务对图自编码器模型进行了汇总。

表4 图自编码器模型汇总

图片

图生成网络

图生成网络就是按照一定的规则,把节点和边重新组合一下,生成具有特定属性和要求的图数据。不过,模拟复杂的分布并在上面采样,这可真不是件容易的事。因为有些图数据很特别,它们不是唯一的,维度还很高,而且图中的边缘之间还有复杂的非局部依赖性。所以,我们不能假设所有的图数据都来自同一个地方,特别是对于那些特殊的图,模型在识别的时候得能应对各种变化。

图生成网络的输入可以是节点或边的向量,也可以是已经给定的图嵌入表示。然后,它通过学习采样的数据,就能合成出各种任务所需的图。这种模型在很多领域都很有用,比如预测化学分子的结构、分析社交网络、构建知识图谱等等。总之,图生成网络是个强大的工具,能帮助我们更好地理解和处理图数据。

表5从模型、核心思想、图种类、学习模式、激活函数、数据以及任务对图生成网络模型进行了汇总。

表5 图生成网络模型汇总

图片

图循环网络

图循环网络,但其实它就是基于我们熟悉的循环神经网络,专门用来处理图结构的数据。和传统的循环神经网络不同,图循环网络会考虑节点之间的连接关系,这样它就能更好地处理图结构中的数据了。

在图循环网络里,每个节点都有自己的状态,它们还会和邻居节点交流,更新自己的状态。这种网络结构真的很棒,它能更好地找出节点之间的关系,而且不管是什么样的图结构,异构图、有向图,它都能处理得很好。

图循环网络真的很实用,它可以应用到很多领域,比如社交网络、生物信息学中的蛋白质相互作用网络等等。总的来说,图循环网络就是处理图结构数据的利器,让我们的数据处理变得更简单、更精确。

表6从模型、核心思想、图种类、学习模式、激活函数、数据以及任务对图循环网络模型进行了汇总。

表6 图循环网络模型汇总

图片

图注意力网络

图注意力网络(GAT)这个新的神经网络结构啊,它能帮我们更好地处理那些看起来像图一样的数据。你知道传统的神经网络在碰到这些数据的时候,可能会有点头疼。但GAT不一样,它能让每个节点和它的邻居节点之间的关系有不同的权重,这样重要的连接就能被强调出来了。

这个权重是怎么来的呢?其实它是根据节点特征之间的内积来决定的。内积的大小就能告诉我们节点之间的重要性是多少。这样一来,GAT就能自己学习到不同节点间关系的重要性,然后根据这些关系来整合信息。

GAT还引入了注意力机制和多头注意力机制,这使得它能更好地处理图结构数据。所以啊,在很多领域,比如社交网络分析、推荐系统、生物信息学等等,GAT都有着广泛的应用前景。

表7从模型、核心思想、图种类、学习模式、激活函数、数据以及任务对图注意力网络模型进行了汇总。

表7 图注意力网络模型汇总

图片

图神经网络模型对比

图神经网络大致分这五类:图卷积网络、图自编码器、图生成网络、图循环网络还有图注意力网络。每种都有自己的算法和适用的地方,但它们之间并不是互不相干或者互相排斥的。在实际应用中,我们要根据图的分布、特征信息以及任务需求,来选最合适的图神经网络,这样才能更有效地学习图结构数据。表8就是各种GNN模型的原理机制、优点、缺点、适用范围以及实现成本的总结表。

表8 GNN 机制、优点、缺点、适用范围及实现成本

图片

表9是 GNN 主 要 算 法 的 实 验 数 据,有 Cora、Citeseer、Pubmed 三个引文网络数据集,以及蛋白质数据集 PPI 和知识图谱数据集 NELL。横向对比了节点分类、图聚类、链接预测和节点聚类四个基准任务。

表9 GNN 主要算法在不同数据集上的任务分析

图片