LOADING

缓存加载中...

GraphML2

2025/4/1

 

Message + Aggregation!!!

图 transformer: Graphormer

基于transformer,融入了GNN的一点东西。

首先回顾transformer

首先分词进行tokenizing

自注意力:

  1. 对于每个输入,通过可学习的权重矩阵,投影到三个空间Key/Value/Query

  2. 计算每个Query与Key的内积,衡量元素相关性。注意力分数!

  3. 缩放、柔性最大值归一化:防止梯度不稳定,统一统计标准。

  4. 加权求和输出。

多头注意力:

  • 并行计算,组合结果。
  • 学习不同输入的不同方面的“相似性”。
  • 每头有自己的参数集。

还要进行位置编码:对输入位置编码,记录序列顺序。

GNN使用信息传递,transformer使用自注意力机制。数学形式上,自注意力获得的信息是GNN的一个特殊情况。

Transformer——>Graph

对应:

  • 点<->token

点类似于token,保留了元信息。但这样会丢掉图的邻接信息。

  • 邻接信息<->位置编码

使用位置编码表示节点在图中的位置(邻接信息)。
如何编码?

  1. 相对位置编码:类似于随机游走。Shaw、T5式。对于环状结构也很有效。

  2. 拉普拉斯特征矩阵(L=D-A,D是度矩阵,A是邻接矩阵):能编码图的全局拓扑结构。特征向量保留了图结构的特征。

  • 边<->自注意力

边特征能够显式编码节点间关系的语义或结构信息,节点作为了token。

所以,使用边的特征,重新确定自注意力分数的权重(以用来再次调整节点间的权重关系)。

更好的位置编码

使用拉普拉斯矩阵计算特征向量时,正负特征向量表示相同方向!,导致模型预测发生改变。

如何修复正负号的模棱两可?

构造一个神经网络,不受特征向量的正负号影响。

对称化处理:将正负特征向量输入一个共享的子网络$\phi$,通过聚合消除符号影响。

将处理后的单个特征向量嵌入聚合函数。

称为SignNet


异质图学习

处理多种点/边结构
强调关系类型relation type

异质图定义:$G=(V,E,\tau,\phi)$V,E是点/边集。$\tau,\phi$是点/边类型集。

一条边的关系类型是一个元组:$r(u,v)=(\tau(u),\phi(u,v),\tau(v))$。

type和feature可以相互转化,除非:type维度不同/不同type代表不同交互模式

relational GCN

两种用途:实体分类,关联预测。

对于不同关系类型,使用不同的nn权重。

防止参数增长过快,使用两种方法计算关系类型权重矩阵

  1. 分块对角矩阵

  1. 基学习

关系特定的权重矩阵分解为一组共享基矩阵的线性组合。避免为每种关系独立学习完整的权重矩阵。

目前的sota:seHGNN

异质GNN的设计

对应于传统的信息传递+聚合

  1. 信息传递

  1. 聚合

优化:二级聚合:一级将每种信息类型单独聚合,一级通过边类型全部聚合。

  1. 神经网络分层layer:关注每种节点类型,因为输出的是节点嵌入。

  2. 特征操作与结构操作

  • 特征操作:一般用特征增强
    异质图使用:1.通过计算关系类型计算图中统计量。2.全图统一计算。

  • 结构操作:稀疏?添加虚拟节点/边。紧密?邻居采样。规模过大?子图分批训练(注意子图代表性)
    异质图使用:1.关系类型采样。2.全图统一采样。

异质图transformer

传统GAT:graph attention network中,所有节点的邻居都被视为同等重要的,不能表示不同的点/边类型。

异质图中:

  1. 引入全局注意力,可跨非直接连接的节点计算关联(类似全连接图),但通过元关系(meta-relation)约束计算范围。

  2. 显式建模节点和边的异构性,为每种元关系分配独立的投影矩阵。动态调整注意力计算。

  3. 引入相对时间编码(RTE)​,将时间差嵌入节点表示,支持动态图建模。通过异构子图采样(HGSampling)处理Web规模数据,降低计算成本。


知识图谱

节点:实体entity.

节点根据他们的类型type被打上标签label

边表示实体之间的关系

知识图谱是异质图的一种。

一般特征:庞大。缺失很多应该存在的边。

实现

  • 表示:知识图谱中的边:三元组$(h,r,t)$。头实体h,关系r,尾实体t.

头实体h+关系r的嵌入应该与尾实体t的嵌入接近。

五种关系模式

  1. 对称:r(h,t)=r(t,h)
  2. 反对称:r(h,t)=~r(t,h)
  3. 自反
  4. 传递
  5. 一对多

TransE

核心思想是将关系视为实体向量空间中的平移操作。

举例:

向量平移假设:对于正确三元组(h,r,t),模型要求头实体向量h与关系向量r之和接近尾实体向量t,即h+r≈t。使用$L_1$或$L_2$范数衡量差异。

优化目标函数:最大间隔损失。

TransE在建模对称关系、一对多关系时有局限性。

transR

将实体和关系映射到不同语义空间。
假设双空间:实体向量h,t.关系向量r.

通过特定投影矩阵将实体映射到关系空间:
在关系空间中进行平移:h+t=r.

能建模所有关系模式。

DistMult

$h,r,t\in R^k$

用对角矩阵表示关系。

目标函数:$f(h,r,t)=h^TΛ_r​t$

无法处理非对称、自反、传递模式。

ComplEx

基于Distmult。将h,r,t表示为复数向量
复数乘法不满足交换律。
所以解决了distmult非对称、自反的缺陷,但仍然不能建模传递关系

RotateE

将关系r建模为头实体h到尾实体t的旋转操作

不能建模一对多模式。

总结: