ICLR2023 | RetMol:基于检索的可控分子生成

news2024/11/29 8:49:21

题目:Retrieval-based Controllable Molecule Generation

文章地址:https://openreview.net/pdf?id=vDFA1tpuLvk

代码地址:GitHub - NVlabs/RetMol: A new retrieval-based framework for controllable molecule generation.

主题:今天我们为大家分享一篇来自英伟达和莱斯大学研究团队的发表于“ICLR2023”的一篇分子生成的文章,作者提出了一种基于检索的分子生成框架“RetMol”,它可以使用仅满足部分目标属性的少量分子生成出满足所有所需属性的分子。 


一、摘要 

药物发现是一个复杂的多目标问题,生成出满足多种性质的分子在药物发现过程中非常重要。现有方法需要使用大型数据集进行的训练/微调,这在真实世界的生成任务中通常是不现实的。在本研究中,作者提出了一种新的基于检索的可控分子生成框架。不需要特定任务的微调,在数据稀缺的情况下(活性分子有限)容易推广到各种生成任务:仅仅需要使用一小组示例分子来引导模型就能生成出满足给定设计目标的分子。作者设计了一个新的自监督目标训练的检索机制,融合了检索库中的样本分子和输入分子,并预测输入分子附近的相似分子;提出了一个迭代改进过程,动态更新检索数据库以获得更好的泛化性能。从结果上看,在各种任务中,从简单的设计标准到用于设计与SARS-CoV-2主蛋白相结合的引物化合物的现实场景,作者提出的方法比之前的方法具有更好的性能和更广泛的适用性。

二、方法

图1:RetMol框架。该框架结合了检索模块(分子检索器和信息融合)和预训练的生成模型(编码器Encoder和解码器Decoder)。上图示例展示了如何在各种设计条件下优化现有潜在药物法匹拉韦(Favipiravir)的结合力,以更好地治疗COVID-19病毒(SARS-CoV-2主要蛋白质,PDB ID:7L11)。

如上图所示,RetMol框架将一个轻量级检索机制Retriever插入预训练的编码器-解码器生成模型中。对于每个任务,作者首先构建了一个满足部分设计标准的样本分子组成的检索数据库Retrieval database。在给定待优化的输入分子Input molecule之后,检索器模块Retriever会从数据库中检索少量与之相关的示例分子,然后由预先训练好的生成模型的编码器Encoder将它们与输入分子转换为Retrieved embeddings 和 Input embedding。接下来,信息融合模块Information fusion将示例分子的嵌入与输入分子嵌入融合Fused embedding,以引导生成(通过预训练生成模型中的解码器)满足所需性质的分子Output molecule。

信息融合模块Information fusion是RetMol中唯一需要训练的部分。为了训练,作者提出了一个新的自监督目标(即预测输入分子的最近邻),以更新融合模块,使RetMol能够在没有特定任务训练/微调的情况下适用于各种生成任务。在模型的推理阶段,作者提出了一种通过迭代的推理过程,动态更新生成的分子和检索数据库,从而提高了生成质量和多样性。

1)编码器-解码器生成模型主干

预训练分子生成模型构成了RetMol的骨干,它连接了连续嵌入和原始分子表示。编码器将传入的分子编码成嵌入embedding,解码器从嵌入embedding中生成新分子。RetMol不关心底层编码器和解码器架构的设计,使其能够与各种生成模型和分子表示一起使用。在这项工作中,作者使用SMILES字符串表示分子和ChemFormer模型作为主干,其中ChemFormer模型是在十亿级别的ZINC数据集上训练的BART变体。

2)检索数据库(Retrieval database

检索数据库Retrieval database包含满足各种所需性质的分子,可以引导输入分子向设计标准方向发展,从而生成出具有目标性质的分子,因此对于可控生成非常重要。了解哪些分子符合设计标准以及如何选择满足设计标准的分子在RetMol中发挥着重要作用。此外,作者发现仅有少量分子(例如23个)的数据库就已经可以提供强有力的控制信号,这使得作者的方法可以通过快速检索数据库来轻松适应各种任务。此外,在推理过程中可以动态更新检索数据库,即新产生的分子可以扩充检索数据库以实现更好的泛化效果。

3)分子检索

虽然在生成过程中可以使用整个检索数据库,但出于计算原因(例如内存和效率),选择少量最相关的分子来提供更准确的引导更为可行。因此作者设计了一个基于启发式的检索器,以检索出最适合给定控制设计标准的分子:首先构建一个“可行”分子集合,其中包含满足所有给定约束条件的分子;如果此集合大于常数K(希望检索的最大分子数,本文使用K=10),则选择具有最佳平均属性得分的K个分子,否则,通过一次移除一个约束条件来构造松弛可行集,直到松弛可行集大于K,选择最近删除的属性约束的最佳得分的K个分子。无论上述哪种情况,检索器都会检索比输入更理想的性质的例分子,并引导生成朝着给定的设计标准发展。一般来说,更复杂的检索器设计对生成更好性质的分子可能会更有效,作者把它留作未来的工作。

