图注意力网络GAT
公开知识笔记
图注意力网络GAT
一句话理解:GCN常把邻居按预设规则平均,GAT则让模型学习“这个节点当前应该更听哪个邻居”。
1. 从GCN到GAT
在图卷积网络GCN中,节点通过汇总邻居特征更新自己。但不同邻居未必同样重要:某个原子的特定相邻原子可能更能提示化学环境;某个副作用也可能只与少数相似副作用关系紧密。
先理解 :全图共享的“翻译器”
节点原始特征往往只是原始描述,例如原子的元素、价态、是否芳香,或副作用的频率特征。GAT先用同一个可学习矩阵把每个节点翻译到一个更适合比较和传递信息的空间:
可以把想成全图共用的一台“翻译器”:每个节点都用同一套规则翻译,所以翻译后的、可以直接比较。训练会不断调整,让它保留对当前任务有用的信息。不是“邻居重要性”的权重;它决定的是每个节点带着什么信息参与后续计算。
GAT如何用 计算并传递信息
对边,GAT把中心节点和邻居翻译后的表示放在一起,再由参数这个“打分器”判断:对更新而言,值得听多少。
- :把“我目前的状态”和“邻居提供的信息”并排交给打分器;
- :邻居的原始重要性分数,尚不能直接比较;
- :学习“什么样的节点组合更值得关注”。
再在节点的邻居范围内归一化:
这一步让所有邻居的权重之和为:某个邻居权重变大,其他邻居的相对权重就会变小。
最后,节点接收各邻居的“翻译后消息”,并按重要性加权汇总:
因此,在这里是邻居真正传出的内容;决定听它的比例。实践中常将自己也加入邻居集合,以保留自身信息。
它和标准注意力的三个 有何不同
Transformer的标准注意力为同一个输入学习三种不同角色:
| 作用 | 标准注意力 | 原始GAT |
|---|---|---|
| 中心节点用什么提出“我需要什么” | 参与节点对打分 | |
| 邻居用什么表明“我有什么” | 参与节点对打分 | |
| 邻居实际传出什么 | ||
| 如何打分 | (点积) | (拼接后打分) |
所以,和可以类比为Query侧和Key侧的信息,最终的又类似Value;但它们并不等于严格分开的Q、K、V。原始GAT只用一个,让它同时服务于“比较邻居”和“传递消息”;Transformer则用、、分别学习这三种角色。
2. 每个符号是什么意思
- :节点原来的特征;
- :把特征投影到新空间的可学习矩阵;
- :计算两节点匹配程度的可学习参数;
- :节点的邻居集合;
- :邻居对更新节点的权重。
注意力只在已经连边的邻居中分配权重。若构图漏掉重要邻居,GAT不能凭空注意到它,所以图的质量仍然关键。
3. 多头注意力为什么存在
一个注意力头只学一种加权方式。多头GAT让模型并行学习多组权重,再拼接或平均:有的头可能关注局部化学结构,有的头关注电荷或芳香性相关模式。多头能增加表达能力,但头数更多不保证泛化更好。
4. A3Net中的两类图
- 药物分子图:节点是原子,边是化学键;
- 副作用图:节点是副作用,边来自频率轮廓的KNN相似关系。
两者分别经过三层GAT,构成GAM(Graph Attention Module)。药物侧再通过global max pooling从原子表示得到药物级向量。
5. GAT和Transformer注意力有什么不同
| GAT | Transformer自注意力 |
|---|---|
| 通常只在图邻居内计算 | 无mask时可让所有token两两交互 |
| 邻接图先规定“能看谁” | 序列或mask规定“能看谁” |
| 目标是图上的消息传递 | 目标是上下文表示学习 |
A3Net的GAM用GAT,CAM则使用Transformer编码器,详见交叉注意力与自注意力。
6. 注意力权重能否解释机制
权重能说明模型在某次前向计算中更依赖哪些邻居,但它受参数化、批次组成和替代特征影响。高权重不是因果效应,也不自动证明某个原子导致某种副作用。
7. GCN、GAT与注意力机制:公式上的统一与差异
共同点:都是“变换信息,再按权重聚合”
三者都可以抽象成同一个消息传递公式:
- :节点(或token)允许汇总的信息来源;
- :来源传出的、经过变换的信息;
- :分给的权重;
- :聚合后的非线性变换。
也就是说,它们都在回答同两个问题:谁可以给我提供信息?我该听每个人多少?
三者分别代入这个统一公式
| 模型 | 信息来源 | 传出的信息 | 聚合权重 |
|---|---|---|---|
| 标准注意力 | 所有token,或由mask允许的token | ||
| GCN | 图邻居,通常包含自身 | ||
| GAT | 图邻居,通常包含自身 |
其中GCN的是加入自环后节点的度数。只有存在边时,GCN的权重才非零。
差异:谁决定“能看谁”和“该听多少”
| 维度 | 标准注意力机制 | GCN | GAT |
|---|---|---|---|
| 能看谁 | 默认可看全部token;mask可限制范围 | 邻接矩阵预先规定 | 邻接矩阵预先规定 |
| 权重如何产生 | Query与Key的内容匹配,动态计算 | 只由图连接和节点度数决定,固定 | 由中心节点与邻居的特征共同决定,动态计算 |
| 特征投影 | 通常分别学习 | 通常一个变换并传递特征 | 原始GAT通常一个既用于打分也用于传递消息 |
| 打分方式 | 点积: | 无显式内容打分 | 拼接后由打分: |
| 图结构的作用 | 可没有图;由序列位置或mask约束 | 决定邻居,也决定聚合权重 | 决定邻居;权重由注意力再学习 |
一句话串起来:
标准注意力让每个token在允许范围内按内容挑选信息;GCN让节点按图结构的固定规则平均邻居;GAT先由图规定可交流的邻居,再按节点内容学习应更重视谁。
相关论文
- A3Net精读笔记(A3Net)
被以下札记引用
2026-W35