一. 代码
1. Run Code
https://github.com/jkwang93/MCMG
1.1 prior_Transformer
1.python 1_train_prior_Transformer.py --train-data {your_training_data_path} --valid-data {your_valid_data_path} --save-prior-path {path_to_save_prior_model}
average epoch loss: 0.2151013611022521
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 96/96 [00:18<00:00, 5.13it/s]
EarlyStopping counter: 4 out of 5
Val Loss: 0.2401888819100956
Epoch 59 step 200 loss: 0.21
Epoch 59 step 400 loss: 0.23
Epoch 59 step 600 loss: 0.22
Epoch 59 step 800 loss: 0.21
100%|█████████████████████████████████████████████████████████████████████████████████████████████| 864/864 [06:10<00:00, 2.33it/s]
average epoch loss: 0.2145899368657006
100%|███████████████████████████████████████████████████████████████████████████████████████████████| 96/96 [00:18<00:00, 5.19it/s]
EarlyStopping counter: 5 out of 5
Early stopping
### 1.2 generator_Transformer.
python 2_generator_Transformer.py --prior {piror_model_path} --save_molecules_path {save_molecules_path}**
step: 487
step: 488
step: 489
step: 490
step: 491
step: 492
step: 493
step: 494
step: 495
step: 496
step: 497
step: 498
step: 499
1.3 middle_model_dm
python 3_train_middle_model_dm.py --train-data {your_training_data_path} --save-middle-path {path_to_save_middle_model}**
python /home/huangjiehui/Project/AIProtein/StructuralReconstruction/COMs/NMI2021_MCMG2D/3_train_middle_model_dm.py --train-data “/home/huangjiehui/Project/AIProtein/StructuralReconstruction/COMs/NMI2021_MCMG2D/data/drd2/drd_train.csv” --save-middle-path “/home/huangjiehui/Project/AIProtein/StructuralReconstruction/COMs/NMI2021_MCMG2D/data/DM.ckpt”
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 6500/6912 [29:47<01:56, 3.53it/s]tensor(21.0344)
Epoch 8 step 6500 loss: 21.03
94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 6500/6912 [29:47<01:56, 3.53it/s]batch is: 128
not_DBrD2low_QEDgood_SACc1ccc(N(CC(=O)NN=Cc2cccc3nsnc23)C©C)c(Br)c1
not_DBrD2low_QEDgood_SAClc1cccc(Cl)c1Cc1nc2cc(Br)c(Br)cc2[nH]1
not_DBrD2high_QEDgood_SACN1CCN(C(=O)COc2ccc(S(=O)(=O)CC(=O)Nc3ccc(C©=O)cc3)cc2)CC1
not_DBrD2low_QEDgood_SACOc1ccc(C©=O)cc1C=CC(=O)c1cc(C(=O)C=C(O)C(=O)O)ccc1O
not_DBrD2high_QEDgood_SACOc1cccc(-c2nn©c3sccc23)c1
0.0% valid SMILES
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6912/6912 [31:41<00:00, 3.64it/s]
1.4 agent_save_smiles
python 4_train_agent_save_smiles.py --num-steps 5000 --batch-size 128 --middle {path_of_middle_model} --agent {path_to_save_agent_model} —save-file-path{save_smiles}
2. Code Interprase
二. 摘要
基于机器学习的生成模型可以从头开始产生具有理想物理化学和药理特性的新分子。已经提出了许多优秀的生成模型,但对大多数现有模型来说,分子生成任务中的多目标优化仍然相当具有挑战性。在这里,我们提出了多约束分子生成(MCMG)方法,该方法可以通过知识蒸馏将条件变压器和强化学习算法相结合来满足多个约束。使用条件变压器通过高效学习并将结构-属性关系纳入有偏见的生成过程来训练分子生成模型。然后使用知识蒸馏模型来降低模型的复杂性,以便通过强化学习有效地对其进行微调,并增强生成分子的结构多样性。正如一套全面的基准所表明的那样,MCMG是一种非常有效的方法,可以穿越大而复杂的化学空间,以寻找满足多种属性限制的新型化合物
三. 引言
在机器学习预测的帮助下开发生物活性化合物已成为许多现代药物发现运动的关键组成部分。基于机器学习的de novo药物设计方法(包括分子生成)如果可以加速发现和/或优化具有理想治疗效果的新型配体,则非常有吸引力。这个自动化设计的崇高目标距离成为主流实践还有几年时间。主要障碍是药物设计本质上是一个多约束的优化过程1-12;例如,铅化合物必须对一个或多个预期目标表现出强烈和特定的结合,高药物相似性,低毒性等。除了这些期望外,我们还需要一个机器学习模型,以最大限度地发挥其输出的多样性和新颖性(即更多样化和新颖的分子结构)。这些严格且有时相互冲突的需求需要不断开发新技术,以进一步提高药物发现计划的成功率。
自2016年首次应用自动编码器于2018年正式发布以来10,13,过去几年来,已经开发并定制了各种基于机器学习的生成模型,用于de novo设计。许多令人鼓舞的结果令人信服地证明了这些方法的潜力14-16。一些机器学习框架和模型——如基于序列的循环神经网络(RNN)17-26、变分自动编码器(VAE)13-15、27-34、强化学习(RL)和生成对抗网络16,35-39——被认为在提供有前途的铅化合物方面特别有效;然而,药物发现的多目标性质要求比这些早期模型所能提供的要高。为了应对具有挑战性的多约束优化任务,提出了新一代模型,其中将条件令牌引入模型训练中,以构建条件生成模型27,33,40,41,在训练后应用贝叶斯优化42(以及包含开发-探索权衡机制的类似搜索策略),从经过训练的生成模型(如VAE13,28,32)中找到潜在空间中的所需区域,或使用RL和生成对抗网络26,39,43-45来微调模型,以诱导对输出分布的偏差14,25,26,36-39
直接产生生物活性分子的基本困难基本上可以通过在干草堆中找到针头的类比来理解。这些生物活性分子不仅代表了可进入化学空间中几乎可以忽略不计的部分,而且还形成了小簇,稀疏地散布在空间的不同角落。如前所述,结构多样性和新颖性等额外要求进一步加剧了这一挑战。这些条件共同意味着一个理想的模型应该有效地穿越化学空间的遥远区域。强化学习可用于微调生成模型的参数,以引导自由参数空间走向具有生物活性等最佳目标函数值的集合。
虽然RL(在QSAR模型或其他预测方法的反馈指导下)已被证实能够找到一组高度多样化的生物活性分子,但通过有回报的训练来学习这些模式仍然需要大量的优化步骤。为了缓解RL的低效率,Blaschke等人46使用转移学习来快速关注化学空间中的某些区域,前提是您可以访问一组生物活性化合物的示例。在RL优化过程之前,他们使用RNN模型作为预训练模型,然后用已知的活性分子对其进行再训练。在这个框架下,在RL处理微调工作之前,模型的输出分布已经偏向于给定的一组所需的分子。在这种情况下,不出所料,RL通常在较少的培训下确定化学空间中对分子特性有特定要求的合适地点;然而,根据转移学习的进行方式,可以进行某些权衡。潜在的副作用是可访问化学空间的显著收缩,使模型沉降到局部最佳状态,这意味着生成的分子往往与转移学习训练集中的化合物更相似
我们着手应对以下挑战:通过在多约束任务中对生成模型进行先决条件,同时不影响其输出多样性,提高分子生成模型输出理想分子的效率。为此,我们提出了一种名为多约束分子生成(MCMG)的新型分子生成方法。首先,使用条件变压器47来构建生成模型,因为它在自然语言处理中具有优异的性能。分子可以用简化的分子输入线输入系统(SMILES)表示,该系统被视为一种化学语言;因此,条件变压器可用于自然生成SMILES。然后使用知识蒸馏模型来降低模型的复杂性,以便RL可以有效地对其进行微调,RL最初提议将从大型模型或多个模型集成中学到的知识转移到另一个轻量级模型中,以便快速部署。这种蒸馏方法还可以大大提高生成分子的结构多样性。我们在两个评估方案下对MCMG进行了彻底调查和基准测试。MCMG展示了在多任务受限生成任务中的卓越能力。与现有基线相比,MCMG在所有实验中都取得了优异的性能,在相同的条件下,它可以产生更多具有理想性能的分子。此外,生成的分子具有更高的结构多样性,并具有更多类型的脚手架
四. 结果和讨论
1. MCMG方法
如图1a所示,MCMG由三个基本子模型组成。第一个模型是一个初始阶段模型,称为先前模型(图1b)。第二个模型是基于RNN的蒸馏模型(图1c),我们尝试了两种不同的知识蒸馏方法:蒸馏可能性(DL)和蒸馏分子(DM)。最后一个是由RL微调的代理模型(图1d)。我们通过引入条件令牌,在先前的模型中施加了第一个约束。对于条件模型,重建化学空间上的采样分布通常在几个区域周围达到高度峰值。为了缓解这个问题,我们采用了定制的模型蒸馏协议,可以抹去分布,并产生更多的多样性和新颖性。最后,我们使用RL再次重新调整了模型,希望在化学空间中发现更合适的区域,这些区域要么可以被忽视(如果我们隐喻地将条件化学空间视为热图,更像是被热点遮蔽的冷点),要么没有被条件变压器完全捕获
图1. MCMg的架构。a,MCMG方法的工作流程。b,先前模型的架构。c,两种不同蒸馏方法的训练过程。d,RL的优化过程。
2. 条件变压器相对于条件RNN的优势
鉴于变压器在自然语言处理领域的优异性能,它被采纳为现有模型。事实上,我们验证了条件变压器能够比条件RNN更好地捕获和利用生成任务的结构-属性关系。为了验证生成分子的更高质量,我们建立了一个条件RNN(c-RNN),就像我们的条件变压器(c-变压器)一样,在训练中添加条件令牌。我们的首要任务是比较RNN、c-RNN和c-transformer,以确定哪个模型更适合用作聚焦的先前模型
让我们以任务2为例来说明我们的发现。我们首先从每个模型中训练和采样了5000个分子,然后将MOSES评估指标应用于表1前三行给出的综合基准。我们发现,无条件RNN不能同时产生具有所有四个约束的分子。如果直接使用RL算法来微调这个基于RNN的分子生成模型,RL代理将难以将概率分布偏向所需的分子集。另一方面,RL代理应该更容易地微调预置的先前模型。
如表1所示,与c-RNN相比,c-transformer在有效性和成功方面具有巨大的领先地位,而c-transformer和c-RNN基本上与其他四个评估指标(即SNN、Frag、Novelty和IntDiv)相关联。C-变换器在条件分子世代中的总体表现更好。变形金刚不依赖过去的隐藏状态来捕获对前几个单词的依赖项,而是作为一个整体处理一个句子,以允许并行计算,减少训练时间并减少因长期依赖而导致的性能下降;因此,c-变压器可以捕获比c-RNN更多的信息。补充图1中的四个不同面板分别列出了四个属性约束的生成分子分布。
表1 | c-变压器、c-rNN、先前模型和蒸馏模型生成的分子的MOSeS评估指标
3. 蒸馏模型的性能
接下来,我们分析了两种不同的方法(DL和DM),以提炼突出的先前模型。同样,每个模型对5000个分子进行了采样进行评估。表1的最后三行列出了两个蒸馏模型和先前模型生成的分子的MOSES评估指标。显然,DL在各个方面的表现几乎与之前的模型相同。这并不奇怪,因为DL模型应该严格学习方程(3)中定义的可能性函数。
然而,DM模型的行为大不相同。生成的分子满足所有四个约束的成功率急剧下降,但这并不意味着DM模型无法选择首选分子(只是没有那么多同时满足四个约束)。虽然DM的成功率较低,但另外两个重要属性(即Frag和IntDiv)得到了显著改善。补充图2显示了先前模型和两个蒸馏模型生成的分子的四个属性的分布。
4. 蒸馏模型的分布
我们发现,DM模型产生的分子分布不同于上述其他模型生成的分子分布。事实上,我们确认DM模型重建的化学空间比DL模型大得多。然后,我们遵循了Blaschke等人46和Tripp等人48报告的研究,绘制了类似的数字来可视化化学空间。如图2a所示,我们假设整个椭圆是一个无条件的化学空间,蓝色空间是DL的重建化学空间,绿色空间是DM的重建化学空间,红点代表包含所需分子的区域。可以看出,蓝色空间比绿色空间紧凑得多。由于蓝色空间中红点的密度很高,RL很容易优化DL模型,并在几步内达到局部最佳值。绿地相对较大,而红点的存在没有那么密集(与蓝空间相比),但红点的总体密度仍然相对高于分布在整个无条件空间上的红点。因此,RL还可以有效地微调DM模型,以识别更大的绿地中有前途的区域。更广泛的化学空间支持更高的分子多样性。
为了证实上述猜想,我们对5000个分子进行了采样,并评估了以下每个模型的平均负对数似然(NLL):RNN、DM、DL和半DM。较小的平均NLL意味着生成的SMILES序列中的随机性更小,这意味着生成模型重建的变异性更小,化学空间更受限。如图2d所示,DL分布的NLL在光谱的下端达到峰值,因此其重建的化学空间最小,趋势紧随其后的是DM、Semi-DM和RNN。在以下实验中,我们将进一步阐述DM和半DM模型及其更大的重建化学空间带来的好处。
4.1 评估设置1
我们首先报告了评估设置1(实验1)下两项实验任务的基准研究,即建立和保存最佳分子生成模型。图2b说明了这个过程。此评估设置的目标是使用RL找到化学空间中的最佳区域;区域的大小和位置可以通过RL进行调整。
图2 | 化学空间的插图和评估设置的结果1.a,DL(蓝色)和DM(绿色)的化学空间。红色区域是包含具有理想性质的分子的理想区域。b,评估设置1的示例,旨在找到面积(橙色),以最大化理想区域(红色)的密度。c,评估设置2的示例,旨在在优化过程中收集理想的分子。d,模型采样的平均NLL的分布。左:任务1的分布。右:任务2的分布。e,生成的唯一成功分子数量与任务1(左)和2(右)中优化步骤数量之间的关系。x轴表示RL优化步骤的数量,而y轴表示唯一成功分子的数量。
我们介绍了每个模型的最佳优化实例(在培训期间的最高成功率方面)的性能。更准确地说,表2和补充表1分别报告了每个模型为任务1和2生成的5000个分子的评估。对于任务1,我们发现除REINVENT外,所有模型的成功率(超过90%)都表现都非常好;然而,表现相对较差的REINVENT取得了坚实的结果,成功率为79.46%。虽然表现最好的MCMG可能性(MCMGL)的成功率接近100%,但该模型遇到了表2上半部分新颖性指标所揭示的问题。我们发现REINVENT 2.0也存在类似的问题。
在方法的“基准”部分解释说,新颖性(在条件指标中)是通过比较训练集中成功分子和正分子(满足所有四个约束)之间的相似性给出的。由于DRD2数据集包含大量活性分子(2,665),所有模型都难以提出与现有活性分子充分不同的分子;然而,这个问题对REINVENT2.0和MCMGL来说尤为严重。由于使用转移学习,REINVENT2.0产生的分子与训练集中的分子非常相似,并导致低新颖性。在Div方面,REINVENT2.0和MCMGL的表现相似,但表现不佳于其他三个基准模型。虽然REINVENT2.0和MCMGL的成功率都相当高,但它们对新颖性的表现不佳,这意味着这些模型的实际优势非常有限。
由于这一观察,真正的成功——定义为满足这些限制的生成的唯一成功分子的百分比——似乎是评估分子生成模型有用性的更令人信服的指标。成功与实际成功的区别为MCMGL和REINVENT2.0的问题提供了另一种观点。
在任务2中,我们又包括了一些基线进行比较。任务2比任务1更具挑战性。如补充表1所示,任务1中使用的所有模型的成功率都有所下降。REINVENT的成功率下降最快,我们假设活跃区域(相对于任务2中的两个目标)要小得多和/或分散得多;因此,RL代理在化学空间上先前概率分布中灌输任何初始偏差的情况下识别这些斑点更具挑战性。因此,与任务1相比,REINVENT和半MCMGM的成功率分别下降了26.6%和15.6%。对于RationaleRL,Div是最高的,这与产生分子的方式密切相关。RationaleRL通过在活性片段上拼接产生分子,这通常会产生非常难以合成的不合理的结构(补充表2)。实验1中任务1和2模型生成的成功分子的性质分布可以在补充图3和图4中找到。
表2 | 实验1任务1模型生成的成功分子的条件和MOSeS评估指标
表2和补充表1总结的结果清楚地表明,拟议的MCMG方法在开发用于新药设计的多条件生成模型方面取得了一些坚实的进展。我们想特别提请注意排名第二的半MCMGM模型的性能。半MCMGM产生极具竞争力的性能这一事实并不微小。在这项研究中,半MCMGM允许我们使用目标无关的先决条件(例如,QED(药物相似性的定量估计)和SA(合成可访问性评分),但其他属性,如ADMETE评估设置2。评估设置2(实验2)不是专注于获得最佳模型,而是在RL辅助微调阶段收集有用的分子(图2c)。无论模型收敛性如何,每个模型的训练在第5000步结束。为每个模型收集了这5000个步骤中生成的所有成功分子,并从池中随机选择10,000个分子作为代表。随后对这组10,000个分子进行了评估,以推断模型的性能
表3 | 实验2中模型生成的成功分子的条件和MOSeS评估指标
表3显示了模型在上一节中两个相同任务的表现(根据评估设置2)。在任务1中,我们在评估设置1下观察到了类似的表现模式。REINVENT2.0和MCMGL在条件指标上的新颖性得分特别低。至于Div,半MCMGM表现非常好,接近0.8,而REINVENT2.0得分小于0.6。根据MOSES指标,REINVENT2.0和MCMGL在唯一性指标上的性能得分都很低,这意味着会生成大量重复分子。总体而言,在任务1中,半MCMGM取得了最令人印象深刻的性能,在七个指标中的五个方面表现优异。在任务2中,所有模型的新颖性值都高于任务1中模型的新颖性值,这与任务1的观察一致。在任务2中,MCMGM在五个指标上实现了最佳性能。总的来说,MCMG模型的表现优于基线。
接下来,我们分析了唯一成功分子的累积数量以及RL优化步骤的数量。如图2e所示,一开始,MCMGM、MCMGL和REINVENT2.0迅速积累了大量成功的分子,而REINVENT和半MCMGM只是在第1000步左右才开始加快速度。原因是REINVENT和半MCMGM是从更大的化学空间(由于转移学习或预处理而不受聚焦子空间的影响)中采样的,RL需要更多的迭代来学习所需分子的特征。对于MCMGL来说,在输出一定数量的独特和成功的分子后,无论它进一步训练多少步骤,它几乎无法产生更多独特和成功的分子,REINVENT2.0也遇到了同样的问题。因此,两种模型的累积曲线都达到一个高原,如图2e所示。这是因为这两个模型重建的化学空间很小,合法(即成功)分子的数量很少,并且RL很容易沉淀为局部最佳值,因此许多成功的分子最终会被反复生成。至于其他三种具有更大化学空间的模型,它们的累积数量随着训练步骤而继续增加。特别是,对于半MCMGM来说,在第1000步后,成功分子的累计数量继续稳步上升。REINVENT在图2e中给出了类似的曲线,但增长率没有半MCMGM那么高。在所有模型中,MCMGM提供了最多数量的独特和成功的分子,在整个培训课程中保持了非常高的生长速度。图2e的右侧面板描述了任务2的累积趋势。大多数模型的曲线显示出与任务1相似的趋势。实验2中任务1和2模型生成的成功分子的性质分布显示在补充图5和图6中。
5. Scaffold分析
在这一部分中,我们对用于评估设置2下评估的10,000个分子进行了Scaffold分析。提取了所有分子的Murcko支架49,并与已知活性化合物的分子进行了比较,并计算了它们之间的相似性。补充表3总结了相似性小于或等于阈值的脚手架数量,脚手架相似性的平均值记录在最后一行。对于任务1,半MCMGM比其他脚手架新颖性方法具有绝对优势。对于半MCMGM,我们发现了1000多个不同的支架,最大相似性小于或等于0.4,平均相似性仅为0.446。对于任务2,结果相似,而MCMGM和半MCMGM在生成分子的脚手架新颖性方面表现出优势。为了更好地证明米高梅和半MCMGM具有更好的能力生成具有独特Scaffold的分子的能力,在任务1中可视化了一个相似性≤0.2(我们称之为顶部差分脚手架)的脚手架示例。3.可视化结果表明,我们的模型可以产生与实际活性分子显著不同的分子。
6. RL勘探
我们的研究致力于生成模型的初始状态。事实上,使用不同的RL目标可能会对生成的数据产生重大影响。可以看出,MCMGLand REINVENT2.0都属于局部优化,这是由于RL之前的模型限制的化学空间太小造成的。可以根据不同的任务使用不同的RL策略,使模型避免陷入局部优化。Blaschke等人提出了一种名为多样性滤波器的非常好的方法来解决这个问题,我们将这种可以避免局部优化的策略称为RL探索模式。为了验证MCMG的有效性,我们对RL探索模式进行了相同的实验(详细结果请参阅补充表4和5)。总体而言,MCMG系列在不同的评估设置或不同模式下获得了更好的性能。
图3 | 任务1中的三个模型配置生成的顶部差分脚手架结果。第一列是MGMG产生的分子,第二列是上述分子的支架,第三列是生成分子的支架与真实分子的支架之间的相似性,第四列是真实活性数据集中分子的支架,第五列是实活性分子。
五. 总结
我们提出了MCMG方法,包括条件变压器、知识蒸馏RNN和RL培训。我们在平衡分子生成模型收敛速度和输出多样性这一具有挑战性的问题上取得了坚实的进展。我们在两个评估设置和许多共同任务下对几个版本的MCMG进行了基准测试,以确保我们的模型在各种场景下提供实用优势。在评估设置1下,与其他模型相比,MCMG在两项不同任务(DRD2、QED和SA;JNK3、GSK3β、QED和SA)上取得了最高的成功率,为94.18%和80.2%,而91.10%(REINVENT2.0)和78.0%(RationleRL)。MCMG在这两项任务中的实际成功率为89.26%和70.9%,与其他模型相比,MCMG享有广泛的领先优势(REINVENT为72.8%,RationaleRL为51.7%),这表明MCMG可以产生更独特和成功的分子。在评估设置2下,MCMG产生的分子与已知活性分子的相似性最低,这表明为这两项任务生成了更多新的活性分子。总之,MCMG在多目标分子生成任务中取得了有希望的性能,并为穿越大而复杂的化学空间以寻找潜在的候选药物提供了一种非常有效的方法。
六. 方法
1. 数据
训练数据集来自Olivecrona等人26的工作,该工作是从ChEMBL51数据集中选择的。生物活性数据集包括三种不同蛋白质靶点的实验生物活性数据,即多巴胺2型受体(DRD2)、c-Jun N端激酶-3(JNK3)52和糖原合成酶激酶-3β(GSK3β)53,54。DRD2数据集由Olivecrona等人26提供,其中包含100K阴性和7,219种阳性化合物。JNK3数据集52包含50,000种负化合物和2,665种阳性化合物的抑制数据,而GSK3β数据集53,54包含50,000种负化合物和740种阳性化合物的抑制数据。JNK3和GSK3β数据集可从Li和同事的研究中找到41。
2. MCMG的模型架构
整个工作流程的简要概述如图1a所示。首先训练条件转换器47模型,以中等成功率有条件地生成所需的分子,然后将该先前模型蒸馏为RNN,以促进随后与RL的集成。蒸馏后的RNN不仅可以减轻RL的训练负担,还可以在本研究中给出整体性能最佳的模型。
2.1 先验模型
先验模型的架构如图1b所示。该模型有望学习生成由一组条件令牌编码的具有期望性质的分子。通过简化解码器和移除编码器-解码器接口上相关的多头注意力层,对标准变压器模型进行了分子生成的修改。这种修改是必要的;否则,我们将面临SMILES顺序生成期间数据泄露的风险,并损害学习过程
先验模型(一个条件变压器)被教导以顺序和自回归的方式输出SMILES字符。下一个要生成的符号由先前生成的部分序列决定,并采用掩蔽的多头自注意层来防止序列未解码部分中的令牌的信息泄漏。多头自注意层是先验模型的核心,它由几个缩放的点积(乘法)注意函数组成,便于模型捕获序列中的关键信息。注意力机制公式可以简洁地描述如下:
Attention(Q,K,V)=softmax(QKTdk)V\operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) VAttention(Q,K,V)=softmax(dkQKT)V (1)
其中Q、K、V分别表示查询、键和值矩阵;dk是K的维度。
当注意力层同时关注整个序列时,每个标记都应该附加一个额外的位置编码来恢复线性序列的概念。为了在本研究中获得更好的性能,我们在选择Vaswani等人引入的学习位置嵌入方案时没有使用标准的正弦位置编码。
由于这个先验模型期望输出具有理想属性的分子,我们添加了一组额外的标记(作为约束代码c)来区分训练集中的适当分子。约束代码c是一个n位字符串,指示一个分子是否满足n个约束中的每一个(即每个属性为1或0)。因此,先验模型在训练过程中学习约束和SMILES的联合嵌入。除了约束代码的处理之外,训练过程的其余部分类似于标准的seq2seq训练。简而言之,定义了一个开始标记和一个结束标记,GO和EOS。GO+SMILES作为输入,SMILES+EOS作为目标,用于训练模型以使用SMILES语法编码和解码适当的分子
更准确地说,先验模型被训练为使用给定的c最大化以下负对数似然:
L(D)=−∑i=1nlogp(xi∣x<i,c)L(D)=-\sum_{i=1}^{n} \log p\left(x_{i} \mid x_{<i}, c\right)L(D)=−∑i=1nlogp(xi∣x<i,c) (2)
在推理阶段,先验模型预计根据学习的条件概率分布p(x j c)生成分子:
p(x∣c)=∏i=1np(xi∣x<i,c)p(x \mid c)=\prod_{i=1}^{n} p\left(x_{i} \mid x_{<i}, c\right)p(x∣c)=∏i=1np(xi∣x<i,c) (3)
2.2 蒸馏模型
正如引言中提到的,通过RL算法优化变压器是困难的,并且这种条件变压器的重构化学空间过于集中,这将产生捕获到局部最优的潜在问题。针对这一挑战,我们建议将先验模型提炼成更紧凑的架构55,该架构仅保留与条件化学空间(即具有所需分子的潜在区域)相关的知识。在本研究中,我们研究了知识蒸馏的两种方法。
第一个选项是构建一个带有三层门控递归单元56的RNN,以学习从先验模型中采样的分子子集的可能性。我们在每个步骤中从先验模型中随机采样128个SMILES来训练RNN。训练过程如下。首先,对来自先验模型的以给定约束令牌为条件的分子进行采样。其次,将它们与令牌GO和约束代码c(例如,作为“高QED”)一起作为起始令牌顺序输入RNN,直到达到结束令牌EOS或达到最大允许长度。最后,将生成的SMILES字符串作为训练集,并以该过程中生成的先验的似然作为目标来训练蒸馏模型。蒸馏模型因此可以学习先验模型给出的期望分子的似然分布。以这种方式训练的蒸馏模型和最终模型(RL微调)分别命名为DL和MCMGL。
第二种选择是直接使用条件转换器模型生成一百万个所需分子的数据集(给定一组适当的条件令牌),然后用于训练具有上述相同结构的RNN。在这种训练下,蒸馏模型不能从先验模型中学习精确的似然函数,并且由于生成过程解码部分的温度效应引起的随机性,生成的分子集不能用于推断精确的似然函数。因此,蒸馏模型为RL算法提供了一个不太集中的化学空间来探索,这种训练过程的好处将在后面的章节中解释。我们将蒸馏模型和以这种方式训练的最终模型分别命名为DM和MCMG分子(MCMGM)。图1c总结了这两种不同方法的总结。
最后,我们还提出了两种不同的模型,半糖尿病和半MCMGM。在这种情况下,先前的模型被训练为生成仅满足所需特性子集的分子。例如,在我们下面的基准研究中,我们试图只引入计算上便宜且可靠的标签,如QED和SA分数,并避免标记具有预测生物活性的分子。训练过程的其余部分与MCMGM相同。
2.3 代理模型
RL很难从头开始训练神经网络来执行特定的任务;相反,使用RL来微调预训练的神经网络更为可行。例如,RNN已经被RL微调以生成特定的内容57。在这种情况下,我们采用了REINVENT中的RL算法来微调前面介绍的提炼模型,并为药物设计中分子世代通常需要的多个目标构建了定制的奖励函数。
我们总结了代理模型的训练过程,它假设与上面介绍的提炼模型完全相同的RNN架构。首先,代理模型仍然以逐个字符的方式生成SMILES。在整个过程中,每个令牌的生成都被视为RL框架下的一个动作。代理模型应该经历分子生成的片段,以最终学习当在状态S中找到解码的部分序列时可能采取的动作的条件概率p(A|S)。RL框架只能在环境指定对动作A的适当奖励的情况下训练代理模型。
最后,RL训练的损失函数定义如下:我们从代理模型中采样了SMILES字符串,并将可能性记录为log p(A)agent。然后将生成的SMILES字符串输入蒸馏模型,以估计可能性日志p(A)中间。每个生成分子的分数S(A)由系数加权,然后添加到似然日志p(A)中间,以获得增强的可能性:
logp(A)aug =logp(A)distilled +σS(A)\log p(A)_{\text {aug }}=\log p(A)_{\text {distilled }}+\sigma S(A)logp(A)aug =logp(A)distilled +σS(A) (4)
因此,损失函数是:
Loss =[logp(A)aug −logp(A)agent ]2\text { Loss }=\left[\log p(A)_{\text {aug }}-\log p(A)_{\text {agent }}\right]^{2} Loss =[logp(A)aug −logp(A)agent ]2 (5)
3. DRD2、JNK3和GSK3β预测模型
Jin和同事58报告的预测模型预测了JNK3和GSK3β的抑制强度,这些预测模型是根据Li和同事41的数据集,使用摩根指纹(ECFP4)60随机森林59建立的;我们分别为JNK3和GSK3β的AUROC分数为0.86和0.86。DRD2预测模型是从Olivecrona和同事26报告的工作中获得的,Olivecrona和同事26是一个支持向量机分类器,具有scikit-learn61构建的高斯内核。
4. 评估设置
使用两种评估设置来评估多条件生成模型的质量。第一个被Jin等人58采纳,目标是建立和保存一个最佳分子生成模型,该模型可以在后期重复使用。从零开始删除重复优化将极大地有利于科研人员。第二种设置不是专注于获得最佳模型,而是像REINVENT26和REINVENT2.046框架中所做的那样,在RL辅助微调阶段收集有用的分子。理由是,最终目标是获得一组合格的生成分子,重点应放在适当的细节上
上述两种评估设置需要不同的实验方案。第一个重点是评估最佳优化模型的能力(此处的能力是指根据一些典型指标,如新颖性和多样性,最佳优化模型生成的理想分子的比例和最佳优化模型生成的分子的质量)。第二个侧重于模型在相同条件下产生固定数量的理想分子的效率以及生成分子的质量
我们在这两种设置下都使用Jin和同事报告的评分函数S(m)进行了两次不同的多目标优化实验58,每个分子的QED和SA分数由RDKit62计算,DRD2、JNK3和GSK3β的抑制强度由预测。具体细节概述如下
4.1 任务1:DRD2、QED和SA。
在这项任务中,我们的目标是生成DRD2活性大于或等于0.5、QED高于或等于0.6、SA小于或等于4的分子。SA分数由方程(6)计算,任务1的评分函数S(m)显示在方程(7)中:
SAscore = FragmentScore − ComplexityPenalty \text { SAscore }=\text { FragmentScore }-\text { ComplexityPenalty } SAscore = FragmentScore − ComplexityPenalty (6)
S(m)=DRD2(m)+QED(m)+SA(m)S(m)=\operatorname{DRD} 2(m)+\operatorname{QED}(m)+\mathrm{SA}(m)S(m)=DRD2(m)+QED(m)+SA(m) (7)
4.2 任务2:JNK3、GSK3β、QED和SA
在这项任务中,我们的目标是生成DRD2活性大于或等于0.5、QED高于或等于0.6、SA分数小于或等于4的分子。任务2的S(m)由以下方程计算:
S(m)=JNK3(m)+GSK3β(m)+QED(m)+SA(m)S(m)=\operatorname{JNK} 3(m)+\operatorname{GSK} 3 \beta(m)+\operatorname{QED}(m)+\mathrm{SA}(m)S(m)=JNK3(m)+GSK3β(m)+QED(m)+SA(m) (8)
5. 基线和培训设置。
5.1 实验1
我们在任务2中将我们的方法与JT-VAE、GCPN、RationaleRL、REINVENT和REINVENT2.0进行了比较。应该指出的是,本文中的REINVENT2.0特别提到了使用转移学习和RL模式的REINVENT2.0。根据Jin及其同事研究58中描述的过程,对RationaleRL和REINVENT模型进行了培训。应该注意的是,由于JT-VAE和GCPN产生的分子质量非常低,并且Jin的研究和我们的研究中使用的训练集相同,我们没有重复实验,而是直接使用了Jin等人58报告的结果。由于在新数据集上经过再培训的RationaleRL需要大量的计算资源和人工干预,我们没有在任务1和随后的实验中测试它。JT-VAE和GCPN的性能非常差,所以我们没有在随后的实验中测试它们。
在实验1的RL优化过程中,MCMG、REINVENT和REINVENT2.0以0.0001的学习率微调了5000个步骤,RationaleRL以0.0005的默认学习率微调了100个步骤。至于MCMG、REINVENT和REINVENT2.0,在RL优化过程中,我们每500步保存一次模型,运行RL优化过程五次,并使用最高的成功评估指标测试模型。
5.2 实验2
在实验2的两项任务中,我们使用REINVENT和REINVENT2.0作为基线。MCMG、REINVENT和REINVENT2.0以0.0001的学习速度进行了5000个步骤的微调,并保存了RL优化过程中生成的所有成功分子。RL优化过程总共运行了五次。
6. 基准
我们的研究使用了两套不同的评估指标。一个是Jin等人提出的标准指标,另一个是成熟的MOSES63评估指标,这是新分子生成领域的主要基准。
6.1 有条件评估指标
成功:在本研究中,当拟议的分子满足这些特性时,它被认为是成功的(或有用的):QED ≥ 0.6,SA ≤ 4.0,以及JNK3和GSK3β ≥ 0.5的预测抑制强度。满足这些约束的生成分子的百分比是成功率。此项目仅用于实验1。
-
真正的成功:满足这些约束的生成的唯一分子的百分比。此项目仅用于实验1
-
多样性:根据一对成功分子的摩根指纹的谷本距离模拟(X,Y)计算,按照以下方程计算:
Diversity =1−2n(n−1)∑X,Ysim(X,Y)\text { Diversity }=1-\frac{2}{n(n-1)} \sum_{X, Y} \operatorname{sim}(X, Y) Diversity =1−n(n−1)2∑X,Ysim(X,Y) (9)
- 新颖性:比较训练集中成功分子和正分子(满足所有四个约束)之间的相似性。对于每个成功的分子G,最近的邻居分子GSNN是从训练集中的正分子中选择的。简而言之,新颖性的定义如下:
Novelty =1n∑G1[sim(G,GSNN<0.4)]\text { Novelty }=\frac{1}{n} \sum_{G} 1\left[\operatorname{sim}\left(G, G_{\mathrm{SNN}}<0.4\right)\right] Novelty =n1∑G1[sim(G,GSNN<0.4)] (10)
6.2 MOSES评估指标
MOSES评估指标基于训练集T评估生成的分子数据集G的质量:
- 效度:有效分子在生成分子中的比例
- 唯一性:生成的独特结构的比例
- 新颖性:G中而不是T中的分子比例:
Novel(G)=1−∣set(G∩T)∣G\operatorname{Novel}(G)=1-\frac{|\operatorname{set}(G \cap T)|}{G}Novel(G)=1−G∣set(G∩T)∣ (11)
内部多样性(IntDiv):通过计算生成的分子集中的平均谷本系数(TC)来衡量G的多样性:
IntDiv(G)=1−1∣set(G)∣2∑(a,b)∈set(G)TC(ma,mb)\operatorname{IntDiv}(G)=1-\frac{1}{|\operatorname{set}(G)|^{2}} \sum_{(a, b) \in \operatorname{set}(G)} T C\left(m_{a}, m_{b}\right)IntDiv(G)=1−∣set(G)∣21∑(a,b)∈set(G)TC(ma,mb) (12)
片段相似性(Frag):用于测量各种分子片段在训练和测试集中出现的频率。片段的频率使用RDKit中的金砖国家函数计算:
Frag(G,T)=1−cos(fG,fT)\operatorname{Frag}(G, T)=1-\cos \left(f_{G}, f_{T}\right)Frag(G,T)=1−cos(fG,fT) (13)
最近邻相似性(SNN):SNN定义为G中的分子mG与其T中的最近邻分子mT之间的平均谷本相似性:
SNN(G,T)=1∣G∣maxT(mG,mT)\operatorname{SNN}(G, T)=\frac{1}{|G|} \max T\left(m_{G}, m_{T}\right)SNN(G,T)=∣G∣1maxT(mG,mT) (14)
七. 数据可用性
训练集是从Olivecrona等人26报道的研究中获得的,该研究从ChEMBL51数据集中选择了数据。生物活性数据集包括三种不同蛋白质靶点的实验生物活性数据,即DRD2、JNK3和GSK3β。DRD2数据集由Olivecrona等人26提供,其中包含100,000个阴性和7,219个阳性化合物。JNK3数据集52包含50,000个阴性和2,665个阳性化合物的抑制数据,而GSK3β数据集53,54包含50,000个阴性和740个阳性化合物的抑制数据。JNK3和GSK3β数据集可从Li和同事41的研究中获得。
研究中使用的代码可从GitHub存储库公开获得:https://github.com/jkwang93/MCMG(参考文献64)。
收到时间: 2021年3月9日;接受时间: 2021年9月9日;在线发布时间: 2021年10月18日