ACS Cent. Sci 2018 | 数据驱动的分子连续表征的自动化学设计

news2024/11/20 11:30:40

原文标题:Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules

代码:https://github.com/aspuru-guzik-group/chemical_vae

原文链接:https://pubs.acs.org/doi/10.1021/acscentsci.7b00572

Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules

一、Autoencoder Architecture.

编码器RNN可以与解码器RNN配对以执行序列到序列的学习,还用卷积网络进行了字符串编码的实验,并观察到性能的提高。这可以通过重复的、平移不变的子串的存在来解释,这些子串对应于化学子结构,例如环和官能团。

基于smiles的文本编码对ZINC和QM9分别使用了35个不同字符和22个不同字符的子集。为了便于计算,将字符串编码为ZINC的最大长度为120个字符,QM9的最大长度为34个字符。较短的字符串用相同长度的空格填充。只使用规范化的SMILES进行训练,以避免处理等效的SMILES表示。

VAE深度网络的结构如下: 对于用于ZINC数据集的自编码器,编码器分别使用滤波器大小为9,9,10和9,9,11卷积核的三个1D卷积层,后面是一个宽度为196的全连接层。解码器输入到三层门控循环单元(GRU)网络中,隐藏维数为488。

对于QM9数据集所使用的模型,编码器使用了3个一维卷积层,滤波器大小分别为2,2,1和5,5,4个卷积核,然后是一个宽度为156的全连接层。三个递归神经网络层各有500个神经元的隐藏维度。

潜在空间中的同一点可能解码成不同的SMILES字符串,这取决于用于采样字符的随机种子。输出GRU层有一个额外的输入,对应于从前一个时间步的softmax输出中采样的字符,并使用teacher forcing进行训练,增加了生成的SMILES字符串的准确性,这导致训练数据之外的潜在点的有效SMILES字符串的比例更高,但也使训练变得更加困难,因为解码器显示出忽略(变分)编码并完全依赖输入序列的倾向。29个epoch后,按sigmoid schedule退火,共运行120个epoch

对于属性预测,使用两个全连接(1000个神经元)层来预测潜在表示的属性,dropout为0.20。为了简单地塑造潜在空间,使用了一个较小的MLP作为属性预测器,该MLP由3层67个神经元组成,训练dropout为0.15。对于在ZINC数据集上训练的算法,目标属性包括logP、QED、SAS。性能预测损失与变分损失同时退火。TensorFlow开发

二、RESULTS AND DISCUSSION

1、Representation of Molecules in Latent Space.

图2a显示了从训练集外随机选择的5000个ZINC分子编码时每个维度的核密度估计。核密度估计显示了数据点沿潜在空间各维的分布。虽然数据点在每个单独维度上的分布显示出略有不同的平均值和标准差,但由于变分正则化器,所有分布都是正态分布。

图2b显示了将fda批准的药物分子样本的潜在表征解码为几个不同分子的概率。对于大多数潜在点,一个突出的分子被解码,许多其他轻微的变化以较低的频率出现。当这些生成的SMILES被重新编码到潜在空间时,最常见的解码也往往是与原始点欧几里得距离最小的那个,这表明潜在空间确实捕获了与分子相关的特征。

图2c显示了潜伏空间中接近布洛芬的一些分子。这些结构变得不那么类似于增加潜在空间的距离。当距离接近训练集中分子的平均距离时,变化更加明显,最终类似于可能从训练集中采样的随机分子。
图2d显示了两个随机药物分子之间的球面插值,显示了两者之间的平滑过渡。连续的潜空间允许分子内插,通过在它们的潜表示之间遵循最短的欧几里得路径。在探索高维空间时,重要的是要注意欧几里得距离可能不能直接映射到分子相似性的概念在高维空间中,大多数独立的正态分布随机变量的质量不是在平均值附近,而是在平均值周围的一个环中两点之间的线性插值可能会经过一个低概率区域,为了使采样保持在高概率区域,使用球面插值35 (slerp)。对于slerp,两点之间的路径是位于n维球体表面上的圆弧。

表1将训练集中的化学性质分布与遗传算法生成的分子和变分自编码器生成的分子进行比较。该过程使用锌数据集中的1000个随机分子进行播种,并在10次迭代中生成。对于使用变分自编码器生成的分子,我们收集了从相同的1000个种子分子编码的潜在空间点进行400次解码尝试生成的所有分子的集合。比较logP、SA和QED。

