史晨策1, 徐民凯2, 朱兆辰3,4, 张伟楠2, 张铭1, 唐建3,5,6

1 北京大学计算机科学技术系

2 上海交通大学

3 魁北克学习算法研究院(Mila)

4 蒙特利尔大学

5 蒙特利尔大学高等商学院

6 CIFAR AI Research Chair

网址:

https://arxiv.org/abs/2001.09382

代码链接:

https://github.com/DeepGraphLearning/GraphAF

python 二阶向量自回归代码 二阶自回归模型_生成模型

摘要

设计具有优良性质的化学分子结构是计算化学领域的一个基础问题。该问题颇具挑战性,因为生成的分子需要服从化学规则的约束,并且模型需要在巨大化学空间中优化分子的性质。受最近提出的深度生成模型算法的启发,本文提出了一种基于自回归流模型的分子图生成模型GraphAF。GraphAF结合了自回归模型和流模型的优势,具有强大的建模数据分布的能力,并且支持并行训练。同时,GraphAF顺序采样的性质使得它可以很自然地与强化学习算法相结合来实现分子的性质优化。实验结果表明,即使没有任何化学知识规则的辅助,GraphAF生成的分子的有效率高达68%。在生成过程中加入有效性检测后,GraphAF可以生成100%有效的化学分子。 GraphAF的训练过程比现有的最好模型GCPN快一倍。在通过强化学习对模型进行微调后,GraphAF在分子性质优化任务上达到了最优的性能。

一、 流(Flow)生成模型

流生成模型定义了一个从复杂分布到简单分布的可逆变换,其核心是change-of-variable公式。令

python 二阶向量自回归代码 二阶自回归模型_子图_02

表示一个从先验分布到数据经验分布的可逆变换,我们可以通过change-of-variable公式计算数据经验分布的密度函数

python 二阶向量自回归代码 二阶自回归模型_python 二阶向量自回归代码_03

利用该公式,我们可以准确地计算给定数据点的密度函数值,也可以从先验分布采样随机噪声,并将其变换到某一数据点。图1展示了一般的流模型示意图。

python 二阶向量自回归代码 二阶自回归模型_python 二阶向量自回归代码_04

图1:流模型示意图

本文中采用了流模型的一种变式——自回归流。给定数据,自回归条件概率可以被刻画为高斯分布:

python 二阶向量自回归代码 二阶自回归模型_python 二阶向量自回归代码_05

这种自回归流具有可逆的仿射变换:

python 二阶向量自回归代码 二阶自回归模型_生成模型_06

并且变换的雅可比矩阵是下三角矩阵,因此可以很容易地计算它的行列式。

二、 GraphAF模型介绍

GraphAF的核心思想是将分子图分解为序列,并将分子图的生成过程看作是一个序列决策过程。如图2所示,为了生成一个丙酮分子,GraphAF可以首先生成碳和氧原子,接着生成他们之间的边,然后继续生成一个碳原子和它所连接的边,依此类推直到生成最终的丙酮分子。有了分子图生成的序列后,GraphAF利用第一节中提到的自回归流,定义了高斯分布到分子数据分布的可逆变换。  

python 二阶向量自回归代码 二阶自回归模型_二阶自回归模型自相关矩阵_07

  

图2:GraphAF示意图

python 二阶向量自回归代码 二阶自回归模型_子图_08

图3. GraphAF单步生成过程

图3展示了GraphAF的单步生成过程。

在新药发现中,我们还希望模型能够优化生成的分子的性质。接下来,本文将介绍如何利用强化学习微调GraphAF模型。

l 状态和策略网络:状态是当前生成的子图,且初始状态为空图。策略网络和前文描述的自回归模型一样,包含生成新的边和新的点的过程。

l 奖励设计:和GCPN类似,本文采用了中间状态奖励和最终状态奖励。在中间状态,如果某个决策违反了化学规则, 则它会被赋予一个惩罚。最终状态奖励包括生成分子的性质以及化学合法性检测。为了稳定训练,最终状态奖励将通过一个衰减系数分配给所有中间步骤。在实际训练中,本文采用PPO算法来优化策略网络。

三、 实验分析

为了验证GraphAF的性能,本文在三个标准任务上进行了实验。本文使用ZINC250k分子数据集来训练模型,它包含250,000个像药的化学分子。

表1:在概率密度估计和生成任务上不同模型的表现

python 二阶向量自回归代码 二阶自回归模型_子图_09

概率密度估计和生成(Density Modeling and Generation)评估了模型拟合数据分布并生成真实且多样的分子的能力。

性质优化(Property Optimization)的目的是生成有优良化学性质的分子。在这个任务上,我们微调了在第一个任务上预训练的模型。

受限性质优化(Constrained Property Optimization)旨在优化一个给定的分子,使得优化后的分子具有更好的化学性质,但同时保持和原分子的相似性。

表2:在性质优化上不同模型的表现

python 二阶向量自回归代码 二阶自回归模型_子图_10

表3:在受限性质优化上不同模型的表现

 

python 二阶向量自回归代码 二阶自回归模型_生成模型_11

表1表明GraphAF在五个指标上都取得了卓越的结果。作为一个基于流的模型,GraphAF的重构率自然是100%。在化学规则检测的帮助下,GraphAF可以生成100%合法的分子,即使不利用任何化学知识,GraphAF生成分子的有效率也高达68%。表2和表3的结果表明,与强化学习结合后,GraphAF在性质优化和受限性质优化两个任务上都取得了卓越的效果。

四、 总结与展望

本文提出了第一个基于流的自回归分子生成模型GraphAF。因为流模型具有强大的能力,它可以建模复杂的分子数据分布并生成真实的分子。GraphAF的训练过程非常地高效。本文用强化学习微调了GraphAF来实现分子性质优化。实验结果表明,GraphAF优于先前的模型。作者计划在更大的数据集上训练GraphAF,我们还计划将该模型扩展到其他更一般的图上,比如社交网络。