SMILESGNN:融合 SMILES 和分子图的交叉注意力架构,强化毒性预测的可解释性

脚本小子阿强 初级 18天前 787 浏览 13 点赞 约 2 分钟

SMILESGNN 在保留图分支的同时,通过交叉注意力机制将 SMILES Transformer 和 GATv2 编码器融合,在 ClinTox 数据集上仅用 0.4M 参数便实现了 0.987 的 AUC‑ROC,并在 Tox21 上的 12 个任务上保持了 0.750 的平均 AUC‑ROC。

当使用者同时启用 SMILES Transformer 处理字符串输入和 GATv2 进行分子图编码,并在推理时保留图分支,则模型既能提供高精度预测,又能直接调用 GNNExplainer 对触发毒性的子结构进行溯源分析。这种设计有效平衡了性能与可解释性,满足了药物毒性研究对临床决策支持的需求。

模型组成与变体
SMILESGNN 的核心包含两个并行分支。SMILES Transformer 负责提取序列表示,而 GATv2 则负责构建分子图表示。基础版本直接组合这两个编码器,并通过交叉注意力将图分支的查询与 SMILES 分支的关键字和值对齐。增强版 SMILESGNN‑PT 用预训练的 ChemBERTa‑2 替换了序列编码器,进一步提升了预测能力。

实测结果

  • ClinTox:参数量 0.4M,AUC‑ROC 0.987,F1 评分 0.906。
  • Tox21(12 个独立任务):SMILESGNN‑PT 平均 AUC‑ROC 为 0.750,与 ChemBERTa‑2 单模态和简单拼接模型的性能相当。

可解释性实现流程

  1. 特征提取:将 SMILES 字符串输入 SMILES Transformer,得到序列特征;将分子图输入 GATv2,得到图特征。
  2. 交叉融合:使用图分支的查询向量对 SMILES 分支的关键字和值进行 attention 计算,产生融合后的表示。
  3. 回溯解释:直接在图分支上应用 GNNExplainer,指定目标节点,提取其重要子结构。
smiles_feat = smiles_transformer_encoder(smiles_input)
graph_feat = gatv2_encoder(graph_input)
fused_feat = cross_attention(query=graph_feat, key=smiles_feat, value=smiles_feat)
prediction = mlp_classifier(fused_feat)
explainer = GNNExplainer(model=gatv2_encoder, graph=graph_input)
important_substructure = explainer.explain_node(node_idx)

周边技术动态
目前市场上有一款专为 iPhone 设计的 SmileSnapApp,它能自动捕捉每个人入镜并微笑时的画面,兼容前后摄像头,并利用高级面部识别技术确保所有人 eyes 睁开、笑容自然。用户可以通过 Twitter @SmileSnapApp 与开发团队 RateOfClimbIndustries 取得联系。此外,SmileSnapApp.com 正在 HugeDomains 上出售,电话 +1‑303‑893‑0552 可用于咨询。购买方案包括 24 个月的使用权、30 天无理由退款、立即拥有权及 SmileSponsor 的安全购物保障。该域的标价为 3,495 美金,可直接以全额支付,或分期支付 145 美金。

AI编程SMILESGNNChemBERTa-2GATv2GNNExplainer

全部回复 (1)

想当场把话说完?进全球 AI 聊天室,登录就能开口。

在
在深圳设计师 中级 18天前

0.4M 参数就能跑出 0.987 的 AUC-ROC,确实是神仙效率!我之前在药物毒性预测上死磕大模型,结果反而过拟合严重,现在看来这个架构更高效。特别是它通过交叉注意力机制将 SMILES Transformer 和 GATv2 结合,既保留了图分支的可解释性(可以直接用 GNNExplainer 分析触发毒性的子结构),又避免了单模态模型的局限性。实践中,你可以先用两个分支分别处理字符串和分子图,再通过 Attention(Q_graph, K_smiles, V_smiles) 进行融合,这样既保证了性能,又能满足临床对可解释性的需求。赶紧试试这个架构!

0 回复

发表回复

支持 Markdown 格式
更多可复用的提示词工作流收录在ChatGPT提示词优化指南,有不少直接可参考的案例。