J Cheminform|使用具有自适应训练数据的GANs搜索新分子

2021-03-18 18:21:59 浏览数 (1)

今天给大家介绍的是美国橡树岭国家实验室的Andrew E. Blanchard等人于2021.2.23发表在Journal of Cheminformatics上的文章Using GANs with adaptive training data to search for new molecules。药物发现的过程涉及到对所有可能的化合物的空间进行搜索,生成对抗网络(GAN)为探索化学空间和优化已知化合物提供了一个有力工具。然而,训练GANs的标准方法可能导致模式崩溃,其中生成器主要产生与训练数据的一小部分密切相关的样本。相反,寻找新化合物需要超越原始数据的探索。在本文中,作者提出了一种训练GANS的方法,它促进增量探索,并利用遗传算法的概念限制模式崩溃的影响。在此方法中,来自生成器的有效样本被用来替换来自训练数据的样本。在替换过程中,作者考虑随机和引导选择以及重组。通过跟踪训练过程中产生的新化合物的数量,结果表明,对训练数据的更新大大优于传统的方法,增加了GANs在药物发现中的潜在应用。

一、研究背景

从材料设计到药物发现,许多具有重要实际应用意义的科学研究都可以看作是对所有可能的化合物的空间的搜索。由于搜索空间的高维性质,对可能的候选进行枚举是不可行的。为了克服这种缺陷,传统的药物发现方法依赖于物理和化学的领域知识来构建合成规则来指导寻找新的化合物。然而,依赖现有的知识来生成规则可能会不必要地限制所探索的化学空间的数量。

近年来,出现了以数据驱动的方法来增强对化学空间的搜索能力,即机器学习。机器学习中的生成模型可以重新创建给定数据集下的分布。在对分布进行建模后,可以绘制扩展原始数据的新样本。其中,生成对抗性网络(GAN)已广泛应用于从图像生成到药物发现的许多应用。

虽然生成模型在寻找新分子方面有许多优点,但一个关键的限制是模式崩溃。若模型分布崩溃,则模型只能覆盖来自训练数据的少数样本。这一限制阻碍了GAN的应用。为了克服模式崩溃,人们已经研究了几种方法,例如更新损失函数以促进多样性。然而,这些方法依赖于与固定的训练数据集的比较,这阻碍了搜索应用。

在这里,作者借鉴了最近的工作,在利用GAN进行小分子发现中引入了一种新的训练方法。作者的方法使用遗传算法的思想,可以通过增量更新训练数据集来增强搜索。由模型生成的新的和有效的分子在训练期间被存储。然后,通过替换策略对训练数据进行更新,可以是有引导的,也可以是随机的。实验结果表明,这种方法可以减轻在标准GAN训练过程中产生新分子减少的情况。此外,作者利用生成的分子和训练数据之间的重组来促进新分子的发现。将替换和重组引入到训练过程中,有助于GAN在药物发现中进行更广泛的搜索。

二、模型与方法

2.1 数据集

模型使用的原始训练数据取自QM9,这是GDB-17化学数据库的一个子集。作者从deepchem上下载数据,然后使用rdkit处理。只有数据集起始的100k个化合物被用于训练。作者修改训练数据以包括分子更大(最多20个原子)的情况时,使用了ZINC数据集的子集。从ZINC下载了SMILES数据,并进行了筛选,以包括10到20个原子之间的分子,这些分子只含有C、N和O原子。起始的10k分子从原始训练数据中替换出起始的10k个条目。最终,训练数据有100k个分子,其中90k来自QM9,10k来自ZINC。

2.2 模型

本文中的GAN使用Pytorch实现,其判别器和生成器由4个全连接层组成。生成器作为输入端接收维度为8的正态分布随机向量。生成器的输出是一个邻接矩阵,其中对角线外的元素指定键序,对角线上的元素指定原子类型。判别器接收邻接矩阵的独热编码形式作为输入,并输出一个实数。作者使用了标准的GAN极大极小损失来训练,并使用学习速率为10的-4次方的Adam优化器进行优化。

2.3 训练数据的更新

所有的模型都每隔5个epoch进行一次训练。在每个epoch中,从生成器中收集10k个样本。新颖且有效的样本在5个epoch内被聚集在一起。然后对原始训练数据应用替换策略(随机或基于药物)。对于随机替换,随机选择和替换当前训练样本。对于基于药物替换,目前的样本按类药性评分的升序排序。只有当新样本的得分高于被替换的样本时,才进行更新。附加指标(即合成可达性和溶解度)使用与类药性相同的更新程序。

