2021-05-19图神经网络小结

本文介绍了图神经网络的基础概念及关键技术,包括图卷积神经网络(GCN)、图注意力网络(GAT)等模型,探讨了图嵌入方法及其在图表示学习中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图神经网络的引入

图神经网络能够实现强大的非结构学习的能力,能够从非结构化数据(例如:场景图片、故事片段等)中进行学习和推理。尽管传统的深度学习方法被应用在提取欧氏空间数据的特征方面取得了巨大的成功,但许多实际应用场景中的数据是从非欧式空间生成的,传统的深度学习方法在处理非欧式空间数据上的表现却仍难以使人满意。

 

最早,研究人员也借用图谱理论的知识,如用拉普拉斯矩阵的特征值和特征向量做社区分析或者人群聚类等.随着深度学习的崛起,研究人员开始考虑把深度学习的模型引入到图数据中,代表性的研究工作是网络嵌入(Network Embedding),即通过约束节点的邻近性为每个节点学习固定长度的表达,如DeepWalk,Line,node2vec等.这一时期,在解决具体的应用问题时,研究人员通常将其建模为两阶段问题,以节点分类为例,第一阶段为每个节点学习统一长度的表达,第二阶段将节点表达作为输入,训练分类模型.近年来,研究人员对图数据建模的关注逐渐转移到如何将深度学习的模型迁移到图数据上,进行端到端的建模,而图卷积神经网络则是其中最活跃的一支.

 

图神经网络研究基于递归的方式设计,通过迭代地传播邻居信息直到到达不动点来学习顶点 的表示.它基于信息传播机制,通过周期性地交换邻域信息来更新顶点的状态,直到达到稳定的平衡为止.每次 迭代都以顶点当前的状态、顶点的特征、顶点邻居的特征和边的特征作为递归函数的输入,该递归函数的输出 用来更新顶点状态,当状态满足收敛标准时,会将最后一步的顶点状态输到输出层中。

图学习方法分类

 

将现有的图学习方法分为四类:基于图信号处理(GSP)的方法,基于矩阵分解的方法,基于随机游走的方法,以及基于深度学习的方法。简单地说,GSP 处理的是图的采样和恢复,以及从数据中学习拓扑结构。矩阵分解可分为图拉普拉斯矩阵分解和顶点临近矩阵分解。基于随机游走的方法包括基于结构的随机中游走、基于结构和节点信息的随机游走、异质网络中的随机游走和时变网络中的随机游走。基于深度学习的方法包括图卷积网络、图注意网络、图自动编码器、图生成网络和图空间-时间网络。

图神经网络VS图嵌入

图,一种数据结构,由节点和边组成。图神经网络=图+神经网络。一般指GNN或者GCN。GNN是一种直接在图结构上运行的神经网络,其输入直接就是图结构的数据比如图的邻接矩阵等而不用先转化为低维向量之类的。受启发于信息的传播机制,图中,节点的表示都是通过将其所有邻居的消息聚合到当前节点来计算的。经过多轮消息传递,可以获得每个节点的向量表示。

图嵌入主要学习的是对图中节点,或者整个图或子图进行低维向量的表示。常见的方法包括deep walk,Line等。

简单总结以下就是,图学习是研究处理图结构数据的方法和理论的学科,图神经网络是图学习领域里通过结合神经网络来处理图结构的数据的方法,而图嵌入主要是将图中的节点,边或着这个图或子图进行向量表示的方法集合。

图神经网络

 

图神经网络中的经典模型

  1. 图卷积神经网络GCN

图数据作为非欧空间数据,不满足平移不变性, 即每个节点具有各异的局部结构.而传统卷积神经网络中的基本算子:卷积和池化,依赖于数据的平移不变性。图卷积方法可分为两种,基于频谱的方法和基于空间的方法。基于频谱的方法,从图信号处理的角度,引入滤波器来定义图卷积,因此基于频谱的图卷积可理解为从图信号中去除噪声。基于空间的图卷积方法,通过汇集邻居节点的信息来构建图卷积。当图卷积在节点级运作时,可以将图池化模块和图卷积进行交错叠加,从而将图粗化为高级的子图。

