Message + Aggregation!!!
图 transformer: Graphormer
基于transformer,融入了GNN的一点东西。
首先回顾transformer
首先分词进行tokenizing。
自注意力:
对于每个输入,通过可学习的权重矩阵,投影到三个空间Key/Value/Query。
计算每个Query与Key的内积,衡量元素相关性。注意力分数!
缩放、柔性最大值归一化:防止梯度不稳定,统一统计标准。
加权求和输出。
多头注意力:
- 并行计算,组合结果。
- 学习不同输入的不同方面的“相似性”。
- 每头有自己的参数集。
还要进行位置编码:对输入位置编码,记录序列顺序。
GNN使用信息传递,transformer使用自注意力机制。数学形式上,自注意力获得的信息是GNN的一个特殊情况。
Transformer——>Graph
对应:
- 点<->token
点类似于token,保留了元信息。但这样会丢掉图的邻接信息。
- 邻接信息<->位置编码
使用位置编码表示节点在图中的位置(邻接信息)。
如何编码?
相对位置编码:类似于随机游走。Shaw、T5式。对于环状结构也很有效。
拉普拉斯特征矩阵(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权重。
防止参数增长过快,使用两种方法计算关系类型权重矩阵:
- 分块对角矩阵
- 基学习
将关系特定的权重矩阵分解为一组共享基矩阵的线性组合。避免为每种关系独立学习完整的权重矩阵。
目前的sota:seHGNN
异质GNN的设计
对应于传统的信息传递+聚合:
- 信息传递
- 聚合
优化:二级聚合:一级将每种信息类型单独聚合,一级通过边类型全部聚合。
神经网络分层layer:关注每种节点类型,因为输出的是节点嵌入。
特征操作与结构操作
特征操作:一般用特征增强。
异质图使用:1.通过计算关系类型计算图中统计量。2.全图统一计算。结构操作:稀疏?添加虚拟节点/边。紧密?邻居采样。规模过大?子图分批训练(注意子图代表性)
异质图使用:1.关系类型采样。2.全图统一采样。
异质图transformer
传统GAT:graph attention network中,所有节点的邻居都被视为同等重要的,不能表示不同的点/边类型。
异质图中:
引入全局注意力,可跨非直接连接的节点计算关联(类似全连接图),但通过元关系(meta-relation)约束计算范围。
显式建模节点和边的异构性,为每种元关系分配独立的投影矩阵。动态调整注意力计算。
引入相对时间编码(RTE),将时间差嵌入节点表示,支持动态图建模。通过异构子图采样(HGSampling)处理Web规模数据,降低计算成本。
知识图谱
节点:实体entity.
节点根据他们的类型type被打上标签label
边表示实体之间的关系
知识图谱是异质图的一种。
一般特征:庞大。缺失很多应该存在的边。
实现
- 表示:知识图谱中的边:三元组$(h,r,t)$。头实体h,关系r,尾实体t.
头实体h+关系r的嵌入应该与尾实体t的嵌入接近。
五种关系模式
- 对称:r(h,t)=r(t,h)
- 反对称:r(h,t)=~r(t,h)
- 自反
- 传递
- 一对多
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Λ_rt$
无法处理非对称、自反、传递模式。
ComplEx
基于Distmult。将h,r,t表示为复数向量。
复数乘法不满足交换律。
所以解决了distmult非对称、自反的缺陷,但仍然不能建模传递关系。
RotateE
将关系r建模为头实体h到尾实体t的旋转操作。
不能建模一对多模式。