与遗传算法生成的分子集相比,使用VAE生成的分子显示出与原始数据集更相似的化学性质。

2、Property Prediction of Molecules.

训练了MLP和AE来预测每个分子的潜在表征,图3显示了属性值到潜在值的映射。PCA降维。值高的分子位于一个区域,值低的分子位于另一个区域。

虽然添加性质预测的主要目的是组织潜在空间,但观察属性预测器模型与其他属性预测标准模型的比较是很有趣的。为了与其他方法进行更公平的比较,我们将感知器的大小增加到两层,每层有1000个神经元。表2比较了常用的分子embedding和模型与VAE的性能。

3、Optimization of Molecules via Properties.

从联合训练的自编码器中对潜在空间中的分子进行优化,以进行属性预测。为了创建一个更平滑的环境来执行优化,使用高斯过程模型来建模属性预测器模型。训练高斯过程的2000个分子被选择为最大限度地多样化。在潜在空间中进行优化,以找到一个最大化目标分子

选择优化的目标是5 × QED - SA,其中QED为药物相似性的定量估计,38,SAS为合成可及性评分这一目标代表了一个粗略的估计,即找到最像药物的分子,也很容易合成。

图4a显示了使用高斯过程(GP)模型对潜在空间表示的优化始终导致分子具有更高的百分位数。

图4b显示了二维PCA表示中从起始分子到最终分子的一次优化路径,最终分子位于高目标值区域。

图4c显示了使用高斯插值沿此优化路径解码的分子。

在使用1000个分子训练的GP模型上执行此优化,可以得到稍宽的分子范围,如图4a所示。由于训练集较小,GP的预测能力较低,在潜在空间中进行优化时,GP会优化到几个局部最小值,而不是全局优化。在难以完全描述分子中所需的所有特征的情况下,使用这种局部优化方法来获得更大的潜在分子多样性可能会更好。

由于文章比较老,当时2017年投稿的,VAE还是火的时候,想法很好,加一个MLP约束分子的潜在分布。

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

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

相关文章

涨点神器:基于Yolov5/Yolov7的小目标性能提升

