Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nat. Mach. Intel. | 基于图神经网络预测有机反应的通用模板

Nat. Mach. Intel. | 基于图神经网络预测有机反应的通用模板

作者头像
DrugAI
发布于 2022-11-28 09:53:42
发布于 2022-11-28 09:53:42
8770
举报
文章被收录于专栏:DrugAIDrugAI

编译 | 程宁

本文介绍由韩国科学技术院的Shuan Chen与Yousung Jung发表于Nature Machine Intelligence的研究工作。作者提出了一种基于原子映射的通用反应模板GRT用于描述有机反应,并在此基础上提出LocalTransform图注意力网络来预测分子之间的有机反应。由于模板仅描述反应前后原子结构变化,大大减少了反应规则的数量,实验结果表明LocalTransform准确率优于现有先进模型。除了通用反应模板内置的可解释性外,score–accuracy相关性也使得模型具有可解释性。

1 简介

预测有机反应结果是化学中的一个基本问题,利用计算机模型精准预测有机反应能够大大加快新分子的设计过程。目前已存在一些机器学习方法来预测有机反应,然而现有模型大多利用化学语言或者分子序列来对有机反应进行预测,这与资深化学家通过识别具体反应的子结构并通过已有化学知识判断有机反应有很大区别。

针对上述问题作者提出了一种新的描述有机反应的模板GRT(Generalized Reaction Template),并在此基础上提出预测有机反应的图神经网络模型LocalTransform。作者的贡献如下:

(1)提出了一种描述有机反应的通用模板GRT。针对USPTO-480k数据集,GRT能描述99.7%的有机反应,对于top-100的有机反应覆盖率能够达到94.6%。

(2)基于GRT提出了LocalTransform图神经网络以预测分子之间的有机反应,实验结果表明该方法优于以往基于图的方法。

(3)由于模型是基于分类的方法,具有很强的score–accuracy相关性,因此具有一定可解释性。

2 方法

2.1 GRT通用反应模板

作者认为先前基于模板的方法性能较低的原因是模板中包含太多详细信息从而导致其低覆盖率和低扩展性。因此作者提出了仅描述反应前后原子结构变化的反应模板(GRT)用于描述有机反应。

图1展示了GRT模板提取过程示例,首先根据反应前后分子变化抽象出具体反应位置,其中原子由通用原子符号“A”表示,然后根据分子具体变化类型分为四类:ATTACK、CHANGE、BREAK和REMOTE,并标注电子的移动情况。不同模板可能涉及不同数量的变化,在特定反应中心完成所选GRT所需的变化称为AoT。

图1 GRT提取过程

2.2 LocalTransform模型

①分子图的构建。每组反应物通过两个分子图构成:特征图Gf和密度图Gd,分别记为Gf = (Vf, Ef)Gd=(Vd, Ed),V表示原子,E表示化学键。Gf包含现有的原子特征和化学键特征,通过现有的化学键或虚键来连接可能的原子对,用于潜在的键形成、断裂和变化的预测。两个图都可通过DGL-LifeSci库来构建。

②提取分子图中每个原子的邻居特征。使用基于门控循环单元的MPNN对原子特征进行三次迭代更新,如公式(1),hu其中表示原子u的特征,hv表示相邻原子特征,huv表示相邻键的特征,最终得到原子在处更新后的特征。

③全局原子感知注意力机制。为了使反应物中的原子能够感知潜在的相互作用的电子,设计了一个基于Transformer的多头注意力机制。原子u和v之间注意力评分如公式(2)所示。

其中Wq和Wk分别是查询权重和键权重,T是转置运算符,dz为归一化因子,ru,v为相对位置embedding,可以通过公式(3)获得Du,v。

从原子到原子的消息通过公式(4)传递。

上述为非线性变化的权值和偏差,激活函数为ReLU。

最后通过连接门控单元转换原子特征。如公式(5)所示。

在MPNN学习到原子的局部环境后,反应物中的所有原子通过距离感知全局注意力网络进一步寻找与其他原子的关系信息,以进行潜在反应。

④组合特征构建和池化。将稠密图中有向图的已有键和虚键的特征拼接成一个原子特征,如公式(6)所示。并将其作为神经网络的输入,如公式(7)所示。

