MolTrans(Huang 等,Bioinformatics 2021)把 Transformer 引入药物-靶点相互作用预测,并用注意力权重给出「哪些子结构与哪些残基相互作用」的解释。方法有价值,但这类「可解释性」需要非常谨慎地看待。
方法要点
# 三个设计
#
# 1) 【FCS 子结构分解】
# Frequent Consecutive Sub-sequence
# 用类似 BPE(字节对编码)的算法,
# 从大量 SMILES 与蛋白序列中挖掘高频的连续子序列
# → 得到「化学子结构词表」与「蛋白基序词表」
#
# 动机:
# 单个字符/氨基酸的语义太弱,
# 子结构级别更接近化学与生物的实际单元
#
# 2) 【增强的 Transformer 编码】
# 分别编码药物子结构序列与蛋白基序序列
#
# 3) 【相互作用图】
# 计算药物每个子结构与蛋白每个基序之间的
# 成对相互作用强度,形成一个二维「相互作用图」
# → 用 CNN 在这个图上提取模式,做最终预测
#
# 【这个二维图就是所谓「可解释性」的来源】:
# 图中高亮的位置被解释为
# 「这个子结构与这个残基区域相互作用」
为什么注意力权重不等于解释
- 注意力权重不是因果证据。这是最根本的问题。高注意力只说明模型在计算时用到了这个位置,不说明这个位置在物理上真的发生了相互作用;
- 注意力可以被重新分配而不改变预测:研究表明,往往存在很不同的注意力分布给出几乎相同的预测——这意味着注意力不是唯一的,因而不能作为唯一解释;
- 模型可能在利用捷径:如果模型实际上学的是「这个药物通常活性高」,那么注意力图看起来的「相互作用模式」只是这个捷径的副产品;
- 缺乏验证:正确的做法是把模型给出的相互作用与共晶结构中的实际相互作用比较(用 PLIP 分析,见 108《PLIP》)。很多论文没做这个验证;
- 「看起来合理」是很弱的证据:人类倾向于在任何热图中找到模式。不做定量比较就宣称可解释,是这类工作的普遍问题(见 168《可解释性 AI》)。
如何正确验证这类解释
# 一个有说服力的验证流程:
#
# 1) 选一批【有共晶结构】的药物-靶点对
#
# 2) 用 PLIP 提取真实的相互作用(见 108)
# 得到:配体的哪些原子与蛋白的哪些残基作用
#
# 3) 把模型的注意力/相互作用图映射到
# 同样的「原子-残基」空间
#
# 4) 计算重合度
# - 模型高亮的 top-k 相互作用中,
# 有多少在真实相互作用列表里?
# - 与随机基线相比,提升多少?
#
# 5) 【与平凡基线比较】
# 基线:把注意力权重随机打乱
# 基线:均匀分配注意力
# 基线:只按「靠近分子中心」分配
# → 模型的解释必须显著优于这些基线
#
# 6) 【消融验证】
# 把模型认为重要的子结构删掉/替换,
# 预测值是否显著变化?
# → 如果没变化,说明它并不重要
#
# 如果论文没做类似的验证,
# 「可解释性」的宣称应当保留判断
# 这个验证思路不限于 DTI ——
# 适用于所有基于注意力的「可解释性」宣称
子结构分解的价值
| 字符级 | FCS 子结构级 | 图/片段 | |
|---|---|---|---|
| 语义粒度 | 太细 | 接近化学单元 | 化学正确 |
| 词表大小 | 小(约 60) | 中(数千) | — |
| 数据需求 | 大 | 中 | 中 |
| 化学正确性 | 无保证 | 无保证(字符串上的连续 ≠ 化学上的连接) | 有保证 |
FCS 的一个隐含问题:它在 SMILES 字符串上找高频连续片段,而字符串上连续不等于分子中连接——环闭合、分支括号会破坏这个对应关系。这限制了「子结构」的化学意义。用 BRICS/RECAP 等基于化学规则的片段化会更可靠。
Transformer 用于 DTI 的一般判断
- 优势:能建模长距离依赖,比 CNN 更适合处理长序列(蛋白可达上千残基);
- 但同样受限于蛋白侧的表示:把三维结合口袋压成一维序列,信息损失是根本性的(见 139《GraphDTA 论文精读》的讨论);
- 数据量的要求:Transformer 参数多,在 Davis/KIBA 这类小数据集上容易过拟合;
- 更好的方向:用预训练的蛋白语言模型(ESM-2,见 143《ESM-2 论文精读》)提供蛋白表示,而非从头训练序列编码器——这样能利用大规模预训练的知识;
- 最有潜力的方向:直接引入结构(见 121《Boltz-2 技术报告精读》)。
阅读这类论文的检查清单
# 关于性能的宣称:
# □ 划分方式?cold drug / cold protein 的结果?
# □ 与平凡基线(药物均值+靶点均值)比较了吗?
# □ 多种子的均值与标准差?
# □ 提升是否超过种子间方差?
#
# 关于可解释性的宣称:
# □ 与实验结构比较了吗?重合度多少?
# □ 与随机/均匀注意力基线比较了吗?
# □ 做了消融验证吗?
# □ 展示的是精选案例还是统计结果?
# (【只展示 2~3 个漂亮案例是常见做法】)
#
# 关于实用性:
# □ 推理速度?能处理多大规模?
# □ 代码与权重是否可用?
# □ 有实际应用的案例吗?
#
# 见 170 的完整论文阅读框架
关键要点
- 注意力权重不是因果证据——高注意力不代表物理上真的相互作用;
- 验证解释的正确做法是与共晶结构的实际相互作用做定量比较,并设随机基线对照;
- SMILES 字符串上连续 ≠ 分子中连接,这限制了 FCS 子结构的化学意义;
- 只展示 2~3 个漂亮案例而无统计结果,是这类工作的常见问题。
延伸资源
- GraphDTA:139《GraphDTA 论文精读》;DeepDTA:140《DeepDTA 论文精读》;DTI 模型:157《AI DTI 预测模型》;
- 可解释性 AI:168《可解释性 AI》;论文阅读框架:170《AI 制药论文阅读框架》;PLIP:108《PLIP》。