文献学习1-Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules

可能是因为背景知识了解的太少,本来只是想整理一下思路,记记不懂的地方的,不知不觉几乎变成一篇翻译了QAQ。最后一段METHODS实在是一个字都看不懂,就不放出来了。这篇里应该有很多错误,有大神发现的话一定要戳戳我,感谢~

摘要:

作者找到了一种可以把分子的离散表示(例如本文的SMILES表示方法)和多维连续表示相互转换的方法,这可以用来在开放式化合物空间中产生新分子。

一个深度的神经网络经训练可以实现三个耦合功能:

  1. 编码。将分子的离散表示转换为实型连续向量。
  2. 解码。从实行连续向量转换为离散表示。
  3. 预测。从潜在连续向量中估计分子的化学性质。

关于多维连续表示的一些性质:

  1. 可以通过在潜在空间做一些简单的操作来自动获得index化学结构。
  2. 允许使用基于梯度的优化来知道优化功能化合物的搜索。

本文通过对类药分子和一组少于9个重原子的分子来证明他们的方法

介绍

要想找到具有理想的定量的性质的分子是很困难的,因为可搜索的空间太大了,潜在的、具有类药性的分子太多,而事实上目前为止真正合成的物质相比起来少之又少。
虚拟筛选是一个加快搜索的好方法,在投入正式实验之前,可以把候选药物用法基于训练了的代理模型的第一性模拟和统计预测来试验一下。但是,即使如此,计算分子的设计还是被搜索策略所限制。
当前的搜索策略有:

  1. 搜索固定库。但固定库是单块的,搜索代价高昂,而且为了避免不合实际的化学反应,需要人工制定规则。
  2. 离散的局部搜索方法——遗传方法。需要人工制定突变和交叉规则的启发法。
  3. 离散的局部搜索方法——离散插值方法。它因为不允许用梯度方法搜索,所以难以搜索大空间。

一个连续的、数据驱动的、可以转换为机器可读分子的分子表示方法诸多优点:

  1. 不需要手写突变规则,因为我们可以用修改向量并解码的方式获得新化合物。
  2. 如果建立了一个可微分的模型,将分子表示映射到所需性质,就可以用基于梯度的优化。
  3. 可以用未标记的大量化合物建立一个隐式库,再用已标记的化合物建立一个从分子表示到所需性质的模型。这样我们就可以利用由未标记化合物生成的库了。

我们可以把近期机器学习的成果——概率生成模型经训练后可以产生逼真的合成样本,而且模型还可以生成建模数据的低维连续表示,从而可以用插值、类比推理等方法——应用到化学设计中。我们应用一对训练成为自动编码器的深层网络,把分子的SMILE方法表示(事实上我们可以采取任意表示方法,但是SMILE方法可以轻松地转换为分子)转换成连续向量表示。
现在有了分子连续向量表示,就可以用连续优化的方法来生成新分子。我们基于属性预测任务来联合训练自动编码器:添加一个多层感知器,可以预测属性值,并且把回归误差包含在损失函数中。然后我们检查联合训练对潜在空间的影响,并测试了这种优化。

表示法和自动编码器框架

自动编码器分为把字符串转换为固定长度向量的“编码器”和执行逆过程的“解码器”。自动编码器要最小化解码的误差,因此它要学习身份功能。自动解码器的关键在于用信息瓶颈(在这里也就是固定长度向量)来映射字符串。信息瓶颈诱导网络学习一种压缩的表示方法,这种表示方法捕获了数据中最显著的信息。(这段指的是解码过程吗?) 我们把用向量表示的分子(vector-encoded molecule)称作分子的潜在表示(latent representation of the molecule)。(continuous molecular representation和latent representation是一个东西吗,还是说前者经过一些处理之后才会变成后者?)
为了可以在潜在空间进行无限制的优化,必须把潜在空间中的点解码,成为捕获了训练数据中的化学性质的SMILES字符串。否则 (是指没有捕获训练数据中的化学性质吗?) ,自动编码器学习得到的潜在空间就会很稀疏并且包含巨大的“死区”——即解码得到的SMILES字符串无效。为了确保潜在空间的点都能解码有效,我们使用变分自动解码器(VAE)框架。

