SMILESGNN:融合 SMILES 和分子图的交叉注意力架构,强化毒性预测的可解释性
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 单模态和简单拼接模型的性能相当。
可解释性实现流程
- 特征提取:将 SMILES 字符串输入 SMILES Transformer,得到序列特征;将分子图输入 GATv2,得到图特征。
- 交叉融合:使用图分支的查询向量对 SMILES 分支的关键字和值进行 attention 计算,产生融合后的表示。
- 回溯解释:直接在图分支上应用 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 美金。
0.4M 参数就能跑出 0.987 的 AUC-ROC,确实是神仙效率!我之前在药物毒性预测上死磕大模型,结果反而过拟合严重,现在看来这个架构更高效。特别是它通过交叉注意力机制将 SMILES Transformer 和 GATv2 结合,既保留了图分支的可解释性(可以直接用 GNNExplainer 分析触发毒性的子结构),又避免了单模态模型的局限性。实践中,你可以先用两个分支分别处理字符串和分子图,再通过
Attention(Q_graph, K_smiles, V_smiles)进行融合,这样既保证了性能,又能满足临床对可解释性的需求。赶紧试试这个架构!