⑤全局注意力网络。键的特征被输入到另一个全局注意力神经网络,通过进一步学习聚合反应键之间的关系信息来对每个反应键的反应性进行排名。如公式(8)所示。

⑥AoT预测。使用双层神经网络对每个键的AoT进行预测,并通过SoftMax将最终预测结果转换为每个键的AoT得分,如公式(9)、(10)所示。训练LocalTransform的Loss为反应池化和AoT预测的交叉熵损失之和,如公式(11)所示。

⑦AoT排序和采集。预测出AoT的分数后,将所有键的预测AoT按分数排序,逐一收集预测AoT,直到收集到的AoT满足预测GRT的所需要的反应变化。最后,将预测的GRT应用于预测的反应中心。

图2 LocalTransform模型预测流程

3 实验

3.1 在USPTO-480k数据集的预测结果

表1展示了USPTO-480k数据集上本文模型以及其他模型的预测结果,实验表明除了top-1之外,LocalTransform模型均优于其他模型。虽然在top-1预测中Chenformer的效果比文中模型精度提高了0.5%,但在其他top-k的预测精度均小于LocalTransform。

表1混合预测场景下USPTO-480k数据集的top-k精确匹配精度

此外,模型会为每个预测对象生成分数作为其排名,预测分数可以解释为给定有机反应的预测结果的置信度。由图3可以看出模型预测分数越高,两种分子之间具有实际反应的概率越高。统计结果显示对于预测分数大于0.99的例子来说,其反应匹配正确率高达98.4%。

图3 top-1精确匹配准确度和作为预测分数函数的反应百分比

对于预测分数高于0.99但是匹配失败的例子,作者表示模型预测了一些更加合理或更有可能的反应,图5中有4个有机反应被Schwaller等人认为是由于数据集本身的错误。

图4 模型预测分数大于0.99但匹配失败的例子

3.2 与专家对比结果

从测试集中获取80个稀有有机反应,人类专家和WLDN、Molecular Transformer、LocalTransform模型同时进行预测,参与实验的11位专家中选取得分最高的人,预测结果如图5a所示,可以看出LocalTranform取得了最好的结果,正确预测了 80 个反应中的 75 个。基于文中提出的GRT再次对数据进行分类,LocalTranform依然取得了最好的结果,如图5b所示。

图5 不同模型与专家的预测结果

4 总结

在这项工作中,作者首先提出了一种用于描述有机反应的通用反应模板GRT,该模板能覆盖大部分有机反应,具有极大的灵活性与简便性;然后基于此提出LocalTransform模型,通过识别反应中心并利用GRTs来预测有机反应;最后通过实验证明了该模型的有效性,并分析了识别错误的例子,指出模型很大程度上受限于反应映射的质量以及数据集中反应的多样性,预期未来通过使用具有更高质量原子映射方法的数据集以改进模型。

参考资料

论文链接:

https://doi.org/10.1038/s42256-022-00526-z

项目源码链接:

https://github.com/kaist-amsg/LocalTransform40

数据链接:USPTO-480k数据集:

https://github.com/wengong-jin/nips17-rexgen13

图数据:

