山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。
早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆合成,可解释性差,且无法兼顾分子的短程信息和长程信息,性能受限。
为此,山东大学的魏乐义和电子科技大学的邹权课题组共同开发了 RetroExplainer。这一可解释的深度学习算法,可以 4 步识别有机物的逆合成路线,给出易得的反应物。RetroExplainer 有望为有机化学逆合成研究提供强力工具。
作者 | 雪菜
编辑 | 三羊
有机化学逆合成 (Retrosynthesis) 旨在找到一系列合适的反应物,以高效合成目标产物。这一过程是计算机辅助合成中不可或缺的基础性工作。

上世纪 60 年代,Corey 等人尝试通过编程进行逆合成分析,并开发了有机化学模拟合成 (OCSS) 软件。然而,随着数据量的增加,这一工作很快被 AI 接手。其中,深度学习 (Deep Learning) 模型被寄予厚望,也产出了相当的成果。
早期的 AI 逆合成研究中,研究者往往基于反应模板从产物倒推到反应物,即基于模板的逆合成。其中,基于多层感知器的分子指纹 (Molecular Fingerprints) 常被用于产物的编码和模板的选择。
随后,研究人员开始探寻无模板和半模板的合成方法,主要包括:
1、基于序列的逆合成;
2、基于图表的逆合成。
二者的主要区别在于分子的表现形式。前者用线性化的字符串表示分子,如 SMILES 规范;而后者会使用分子图模型表示分子,主要包括反应中心 (RC, Reaction Center) 的预测和合成子 (Synthon) 的完成。

虽然现有的逆合成方法已经取得了重大进展,但仍存在 3 个内源性问题:
1、基于序列的逆合成会遗漏分子信息,而基于图表的逆合成会忽视分子的序列信息和长程特征。两种方法在特征学习中都会受到限制,性能很难再提升;
2、基于深度学习的逆合成方法可解释性很差。虽然基于模板的逆合成能给出易懂的合成路线,但算法的决策机制依然很模糊,模型的可重复性和可行性有待考虑;
3、现有方法多聚焦于单步逆合成。这种方法看似可以给出合理的反应物,然而这些反应物可能很难购买,或是需要复杂的后处理。因此,多步逆合成在实际的化学合成中可能更具意义。
为此,山东大学的魏乐义和电子科技大学的邹权课题组共同开发了 RetroExplainer。这一算法能够基于深度学习进行逆合成预测,同时兼顾算法的可解释性和可行性。RetroExplainer 在几乎 12 个基准数据集中的表现优于其他算法,提出的合成路线中 86.9% 的反应得到了文献的验证。这一成果已发表于「Nature Communications」。

论文链接:
https://www.nature.com/articles/s41467-023-41698-5
关注公众号,后台回复「逆合成」获取完整论文 PDF
实验过程
算法构建:模块 + 子网格
整个逆合成分析过程包括 4 步:分子的图表编码、多任务学习、决策、多步合成路线预测。
RetroExplainer 主要包括 4 个模块:多感知多尺度图 Transformer (MSMS-GT)、动态自适应多任务学习 (DAMT)、可解释的决策模块及路线预测模块。

a:RetroExplainer 流程示意图;
b:MSMS-GT 架构;
c:DAMT 算法示意图;
d:与反应机制类似的决策过程。
MSMS-GT 通过化学键嵌入和原子的拓扑嵌入捕获重要的化学信息。编码后的信息通过多头注意力 (Multi-Head Attention) 机制融合成分子向量。
在 DAMT 模块中,分子信息被同时输入至反应中心预测 (RCP)、离去基团匹配 (LGM, Leaving Group Match) 和离去基团连接 (LGC, Leaving Group Connect) 子网格中。
RCP 会识别化学键和原子相邻氢原子数量的变化,LGM 会将产物中的离去基团与数据库中的匹配,LGC 会将离去基团和产物残基相连。
决策模块会基于 5 个逆合成动作和决策曲线的能量分数 (E, Energy Score),将产物转换为反应物,反向模拟分子组装过程。
最终,使用启发式树搜索算法找到高效的产物合成路线,同时确保反应物的可得性。
性能对比:USPTO 基准数据集
为验证 RetroExplainer 的性能,研究人员基于美国专利及商标局 (USPTO) 收录的化学反应,与其他 21 种逆合成算法进行了对比,评价指标为 top-k 准确率。