4)信息融合(Information fusion

该模块可以使检索的分子将输入分子朝着目标设计标准变化,它通过一个轻量级的可训练标准交叉注意力机制来合并输入分子和检索到的分子的嵌入得到融合嵌入e

融合嵌入e包含从检索到的样本分子和输入分子中提取的所需属性的信息,该信息用作解码器的输入。

5)通过预测输入分子最近的邻居进行自监督训练

传统的训练目标是重建输入分子,但在作者的情况下这种目标不适用,因为重建输入分子不会依赖于检索到的样本分子,这会导致输入分子无法利用到样本分子的优质属性信息。为了使RetMol学习使用样本分子进行可控生成,作者提出了一种新的自监督训练方案,其目标是预测输入分子的最近邻:

\mathcal{L}(\theta)=\sum_{i=1}^{\mathcal{B}} \operatorname{CE}\left(\operatorname{Dec}\left(f_{\mathrm{CA}}\left(\boldsymbol{e}_{\mathrm{in}}^{(i)}, \boldsymbol{E}_{r}^{(i)} ; \theta\right)\right), x_{1 \mathrm{NN}}^{(i)}\right)

【\mathcal{L}(\theta)=\sum_{i=1}^{\mathcal{B}} \operatorname{CE}\left(\operatorname{Dec}\left(f_{\mathrm{CA}}\left(\boldsymbol{e}_{\mathrm{in}}^{(i)}, \boldsymbol{E}_{r}^{(i)} ; \theta\right)\right), x_{1 \mathrm{NN}}^{(i)}\right)】

其中CE是交叉熵损失函数,x_{1NN}【x_{1NN}】代表输入分子的最近邻,B是批处理大小,i对输入分子进行索引。检索到的样本分子集合由输入分子的其余K-1个最近邻组成。在训练期间,作者冻结了预训练编码器和解码器的参数,只更新信息融合模块f_{CA}【f_{CA}】中的参数,从而使训练轻量级和高效。此外,作者使用整个训练数据集作为检索数据库,并通过与输入分子的最佳相似度来检索样本分子,因此训练不是针对特定任务的,而是迫使融合模块f_{CA}参与以相似性为代理标准的可控生成。在推理时,使用上述训练目标和使用相似度的代理准则训练的模型能够推广到具有不同设计准则的不同生成任务,并且比使用传统重建目标训练的模型性能更好。为了更加有效的训练,作者用高效的近似KNN算法预先计算了所有分子的嵌入及其两两之间的相似性

6)通过迭代改进策略进行推理

作者提出了一种迭代改进策略,以在利用样本分子的隐式指导进行可控生成时获得改进的结果。该策略通过替换输入分子并更新检索数据库以获取新生成的分子来工作。这种迭代更新在许多其他可控生成方法中是常见的,此外,如果在推理过程中固定而不进行更新检索数据库,则作者提出的方法会受到检索数据库中分子最佳性质值的限制,这极大地限制泛化能力以及在某些生成场景下的表现,例如无约束优化,因此作者建议在迭代中动态更新检索数据库。

首先通过添加高斯噪声来随机扰动融合嵌入M次,并从每个扰动嵌入中贪心地解码一个分子,以获得M个生成的分子,根据任务特定的设计标准对这些分子进行评分。然后,如果此集合中最佳分子的分数优于输入分子的分数,则将输入分子替换为最佳分子。同时,如果它们的分数比检索数据库中的最低分数更好,则将其余分子添加到检索数据库中。如果没有生成的分子的分数优于输入分子或检索数据库中最低分数,则输入分子和检索数据库保持不变,以供下一次迭代使用。如果达到最大允许的迭代次数或生成符合所需标准的成功分子便会停止。

Training objectives. We evaluate how the proposed self-training objective in Sec. 2.2 affects the quality of generated molecules in the unconditional generation setting. Table 4 (left) shows that, training with our proposed nearest neighbor objective (i.e., predict NN) indeed achieves better generation performance than the conventional input reconstruction objective (i.e., recon. input).

训练目标。我们评估了第2.2节中提出的自训练目标如何影响无条件生成设置下生成的分子质量。表格4(左)显示,使用我们提出的最近邻目标进行训练(即预测NN),确实比传统的输入重构目标进行训练(即重构输入),获得了更好的生成性能。

三、实验结果

1)QED和Penalized logP优化