VAE框架:

  1. 概括了自动编码器。
  2. 给编码器添加了随机性。
  3. 结合惩罚项鼓励了潜在空间的所有区域都与有效解码对应。

直觉上,因为给编码的分子增加了随机性(noise),我们要求解码器可以解码更大范围的潜在的点,也要求表示方法有更强的鲁棒性。
既有的研究成果:

  1. Bowman的带有递归神经网络编码/解码的VAE;
  2. 用于文本建模的序列-序列自动编码器(为了利用它,我们采用了常用于对有机分子进行文本编码的SMILES表示方法。事实上我们还测试了InChi不过效果不佳。)

SMILES表示方法有个特点叫做character-by-character(逐字),再加上脆弱的语法,即使有变差约束,也有可能会解码产生无效的分子。我们的做法是这样的(虽然直接把自动编码器设置为只能产生有效字符更加有效率,但是这种方法的优势是,此后步骤更加轻量级,而且自动编码器在学习SMILE体系结构方面有更大的灵活性):

  1. 解码时,解码器从字符串最后一层产生的每个位置的字符的概率分布中采样。(…放弃理解。)这样,单个潜在空间表示中就可以诞生出多个SMILES字符串。
  2. 使用开源化学信息学套件RDKit来验证输出分子(应该是指SMILE表示)的化学结构,并且丢掉无效分子。

关于预测器

接下来谈谈预测器。我们要找到连续表示形式和所需性质的联系,因此引入了多层感知器(MLP),它可以根据编码分子(encoded molecule)的潜在向量(latent vector)(我一直以为encoded molecule就是latent vector来着QAQ) 来预测性质。我们要做的是在自动编码器上添加多层感知器,然后在重建任务和属性预测任务上联合训练自动编码器。

我们基于属性预测任务来联合训练自动编码器:添加一个多层感知器,可以预测属性值,并且把回归误差包含在损失函数中。(这是之前提到过的)

为了提出有前途的新候选分子,我们从一个向量开始,然后向最有可能改进所需性质的方向移动,得到新的候选向量。候选向量解码得到候选分子。
在这里插入图片描述
这就是基于梯度的优化方法的示意图——前面提到,连续性的表示有一个优点就是可以运用基于梯度的优化方法。z是潜在表示,f(z)是从潜在表示到性质的映射。我们关于z优化f(z)直到所需性质达到最高值,然后解码z获得分子的SMILES表示。
多层感知器(MLP)是用来判断f(z)是否达到最大值的吗?

关于两个自动编码器
我们训练两个自动编码器,一个是包含108000分子的QM9数据集(其中的分子的重原子数少于9个),一个是从ZINC数据库中随机提取250000个可商购的类药分子。我们对超参数进行随机优化。
超参数决定了自动编码器的深层体系结构,包括:

  1. 对循环/卷积编码器的选择
  2. 隐藏层数
  3. 层的大小
  4. 正则化
  5. 学习率
    QM9和ZINC的潜在空间分别有156个维度和196个维度。
    概要中提到,要用这两个自动编码器来证明作者的方法。

结果和讨论

潜在空间中分子的表示

首先,我们要分析自动编码器的保真度和潜在空间捕获分子结构特征的能力。
下图是解码5000个训练集外部的、随机选择的ZINC分子时,每个潜在维度的核密度估计。可以看到,虽然在均值和标准差上略有不同,总的来说数据点在各维度上呈正态分布——在变分正则化器的作用下。
在这里插入图片描述
变分自动编码器是一个双概率模型(之前提到,是一个被开发为潜在变量模型的原则近似推论方法,虽然我不知道这两种说法是否有联系):

  1. 在编码器中添加了高斯噪声。这是可以通过采样编码分布的均值来关闭的。
  2. 从潜在空间中某个点解码得到的字符串也是随机的。这是因为字符串由解码器最后一层采样得到。

