文献总结|通过连接感知模版挖掘实现从头生成分子

Category 碎碎念

doi.org/10.48550/arXiv.2302.01129

本文介绍由中科大于 2023 年发布在 ICLR 2023 上的一篇文章,文章原标题为 De Novo Molecular Generation via Connection-aware Motif Mining,文章提出了一种从分子数据集中挖掘模版结构的算法,同时设计了一种通过组合模版结构实现分子生成的模型 MiCaM(Mined Connection-aware Motifs)。

算法

文章中提出的连接感知模版挖掘能够从数据集中构建模版词汇,用于后续的分子生成,该算法包括两个主要步骤:

  1. 合并操作(Merging-operation Learning Phase)
  2. 构建模版词汇(Motif-vocabulary Construction Phase)

算法

合并操作

数据集 \(\mathcal{D}\) 中的每个分子都可以表示为图 \(\mathcal{G(V,E)}\),结点 \(\mathcal{V}\) 表示原子,边 \(\mathcal{E}\) 表示化学键。接着定义与之类似的 \(\mathcal{G}^{(k)}_M(\mathcal{V}^{(k)}_M,\mathcal{E}^{(k)}_M)\) 表示第 \(k\) 次合并后的分子,其中 \(\mathcal{F}\in\mathcal{V}_M\) 表示分子的子结构,可以由一个原子构成,也可以由多个原子构成,那么边 \(\mathcal{E}_M\) 相应就表示子结构之间的连接方式。显然,\(\mathcal{G}^{(k)}_M\)\(\mathcal{G}\) 初始化得到,也就是 \(\mathcal{G}^{(0)}_M(\mathcal{V}^{(0)}_M,\mathcal{E}^{(0)}_M)=\mathcal{G(V,E)}\)

接下来介绍由 \(\mathcal{G}^{(0)}_M\) 得到 \(\mathcal{G}^{(k)}_M\) 的合并操作,文章将操作「\(\oplus\)」定义将子结构合并为新的子结构,即 \(\mathcal{F}_{ij}=\mathcal{F}_i\oplus\mathcal{F}_j\),其中 \(\mathcal{F}_{ij}\) 就包含了 \(\mathcal{F}_i\)\(\mathcal{F}_j\) 中所有的结点与边。\(\mathcal{G}^{(0)}_M\) 包含了边 \(\mathcal{E}^{(0)}_M\),边又连接了相应的子结构,所以对于通过边连接的子结构 \((\mathcal{F}^{(0)}_i,\mathcal{F}^{(0)}_j)\in\mathcal{E}^{(0)}_M\) 计算 \(\mathcal{F}^{(0)}_{ij}=\mathcal{F}^{(0)}_i\oplus\mathcal{F}^{(0)}_j\),其中出现频率最高的 \(\mathcal{F}^{(0)}_{ij}\) 就记作 \(\mathcal{M}^{(0)}\)。再次遍历子结构 \((\mathcal{F}^{(0)}_i,\mathcal{F}^{(0)}_j)\in\mathcal{E}^{(0)}_M\),只要 \(\mathcal{F}^{(0)}_i\oplus\mathcal{F}^{(0)}_j==\mathcal{M}^{(0)}\),就将这两个子结构合并,完成后得到的所有新子结构就是 \(\mathcal{V}^{(1)}_M\),相应的新连接边就是 \(\mathcal{E}^{(1)}_M\),二者构成了经过 1 次合并的分子 \(\mathcal{G}^{(1)}_M\)

以上合并操作可以推广,在第 \(k\) 次合并中,可以从分子 \(\mathcal{G}^{(k)}_M(\mathcal{V}^{(k)}_M,\mathcal{E}^{(k)}_M)\) 得到分子 \(\mathcal{G}^{(k+1)}_M(\mathcal{V}^{(k+1)}_M,\mathcal{E}^{(k+1)}_M)\)

构建模版词汇

数据集中的所有分子在合并操作后都变为 \(\mathcal{G}^{(K)}_M(\mathcal{V}^{(K)}_M,\mathcal{E}^{(K)}_M)\),此时分子已经大大简化,将分子中的结点分割开来,并添加上连接位置的标记 *,就得到了分子结构模版。

模型

模型

MiCaM 通过多个逐渐组合模版结构的步骤生成分子,这样的组合有两种方式,一种是直接在连接位置上连上另一个模版结构,另一种是分子中的两个连接位置相连(成环)。

