一、说明
神经网络是受人脑工作启发的计算模型,能够从复杂的非结构化数据(如图像、文本、音频和视频)中学习。然而,还有许多其他类型的数据无法用传统的神经网络轻松表示,例如那些具有图形结构的数据。图形是节点和边的集合,分别表示系统的实体和关系。图表无处不在:从社交网络、推荐系统、计算化学、分子生物学、网络安全等等。我们如何利用神经网络的力量来分析和学习这些图形数据?
答案是:使用图神经网络(GNN)。GNN是一类直接在图上运行的神经网络,利用节点和边的结构和语义信息。GNN 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。
GNN是一个非常活跃且发展迅速的研究领域,面临着许多挑战和机遇。在本文中,我想对 GNN 进行概述,说明它们的工作原理、应用、它们与传统神经网络的区别以及它们的关键概念和术语。特别是,我将重点介绍四种类型的 GNN:图卷积网络 (GCN)、图注意力网络 (GAT)、时态图网络 (TGN) 和内存增强图神经网络 (MA-GNN)。之所以选择这些类型的GNN,是因为它们代表了GNN领域中一些最具创新性和影响力的想法,并且因为它们涵盖了广泛的场景和应用。
二、图卷积网络 (GCN)
卷积是将输入信号转换为输出信号的数学运算,同时保留原始信号的某些属性,例如局部性、平稳性和组合性。卷积在神经网络中广泛用于分析图像、文本、音频和视频,这些图像、文本、音频和视频可以看作是规则网格上的定义信号。然而,图形没有规则的结构,而是不规则和可变的。我们如何将卷积应用于图形?
图卷积网络 (GCN) 是一类用于图的神经网络,它使用卷积来学习图节点的向量表示。GCNs的基本思想是在图上定义一个卷积算子,它允许节点及其邻居的信息被高效且不变地聚合。有几种方法可以在图形上定义卷积算子,具体取决于如何对节点之间的关系进行建模、如何对邻居进行加权以及如何组合信息。图上卷积算子的一些示例包括:频谱、空间域、时域和频域。
GCN 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 GCN 的算法的一些示例包括:GraphSage、PinSage、Graph Isomorphism Network、Graph U-Net 等。
你是对的,我忘了在我的文章中描述 PinSage。PinSage 是一种图神经网络 (GNN) 算法,它使用卷积来学习图节点的向量表示。PinSage 的独特之处在于它使用随机游走对节点的邻居进行采样,而不是使用均匀或加权采样。随机游走是一个随机过程,包括以随机方式沿着图形的边缘从一个节点移动到另一个节点。随机游走允许您探索图形中更大、更多样化的部分,并为与目标节点最相关的邻居分配更高的重要性。PinSage 旨在处理大型图表,例如 Pinterest 的图表,并为用户生成个性化推荐。
三、图注意力网络 (GAT)
注意力是一种机制,允许您将注意力集中在输入信号的一部分上,而忽略其他不相关的部分。注意力在神经网络中被广泛用于分析文本、音频和视频,可以看作是元素的序列。然而,图不是序列,而是不规则和可变的结构。我们怎样才能把注意力放在图表上?
图注意力网络 (GAT) 是一类图神经网络,它使用注意力来学习图节点的向量表示。GAT 的基本思想是在图形上定义注意力机制,它允许您根据节点与目标节点的相关性为节点的邻居分配权重。通过这种方式,GAT能够有选择地和自适应地聚合节点及其邻居的信息,同时考虑到图的结构和内容。
GAT 使用空间方法聚合邻居信息,其中包括计算目标节点与其邻居之间的相似性函数,然后使用 softmax 函数对权重进行归一化。GAT 可以使用不同类型的相似函数,例如标量积、加性标量积或乘法标量积。GAT 还可以使用多个注意力头来学习节点的不同表示,然后将它们连接或调解以获得最终表示。
GAT 能够学习节点的向量表示(或嵌入),从而在图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 GAT 的算法的一些示例包括:Graph Transformer、Graph Attention U-Net、Graph Attention Autoencoder 等。
四、时态图网络 (TGN)
时态图是一种随时间变化的图,其结构和内容都发生了变化。时间图可以表示动态现象,例如社会互动、金融交易、化学反应、生物过程等等。我们如何从时间图中学习?
时态图网络 (TGN) 是一类神经图网络,它使用时间作为学习时态图节点的向量表示的基本维度。TGN 的基本思想是对节点和链接随时间变化的动态进行建模,同时考虑它们的属性和变化。TGN 能够将内存和时间嵌入到 GNN 中,以捕获时间依赖性以及节点和链路的演变。
TGN 使用编码模块根据节点的静态和动态特性来学习节点的向量表示。TGN 使用聚合模块根据节点与邻居随时间推移的交互来更新节点的表示。TGN 使用内存模块根据节点的时间相关性来存储和检索节点的表示。TGN 使用解码模块根据节点的表示和当前时间生成预测。
TGN 能够学习节点的向量表示(或嵌入),从而在时间图中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。基于 TGN 的算法的一些示例包括:DyRep、JODIE、Know-Evolve 等。
五、结论
在本文中,我概述了图神经网络 (GNN),这是一类直接在图上运行的神经网络,利用节点和边的结构和语义信息。我阐述了GNN的工作原理、应用、与传统神经网络的区别,以及关键概念和术语。特别是,我关注了四种类型的GNN:图卷积网络(GCN)、图注意力网络(GAT)、时态图网络(TGN)和内存增强图神经网络(MA-GNN)。
GNN是一个非常活跃且发展迅速的研究领域,面临着许多挑战和机遇。GNN 能够学习节点的向量表示,从而在图形中捕获它们的特征和上下文。然后,这种表示可用于各种任务,例如节点分类、链接预测、图形生成、空间和时间推理等等。GNN 已被证明在许多领域和场景中是有效和高效的,例如社交网络、推荐系统、计算化学、分子生物学、网络安全等。