https://github.com/kaist-amsg/LocalTransform/releases/tag/raw_data40

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrugAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
解锁本地大模型的潜力:Ollama API 调用深度解析与实践指南
用ChatGPT、Claude、Gemini辅助学习更高效!注册ChatGPT、Claude、Gemini等账号,推荐使用https://yeka.ai/i/SUCCESS,输入推荐码SUCCESS,开卡费88折。 随着大语言模型(LLM)的快速发展,如何在本地高效部署和调用这些模型成为开发者关注的焦点。Ollama 作为一个轻量级开源框架,提供了一套简单而强大的 API 接口,支持本地运行多种预训练模型。本文深入探讨 Ollama API 的调用方法,包括生成补全、聊天对话、模型管理等功能,并通过丰富的代码示例展示其实践应用。从基础的安装配置到高级的流式响应处理,本文不仅详细解析了 API 的请求格式与参数,还结合 Python 编程语言,提供了大量带中文注释的代码,帮助读者快速上手。此外,文章还探讨了 Ollama 的架构优势及其在本地化场景中的潜力,适合希望在无 GPU 环境下运行大模型的开发者。通过本文,读者将掌握如何利用 Ollama API 构建本地化 AI 应用,解锁大模型的无限可能。
蒙娜丽宁
2025/04/13
1.5K0
解锁本地大模型的潜力:Ollama API 调用深度解析与实践指南
DeepSeek 本地化新篇章:Ollama 兼容 OpenAI API 的深度解析与部署实践
随着大语言模型(LLM)的快速发展,开发者对本地化部署和 API 兼容性的需求日益增加。Ollama 作为一个轻量级开源框架,通过兼容 OpenAI API 的接口设计,为本地运行 DeepSeek 等大模型提供了便捷途径。本文深入探讨 Ollama 如何实现与 OpenAI API 的无缝对接,结合 DeepSeek 模型的本地部署,展示其在文本生成、聊天对话及流式响应中的应用。从安装配置到高级功能实现,本文提供了大量带中文注释的 Python 代码示例,涵盖 Curl 请求、SDK 调用及错误处理等内容。此外,文章还分析了这种兼容性的优势与局限,适合希望在无 GPU 环境下运行 DeepSeek 或迁移 OpenAI 项目的开发者。通过本文,读者将掌握如何利用 Ollama 将 DeepSeek 等模型融入本地化开发,充分发挥其潜力。
蒙娜丽宁
2025/04/15
1.4K0
DeepSeek 本地化新篇章:Ollama 兼容 OpenAI API 的深度解析与部署实践
Ollama本地部署大模型总结
今天计划对之前ollama系列做个回顾,从如何部署到API使用,整理到一篇内容中,提供给大家参考。
拓荒者IT
2025/03/30
1.4K0
Ollama本地部署大模型总结
Ollama系列05:Ollama API 使用指南
本文是Ollama系列教程的第5篇,在前面的4篇内容中,给大家分享了如何再本地通过Ollama运行DeepSeek等大模型,演示了chatbox、CherryStudio等UI界面中集成Ollama的服务,并介绍了如何通过cherryStudio构建私有知识库。
拓荒者IT
2025/03/21
1.4K0
Ollama系列05:Ollama API 使用指南
DeepSeek从云端模型部署到应用开发-01-社区内一键部署DeepSeek
DeepSeek现在流行度正盛,今年的机器学习就用他作为一个开端,开整。 本文是基于百度aistudio的在线课程《DeepSeek从云端模型部署到应用开发》。
IT从业者张某某
2025/03/15
1710
DeepSeek从云端模型部署到应用开发-01-社区内一键部署DeepSeek
Ollama 本地CPU部署开源大模型
如 Facebook的llama3, 谷歌的gemma, 微软的phi3,阿里的qwen2 等模型。
lyhue1991
2024/06/26
2.7K0
Ollama 本地CPU部署开源大模型
腾讯云HAI部署DeepSeek结合Ollama API搭建智能对话系统
本文将详细介绍如何在腾讯云HAI平台上部署DeepSeek模型,并配置使用Ollama API服务以实现对外部请求的支持。通过对前期准备、部署流程、API服务配置及使用的详细阐述,希望能为读者提供一个全面且实用的指南,助力AI应用的高效开发和部署。
Front_Yue
2025/02/10
1.2K5
腾讯云HAI部署DeepSeek结合Ollama API搭建智能对话系统
ollama安装初体验
Ollama官网:https://ollama.com/,官方网站的介绍就一句话:Get up and running with large language models. (开始使用大语言模型。)下载直接双击安装即可,由于网络原因可能下载不了,这里也可以去国内aistudio.baidu.com/datasetdetail/314989下载。 Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型、降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Qwen2、Llama3、Phi3、Gemma2等开源的大型语言模型。
云未归来
2025/07/16
1060
ollama安装初体验
浅谈宇宙最强开源大模型Llama3如何应用
北京时间4月19日凌晨,Meta公司通过其官方网站宣布了Llama系列的最新开源大模型:Llama-3。
AIGC新知
2024/10/08
4790
浅谈宇宙最强开源大模型Llama3如何应用
绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开
在容器编排的世界中,k3s (k8s) 无疑是备受瞩目的存在。此次聚焦在 k3s (k8s) 环境下安装 ollama,并实现运行 deepseek。首先映入眼帘的是一个关键的 yaml 文件 ——ollama.yaml 。这个文件犹如整个部署流程的指挥棒,规定各项参数和配置信息。ollama.yaml 内容如下:
福大大架构师每日一题
2025/03/06
2710
绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开
DeepSeek从云端模型部署到应用开发-03-实战指南:从部署到RAG Agent
Ollama理论上不刚需显存,只需要有足够的内存(RAM),基础版环境刚好卡到门槛,但是为了优化使用体验,建议通过V100 16GB启动项目,而且每日运行项目就送8算力点!!!
IT从业者张某某
2025/03/15
2550
DeepSeek从云端模型部署到应用开发-03-实战指南:从部署到RAG Agent
本地大模型部署指南:Ollama+Llama3.2从入门到API调用
本文来介绍一下怎么下载 Ollama 并部署 AI 大模型(DeepSeek-R1、Llama 3.2 等)。通过 Ollama 这一开源的大语言模型服务工具,你就可以在自己的电脑上跑其它开源的 AI 模型。接下来,我们将分步骤说明如何完成下载和安装,以便你能够轻松地与 AI 开展对话。
用户8721171
2025/03/13
1.4K0
使用 HAI 结合 Ollama API 打造高效文本生成系统:deepseek-r1:7b 实践指南
在人工智能的浪潮中,越来越多的开发者和企业开始尝试将大规模语言模型(LLMs)部署到本地环境中,以降低成本、提高数据安全性并提升应用性能。高性能应用服务HAI 和 Ollama 作为一种新兴的工具,为开发者提供了一个轻松的本地部署与调用接口,支持多种大模型的使用与管理。
不惑
2025/02/06
8782
使用 HAI 结合 Ollama API 打造高效文本生成系统:deepseek-r1:7b 实践指南
LangChain+Ollama+DeepSeek AI 应用开发:LangChain 模型 IO 模块认知
Lang Chain 是在 LLM 爆发之后,最早有一定知名度的开源工具,其他生态大部分工具也都基于 Lang Chain 的架构方式,所以通过学习 Lang Chain 可以了解 大部分的 AI 应用工具,今天和小伙伴分享 Lang Chain 模块中的 模型 IO
山河已无恙
2025/03/13
7690
LangChain+Ollama+DeepSeek AI 应用开发:LangChain 模型 IO 模块认知
119K star!无需GPU轻松本地部署多款大模型,DeepSeek支持!这个开源神器绝了
119K star!无需GPU轻松本地部署多款大模型,DeepSeek支持!这个开源神器绝了
小华同学ai
2025/04/10
3900
119K star!无需GPU轻松本地部署多款大模型,DeepSeek支持!这个开源神器绝了
FastAPI开发AI应用一:实现连续多轮对话
本文将通过一个完整的实战项目,介绍如何使用 FastAPI 框架开发 AI 聊天应用,重点讲解连续多轮对话的实现原理和核心技术。即使你是编程新手,也能跟着本教程一步步构建出功能完整的 AI 聊天应用。
wayn
2025/07/03
2120
FastAPI开发AI应用一:实现连续多轮对话
5分钟本地部署史上最强开源大模型Llama3
几天前meta发布了史上最强开源大模型Llama3,要想免费使用Llama3,除了去官网 https://llama.meta.com/llama3/ 在线使用外,还可以本地部署。
后端云
2024/05/06
8.3K0
5分钟本地部署史上最强开源大模型Llama3
[大模型]LLaMA3-8B-Instruct WebDemo 部署
在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu20.04)-->12.1
云未归来
2025/07/21
1030
[大模型]LLaMA3-8B-Instruct WebDemo 部署
大模型llm:Ollama部署llama3学习入门llm
Llama 3 是一个自回归语言模型(an auto-regressive language),它使用优化的 transformer 架构。调整后的版本使用监督微调 (SFT) 和带有人类反馈的强化学习 (RLHF),以符合人类对有用性和安全性的偏好。
黄规速
2024/05/24
6K0
大模型llm:Ollama部署llama3学习入门llm
大模型 API 调用从 0 到 1 (以智谱 AI 为例)
在 NoteBook 中,我们可以通过虚拟环境安装指定版本的 Python,具体教程请参考:ModelArts codelab 创建虚拟环境切换 Python
胡琦
2025/05/20
5400
大模型 API 调用从 0 到 1 (以智谱 AI 为例)
推荐阅读
相关推荐
解锁本地大模型的潜力:Ollama API 调用深度解析与实践指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档