在这里插入图片描述
这张图描述了一个FDA批准的样本药物分子的潜在表示解码的不同可能。左轴柱体是频率,右轴横线是分子与原始点的距离。虽然这张图只是一个分子的潜在表示,但绝大多数的潜在点都是这样: 多数情况下解码得一个最突出分子,其他变种出现频率低,且重编码时最高频的分子与原始点之间的欧几里得距离最小。这表明潜在空间确实捕获了分子的特性。
在这里插入图片描述
上图是潜在空间中,靠近布洛芬分子位置采样的分子。分子下面的数字是潜在空间中解码分子到布洛芬的距离。这些结构变得与增加潜在空间中的距离不太相似。当距离接近训练集中分子的平均距离时,变化会更加明显,最终类似于可能从训练集中采样的随机分子。(…)
文献中似乎有一张SI Figure 1d展示了从ZINC训练集中随机抽取的50000个点,它们在潜在空间中距离的分布(但是我找不到啊真的存在这张图吗QAQ)。给定已知的种子分子,我们可以找到30个潜在空间中距离最近的分子。因此,我们估计用25万ZINC中分子训练的自动编码器可以编码大约750万分子。(750w=25w*30,但是为什么会有这种关系呢)
最后得到的结论是,解码的概率取决于这个点与其他点在潜在空间中的距离,与已知点近的点解码率更大。

梳理一下可能是这样,对每个种子分子,找30个离它最近的点,这些点用来训练自动编码器。训练得到自动编码器后,发现如果分子离种子分子更近的话,解码率就越高。

连续的潜在空间可以用插值,但是线性插值是不合适的。在高维空间中,欧几里得距离的大小不能直接反映分子相似性。在一个独立的正态分布的随机变量中,大部分的质量并不分布在均值上,而是在均值附近的圆环上。此时如果线性插值,就有可能经过低概率区域。为了保证在高概率区域采样,我们采用球面插值(slerp)——在球面插值中,两个分子之间的路径是一个N维球面上的圆弧。
下图是在潜在空间中两个分子间使用6个等距的球面插值的结果。
在这里插入图片描述
下图比较了基本遗传算法(GA)和变分自动编码器(VAE)产生的分子的化学性质分布。基本遗传算法中,分子是由人工制定的规则产生的,这一过程以1000个ZINC数据集中的随机分子为种子,在10次迭代后产生。VAE方法中,以同样的1000个分子为种子,经过编码和400种解码尝试 (存疑) 后产生分子。
第一列为分子来源,data即最原始数据集;第二列为使用的数据集;第三列是参与比较的样本数量;第四列~第六列为水辛醇分配系数、综合可及性得分和药物相似性的定量估计。倒数第二列:有多少分子存在于ZINC数据集(训练集从中选取)中。(只有前三行才算是训练集从中选取吧?) 最后一列:有多少分子是存在于现有的有机化合物库中的。
在这里插入图片描述
有一张(也并没有找到的)SI3 Figure 2展示了这六种方法产生的分子的化学性质分布。结果如下:

  1. 虽然VAE无关于化学性质仅由SMILES字符串训练产生,但它确实可以生成外观逼真的、符合训练集固有分布的分子。VAE产生的分子相比起GA产生的分子,在化学性质上与原始数据集(Data)更相近。
  2. 在类药分子方面,VAE会产生遵循训练数据分布的分子,而且因为组合空间很大且训练集是任意子样本,可以产生新分子。相比之下,GA更难产生新分子,而且有更高的化学复杂性和更低的类药性(QED)。
  3. 对于QM9数据集,因为组合空间更小了,训练集覆盖的范围更大,VAE产生与训练数据基本相同的统计信息。