QED优化:这是一个带约束的分子优化问题,目标是在满足与目标分子相似度大于一定阈值的条件下,优化目标分子的QED性质成功率。如图2(a)所示,RetMol的成功率远高于其他方法。

Penalized logP优化:这是一个带约束的分子优化问题,目标是在满足与目标分子相似度大于一定阈值的条件下,优化目标分子的Penalized logP性质。如图2(b)所示,RetMol能有效提高分子的此项性质。

表格1:(a)在相似性\delta【\delta】下满足QED条件的分子生成成功率;(b)在相似性\delta【\delta】下提升Penalized logP条件的分子生成成功率;

2)多目标优化

多目标优化:这是一个带约束的分子优化问题,目标是在满足分子的QED性质和SA性质符合阈值内的情况下提高生成分子对GSK3β和JNK3两个靶点的亲和性。

图2:在Guacamol基准测试上进行多属性优化(MPO)任务时与SOTA的比较。左图:QED(↑)与平均基准性能(↑)比较。右图:SA(↓)与平均基准性能(↑)之比较。RetMol在提高基准性能的同时保持所生成分子的可合成性(SA)和药物样性(QED)方面实现了最佳平衡。

表格2:在优化四个属性(QED、SA以及两种与GSK3β和JNK3靶点的结合亲和力)的任务中生成的分子的成功率、新颖性和多样性。

3)新冠药物优化

新冠药物优化:为了展示基于检索的框架在药物发现前沿的应用性,作者将其应用于改善对SARS-CoV-2主蛋白酶(Mpro,PDB ID:7L11)的现有弱抑制剂的抑制作用。作者使用23种已知抑制剂作为检索数据库,并选择8个最弱的抑制剂作为输入,设计了一个优化任务,以最大化生成分子与Mpro之间的docking score。具体结果如上表格所示,可以看到RetMol相比于对比方法,药物优化成功率以及优化力度都要高很多。

表格3:在COVID-19药物优化任务中,作者通过QED、SA和相似性约束来改善所选分子与SARS-CoV-2主要蛋白酶的结合亲和力(通过docking进行估计)。在更严格的相似性条件下,RetMol成功率更高(5/8与3/8相比)。在较轻的相似性条件下,RetMol实现了更高的改进(2.84与1.67平均结合亲和力改进值相比)。

 

 图3:比较RetMol和Graph GA方法在优化与SARS-CoV-2主要蛋白酶结合的原始抑制剂Bromhexine的δ=0.6情况下的三维可视化。RetMol优化的抑制剂具有更多的极性接触(红色线),与原化合物相比也具有更不同的结合模式,这与定量结果相一致。

四、结论:

作者提出了一种基于检索的可控分子生成框架RetMol。通过将检索模块与预训练的生成模型结合,RetMol利用从特定任务的检索数据库中检索的示例分子来引导生成模型生成满足所需设计标准的新分子。RetMol非常灵活,不需要任务特定的微调。作者展示了RetMol在各种基准任务和SARS-CoV-2病毒的真实抑制剂设计任务中的有效性,在每种情况下与现有方法相比均取得了最先进的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/597466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Netty中NioEventLoop介绍

一、Netty基本介绍 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty 在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。 Netty 是一…

为什么 AIGC 和大模型创业者都在安利向量数据库?

