图神经网络综述:模型与应用

简介: 图神经网络综述:模型与应用

图神经网络综述:模型与应用

引言

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

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

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

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

  • 文章详细介绍了图神经网络的经典模型。主要包括其原始模型,不同的变体和几个通用框架。
  • 文章将图神经网络的应用系统地归类为结构化场景、非结构化场景和其他场景中,并介绍了不同场景中的主要应用。
  • 本文为未来的研究提出四个未解决的问题。文章对每个问题进行了详细分析,并提出未来的研究方向。

模型

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

后续的很多工作致力于解决 GNN 存在的种种问题,在 2.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:什么是Euclidean数据?

在我们日常生活中,最常见到的媒体介质莫过于是图片(image)视频(video)以及语音(voice)了,这些数据有一个特点就是:“排列整齐”。什么叫做排列整齐呢?举例子来说,图片可以用矩阵来表达其像素,就如同下图所示:

对于某个节点,我们很容易可以找出其邻居节点,就在旁边嘛,不偏不倚。而且,图片数据天然的,节点邻居节点有着统计上的相关性,因此能够找出邻居节点意味着可以很容易地定义出卷积这个操作出来,而我们在深度学习的过程中知道,卷积这个操作是提取局部特征以及层次全局特征的利器,因此图片可以很容易定义出卷积操作出来,并且在深度网络中进行进一步操作。

而且,因为这类型的数据排列整齐,不同样本之间可以容易的定义出“距离”这个概念出来。我们且思考,假设现在有两个图片样本,尽管其图片大小可能不一致,但是总是可以通过空间下采样(池化pooling,目的就是用来降低特征的维度并保留有效信息,一定程度上可以避免过拟合)的方式将其统一到同一个尺寸的,然后直接逐个像素点进行相减后取得平方和,求得两个样本之间的欧几里德距离是完全可以进行的。如下式所见:

扩展2:非欧几里得结构样本

非欧几里德结构的样本总得来说有两大类型,分别是图(Graph)数据和流形数据,如下图所示:

 

这两类数据有个特点就是,排列不整齐,比较的随意。具体体现在:对于数据中的某个点,难以定义出其邻居节点出来,或者是不同节点的邻居节点的数量是不同的,这个其实是一个特别麻烦的问题,因为这样就意味着难以在这类型的数据上定义出和图像等数据上相同的卷积操作出来,而且因为每个样本的节点排列可能都不同,比如在生物医学中的分子筛选中,显然这个是一个Graph数据的应用,但是我们都明白,不同的分子结构的原子连接数量,方式可能都是不同的,因此难以定义出其欧几里德距离出来,这个是和我们的欧几里德结构数据明显不同的。因此这类型的数据不能看成是在欧几里德样本空间中的一个样本点了,而是要想办法将其嵌入(embed)到合适的欧几里德空间后再进行度量。而我们现在流行的Graph Neural Network便可以进行这类型的操作。


图神经网络分类