GCN本身属于基于卷积运算的图神经网络中的基于谱(Spectral),核心思想是通过傅里叶变换将图数据从空间域转换到频域,然后在频域上定义卷积操作。图卷积神经网络GCN将卷积运算从图像、文本等数据推广到图数据,其核心思想是学习一个函数映射f,通过自身节点的特征和连接节点的特征来生成自身节点的embedding表示。谱图理论提供了一种图上的卷积方法,但是许多网络学习方法直接在空间域的图上使用卷积操作。把图标注程序应用于图上,以产生独特的顶点顺序。生成的子图可以被送入空间域的传统CNN操作中。

图卷积概念的方法,主要分为两类.基于谱方法图神经网络引入信号处理的方法,通过将顶点特征变换到谱域实现卷积,再将结果变换到空间域来定义图卷积,而基于空间方法图神经网络在节点域通过信息聚合的方法直接定义图卷积.图卷积神经网络主要思想是通过汇总顶点自身的特征和顶点邻居的特征来生成顶点的表示形式,与递归图神经网络不同的地方在于,图卷积神经网络通过堆叠多个图卷积层来计算顶点表示,在每层中使用不同的参数来解决递归图神经网络中因参数共享而导致计算代价大的问题。

空间方法通过图上的信息聚合来定义图卷积,通过将中心顶点的特征和其邻居的特征进行卷积,来更新中心顶点特征.空间方法的图卷积运算本质上是沿着边传播顶点信息.其中具有代表性工作的是 GCN,它既是空间 方法的起点,也是谱方法的一个特例.其他的基于空间方法的工作还有 GraphSAGE、GAT 等.通常情况下顶点邻 居分布并不均匀,GraphSAGE 通过对每个顶点进行固定数量邻居的采样,然后将获得的信息进行聚合来更新顶 点.GAT 针对每一个顶点计算相应的隐藏信息,通过引入注意力机制,可以将模型应用于未知图结构的数据,在顶 点分类任务中取得了比较好的结果.

2.GNN和Attention相结合的图注意力网络GAT

图注意力网络GAT属于基于卷积图神经网络中的基于空间(Spatial)的GCN,核心思想是将深度学习领域非常火的Attention机制应用到GNN中。在图注意力网络中,节点间的权重是参数化的,给与哪些较为重要的节点更大的权重。在端到端的框架中,注意力权重和神经网络参数共同被学习得到。对于图注意力机制(Graph Attention Network)而言,邻居节点的特征做累加求和的过程与图卷积神经网络则完全不同,通过全局注意力机制替代了卷积分层传递的固化操作,可以有效地选择在图结构中更为重要的节点或子图、模型、路径分配更大的注意力权重。

  1. 图自动编码器Graph AE

GAE 使用GNN结构将网络顶点嵌入到低维向量中 最普遍的解决方案之一是采用多层感知作为输入的编码器[147]。其中,解码器重构顶点的邻域统计。

4.基于采样模块的GraphSAGE

并不是一种图神经网络,而是一种计算节点嵌入的算法。基于谱和基于空间的模型都属于传播模块,GraphSAGE模型是一种基于节点的采样模块。图结构数据和其他图像、文本数据不同,图结构数据中的每一个节点可以通过边的关系利用其他节点的信息,这就导致GCN模型需要输入整个图,所以会使用训练集、验证集和测试集,这个过程称为转换学习。这种转换学习存在一个明显的问题,就是很难处理新的节点,表现为模型的泛化能力较差。而实际大多数机器学习问题都属于归纳学习,我们会将数据集刻意划分成训练集、验证集和测试集,并且只将训练集和验证集用于训练,归纳知识获得模型,然后再去测试集进行评估,相当于测试集对于模型是不可见的。因此归纳学习得到的模型泛化性较好,可以很好的处理新节点。

GraphSAGE模型就是基于归纳学习的框架。GraphSAGE模型学习主要包括三个步骤,第一步是随机采样邻近节点,也就是重要的Sample;第二步是将这些邻近节点进行汇聚操作并更新节点的embedding,也就是重要的Aggregate;最后一步是利用更新后的embedding信息预测节点的标签。并且GraphSAGE模型学习过程中每一层网络中聚合器和权重矩阵都是共享的。

  • 归纳学习(Inductive Learning):先从训练样本中学习到一定的模式,然后利用其对测试样本进行预测(即首先从特殊到一般,然后再从一般到特殊),这类模型如常见的贝叶斯模型。在GAT中
  • 转导学习(Transductive Learning):先观察特定的训练样本,然后对特定的测试样本做出预测(从特殊到特殊),这类模型如k近邻

 

