1. 亲密度矩阵公式
公式:
S
=
α
⋅
(
I
−
(
1
−
α
)
⋅
A
ˉ
)
−
1
S = \alpha \cdot (I - (1-\alpha) \cdot \bar{A})^{-1}
S=α⋅(I−(1−α)⋅Aˉ)−1
原理:
- 这是一个基于 PageRank 算法 的公式,用于计算节点之间的 亲密度矩阵 ( S )。
- ( \alpha ):控制节点自身与其邻域的重要性平衡。
- ( I ):单位矩阵,确保对角线上的节点本身得到足够的权重。
- ( \bar{A} = A D^{-1} ):归一化的邻接矩阵,其中 ( D ) 是度矩阵,用于调整节点连接的权重。
意义:
- 全局关系评估:通过矩阵求逆,计算节点间的多跳关系,捕捉更深层次的连接。
- 信息扩散:衡量目标节点与其他节点的潜在关联,作为子图采样的基础。
2. 初始特征嵌入公式
Raw Feature Vector Embedding:
公式:
e
j
(
x
)
=
Embed
(
x
j
)
,
e
j
(
x
)
∈
R
d
h
×
1
e_j^{(x)} = \text{Embed}(x_j), \quad e_j^{(x)} \in \mathbb{R}^{d_h \times 1}
ej(x)=Embed(xj),ej(x)∈Rdh×1
- 原理:
- 使用嵌入函数 ( \text{Embed}(\cdot) ) 将节点的原始特征 ( x_j ) 映射到一个高维空间。
- 意义:
- 将节点的输入特征转化为适合模型处理的连续向量,是模型学习的基础。
- 对于 Graph-BERT,这些嵌入向量为节点提供了特定的特征表示。
Weisfeiler-Lehman Absolute Role Embedding:
公式:
e
j
(
r
)
=
Position-Embed
(
WL
(
v
j
)
)
e_j^{(r)} = \text{Position-Embed}(\text{WL}(v_j))
ej(r)=Position-Embed(WL(vj))
- 原理:
- ( \text{WL}(v_j) ) 使用 Weisfeiler-Lehman (WL) 算法 计算的角色代码,用于捕捉节点的全局角色信息。
- Position-Embed 使用正弦和余弦函数生成嵌入,类似 Transformer 中的时间位置编码。
- 意义:
- 捕捉节点在全局图结构中的绝对角色信息,例如节点的度、位置等。
Intimacy-based Relative Positional Embedding:
公式:
e
j
(
p
)
=
Position-Embed
(
P
(
v
j
)
)
e_j^{(p)} = \text{Position-Embed}(P(v_j))
ej(p)=Position-Embed(P(vj))
- 原理:
- ( P(v_j) ) 表示节点 ( v_j ) 在子图中的相对位置,通过亲密度矩阵计算得出。
- 意义:
- 反映目标节点与其他节点的相对关系,强调局部上下文的影响。
Hop-based Relative Distance Embedding:
公式:
e
j
(
d
)
=
Position-Embed
(
H
(
v
j
,
v
i
)
)
e_j^{(d)} = \text{Position-Embed}(H(v_j, v_i))
ej(d)=Position-Embed(H(vj,vi))
- 原理:
- ( H(v_j, v_i) ) 是节点 ( v_j ) 到目标节点 ( v_i ) 的最短路径距离(跳数)。
- 意义:
- 提供一种低成本的方式捕捉节点的相对距离,有助于模型权衡局部与全局信息。
3. Graph Transformer-based Encoder
公式:
H
(
l
)
=
softmax
(
Q
K
⊤
d
h
)
V
+
G
Res
(
H
(
l
−
1
)
,
X
)
H^{(l)} = \text{softmax}\left(\frac{Q K^\top}{\sqrt{d_h}}\right)V + G_\text{Res}(H^{(l-1)}, X)
H(l)=softmax(dhQK⊤)V+GRes(H(l−1),X)
原理:
-
注意力机制:
- ( Q = H^{(l-1)} W_Q^{(l)} ):从上一层生成的 Query。
- ( K = H^{(l-1)} W_K^{(l)} ):Key,用于计算与其他节点的相关性。
- ( V = H^{(l-1)} W_V^{(l)} ):Value,用于加权生成下一层的节点表示。
- 注意力计算:
Attention = softmax ( Q K ⊤ d h ) V \text{Attention} = \text{softmax}\left(\frac{Q K^\top}{\sqrt{d_h}}\right)V Attention=softmax(dhQK⊤)V- 点积注意力:计算 Query 和 Key 的相似性,关注重要的上下文节点。
- 归一化:通过 Softmax,将权重分布到所有上下文节点。
-
残差连接:
- ( G_\text{Res}(H^{(l-1)}, X) ) 是图残差项,直接将上一层的特征与输入特征结合,缓解深层网络的梯度消失问题。
意义:
- 全局建模:注意力机制可以捕捉远距离节点的关系。
- 信息融合:整合上一层的表示 ( H^{(l-1)} ) 和上下文节点的信息,生成当前层的节点表示 ( H^{(l)} )。
4. 预训练任务公式
节点属性重构:
公式:
L
1
=
1
∣
V
∣
∑
v
i
∈
V
∥
x
i
−
x
^
i
∥
2
\mathcal{L}_1 = \frac{1}{|V|} \sum_{v_i \in V} \|x_i - \hat{x}_i\|_2
L1=∣V∣1vi∈V∑∥xi−x^i∥2
-
原理:
- 使用节点表示 ( z_i ) 重建节点的原始特征 ( x_i )。
- 通过最小化预测值 ( \hat{x}_i ) 和真实值 ( x_i ) 的差异,保证节点表示包含丰富的特征信息。
-
意义:
- 使模型学习每个节点的独立特征,为下游任务提供坚实基础。
图结构恢复:
公式:
L
2
=
1
∣
V
∣
2
∥
S
^
−
S
∥
F
2
\mathcal{L}_2 = \frac{1}{|V|^2} \|\hat{S} - S\|_F^2
L2=∣V∣21∥S^−S∥F2
-
原理:
- ( \hat{S} ) 是从节点嵌入 ( z_i, z_j ) 计算的相似度矩阵,定义为:
S ^ i , j = z i ⊤ z j ∥ z i ∥ ⋅ ∥ z j ∥ \hat{S}_{i,j} = \frac{z_i^\top z_j}{\|z_i\| \cdot \|z_j\|} S^i,j=∥zi∥⋅∥zj∥zi⊤zj - ( S ) 是图的真实亲密度矩阵。
- 通过最小化 Frobenius 范数,确保模型能够捕捉图的拓扑结构。
- ( \hat{S} ) 是从节点嵌入 ( z_i, z_j ) 计算的相似度矩阵,定义为:
-
意义:
- 保证模型的节点嵌入反映了图的整体结构特性。
5. 微调任务公式
节点分类:
公式:
y
^
i
=
softmax
(
FC
(
z
i
)
)
\hat{y}_i = \text{softmax}\left(\text{FC}(z_i)\right)
y^i=softmax(FC(zi))
-
原理:
- ( z_i ) 是 Graph-BERT 生成的目标节点嵌入,经过全连接层 (FC) 和 Softmax,输出分类概率分布。
-
意义:
- 用于预测节点的标签,如蛋白质对是否交互。
图聚类:
公式:
min
μ
1
,
…
,
μ
l
min
C
∑
j
=
1
l
∑
v
i
∈
C
j
∥
z
i
−
μ
j
∥
2
\min_{\mu_1, \dots, \mu_l} \min_{C} \sum_{j=1}^l \sum_{v_i \in C_j} \|z_i - \mu_j\|_2
μ1,…,μlminCminj=1∑lvi∈Cj∑∥zi−μj∥2
-
原理:
- 将节点嵌入 ( z_i ) 聚类,目标是最小化每个节点到其所属簇中心 ( \mu_j ) 的距离。
-
意义:
- 将节点分组,用于无监督任务(如蛋白质功能分类)。