分子的性质预测

纯生成模型的扩展——与自动编码器一起训练了一个多层感知器,用来从每个分子的潜在表示中预测分子性质。此时分子在潜在空间的分布是由性质值组织的。
下图是自动编码器产生的分子在潜在空间的二维主成分分析。第一列是未经过预测训练的;第二列是经过预测训练的;第三列是经过预测训练的自动编码器的潜在空间中的随机点。(没怎么明白第二列和第三列的区别呀) 前三行的训练集来自ZINC数据集;后三行来自QM9。两个轴是由主成分分析选择的两个主要成分。右边色块表示不同值显示的颜色。 可以看到在后两列中是有色块分层现象的——属性值高的分子分布在一个区域;属性值低的分子分布在另一个区域。
在这里插入图片描述
现在我们来比较预测器与其他标准模型在性质预测上的差别,为了更公平,我们把把感知器的规模扩大到两层,每层1000个神经。
下图比较了常用分子嵌入和VAE模型的性能,标题为“在ZINC和QM9数据集上,使用各种方法进行属性的MAE预测 的误差
在这里插入图片描述
倒数第三列是作预测器输入的1-hot-SMILES,倒数第二列是无解码器丢失情况下训练的网络,最后一列是全面的、针对个别属性进行了培训的VAE网络。
从中可以得出:

  1. VAE模型表现出电子特性的预测性能(如轨道能量)与一些性质的图卷积相似。(对应的是GC和VAE列吗?)
  2. 进一步的超参数优化可以提高预测的精准性。(是从图上得出的吗?)

通过属性优化分子

接下来我们在潜在空间中,优化由经过预测训练的自动编码器产生的分子。为了创造一个更平滑的环境,我们用高斯过程模型对属性预测器进行建模。 完成训练的高斯过程可以根据潜在空间表示来预测分子性质。高斯预测模型的特质:

  1. 可以用来预测任何平滑连续函数
  2. 很轻量级,在几分钟之内就能由数千个分子的数据集完成训练。

我们选择2000个具有最大多样性的分子来训练高斯过程,再用这个模型来优化使达到目标最大化。作为基准,加入高斯随机搜索和基因算法产生的分子参与比较。
我们的目标为5*QED-SAS。QED(quantitative estimation of drug-likeness)即类药性的定量估计,SAS(synthetic accessibility)即综合可及性得分。这个值最大化的过程,也就是寻找类药且易合成的分子的过程。(这样说来,综合可及性得分越低,越容易合成?)
为了给优化增加难度,我们从ZINC数据集中随机选择目标得分为10%的分子开始。下图是不同方法产生的分子的得分分布,为了抵消计算量的区别,随机搜索进行了400次迭代,而优化算法只进行200次迭代。图中可以看出,VAE的得分始终更高,而且训练集规模越大得分越高。
在这里插入图片描述
下图是从起始分子到最后分子的优化过程的二维PCA展示。图中的的点是每一次优化的起点和终点,颜色代表目标函数的值。
在这里插入图片描述
上图中的黑线就是描述了下图的过程,用恒定步长在起始分子和最后分子之间进行球面插值(高斯插值)。
在这里插入图片描述
如果用于优化的是一个仅由1000分子训练而成的GP模型,那么得到的分子的范围会更广一些,这是因为在训练集偏小的情况下,优化只能达到局部最小而不是全局最小。这也是有好处的,因为我们很难彻底确定我们的目标特征是什么,这种局部优化可以带来更大的多样性。

总结