将第 \(t\) 步得到的分子记作 \(\mathcal{G}_t\),用 \(\mathcal{C}_{\mathcal{G}_t}\) 表示该分子的所有连接位置,使用序列 \(\mathcal{Q}\) 记录 \(\mathcal{C}_{\mathcal{G}_t}\) 中所有连接位置的顺序。在第 \(t\) 步取出 \(\mathcal{Q}\) 的首个元素 \(v_t\),也就是当前操作的连接位置,在该处连接或者成环后,就得到了新分子。新分子中可能具有新的连接位置,所以还使用 RDKit 更新序列 \(\mathcal{Q}\)。分子生成步骤就是不断重复以上过程,直至 \(\mathcal{Q}\) 为空,此时分子中的所有连接位置都被填满,就得到了输出分子。

因为具有连接和成环两种组合方式,所以在每个生成步骤中还需要确定与当前操作的连接位置 \(v_t\) 相连的位置与子结构。

文章为此设计了以下步骤,首先使用 GNNpmol 编码当前步骤得到的分子 \(\mathcal{G}_t\) 和当前操作的连接位置 \(v_t\),分别得到相应的表示 \(\boldsymbol{h}_{v_t}\)\(\boldsymbol{h}_{\mathcal{G}_t}\),使用 GNNmotif 编码模版库中的所有结构模版,得到所有连接位置 \(v\in\mathcal{C}_\mathrm{Vocab}\) 的表示 \(\boldsymbol{h}_{v}\)。使用神经网络将相应的表示转换为 key 向量与 query 向量,寻找与 query 向量最相似的 key 向量,也就是根据以下概率选择与当前操作的连接位置 \(v_t\) 相连的位置:

$$P_v=\mathop{\mathrm{softmax}}_{v\in\mathcal{C}_\mathrm{Vocab}\cup\mathcal{C}_{\mathcal{G}_t}\backslash\{v_t\}}(\mathrm{NN_{query}}([\boldsymbol{z},\boldsymbol{h}_{\mathcal{G}_t},\boldsymbol{h}_{v_t}])\cdot\mathrm{NN_{key}}(\boldsymbol{h}_v))$$

若候选的连接位置 \(v\in\mathcal{C}_\mathrm{Vocab}\),则在模版库中取得相应的 \(\mathcal{F}^*\),并将其接入分子 \(\mathcal{G}_t\),完成连接;若 \(v\in\mathcal{C}_{\mathcal{G}_t}\),那么就合并 \(v_t\)\(v\),完成成环。

结果与讨论

分布学习

n

文章在 QM9、ZINC 和 GuacaMol 三个数据集上分别训练了 MiCaM,并使用 MiCaM 生成分子,检查生成的分子集是否接近训练集的分布。实验结果如上表所示,在 QM9 和 GuacaMol 数据集上,MiCaM 生成分子的 Uniqueness 和 Novelty 低于 MoLeR 和 GP-VAE 等模型,但在 KL Div 和 FCD score 上,MiCaM 完全优于其他模型。KL Div 与 FCD score 都衡量了生成分子集与训练集分布的相似程度,也就是说,MiCaM 生成的分子最接近训练集的分布。

n

在算法一节提到的参数 \(K\) 决定了合并次数,文章在 QM9 数据集上测试了该参数对生成分子的影响。随着合并次数增加,KL Div 与 FCD score 都随之增加,而生成分子的 Novelty 却在下降。这是因为合并次数越多,分子简化程度越大,最后进入模版库中的模版结构也会更加复杂、更加接近训练集中的分子,最后使用这些模版结构构造的分子就会趋于与训练集分子「雷同」,这也一点程度解释了为什么 MiCaM 生成分子的 Uniqueness 和 Novelty 低于部分模型。

迭代优化

文章还使用 MiCaM 进行了迭代目标增强(Iterative Target Augmentation, ITA)的分子生成。首先选出数据集中针对目标要求打分最高的 \(N\) 个分子,接着使用模型在该训练集上微调并产生新分子,每次迭代过程中,在新分子与训练集中再选出打分最高的 \(N\) 个分子,用作为下一次迭代的训练集。

n

在文章设计的 5 种任务中,MiCaM 优于其他所有模型。

最后文章展示了 MiCaM 生成分子的过程,经过 5 个步骤,MiCaM 就能生成相当复杂的分子,同时分子的各性质分数也相应提高。

n

结论

文章提出了一种从分子数据中挖掘模版结构的算法,能够用于提取分子数据集中频繁出现的子结构并构建模版结构库,同时文章设计了基于该模版结构库的分子生成模型 MiCaM。MiCaM 通过逐步组合模版结构实现分子生成,很大程度解决了以往启发式分子生成随机性大、难以生成复杂结构的问题,使用模版结构组合生成的分子也更接近于现实中化学家对化合物改造的策略。