可以看到,基于 USPTO-50K 数据集,在 8 项评价指标中,RetroExplainer 有 5 项优于其他算法,其平均准确率位列第一。虽然 RetroExplainer 在 top-10 准确率中不及 LocalRetro,但二者的差距仅 1%。
为消除相似分子带来的影响,研究人员用谷本相似性 (Tanimoto Similarity) 对数据进行了重划分,并与 R-SMILE、LocalRetro 这两种准确率最高的算法进行了对比。

结果中可以看到,RetroExplainer 在大多数数据集中有更好的表现,体现了其稳定性和适应性。
随后,研究人员在更大规模的 USPTO-MIT 和 USPTO-FULL 数据集进行了算法性能对比。RetroExplainer 各项指标均优于其他算法,且与其他算法差距更大,说明 RetroExplainer 在大规模的数据分析中更有潜力。

可解释性:决策可视化
受双分子亲核取代反应 (SN2) 的启发,研究人员基于深度学习引导的分子组装设计了可解释的逆合成预测过程。决策过程包括 6 个阶段:原产物 §、离去基团匹配 (S-LGM)、初始化 (IT)、离去基团连接 (S-LGC)、反应中心化学键变化 (S-RCP)、氢原子数变化 (HC)。
基于每个阶段对最终决策的贡献,DAMT 的子网格会为每个阶段生成一个能量分数 (E)。
具体流程如下:
1、P 阶段将各阶段的 E 初始化为 0;
2、S-LGM 阶段,根据 LGM 模块的预测概率,选择离去基团;
3、将 S-LGM 阶段选择的离去基团的 E 与 RCP、LGM 模块预测的响应事件概率相加,得到 IT 阶段的能量;
4、S-LGC 和 S-RCP 阶段,基于动态规划算法,扩展搜索树中的所有可能节点。选择概率大于预设阈值的事件,同时将 E 固定;
5、调整每个原子的氢原子数和形式电荷,确保得到的分子图符合化合价规则,并计算最终 E。

a:RetroExplainer 对 2 个预测结果的搜索线路;
b:排名前 12 预测路线的决策曲线;
c:6 种代表合成路线的结构变化过程。
基于 E 的变化绘制决策曲线,就能对 RetroExplainer 的决策过程进行分析,找出 RetroExplainer 的预测错误。
如图所示,产物的正确合成路线应为胺的脱保护反应,然而 RetroExplainer 将其排在第 6,排名第 1 的是 C-N 偶联反应。分析发现,HC 阶段中 RetroExplainer 倾向于增加胺的氢原子数,导致了这一差别,说明 RetroExplainer 在 HC 阶段对相似结构的分子可能存在同样的误判。
通过对比 RetroExplainer 排名第 1 和第 2 的反应,研究人员发现 E 可能与反应的难度有关。虽然反应 1 中 I:33 和 C:26 的连接不利于能量的减少,然而在 C:26 处连接一个氢原子需要前一反应 13 倍的能量。同时 I:33 的引入,弱化了 C-N 偶联反应面临的选择性问题。
同时,空间位阻也会对 RetroExplainer 的预测结果产生影响。对比排名第 4 和第 21 的反应,它们的分子结构一致,但离去基团连在了对称的 N 上,导致了 E 的差别。
路径规划:多步预测合成路线
为提高 RetroExplainer 预测的实际性,研究人员将其与 Retro 算法相结合,将后者的单步预测,替换为多步预测。
以支气管扩张剂普罗托醇 (Protokylol) 为例,RetroExplainer 为这一产物设计了 4 步的合成路线。随后,研究人员对这 4 步反应进行了文献调研,以探究其可行性。