1.小目标介绍 目标检测近十年涌现了一大批如Faster R-CNN、RetinaNet、YOLO等可以在工业界实用的目标检测方法,但小目标检测性能差的问题至今也没有被完全解决。因为Swin Transformer的提出,COCO test-dev上的 AP 已经刷到64 ,但小目标检测性能(即APS )和大目标检测性能(…

什么是MQTT?mqtt协议和http协议区别

摘要: 什么是MQTT?MQTT(Message Queuing Telemetry Transport)译为:消息队列遥测传输,是一种轻量级的通讯协议,用于在网络上传输消息。MQTT 最初由 IBM 发布,后来成为 OASIS&#xf…

图解LeetCode——138. 复制带随机指针的链表

一、题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。…

研报精选230525

目录 【行业230525中泰证券】半导体行业深度报告:解析英伟达成长的核心战略:研发为底、生态为径、AI为翼 【行业230525西南证券】医药行业周报:行情回暖,持续精选个股 【行业230525国元证券】2023年中期军工行业投资策略&#xff…

2023最系统的网络安全学习路线

什么是网络安全 网络安全是指保护计算机网络及其系统和应用程序的安全性和完整性,防止未经授权的访问、攻击、病毒、恶意软件和其他安全威胁。它是通过技术、管理和教育等综合手段来确保网络信息安全。网络安全包括网络防火墙、入侵检测系统、数据加密、网络访问控…

STM8、STM8S003F3P6 双机串口通信(片上串口)

背景 这里为什么要写串口通信,因为实际项目上使用了串口,STM8S003F3P6的串口简单啊,不值得一提。本文写的串口确实简单,因为这里我想先从简单的写起来,慢慢的把难的引出来。这里呢,做个提纲说明&#xff0…

基于SSM+HTML5的网上跳蚤市场系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 前言…

数据结构-查找(顺序查找与二分查找的讲解与代码实现)

顺序查找概念:从表的另一端开始,一次将记录的关键字和给定值进行比较,若某个记录的关键字和给定的值相等,则查找成功,反之则查找失败。 ASL:平均查找长度 pi查找概率,ci查找次数 eg:序列1&…

kubelet源码分析 status_manager状态管理器篇

kubelet源码分析 status_manager状态管理器篇 右上方的statusManager就是本篇要介绍的内容。上一篇kubelet的sync同步函数也介绍过,这篇内容详细介绍状态管理器的作用。 一、简介 status_manager(状态管理器)是 Kubernetes 中的一个组件&am…

【ONE·C++ || 哈希(二)】

总言 主要介绍哈希运用于unordered系列的上层封装框架与相关运用:位图、布隆过滤器、哈希切割。 文章目录 总言0、思维导图3、封装3.1、基础封装3.1.1、框架结构3.1.2、Inset 1.0 3.2、引入迭代器3.2.1、在迭代器中3.2.2、在哈希表中3.2.3、在unordered上层3.2.4、…

springBoot搭建

这里写目录标题 一、在学习spring Boot之前我们来回顾一下Spring二、Spring Boot介绍 三、Spring Boot开发环境搭配四、Spring Boot核心五、Spring Boot添加模块六、Spring Boot新注解介绍 一、在学习spring Boot之前我们来回顾一下Spring 首先说一下spring的优点: spring是轻…

Wireshark 解密https 数据

默认情况下 wireshark 抓到的https 数据包都是加密后的,无法展示明文内容 方式一 -SSLKEYLOGFILE 变量方式 【推荐,适用各种情况】 配置环境变量 浏览器在访问https 站点的时候会检测这个SSLKEYLOGFILE 变量,如果存在,则将https…

SpringCloud Nacos实战应用

目录 1 Nacos安装1.1 Nacos概要1.2 Nacos架构1.3 Nacos安装1.3.1 Nacos Derby安装1.3.2 Nacos MySQL版安装1.3.3 Docker 安装Nacos 2 Nacos功能应用2.1 Nacos服务注册与发现2.2 负载均衡2.3 配置中心2.4 灰度发布 3 Nacos集群3.1 集群架构3.2 Nacos集群部署3.3 客户端接入Nacos…

c# 依赖注入

依赖注入 文章目录 依赖注入一、.net core主要提供了三种依赖注入的方式二、权重三、如果我们需要注入的对象很多怎么办 一、.net core主要提供了三种依赖注入的方式 AddTransient瞬时模式: 每次请求,都获取一个新的实例。即使同一个请求获取多次也会是…

2022年度互联网平均薪资出炉!高到离谱!

近期,国家统计局发布2022年平均工资数据,互联网行业薪资再次成为大家关注的焦点。 在2022年分行业门类分岗位就业人员年平均工资中,信息传输、软件和信息技术服务业的薪资遥遥领先其他行业,为全国平均薪资水平的 1.78 倍&#xf…

devfreq

devfreq 是指频率电源可以动态调节的设备,可以添加不同设备及不同govvernor ; devfreq 框架和opp(operating performance point) 频率电源对 devices driver 通过 devfreq profile 交互 devfreq_dev_profile include/linux/devfreq.h devfreq_governor 与 dev…

如何用二极管实现不同电压的输出?

利用二极管的单向导电性可以设计出好玩、实用的电路。本文分析限幅电路和钳位电路,是如何用二极管来实现的。 限幅电路 如下图所示,当在正半周期,并且VIN大于等于0.7V,二极管正向导通。此时,VOUT会被钳位在0.7V上。 …

C++11:右值引用 -- 移动构造和移动赋值

目录 一. 左值引用和右值引用的概念和性质 1.1 什么是左值引用和右值引用 1.2 左值引用和右值引用的性质 二. 移动构造和移动赋值 2.1 左值引用的缺陷 2.2 临时对象返回减少拷贝的问题(移动构造和移动赋值) 2.3 C11 STL容器接口的一些变化 三. 完…

【C++进阶之路】手把手教你使用string类的接口

文章目录 前言基本认识基本使用 一.构造函数默认构造函数拷贝构造函数其它构造函数①string(const char* s)②string(size_t n, char c)③string (const string& str, size_t pos, size_t len npos) 二.容量接口①size与length②max_size③capacity④empty⑤clear⑥revers…

Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型

作者:Aris Papadopoulos, Gilad Gal 寻找意义,而不仅仅是文字 我们很高兴地与大家分享,在 8.8 中,Elastic 提供开箱即用的语义搜索。语义搜索旨在根据文本的意图或含义进行搜索,而不是词汇匹配或关键字查询。与传统的…