对于这两种替换策略,作者也考虑了重组。在重组过程中,10k个生成器样本中的一半使用交叉技术与当前的训练数据相结合。在交叉训练过程中,系统会从当前的训练数据中选择一个样本,并复制到一个新的邻接矩阵中。然后,在1和邻接矩阵的长度之间均匀地随机采样一个整数。从覆盖复制矩阵的同一区域的生成矩阵中得到相应的切片,以产生一个新的候选分子。对于药物替换策略,可以从按药物评分加权的训练集中提取样本。通过对训练数据的当前度量分数进行Softmax来确定权重,然后按照前面所述进行替换。附加指标使用与类药性相同的更新程序。

2.4 度量指标

为了跟踪每个GAN在训练过程中的性能,作者依赖于两个关键指标:产生的新分子的数量和定量评估类药性评分。确定一个分子是否新颖是通过与完整的训练集和产生的分子比较化合物的典范SMILES实现的。使用rdkit为给定的分子生成一个典范SMILES字符串。为了证明这些结果不是只考虑了类药性的唯一结果,作者在运行中还包括了选择合成可达性和溶解度。附加的分析指标都是使用来自rdkit的内置功能计算的。通过生成的摩根指纹并使用Tanimoto相似性(以及相应的距离)来计算分子之间的相似性。

三、实验结果

作者首先考虑对QM9的训练集不重组而进行替换。在这种情况下,有三种不同类型的训练:控制替换、随机替换、药物替换。对于控制替换,在对GAN进行训练时,训练数据将是固定的。对于随机替换,训练数据会由生成的分子进行更新。对于药物替换,训练数据只通过在类药性评分上优于当前样本的生成分子来更新。如图1所示。控制替换在初始阶段产生新的分子,但很快达到一个平台。这符合预期,因为生成器只学习固定的训练数据,所产生的新分子的数量会渐渐减少。对于随机替换和药物替换,GAN随着训练数据的更新,在整个训练期间继续产生新的分子。

图1. 不同训练策略下产生新分子的情况

虽然产生的新分子的数量是药物发现的一个重要指标,但当优化某些特征时(例如类药性),生成分子的质量也很关键。如图1b所示,药物训练能够产生最优秀的表现,即使它产生的新分子比随机的少。在这里,作者定义Top Performers为类药性分数超过阈值0.6的分子,对应于在以前类似的工作中优化分子的近似平均值。对于其他度量方式,实验也显示了类似的结果。

除了选择/替换之外,遗传算法中引入多样性到种群中的另一个常见机制是重组。作者将重组引入到了方法中,从生成的分子中提取一半并与当前的训练数据中的样本进行交叉。如图2a所示。从图中可以观察到与不重组情况相同的层次结构。然而,重组确实增加了产生的新分子的绝对数量。新分子的增加也带来了更多的Top Performers。图3展示了6个Top Performers的例子。

图2. 引入重组后不同训练策略下产生新分子的情况

图3. Top Performers的例子。Drug:类药性评分,Synth:综合性评分

引导训练数据替换和重组的成功(相比于控制替换超过10倍的改进)促使作者将他们的方法应用于更现实的药物发现数据集。因此,作者将训练过程扩展到具有至多20个原子的分子,并从ZINC环数据集中添加了10k分子。实验结果(图4)表明,相比传统的GAN搜索,作者的方法再次获得了一个巨大的改进,获得新分子的数量提高了一个数量级。此外,药物相似性分数的分布也发生了重大改变,高评分的化合物数量增加。

图4. 使用至多20个原子的数据集训练的实验结果

四、总结

生成式机器学习模型,包括GAN,是探索所需新分子的化学空间的有力工具。在这里,作者提出了一个策略,使用增量更新的数据以促进搜索超越原来的训练集。作者的方法建立在遗传算法中常见的选择和重组概念的基础上,可以看作是实现了典型的人工突变规则的自动化。实验结果表明,对数据的更新可以使更多的化合物能够被探索,与固定训练集相比,产生的高性能分子显著增加。


参考文献

Blanchard, A.E., Stanley, C. & Bhowmik, D. Using GANs with adaptive training data to search for new molecules. J Cheminform 13, 14 (2021).

https://doi.org/10.1186/s13321-021-00494-3

0 人点赞