三种模型的优缺点

1.GCN的缺点也是很显然易见的,第一,GCN需要将整个图放到内存和显存,这将非常耗内存和显存,处理不了大图;第二,GCN在训练时需要知道整个图的结构信息(包括待预测的节点)
2.GraphSAGE的优点:(1)利用采样机制,很好的解决了GCN必须要知道全部图的信息问题,克服了GCN训练时内存和显存的限制,即使对于未知的新节点,也能得到其表示(2)聚合器和权重矩阵的参数对于所有的节点是共享的(3)模型的参数的数量与图的节点个数无关,这使得GraphSAGE能够处理更大的图(4)既能处理有监督任务也能处理无监督任务
3.GAT的优点:(1)训练GCN无需了解整个图结构,只需知道每个节点的邻居节点即可(2)计算速度快,可以在不同的节点上进行并行计算(3)既可以用于Transductive Learning,又可以用于Inductive Learning,可以对未见过的图结构进行处理

 

图嵌入

图表示学习旨在将具有复杂结构的图数据转换为保留多样化图属性和结构特征的低维空间中的密集表示。从节点角度来看将图中的节点表示成低维稠密向量。该层次主要是获取在向量空间中具有表示以及推理能力的节点的向量表示,然后应用到下游任务中。从图的角度来看将整个图表示成低维稠密向量,可用于整个图结构进行分类。

 

Graph Embedding的目标:学习node或entire(sub)graph的低维embedding,使得embedding space中的几何关系能够反映原始Graph的结构信息。目前主流的Graph Embedding方向是Node Embedding,包含了3大类主流方法:Matrix Factorization、Random Walk、Graph Convolution Networks。

  • Matrix Factorization:矩阵分解。将Graph结构信息使用矩阵来刻画,例如Graph邻接矩阵或节点的共现矩阵,衡量了所有节点之间的相似性,对该矩阵进行分解,学习节点的低维向量表示。例如:Graph Laplacian Eigenmaps、Graph Factorization。
  • Random Walk:随机游走。构建Graph中Node的随机游走序列,构建游走序列内部节点之间的上下文共现对,再使用Word2Vec方法进行学习。例如:DeepWalk、Node2Vec。
  • Graph Convolutional Networks:Graph卷积网络。将卷积从Image/Sentence拓展到Graph。基于节点local Neighborhoods的汇聚。例如:GCN、GraphSAGE。

 

图嵌入的具体模型

DeepWalk算法的主要思想是在物品组成的图结构上随机游走生成大量的物品序列,然后把这些序列作为训练样本放到Word2Vec中进行训练,最终得到物品Embedding。

 

Node2vec模型是对Deep Walk算法的进一步改进,其核心思想是使用深度优先搜索(Deepth-First Search)和广度优先搜索(Breadth-FirstSearch)替代随机游走权重,使得Graph Embedding的结果在同质性结构性中进行权衡。

 

LINE((Large-scale Information Network Embedding))的核心思想是通过一阶相似度(First-order proximity)和二阶相似度(Second-orderproximity)明确定义了如何表征图中节点的相似度。其中一阶相似度是用于描述图中节点之间的局部相似度,对应图中形式化的描述就是节点之间存在直接相连的边。二阶相似度则是用于描述节点之间没有连接边但是由大量的重合连接节点。

相比于DeepWalk纯粹随机游走的序列生成方式,LINE可以应用于有向图、无向图以及有有向有权图,并通过将一阶和二阶的邻近关系引入目标函数,让节点最终学到的Embedding分布更为均衡平滑,避免了DeepWalk容易使node Embedding聚集的情况。

 

SDNE模型基于LINE进行扩展,将深度学习引入Graph Embedding,使得模型具有更强的非线性表达能力。SDNE模型将图的网络结构信息分成local和global,对应LINE模型中的一阶相似度和二阶相似度。SDNE模型使用非监督的AutoEncoder去计算二阶相似度,还原节点的上下文信息;同时使用监督的方式去计算一阶相似度,对应的监督样本是直接相连的节点。

参考

https://mp.weixin.qq.com/s/VRF1lntzJet-5wxDer7zPA

https://mp.weixin.qq.com/s/GxOjLwNrZiWvEGPmabWbTg

https://mp.weixin.qq.com/s/FpBawuJrD54Hk1_GMO4tSg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值