GAT(Graph Attention Network, Veličković et al. 2018)用注意力给每个邻居分配可学习权重。先对节点做线性变换
Whi, 拼接后经共享注意力向量打分:
eij=LeakyReLU(aT[Whi∥Whj])(其中
∥ 表示拼接,
a 为可学习向量), 再对邻居做 softmax 归一化得到注意力系数
αij=∑k∈N(i)exp(eik)exp(eij), 聚合为
hi′=σ(∑j∈N(i)αijWhj)。
多头注意力: 用
K 组独立的
Wk,ak 并行计算, 中间层拼接
hi′=∥k=1Kσ(∑j∈N(i)αijkWkhj)(输出维度变为
K 倍), 最后一层取平均
hi′=σ(K1∑k=1K∑j∈N(i)αijkWkhj) 以稳定训练。相比 GCN 的固定系数(仅由度决定), GAT 的系数是数据驱动的, 可在不同邻居间分配不同的重要性。