这篇文章提出的方法避免了手写化合物库,允许新型的、基于梯度的定向搜索方法。在我们的自动编码器模型中,我们观察到了高的保真度(通过SMILES字符串的重构)和捕获训练集特征的能力。进行了预测训练得自动编码器有很精准的性质预测能力,而且可以在所得平滑潜在空间中进行基于梯度的优化。
还有一些地方可以继续优化我们的方法。我们一直用的是基于文本的分子编码(之前提到,既有的研究成果有用于文本建模的序列-序列自动编码器——为了利用它,我们采用了常用于对有机分子进行文本编码的SMILES表示方法。事实上我们还测试了InChi不过效果不佳。)如果换用基于图的自动编码器会有些好处。强制使解码器只能产生有效的SMILE字符串使学习任务不再艰难,因为此时解码器必须隐式地学会判断哪些分子是有效的。
直接输出分子图的自动编码器(应该就是基于图的自动编码器)可以显式地解决:

  1. 图同构问题。
  2. 字符串不与有效分子图对应的问题。(就是不能确保生成的SMILE字符串有效?)

要构造一个这样的编码器,可以直接使用现成的分子指纹方法,如ECFP或ECFP的连续参数变化体(如神经分子指纹)。但是构造一个可以输出任意图的神经网络是一个开放性问题。
进一步的优化是给SMILES使用显式定义的语法而不是强制模型去学习一种语法或者主动学习有效序列。这个优化正在进行中,因为它使对抗网络的应用。
多项正在进行的工作探索了将长短期记忆网络和递归网络应用到SMILES字符串中,来产生新分子和预测有机化学生成物的技术。
有一个问题,就是自动编码器有时会产生一些分子,它们形式上在图上有效,但是包含一些处出于稳定性和合成限制考虑而不希望包含的部分。一个解决方法是训练自动编码器,使它能够预测一类属性,这种属性是关于其它结构约束的空间约束的。(?) 总的来说,要优化的目标函数要捕获尽可能多的所需特征,并且保持它们的平衡,以确保优化器专注于真正需要的化合物,这个方法也正在测试。


补充:

1.SMILES

SMILES(Simplified molecular input line entry specification),简化分子线性输入规范,是一种用ASCII字符串明确描述分子结构的规范。

chemical fingerprints

将分子转换成0&1

2.虚拟筛选

虚拟筛选(virtual screening,VS)也称计算机筛选,即在进行生物活性筛选之前,利用计算机上的分子对接软件模拟目标靶点与候选药物之间的相互作用,计算两者之间的亲和力大小,以降低实际筛选化合物数目,同时提高先导化合物发现效率。

virtual library

用于虚拟筛选的库 (存疑)

第一性原理

根据原子核和电子相互作用的原理及其基本运动规律,运用量子力学原理,从具体要求出发,经过一些近似处理后直接求解薛定谔方程的算法,习惯上称为第一性原理 。
看起来运用第一性原理计算就像是《药物设计学》中介绍的从头计算法。

代理模型

为了调整函数的参数,需要进行很多次的模拟,成本巨大。因此采用输出几乎相同的代理模型,只关注输入和输出,中间的过程是黑箱。

3.化学空间

将分子转换成一个个分子描述符,并用这些数值构成一个点,众多分子的点构成化学空间。

遗传算法

一种模拟达尔文进化论的计算模型。

4.标记化合物

是用放射性核素或稳定核素取代化合物分子中的一个或几个原子,使之能被识别并可用作示踪剂的化合物。

5.生成模型

指能够随机生成观测数据的模型。

6.多层感知器

多层感知器(MLP,Multilayer Perceptron)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上。
在这里插入图片描述

identity function

恒等函数,输入和输出相等。

VAE

建立在神经网络的基础上,而且可以进行随机梯度优化。
idea:对于一个目标概率分布,给定任何一种概率分布,总存在一个可微的可测函数,将其映射到另一种概率分布,使得这种概率分布与目标的概率分布任意的接近。

VAE与GAN的差异性

例如,给定一组猫脸的照片,希望通过一个给定的任意n维向量输出一张猫脸的照片。
GAN:拟合出猫脸照片对向量的分布。
VAE:n维向量表示n个决定猫脸的隐性因素,每个隐性因素都对应一种分布,在这些分布中进行采样,通过一个深度网络恢复出最终猫脸。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值