MolGAN:小分子图的隐式生成模型
文章目录
- 一、说明
- 二、简介
- 三、背景知识
- 3.1.分子作为图表
- 3.2.隐式方法与基于可能性的方法
- 2.3 改进的 WGAN
- 2.4.确定性策略梯度
- 四、模型说明
- 4.1生成器
- 4.2.判别器和奖励网络
- 五、实验
- 5.1 数据集
- 5.2 生成器架构
- 5.3 判别器和奖励网络架构
- 5.4 评估措施
- 5.5 训练
一、说明
图结构数据的深度生成模型为化学合成问题提供了一个新的角度:通过优化直接生成分子图的可微分模型,可以在离散且广阔的化学结构空间中避开昂贵的搜索过程。
我们引入 MolGAN,一种隐式、无似然的小分子图生成模型这避免了对昂贵的图形匹配过程或先前基于可能性的方法的节点排序启发式的需要。我们的方法适应生成对抗网络(GAN)直接对图结构数据进行操作。我们将我们的方法与强化学习目标相结合,以鼓励生成具有特定所需化学物质的分子特性。在 QM9 化学数据库的实验中,我们证明我们的模型是能够生成接近 100% 有效的化合物。 MolGAN 与两者相比均具有优势最近的提案使用基于字符串(SMILES)的分子表示以及直接生成图形的基于可能性的方法,尽管容易受到模式崩溃的影响。
二、简介
对于从头药物设计等重要应用来说,寻找具有所需特性的新化合物是一项具有挑战性的任务(Schneider & Fechner,2005)。可合成分子的空间是巨大的,在这个空间中的搜索被证明是非常困难的,主要是由于它的离散性自然。深度生成模型开发的最新进展催生了一系列有希望的建议来解决这个问题。该领域的大多数著作(Gomez-Bombarelli 等人,2016;Kusner 等人,2017;Guimaraes 等人,2017;Dai 等人,2018)利用分子的所谓 SMILES 表示(Weininger,1988):从分子图派生的基于字符串的表示。循环神经网络 (RNN) 是这些表示的理想候选者,因此,最近的工作遵循在此类编码上应用基于 RNN 的生成模型的方法。然而,基于字符串的分子表示有一定的缺点:RNN 必须花费大量精力来学习表示的句法规则和顺序模糊性。此外,这种方法不适用于通用(非分子)图。
图 1. MolGAN 的架构。向量 z 是从先验样本中采样的并传递给输出图形表示的生成器一个分子的。鉴别器对分子是否图表来自生成器或数据集。奖励网络试图估计化学性质的奖励由外部软件提供的特定分子。
SMILES 字符串是根据基于图形的分子表示生成的,因此可以在原始图形中工作空间的好处是消除额外的开销。和图深度学习领域的最新进展(Bronstein et al., 2017; Hamilton et al., 2017),直接在图表示上训练深度生成模型变得已经在一系列方面进行了探索的可行替代方案近期作品(Kipf & Welling,2016;Johnson,2017;Grover等,2019;李等人,2018b;西蒙诺夫斯基和科莫达基斯,2018;你等人,2018)。
然而,基于似然的分子图生成方法(Li et al., 2018b; Simonovsky & omodakis, 2018)要么需要提供固定的(或随机选择的)图或昂贵图的有序表示匹配过程来评估生成的可能性分子,因为所有可能的节点排序的评估是对于小尺寸的图表来说已经令人望而却步了。
在这项工作中,我们通过利用隐式来回避这个问题,无似然方法,特别是我们采用的生成对抗网络(GAN)(Goodfellow et al., 2014)直接处理图形表示。我们进一步利用类似于 ORGAN 的强化学习 (RL) 目标(Guimaraes 等,2017)鼓励具有特定性质的分子。
我们的分子 GAN (MolGAN) 模型(如图所示)1)第一个解决图结构的生成问题使用 GAN 进行分子合成的数据(古德费罗等人,2014)。 MolGAN 的生成模型可以一次性(即非顺序地)预测离散图结构,以提高计算效率,尽管顺序变体通常是可能的。 MolGAN 进一步利用基于图卷积层 (Bruna) 的排列不变判别器和奖励网络(用于基于 RL 的优化以实现所需的化学性质)等,2014;杜维诺等人,2015;基普夫和威灵,2017;Schlichtkrull 等人,2017)两者都直接对图结构表示进行操作。
三、背景知识
3.1.分子作为图表
大多数先前的分子数据深度生成模型(Gomez-Bombarelli 等人,2016 年;Kusner 等人,2017 年;吉马良斯等人,2017; Dai 等人,2018)求助于生成分子的 SMILES 表示。微笑然而,语法对于小的变化或错误并不稳健,这可能会导致无效或严重的产生不同的结构。语法 VAE(Kusner 等人,2017)通过限制生成过程来缓解这个问题遵循特定的语法。
最近直接在图空间中操作已经被证明是生成建模的可行替代方案分子数据(Li 等人,2018b;Simonovsky & Komodakis,2018)还有一个额外的好处,即所有生成的输出都是有效的图表(但不一定有效的分子)。
我们认为每个分子都可以用一个无向图 G表示;G具有一组边 E 和节点 V 。每个原子对应一个节点 v i ∈ V v_i ∈ V vi∈V,该节点与 T 维单热向量 x i x_i xi 关联,表示原子的类型。我们进一步表示每个原子键作为边 ( v i , v j ) ∈ E (v_i, v_j ) ∈ E (vi,vj)∈E 与键类型相关 y ∈ { 1 , . . . , Y } y ∈ \{1, ..., Y \} y∈{1,...,Y}。对于具有 N 个节点的分子图,我们可以将这种表示总结为节点特征矩阵 X = [ x 1 , . . . , x N ] X = [x_1, ..., x_N ] X=[x1,...,xN] T ∈ R , N × T T ∈ R,N×T T∈R,N×T 和邻接张量 A ∈ R A ∈ R A∈R且 N × N × Y N×N×Y N×N×Y 其中 A i j ∈ R A_{ij} ∈ R Aij∈R是是一个独热向量,下标 i 和 j 之间的边的类型。
3.2.隐式方法与基于可能性的方法
基于似然的方法,例如变分自动编码器 (VAE)(Kingma & Welling,2014;Rezende 等人,2014)通常允许更容易和更稳定的优化与 GAN 等隐式生成模型相比(Goodfel low et al., 2014)。当生成图结构数据时,然而,我们希望节点的重新排序保持不变在图的(有序)矩阵表示中,要求我们要么执行一个极其昂贵的图表匹配程序(Simonovsky & Komodakis,2018)或评估所有可能的节点排列的可能性明确地。
通过诉诸隐式生成模型,特别是对于 GAN 框架,我们不需要明确的可能性。而 GAN 的判别器可以通过利用图来使节点排序不变卷积(Bruna 等人,2014;Duvenaud 等人,2015;Kipf & Welling, 2017)和节点聚合算子(Liet al., 2016),生成器仍然需要决定一个特定的生成图时的节点排序。既然我们不提供可能性,但是生成器可以自由选择任何适合手头任务的顺序。我们提供一个下面简单介绍一下GAN。
生成对抗网络 GAN(Goodfellow et al., 2014)在某种意义上是隐式生成模型 它们允许推断模型参数而无需要求人们指定一种可能性。
GAN 由两个主要部分组成:
模型
G
θ
G_θ
Gθ,从数据分布之前学习映射以采样新数据点,以及判别模型
D
φ
D_φ
Dφ,学习对样本是否来自数据分布而不是来自
G
θ
G_θ
Gθ 。这两个型号是作为神经网络实现并同时训练随机梯度下降(SGD)。
G
θ
G_θ
Gθ 和
D
φ
D_φ
Dφ有不同的目标,他们可以被视为两个参与者极小极大游戏
其中
G
θ
G_θ
Gθ 尝试生成样本来欺骗鉴别器
D
φ
D_φ
Dφ 尝试正确区分样本。阻止不良行为,例如模式崩溃Salimans 等人,2016)并且为了稳定学习,我们使用小批量判别(Salimans et al., 2016)和改进的 WGAN(Gulrajaniet al., 2017),一种替代且更稳定的 GAN 模型最小化更适合的分歧。
2.3 改进的 WGAN
WGAN(Arjovsky 等人,2017)最小化地球移动器 (EM) 距离的近似值(也称为 Wasserstein-1 距离)定义在两个之间概率分布。形式上,Wasserstein 距离在 p 和 q 之间,使用 Kantorovich-Rubinstein 对偶是
其中对于 WGAN,p 是经验分布q 是生成器分布。请注意,上界是对于某些 K > 0 的所有 K-Lipschitz 函数。
古尔拉贾尼等人(2017)引入梯度惩罚作为1-Lipschitz 连续性的替代软约束为对梯度裁剪方案的改进原来的 WGAN。相对于发电机的损耗与 WGAN 中的相同,但损失函数为对于判别器的尊重被修改为
其中 α 是一个超参数(我们使用 α = 10,如原始论文),
x
^
(
i
)
\hat{x} ^{(i)}
x^(i)是
x
(
i
)
∼
p
d
a
t
a
(
x
)
x^{(i)}\sim p_{data}(x)
x(i)∼pdata(x) 之间的采样线性组合.
G
θ
(
z
(
i
)
)
G_θ(z^{(i)})
Gθ(z(i))对应变化域
z
(
i
)
∼
p
z
(
z
)
z^{(i) } \sim p_z(z)
z(i)∼pz(z),因此:
2.4.确定性策略梯度
GAN 生成器学习从先验分布到数据分布的转换。因此,生成的样本类似于数据样本。然而,在从头药物设计中方法,我们不仅对生成化学上有效的化合物感兴趣,而且希望它们具有一些有用的属性(例如,易于合成)。因此,我们还优化了一些生成过程使用强化学习的不可微指标。
在强化学习中,代表了随机策略通过
π
θ
(
s
)
=
p
θ
(
a
∣
s
)
π_θ(s) = p_θ(a|s)
πθ(s)=pθ(a∣s),这是 θ 中的参数概率分布,它选择a以一个状态s条件条件的分类动作 .相反,确定性策略表示为通过
µ
θ
(
s
)
=
a
µ_θ(s) = a
µθ(s)=a 确定性地输出一个动作。
在最初的实验中,我们探索了使用 REINFORCE(Williams,1992)与随机策略相结合将图形生成建模为一组分类选择(行动)。然而,我们发现它的收敛性很差,因为生成图时的高维动作空间立刻。相反,我们的方法基于确定性已知表现良好的策略梯度算法在高维动作空间中(Silver et al., 014)。特别是,我们采用了 Lillicrap 等人引入的深度确定性策略梯度(DDPG)的简化版本。(2016),一种离策略的演员批评家算法,使用确定性策略梯度来最大化预期未来奖励的近似值。
在我们的例子中,策略是 GAN 生成器 G θ G_θ Gθ,它采用先验样本 z z z 作为输入,而不是环境状态 s s s,并输出分子图作为动作 ( a = G ) (a =G) (a=G)。此外,我们不对情节进行建模,因此无需评估状态-动作组合的质量,因为它仅取决于图 G G G。因此,我们引入了奖励函数 R ^ ψ ( G ) \hat{R}_ψ(G) R^ψ(G) 的可学习且可微的近似值,用于预测即时奖励,我们通过基于外部系统提供的真实奖励(例如分子的可合成性得分)的均方误差目标来训练它。然后,我们通过 R ^ ψ ( G ) \hat{R}_ψ(G) R^ψ(G) 训练生成器最大化预测奖励,它是可微分的,为策略提供了梯度朝着所需的指标.
四、模型说明
MolGAN 架构(图 2)由三个主要部分组成组件:
- 生成器 G θ G_θ Gθ、
- 鉴别器 D φ D_φ Dφ 、
- 奖励网络 R ^ ψ \hat{R}ψ R^ψ。
生成器从先验分布中获取样本并生成代表分子的注释图 G。G 的节点和边分别与表示原子类型和键类型的注释相关联。鉴别器从数据集和生成器中获取样本,学会区分它们。
G
θ
G_θ
Gθ 和
D
φ
D_φ
Dφ都经过训练使用改进的 WGAN 使生成器学会匹配经验分布并最终输出有效的分子。
奖励网络用于近似奖励样本的函数并使用强化学习优化分子生成以实现不可微分的指标。数据集和生成的样本是
R
^
ψ
\hat{R}_ψ
R^ψ 的输入,但是,与判别器不同,它为它们分配分数(例如,生成的分子可溶的可能性有多大在水里)。奖励网络学习分配奖励每个分子都匹配外部提供的分数软件1。请注意,当 MolGAN 输出无效时分子,不可能分配奖励,因为图甚至不是化合物。因此,对于无效分子图表中,我们分配零奖励。
鉴别器使用 WGAN 目标进行训练,而生成器使用 WGAN 损失和 RL 损失的线性组合:
where λ ∈ [0, 1] is a hyperparameter that regulates the tradeoff between the two components.
图 2. MolGAN 的轮廓。从左至右:生成器从先验分布中获取样本并生成密集邻接张量A 和注释矩阵 X。随后,通过分类分别从 A 和 X 获得稀疏和离散的
A
~
\tilde{A}
A~ 和
X
~
\tilde{X}
X~采样。
A
~
\tilde{A}
A~ 和
X
~
\tilde{X}
X~的组合代表对应于特定化合物的注释分子图。最后,该图由判别器和奖励网络处理,这些网络对于节点顺序排列是不变的,并且基于关系 GCN (Schlichtkrull et al., 2017) 层。
4.1生成器
G φ ( z ) G_φ(z) Gφ(z) 取 D 维向量 z ∈ R D z ∈ \mathbb{R}^D z∈RD 采样自标准正态分布 z ∼ N ( 0 , I ) z ∼ \mathcal{N} (0, I) z∼N(0,I) 和输出图表。虽然最近的工作表明这是可行的使用基于 RNN 的方法生成小尺寸图生成模型(Johnson,2017;You et al.,2018;Li et al.,2018a;b)为了简单起见,我们利用生成模型使用简单的多层一次性预测整个图感知器(MLP),与 Simonovsky & Ko modakis (2018) 中所做的类似。虽然这将我们的研究限制在图表上预先选择的最大尺寸,我们发现它显着更快、更容易优化。
我们将域限制为有限数量节点的图,并且对于每一对 z , G θ z,G_θ z,Gθ 输出两个连续且密集的对象:定义原子类型的 X ∈ R N × T X ∈\mathbb{R}^{N×T} X∈RN×T 和 A N × N × Y A^{N×N×Y} AN×N×Y 定义债券类型(参见第 2.1 节)。 X 和 A 都有概率解释,因为每个节点和边类型都用类型上的分类分布的概率表示。为了生成分子,我们通过分类采样获得离散、稀疏的对象 X ~ \tilde{X} X~和 A ~ \tilde{A} A~分别来自 X 和 A。我们重载符号,并用二进制 X ~ \tilde{X} X~和 A ~ \tilde{A} A~ 表示数据集中的样本。
由于这个离散化过程是不可微的,我们探索了三种模型变体以允许基于梯度的训练:我们可以 i) 在前向传递过程中直接使用连续对象 X X X 和 A A A (即 X ~ = X \tilde{X }=X X~=X 和 A ~ = A \tilde{A}=A A~=A),ii) 在将 X 和 A 传递给 D φ D_φ Dφ 和 R ^ ψ \hat{R}_ψ R^ψ 之前向 X 和 A 添加 Gumbel 噪声,以便使生成过程保持随机性转发连续对象(即 X ~ i j = X i j + G u m b e l ( µ = 0 , β = 1 ) \tilde{X}_{ij} = X_{ij} + Gumbel(µ = 0, β = 1) X~ij=Xij+Gumbel(µ=0,β=1) 和 A ~ = A i j y + G u m b e l ( µ = 0 , β = 1 ) \tilde{A} = A_{ijy} + Gumbel(µ = 0, β = 1) A~=Aijy+Gumbel(µ=0,β=1)),或 iii) 使用基于 Gumbel-Softmax 分类重新参数化的直通梯度(Jang 等人,2017 年;Maddison 等人,2017 年),也就是说,我们使用样本形式前向传递期间的分类分布(即 X ~ i = C a t ( X i ) \tilde{X}_i = Cat(X_i) X~i=Cat(Xi) 和 A ~ i j = C a t ( A i j ) \tilde{A}_{ij} = Cat(A_{ij} ) A~ij=Cat(Aij))和连续松弛值(即,原始 X 和 A) 在向后传递中。
4.2.判别器和奖励网络
判别器
D
φ
D_φ
Dφ 和奖励网络
R
~
ψ
\tilde{R}_ψ
R~ψ 都接收一个图作为输入,并且它们各自输出一个标量值。我们为两个网络选择相同的架构,但是它们之间不共享参数。
A
A
A 系列图卷积层使用图邻接张量
A
~
\tilde{A}
A~ 对节点信号
X
~
\tilde{X}
X~ 进行卷积。我们的模型基于 Relational-GCN(Schlichtkrull 等人,2017),一种支持多种边缘类型的图卷积网络。在每一层,节点的特征表示根据以下方式进行卷积/传播:
其中
h
i
(
l
)
h^{(l)}_i
hi(l)是
l
l
l层节点
i
i
i的信号,
f
s
(
l
)
f^{(l)}_s
fs(l)是充当自连接的线性变换函数在各层之间。我们进一步利用边缘类型特定每层的仿射函数
f
(
l
)
y
f^(l)_y
f(l)y。
N
i
\mathcal{N}_i
Ni 表示集合节点
i
i
i 的邻居。归一化因子
1
/
∣
N
i
∣
1/|\mathcal{N}_i|
1/∣Ni∣ 确保激活处于相似的规模,而不管邻居的数量如何。
经过图卷积的几层传播后,跟随李等人。 (2016) 我们聚合节点嵌入转换成图级表示向量为
其中
σ
(
x
)
=
1
/
(
1
+
e
x
p
(
−
x
)
)
σ(x) = 1/(1+exp(−x))
σ(x)=1/(1+exp(−x)) 是逻辑 sigmoid 函数,i 和 j 是具有线性输出层的 MLP,表示逐元素乘法。然后,
h
G
h_{\mathcal{G}}
hG 是图 G 的向量表示,并由 MLP 进一步处理,为判别器生成图级标量输出
ε
(
−
∞
,
+
∞
)
ε (−∞, +∞)
ε(−∞,+∞) 和
ε
(
0
,
1
)
ε (0, 1)
ε(0,1) 为奖励网络。
五、实验
我们将 MolGAN 与最近基于神经网络的使用 QM9 在建立的基准上进行一系列实验中的药物生成模型(Ramakrishnan 等人,2014)化学数据库。我们首先重点研究的是λ 参数的影响,以找到最佳权衡
GAN 和 RL 目标(参见第 5.1 节)。然后我们将 MolGAN 与 ORGAN 进行比较(Guimaraes 等人,2017)因为它是与我们最相关的工作:器官是在 SMILES 表示上运行的顺序生成模型,针对多种化学性质进行优化RL 目标(参见第 5.2 节)。我们也比较我们的针对变分自动编码方法的模型(部分5.3)例如CharacterVAE(Gomez-Bombarelli 等人,2016),GrammarVAE(Kusner 等人,017),以及最近的基于图的生成模型:GraphVAE (Simonovsky &科莫达基斯,2018)。
5.1 数据集
在所有实验中,我们使用 QM9 (Ramakrishnan et al., 2014)1664亿个巨大分子的一个子集GDB-17 化学数据库(Ruddigkeit 等,2012)。 QM9含有 133,885 种有机化合物,最多 9 个重原子:碳©、氧(O)、氮(N)和氟(F)。
5.2 生成器架构
所有实验的生成器架构都是固定的。我们使用
N
=
9
N = 9
N=9 作为最大节点数,
T
=
5
T = 5
T=5 作为原子类型(C、O、N、F 和一个填充符号)的数量,以及
Y
=
4
Y = 4
Y=4 作为原子类型的数量。键类型(单键、双键、三键和无键)。
这些维度足以覆盖 QM9 中的所有分子。生成器采用从标准正态分布
z
∼
N
(
0
,
I
)
z ∼ N (0, I)
z∼N(0,I) 采样的 32 维向量,并分别使用
[
128
,
256
,
512
]
[128, 256, 512]
[128,256,512] 隐藏单元的 3 层 MLP 对其进行处理,其中 tanh 为激活函数。最终,最后一层被线性投影以匹配 X 和 A 维度,并通过 softmax 操作对其最后一个维度进行归一化 (
s
o
f
t
m
a
x
(
x
)
i
=
e
x
p
(
x
i
)
/
∑
i
=
1
D
e
x
p
(
x
i
)
softmax(x)_i = exp(x_i)/\sum^{D}_{i=1}exp (x_i)
softmax(x)i=exp(xi)/∑i=1Dexp(xi))
5.3 判别器和奖励网络架构
两者网络使用 RelationalGCN 编码器(参见方程 5),其中有两个层和 [64, 32] 隐藏单元,分别处理输入图表。随后,我们计算一个 128 维图级表示(参见方程 6)进一步处理维度为 [128, 1] 且 tanh 为 2 层 MLP隐藏层激活函数。在奖励网络中,我们进一步在输出上使用 sigmoid 激活函数。
5.4 评估措施
我们测量 Samanta 等人定义的以下统计数据。 (2018):有效性、新颖性和独特性。有效性定义为有效分子数与所有生成分子数之间的比率。新颖性衡量的是有效样本集之间的比率
不在数据集中和有效样本总数中。最后,唯一性定义为唯一样本数与有效样本数之间的比率,它衡量抽样过程中的变异程度。
5.5 训练
在所有实验中,我们使用的批量大小为 32并使用 Adam (Kingma & Ba, 2015) 优化器进行训练学习率为 10−3。对于每个设置,我们采用辍学率的网格搜索 ε {0.0, 0.1, 0.25} (Srivastavaet al., 2014)以及过度离散化变化(如第 3.1 节所述)。我们总是报告结果最佳模型取决于我们要优化的内容(例如,当优化溶解度时,我们报告模型为最高溶解度分数 – 当没有优化指标时,我们报告个体得分总和最高的模型)。
尽管 WGAN 的使用在一定程度上可以防止模式崩溃等不良行为(Salimans 等人,2016),我们注意到我们的模型遇到了这个问题。
我们将在未来的工作中解决这个问题。作为一个简单的对策,我们采用提前停止、评估每 10 个 epoch 一次,以避免完全崩溃的模式。在特别地,我们使用独特的分数来衡量我们的模型崩溃了,因为它本质上表明了如何生成过程有很多变化。我们设置了一个2% 的任意阈值,在该阈值下我们考虑模型崩溃并停止训练。
在我们工作的早期阶段,我们注意到奖励网络在被使用之前需要几个时期的预训练用于将梯度传播到生成器,否则发电机很容易发散。我们认为发生这种情况是因为训练开始时,
R
~
ψ
\tilde{R}_ψ
R~ψ 不能预测奖励准确,然后它不能很好地优化生成器。
因此,在每个实验中,我们训练生成器前半个纪元没有 RL 组件,但使用仅 WGAN 目标。我们训练奖励网络在这些时期内,但没有使用 RL 损失来训练生成器。对于纪元的后半部分,我们使用公式 4 中的综合损耗。