从目前 VC 的投资数据来看,大家对 AI 的关注点主要有三个:一个是基础大模型 LLM,第二个是具体某个场景的应用(包括小模型),第三个就属基础模型与应用层之间的中间层了(开发者工具和数据库等&…

AI视频成工具D-ID介绍(AI数字人常用工具)

Studio D-id,​一个AI视频成工具,用AI创作的数字人,输入人物关键词就可一键生成人物,上传要说的文本或音频则可以开口说话了。 关于AI语音,有很多选项可供选择。目前,Studio D-id支持多达66种语言。然后,您…

蚂蚁集团发布2022可持续发展报告:科研投入204.6亿,实现3年翻倍

蚂蚁集团6月1日对外发布《2022年可持续发展报告》(下简称‘报告’),披露2022年度相关工作进展。《报告》显示,2022年,蚂蚁持续攻坚前沿和底层数字科技,年度科研投入204.6亿元。较2019年,科研投入…

19c rac部署-ssh版本太高的问题

客户有个环境需要部署19c,安装的oracle linux 7.9.,OpenSSH_7.4p1版本适合安装19c集群,但接到环境时,发现openssh已升级到9.0了,理由是等保需要,哎,不抱怨自己解决问题 [INS-32070] Could not r…

外贸网站建设中经常遇到的问题有哪些?

企业外贸网站是企业展示自我,提高品牌知名度的重要工具。在外贸网站建设中,我们也会遇到各种问题,例如,外贸网站设计、 SEO优化、制作周期以及质量等,都是我们在建设外贸网站中需要考虑的问题。 建设一个外贸网站需要多…

BFT最前线 | iOS版ChatGPT周下载突破50万人次;英伟达市值突破万亿美元创造芯片公司历史;华为开发者大会即将发布

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 联合国教育部聚焦生成式AI 联合国科教文组织提出发展路线图 近日,为应对生成式人工智能技术的迅速发展,联合国教科文组织就此议题召开了首次全球教育部长会议。40多位部长分享了将这些工具融入教育的…

10.ES6模块化规范(关键字 import,from,as,export的用法)

导入其他模块成员要使用关键字 import ,导出需要使用关键字 export 我们明确一个概念,只有js与js之间需要使用import与export,如果是在html中引入js是不需要用import的,你导入的方式是直接srcxxx.js 目录 1 默认导入导出 2 …

CMake构建Makefile深度解析:从底层原理到复杂项目

CMake构建深度解析:从底层原理到复杂项目实践 一、CMake构建后的项目结构解析(Analysis of the Project Structure After CMake Build)1.1 CMake构建后的目录结构(Directory Structure After CMake Build)1.2 构建生成…

分布式锁的应用场景与分布式锁实现(一):传统锁处理并发及传统锁的问题

分布式锁 代码已同步至GitCode:https://gitcode.net/ruozhuliufeng/distributed-project.git ​ 在应用开发中,特别是Web工程开发,通常都是并发编程,不是多进程就是多线程。这种场景下极其容易出现线程并发性问题,此时…

新能源汽车充电桩的建设及优化分析

安科瑞虞佳豪 新能源汽车充电桩在经历了几年的发展之后,总体情况是在持续走好的,并且充电桩的建设相较于以往有了很大的普及度和安全度,这对新能源汽车车主是一个好事,也鼓励了更多人选择买新能源汽车,但这并不是说新…

HTTP劫持是什么?如何防止网站被劫持呢?

HTTP劫持(HTTP hijacking)是一种网络攻击技术,攻击者通过各种手段截取用户的HTTP请求或响应,篡改其内容或重定向到恶意服务器,从而实施恶意活动。这种攻击可能导致用户信息泄露、身份盗窃、篡改网页内容或植入恶意代码…

鼎盛合充气泵方案——便携车载充气泵方案

便携车载充气泵主要使用在汽车轮胎充气及车胎检测上,是一个气压精度测量产品。充气泵方案则是通过马达运转工作而进行设计,利用芯片和气压传感器所做的一个智能化便携车载充气泵方案。 便携车载充气泵方案的使用范围其实不仅仅是汽车轮胎,它在…

Android Studio Flamingo编译项目问题记录

系统版本:macOS 13.4 Android Studio Flamingo | 2022.2.1 Patch 2 下载地址:Download Android Studio & App Tools - Android DevelopersAndroid Studio provides app builders with an integrated development environment (IDE) optimized for …

protobuf笔记

protoc -Ipb/protos -Ipb/protos/third/github.com pb/protos/custom/*.proto -I 指定需要import的gogo.proto文件路径, protoc查找过程为 -I后面的路径和import的路径拼接在一起。 -Ipb/protos 指定proto源文件路径-Ipb/protos/third/github.com 指定第三方proto&…

el-select如何改变样式 (:popper-append-to-body=“false“)

在使用el-select的时候,其样式会按照Elementui自带的默认样式为基准; 但往往开发过程中,下拉框的样式可能并不是我们想要的;这是我遇到过的一个案例,开发需求上与elementui默认样式大相径庭; 如何进行修改呢…

JAVA基础 - CLASSLOADER双亲委派机制?

类的生命周期 在JAVA中数据类型分为基本数据类型和引用数据类型。基本数据类型,由虚拟机预先定义,引用数据类型则需要进行类加载。 JAVA将引用数据类型分为:类、接口、数组和泛型参数,而「泛型参数」在编译时期会被擦除&#xff…

web前端 --- javascript(01)-- 介绍、变量和数据类型

JavaScript w3c:三层分离 结构层:HTML 表示层:CSS 行为层:JavaScript 介绍 (1)作用: 数据校验网页特效数据交互服务器端编程(NodeJS) (2)javas…

开源赋能 普惠未来|UBSICE诚邀您参与2023开放原子全球开源峰会

UBSICE(Unified Basic Service Infrastructure Community Edition)是一个轻量级“面向领域”的高可用、高性能、业务连续性的微服务架构技术底座。UBSICE特有的“微服务容器”不仅是一个微服务的运行容器,还通过“容器控制器”管理其他微服务…

Linux超全整理Linux性能分析工具汇总

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具…