

GNN基础学习笔记1
图神经网络(GNN)的基础知识,包括基本概念、常见模型(如GCN、GAT)、E(n)等变图神经网络以及过平滑问题的介绍。
GNN基础#
1.Intro#
1.1.图相关任务#
- 节点分类(Node Classification):预测图中节点的类别标签。
- 节点位置优化(Node Position Optimization):优化节点在图中的位置以提高图的表示能力。
- 边预测(Edge Prediction):预测图中节点之间是否存在边,即预测节点对之间的关系。
- 图分类(Graph Classification):对整个图进行分类,预测图的类别标签。
- 图生成(Graph Generation):生成新的图结构,通常用于模拟复杂网络或生成特定类型的图。
- 图嵌入(Graph Embedding):将图中的节点或子图映射到 低维向量空间,以便进行后续的机器学习任务。
1.2图神经网络#
GNN输入输出都是图结构数据,同时输出图的顶点、边、全局的Embedding向量有更加丰富的信息表达能力,可以用于下游任务。
2.GCN#
2.1.消息传递机制(Message Passing)#
图神经网络的核心思想是通过节点之间的信息传递来更新节点的表示。每个节点通过聚合其邻居节点的信息来更新自己的表示。这种信息传递机制使得节点能够捕捉到其局部结构和属性信息。类似于卷积神经网络(CNN)中的卷积操作,GNN通过邻居节点的信息聚合来实现节点表示的更新。
消息聚合能够发生在节点与节点直接,消息聚合也可以在边与节点之间进行等等。
- k层GNN能够捕捉到k跳邻居的信息。消息传递的过程可以迭代进行,每一层GNN都会更新节点的表示。同时也可以在过程中聚合全局信息(利用全局Embedding)。
最后再加一层MLP进行预测,这样就可以变成低维向量表示,用于下游任务。
3.GAT#
3.1.GAT中的注意力机制(Attention Mechanism)#
GAT引入了注意力机制,使得节点在聚合邻居信息时能够动态地分配不同的权重。
注意力分数:
在这里,表示向量的连接操作,是可学习的注意力权重向量,是线性变换矩阵,和分别是节点和节点的特征向量,表示节点的邻居节点集合。
其中这个向量的连接操作可以实现非对称的注意力机制,也就是说节点对节点的关注程度可能与节点对节点的关注程度不同。 比较恰当的例子就是演讲者与听众的关系,一个演讲者对一个听众的关注点与一个听众对一个演讲者的关注是不同的。
加权聚合:
3.2GAT中的多头注意力(Multi-Head Attention)#
GAT通过使用多个注意力头(即使用多套和)。
4.E(n)等变图神经网络#
4.1.等变与不变#
图像的卷积操作对平移是等变的,即图像平移后再进行卷积操作,结果与先进行卷积再平移是相同的。
4.2 E(n)等变图神经网络#
E(n)等变图神经网络设计用于处理具有欧几里得对称性的图数据。在处理物理系统、分子结构等领域中表现出色,因为这些系统通常具有旋转、平移和反射等对称性。E(n)等变图神经网络通过确保其操作在这些对称变换下保持不变,从而捕捉到数据的本质特征,提高模型的泛化能力和性能。恰当的例子是比如氧气分子,无论如何旋转和平移,它的化学性质是不变的。
5.GNN的过平滑问题#
随着GNN层数的增加,处于同一个连通分支的节点的表示趋于相似,导致节点之间的区分度降低。这种现象被称为过平滑问题,可能会影响模型的性能。
问题的原因是GNN在聚合邻居的信息,当层数增加时,聚合的节点信息越多,然后最后如果连通块的直径,那么所有节点的表示都会趋于相同,因为这样的话整个图的信息就都聚合了。
5.1缓解措施#
- 限制GNN的层数:通过限制GNN的层数,可以减少信息的过度聚合,从而缓解过平滑问题。
- 正则化技术:引入正则化项,如DropEdge,可以帮助模型保持节点表示的多样性,防止过度平滑。