图中蓝色文本是参考文献中记录的相似反应,红色部分为 RetroExplainer 的决策过程。
虽然很多反应没有找到完全一致的参考,但他们找到了相似的高产率反应。此外,RetroExplainer 为 101 个案例设计了 176 个实验,其中 153 个可以在 SciFinder 中找到相似的反应。
上述结果说明,RetroExplainer 对逆合成的预测优于目前其他算法。同时,RetroExplainer 决策透明,具有可解释性,且对反应进行多步规划,可行性更强。RetroExplainer 有望为有机化学逆合成研究提供强力工具。
性能 vs. 可解释性,矛盾的 AI
可解释性 (Explainability) 是在各个场景应用 AI 的关键因素。随着 AI 在无人驾驶、医疗诊断、金融保险等行业的不断发展,AI 的决策过程显得愈发重要,也面临着越来越多的实践、社会乃至法律问题。
同时,可解释性能够帮助用户理解、维护和使用 AI,发现并理解 AI 应用领域的新概念。可解释性还体现了结果的可行性,并告诉用户这一决策的收益是最大的。

然而,模型性能和模型的可解释性是困扰 ScienceAI 的一个很大问题,如果模型性能好、具有很好的跨测试集鲁棒性,那可能用高维深度特征效果会更好,但它不具备任何物理意义,也就是我们常说的「偏科研的可解释性大都很差」。
相反,如果用好解释的特征,虽然在物理上非常具有可解释性,但是实际模型表现会有很大的数据依赖性,换一个数据集模型性能就会下降。
二者的矛盾到现在都还没有一个很好的方式统一,但在本研究中,研究人员将 AI 的决策过程分步可视化,让使用者清晰地了解到各种预测结果在各阶段的得分变化,理解了 AI 的决策过程,也便于开发者进行模型的优化。
随着可解释 AI 的不断发展,人们对于 AI 的理解会更加深入,AI 的决策过程也会更加易懂。未来,人机之间的互动将不断增加,交互门槛进一步降低,AI 将在更多场景中投入使用,让生活更加便捷智能。
参考链接:
[1]http://www.chem.ucla.edu/~harding/IGOC/R/retrosynthesis.html
[2]https://zh.wikipedia.org/zh-cn/简化分子线性输入规范
[3]https://wires.onlinelibrary.wiley.com/doi/10.1002/widm.1391
相关文章:
山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆…...
使用antv x6注册vue组件报错,TypeError: Object(...) is not a function (teleport.js:3:23)
typeError: Object(…) is not a function at …/…/…/node_modules/.pnpm/antvx6-vue-shape2.1.1_antvx62.15.2vue2.7.10/node_modules/antv/x6-vue-shape/es/teleport.js (teleport.js:3:23) 点击定位到报错的位置为 reactive应该是vue 2.7.*版本才有的 由于项目在index.ht…...
Python开发利器KeymouseGo,开源的就是香
1、介绍 在日常工作中,经常会遇到一些重复性的工作,不管是点击某个按钮、写文字,打印,还是复制粘贴拷贝资料之类的,需要进行大量的重复操作。按键精灵大家想必都听说过,传统的方式,可以下载个按…...
什么是 Node.js
目标 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端的应用…...
08-flex布局
flex布局 1.定位布局- 定位流分类1.1.静态定位1.2.相对定位1.3.绝对定位1.4.固定定位1.5.粘滞定位1.6.z-index - 1.1.静态定位( Static positioning)- 1.2.什么是相对定位?( Relative positioning )- 相对定位注意点- 相对定位应…...
HTML5和HTML的区别
HTML5的概念分为广义和狭义两种。 狭义的概念HTML5是指HTML语言的第5个版本,而HTML是指5之前的版本。 广义的概念HTML5是指由HTML5、CSS3、JavaScript所组成的开发环境。而HTML是指HTML语言本身。 1、HTML5与HTML狭…...
【Amazon】跨AWS账号级别迁移弹性IP地址操作流程
文章目录 一、实验背景二、适用场景三、实验目标四、实验说明五、实验步骤1. 登录AWS控制台[源账户]2. 启用弹性 IP 地址转移[源账户]3. 接受转移的弹性 IP 地址[目标账户]4. <可选>禁止转移弹性IP地址[源账户] 六、结果验证七、注意事项八、附录1. 多弹性IP地址多AWS账号…...
2023-python pdf转换为PPT代码
from pdf2image import convert_from_path from pptx import Presentation from pptx.util import Inches import os# 用户输入PDF文件路径 pdf_file_path input("请输入PDF文件的路径:")# 提取文件名(不包括扩展名)作为PPT文件名…...
学会场景提问,让AI“小助手”为我所用
文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容,还可以根据我们的需求提供创意灵感和解决问题…...
前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)
首先看效果! 比如轮播图时红色,那么背景的底色也是红色,轮播图时黄色,背景的底色也是黄色,这就是根据轮播图的图片切换,而改变背景颜色随轮播图颜色一致 话不多说,直接上代码!非常简…...
对文件夹内的所有图像进行随机调整对比度和应用高斯滤波
import os import random from PIL import Image, ImageEnhance, ImageFilter# 输入和输出文件夹路径 input_folder rE:\深度学习数据集 output_folder rE:\深度学习数据集\对比度、高斯滤波# 确保输出文件夹存在,如果不存在则创建 if not os.path.exists(output_…...
ios上架上传构建版本的windows工具
ios上架的必要步骤,是将打包好的二进制ipa文件,上传到app store的构建版本里,苹果并没有提供上传构建版本的工具,这里我介绍下windows下上传构建版本的方案。 下面说下上传的基本步骤: 第一步,上传前要先…...
arcgis js api 4.x加载geoserver发布的地方坐标系(自定义坐标系)的wms服务
问题描述:之前研究过arcgis js api 4.x加载arcgis server 发布的地方坐标系的wms服务,后来研究出来能正常加载了,想了解的可以看我之前的博客。但是一直困于加载geoserver发布的地方坐标系的wms服务,一直都是用的WMSLayer这个调用…...
人工智能的发展方向:探索智能未来的无限可能
原创 | 文 BFT机器人 人工智能,简称AI,是一门专注于研究计算机如何能像人类一样思考、学习和解决问题的科学。它的创造初衷是构建一个智能系统,能模仿、模拟甚至实现人工智能的各种功能和行为,随着科技的持续进步,人工…...
【23秋软工第7周作业】项目选题
一、如何提出靠谱的项目建议,参见邹欣老师的博客:http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html 二、选题来源指导: 有创意和独创性的小项目 跟智能数据处理相关 候选题目可以参见课程主页 三、具体汇报任务: …...
谷歌云的利润增长才刚刚开始
来源:猛兽财经 作者:猛兽财经 总结: (1)自从Google Cloud(谷歌云)今年开始盈利以来,投资者都在怀疑这种盈利能力能否持续下去。 (2)虽然微软Azure目前在全球的人工智能竞…...
【Golang】简记操作:Centos安装、卸载、升级Golang运行环境
目录 安装 1、根据实际需求选择合适的golang版本 如下图,选择合适的版本,右键复制链接 2、在Centos选择合适的目录下载golang的源文件 3、解压golang的源文件,解压完成即可执行go命令 4、设置golang的全局环境变量(/etc/pr…...
开启生成式AI的探索之旅,亚马逊云科技分享生成式AI热门案例
现今,生成式AI为企业争先讨论的热门话题,上云出海为企业转型的重中之重。无论你是行业新贵还是中小企业,探索新的模式、创新迭代业务都是不容忽视的重点,下面就来介绍几个亚马逊云科技帮助企业创新的案例。 开启生成式AI的探索之旅…...
【Python机器学习】零基础掌握IsolationForest集成学习
如何有效地识别异常数据点? 在日常工作和生活中,经常会遇到需要从大量数据中找出异常或者“不一样”的数据点的情况。比如在金融领域,怎样从数以百万计的交易记录中准确地找出可疑的欺诈交易?又或者在电商平台,如何从海量的商品评论中找出那些刷好评或刷差评的异常数据?…...
GNN图神经网络入门
1.为什么会提出图神经网络? 答:为了处理图Graph这种特殊的数据结构。 2.为什么要与神经网络搭上关系? 答:利用神经网络能够拟合任意函数的能力(或者理解为强大的为特征变换能力)。 3.图神经网络的最终目的是…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
