- 论文原文:GRAPHAF: A FLOW-BASED AUTOREGRESSIVE MODEL FOR MOLECULAR GRAPH GENERATION
- 出版:ICLR 2020
- 原文附录进一步介绍了算法详情。
摘要
分子图的产生是药物发现的基本问题,并已引起越来越多的关注。
该问题具有挑战性,因为它不仅需要生成化学上有效的分子结构,而且还需要同时优化其化学性质。
受深度生成模型的最新进展启发,本文提出了一种基于流的图生成自回归模型 GraphAF。
GraphAF 结合了自回归和基于流的方法的优点,并享有:(1)数据密度估计的高度模型灵活性; (2)有效的并行计算训练; (3)迭代采样过程,该过程允许利用化学领域知识进行化合价检查。
实验结果表明,即使没有化学知识规则,GraphAF仍能够生成68%的化学有效分子,而具有化学规则的100%有效分子也可以生成。 GraphAF的训练过程比现有的最新方法GCPN快两倍。
在通过强化学习对模型进行目标导向的性能优化进行微调后,GraphAF在化学性能优化和约束性能优化方面都达到了最先进的性能。
1 介绍
设计具有所需特性的新型分子结构是诸如药物发现和材料科学等各种应用中的基本问题。这个问题非常具有挑战性,因为化学空间本质上是离散的,并且整个搜索空间很大,据信最大为10^33(Polishchuk等人,2013)。由于这些领域中的大量数据,机器学习技术已经在分子设计中看到了巨大的机会。最近,在开发机器学习算法方面投入了更多的精力,这些算法可以自动生成化学上有效的分子结构并同时优化其性能。
具体而言,通过将分子结构表示为图并使用深度生成模型生成图结构,例如变分自编码器 VAE,生成对抗网络 GAN 和自回归模型。例如,Jin等(2018)提出了一种 Junction Tree VAE(JT-VAE)用于分子结构的编码和解码。De Cao&Kipf(2018)研究了如何使用 GAN 生成分子图。You 等(2018a)提出了一种称为图卷积策略网络(GCPN)的方法,该方法将分子图的生成表示为顺序决策过程,并基于现有图子结构动态生成节点和边。他们使用强化学习来优化生成的图结构的属性。最近,另一项非常相关的工作被称为 MolecularRNN(MRNN)(Popova等人,2019)建议使用自回归模型进行分子图生成。基于自回归的方法(包括GCPN和MRNN)已证明在分子图生成的各种任务中具有非常好的竞争性能。
最近,除了上述三种类型的生成模型外,标准化流也取得了重大进展,并已成功应用于各种任务,包括密度估计,变分推理,以及图像生成。基于流的方法定义了潜在的基本分布(例如高斯分布)和真实世界的高维数据(例如图像和语音)之间的可逆转换。
这样的可逆映射允许计算精确的数据似然。同时,通过在隐藏空间和观察空间之间使用多层非线性变换,流具有建模数据密度的高容量。此外,根据不同应用的需求,可以设计不同的架构来促进快速训练(Papamakarios等,2017)或快速采样(Kingma等,2016)。
受到现有自回归模型工作和具有标准化流程的深度生成模型的最新进展的启发,我们提出了一种基于流程的自回归模型 GraphAF,用于分子图生成。GraphAF有效地结合了自回归和基于流的方法的优点。它具有很高的模型容量,因此能够对现实世界中分子数据的密度进行建模。GraphAF 的采样过程被设计为自回归模型,该模型基于现有子图结构动态生成节点和边。 与现有模型(例如GCPN和MRNN)类似,这种顺序生成过程允许在每个生成步骤中利用化学域知识和化合价检查,从而确保生成的分子结构的有效性。同时,不同于GCPN和MRNN作为训练过程中的自回归模型,GraphAF定义了从分子图结构到基本分布的前馈神经网络,因此能够并行计算确切的数据似然性。结果,GraphAF的训练过程非常有效。
作者对标准ZINC(Irwin等人,2012)数据集进行了广泛的实验。 结果表明,GraphAF的训练非常有效,比最先进的模型GCPN快两倍。 通过在生成过程中纳入化学规则,生成的分子100%有效。 我们还惊讶地发现,即使在生成过程中不使用化学规则进行化合价检查,GraphAF生成的有效分子的百分比仍然可以高达68%,这大大高于现有的最新GCPN 。 这表明GraphAF确实具有学习分子结构数据分布的高模型能力。 我们通过强化学习进一步优化生成过程,以优化生成分子的化学性质。 结果表明,在属性优化和约束属性优化任务上,GraphAF的性能明显优于以前的最新GCPN。
2 相关工作
最近已经提出了多种用于分子图生成的深度生成模型。RVAE 模型(Ma et al., 2018)使用变分自动编码器生成分子,并提出了一种新颖的正则化框架来确保语义有效性。
Jin等建议将分子表示为化学支架的连接树,并提出了用于分子生成的JT-VAE模型。对于基于VAE的方法,化学性质的优化通常是通过使用贝叶斯优化在潜在空间中搜索来完成的。
De Cao&Kipf(2018)使用生成对抗网络来生成分子。
最先进的模型基于基于自回归的方法构建(You等人,2018b; Popova等人,2019)。(You et al。,2018b)通过基于当前子图结构动态添加新节点和边来将问题表述为顺序决策过程,并且通过强化学习框架对生成策略网络进行了训练。
最近,Popova等人。(2019)提出了一种名为MolecularRNN的自回归模型,用于基于生成的节点和边序列生成新的节点和边。自回归模型的迭代性质允许在生成过程中有效利用化学规则进行化合价检查,因此这些模型生成的有效分子的比例非常高。
然而,因为序列生成的特性,训练过程通常比较慢。GraphAF方法具有诸如自回归模型(从潜在空间到观察空间的映射)这样的迭代生成过程的优势,同时可以计算与前馈神经网络(从观察空间到潜在空间的映射)相对应的精确似然。通过并行计算有效地进行。最近还有一种基于流的方法称为GraphNVP(GNVP)(Madhawa et al。,2019)用于分子图生成。但是,它们的采样过程是一次性采样。结果,产生的分子的有效性非常低。我们在表1中总结了现有方法。
3 预备
3.1 自回归流
一个标准化流定义了从基本分布(潜在空间,例如高斯分布)到现实世界的观察空间(例如图像和语音)的参数化可逆确定性转换。
3.2 图表示学习
4 提出的方法
4.1 GraphAF 框架
类似于 GCPN 和 MolecularRNN,作者将分子图生成的过程描述为序列决策过程。从空图开始,基于当前子图结构,每一步一个新的结点被生成。之后,新结点和现有结点根据当前图结构被序列生成。该过程持续直到所有结点和边都被生成。图 1a 是一个例子。
GraphAF 旨在定义从基本分布(例如多元高斯)到分子图结构的可逆转换。使用 L 层关系 GCN 学习结点嵌入和整个子图的嵌入。
使用多层感知器根据当前子图嵌入预测结点类型。
4.2 有效的并行训练
在 GraphAF 中,由于 f :E → Z 是自回归的,因此逆过程 f(-1): Z → E 的雅可比矩阵是三角矩阵,可以非常有效地计算其行列式。给定一小批训练数据G,可以通过等式 1 中的变量变化公式有效地计算每个分子的确切密度。我们的目标是使训练数据的可能性最大化。
为了进一步加速训练过程,根据广度优先搜索(BFS)顺序对训练图的节点和边进行重新排序,该方法已被现有方法广泛采用以生成图(You等人,2018b; Popova 等,2019)。 由于 BFS 的性质,键只能存在于相同或连续 BFS 深度内的节点之间。 因此,节点之间的最大依赖距离受单个 BFS 深度中最大数量的节点限制。 在我们的数据集中,任何单个 BFS 深度都包含不超过 12 个节点,这意味着我们只需对当前原子和最新生成的 12 个原子之间的边建模。
4.3 有效性约束采样
在化学中,存在许多化学规则,可以帮助产生有效的分子。 由于顺序生成过程,GraphAF 可以在每个生成步骤中利用这些规则。 具体来说,我们可以在采样过程中显式应用化合价约束来检查当前状态是否已超过允许化合价,这在以前的模型中已被广泛采用(You等人,2018a; Popova等人,2019)。
如果新添加的键打破了价数约束,则我们只拒绝键 Aij,在潜在空间中采样一个新 Aij并生成另一个新的键类型。如果满足以下条件之一,则生成过程将终止:1) 图的大小达到最大大小 n,2) 新生成的原子与先前的子图之间未生成任何键。最后,将氢添加到尚未充满其化合价的原子中。
4.4 使用强化学习的目标定向分子生成
到目前为止,我们已经介绍了如何使用 GraphAF 对分子图结构的数据密度进行建模并生成有效分子。 但是,对于药物发现,我们还需要优化生成分子的化学性质。 在这一部分中,我们将介绍如何通过强化学习来微调我们的生成过程,以优化生成的分子的特性。
状态和策略网络 状态是当前子图,初始状态是空图。该策略网络与第4.1节中定义的自回归模型相同,该模型包括基于当前子图生成新原子并生成新原子与现有原子之间的边的过程。 如果新生成的原子与当前子图之间没有边,则生成过程终止。 对于状态转换,模型还结合了效价检查约束。
奖励设计 与 GCPN 类似,作者还结合了中间和最终奖励来训练策略网络。如果边预测违反效价检查,将采用少量惩罚作为中间奖励。 最终的奖励包括生成的分子的目标性能得分,例如辛醇-水分配系数(logP)或类药物(QED),以及化学有效性的奖励,例如对具有过多的空间应变和/或违反ZINC官能团过滤器的官能团。 最终奖励将通过折现系数分配给所有中间步骤,以稳定训练。 实际上,我们采用近端策略优化(PPO),这是一种先进的策略梯度算法,可以在上述定义的环境中训练 GraphAF。