大致可以分为4类。

  1. Recurrent graph neural networks(RecGNNs)递归图神经网络
    RecGNNs旨在使用递归神经结构学习节点表示。它们假设图中的一个节点不断与其邻居进行信息/消息交换,直到达到稳定的平衡状态。RecGNNs在概念上非常重要,对后续对卷积图神经网络的研究有一定的启发作用。后来的卷积图神经网络继承了其中的消息传递的理念。
  2. Convolutional graph neural networks (ConvGNNs) 图卷积神经网络
    图卷积神经网络卷积的概念从欧式结构的数据扩展到图结构的数据图卷积的基本思路是聚合一个节点周围节点的特征,用以生成该节点自身的特征。图卷积网络堆叠了多个“图卷积层”,用来提取各个节点高层次信息。图卷积神经网络具体分为谱方法(Spectral methods)和空间方法(Spatial methods)。谱方法的卷积操作依赖于图的拉普拉斯矩阵的特征值和特征向量空间方法的卷积直接在图的邻域上进行。
  3. Graph autoencoders (GAEs) 图自编码器
    图自编码器是一种无监督的学习方式。它将图编码成一个隐式向量,通过编码信息重建图中的数据图自编码器用于学习网络中的嵌入,以及生成图的生成式分布。图自编码器被广泛应用于社交网络分析生物信息学推荐系统中。通过学习有效的图表示图自编码器有助于对复杂关系数据的理解和应用
  4. Spatial-temporal graph neural networks (STGNNs) 时空图神经网络
    时空图神经网络用于从时空图中,学习隐藏的模式时空数据通常是指具有时间空间维度的数据,例如移动物体的轨迹气象数据交通流量等。这些数据通常以图的形式表示,其中节点代表地点实体代表时空关系时空图可以是有向的或无向的,具体取决于应用场景ST-GNN的关键任务是建模时空数据中的动态关系。它可以通过不同的方式来处理时空数据,例如通过对每个时刻的快照建立图,或者通过在图上引入时间信息来捕捉动态性。这使得ST-GNN能够在时间上进行推理和预测。ST-GNN学习每个节点的表示,使得这些表示包含了节点的属性信息以及与其他节点的时空关系。这有助于对节点进行时空上的预测或分类。ST-GNN在许多应用领域都有广泛的应用,包括交通管理(交通流量预测、路径规划)、气象预测、地理信息系统(GIS)、社交网络分析等。在这些领域中,ST-GNN可以帮助理解时空数据中的模式、趋势和异常。

关键概念与工作原理

图神经网络中一些关键概念和工作原理如下:

节点表示(Node Embedding):GNN的主要任务之一是学习每个节点的表示(或嵌入)。这些表示通常是一个固定维度的向量,用于捕捉节点的特征。GNN通过聚合节点的邻居节点信息更新节点表示。这个过程在每个图卷积层迭代进行

图卷积(Graph Convolution):图卷积是GNN中的核心操作。在每一层,它会考虑节点的邻居信息,并使用权重聚合这些信息以更新节点的表示。这使得节点能够捕捉到周围节点的信息,从而改善*节点的分类或预测任务

聚合函数(Aggregation Function):在图卷积中,节点邻居的信息聚合成一个新的节点表示。常见的聚合函数包括求和平均值最大值等。不同的聚合函数可以用于不同的任务和图结构

图池化(Graph Pooling):类似于卷积神经网络中的池化操作,图池化用于减小图的规模复杂性。它可以通过合并节点或边减小图的大小,以便在后续层中处理更抽象的信息

任务层(Task Layer):GNN通常最后连接一个任务层,用于执行具体的任务,如节点分类图分类链接预测等。任务层的结构取决于所解决的任务类型

反向传播(Backpropagation):与其他深度学习模型一样,GNN使用反向传播算法更新模型参数,以最小化损失函数。这使得模型能够从训练数据中学习,并提高其性能。

相关文章
|
8天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
31 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
1天前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
23天前
|
存储 监控 物联网
计算机网络的应用
计算机网络已深入现代生活的多个方面,包括通信与交流(电子邮件、即时通讯、社交媒体)、媒体与娱乐(在线媒体、在线游戏)、商务与经济(电子商务、远程办公)、教育与学习(在线教育平台)、物联网与智能家居、远程服务(远程医疗、智能交通系统)及数据存储与处理(云计算、数据共享与分析)。这些应用极大地方便了人们的生活,促进了社会的发展。
45 2
计算机网络的应用
|
26天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
54 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
15天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
20天前
|
机器学习/深度学习 自然语言处理 数据可视化
【由浅到深】从神经网络原理、Transformer模型演进、到代码工程实现
阅读这个文章可能的收获:理解AI、看懂模型和代码、能够自己搭建模型用于实际任务。
|
22天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
47 8
|
20天前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
32 2
|
25天前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
42 5
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。