文献总结|对编码器-解码器模型学习过程中化学结构识别的研究

Category 碎碎念

doi.org/10.1186/s13321-023-00713-z

本文介绍于 2023 年东京大学发表在 Journal of Cheminformatics 上的一篇文章,文章原标题为 Investigation of chemical structure recognition by encoder–decoder models in learning progress,文章,文章研究了编码器-解码器模型训练过程中对化学结构识别的过程以及将其潜变量作为分子表示用于下游任务的效果。

基于结构的分子表示又被称为描述符,如何获得更好的描述符是化学信息学中很重要的问题。在近年兴起的深度学习领域,编码器-解码器(encoder-decoder, ED)类模型广受关注,以分子的字符序列 SMILES 作为输入,编码器模型会将其转化为一连串蕴含化学学信息的描述符,解码器模型通过该中间变量还原出原来的分子,这种由 SMILES(或其他)分子表示编码至隐空间中的潜变量就可以用作为数字形式的分子表示,用于各种下游任务,这也是自然语言处理中「预训练-微调」的范式。

在传统方法中,也有例如 ECFP、NFP 一类的分子指纹,但他们只描述了分子中所具有的特定结构,无法由描述符再还原出分子结构。只有更好的表示才能在下游任务得到更好的结果,所以文章研究了在 ED 模型中化学结构的识别过程,ED 模型对化学结构的识别是指模型获得反映化学结构的数字信息和将该信息还原为化学结构的能力。

方法

模型

n

模型的编码器部分是 3 层的 GRU,后面的全连接层将 GRU 的输出映射到 256 维的潜空间,解码器部分以该潜变量为输入,进入全连接层后同样是 3 层 GRU,输出还原的 SMILES。模型以输出 SMILES 与目标 SMILES 的交叉熵损失作为损失函数,训练模型的过程是使其能通过输入的随机化 SMILES 输出标准 SMILES。

为了评估将 ED 模型中潜变量作为分子表示的效果,文章使用 ToxCast 中 113 个任务分别训练了 XGBoost,使用其预测结果(即下游任务结果)判断分子表示的优劣。

数据

模型所使用的训练数据来源于 ZINC15,从中随机获取了 3 千万个分子,后续通过去除非有机物常见原子、去除重原子等方式清洗数据。

指标

文章定义了两个指标用于评估 ED 模型的准确率,完全准确率定义为

$$\mathrm{perfect\ accuracy}=\frac 1n\sum^n_iI(t=p)$$

其中 \(t\) 表示正确的 SMILES,\(p\) 表示预测的 SMILES,即计算与标签值相同的输出所占比例。

另一个指标部分准确率定义为

$$\mathrm{partial\ accuracy}=\frac 1n\sum^n_i\left\{\frac{1}{\max(l(t),l(p))}\sum^{\min(l(t),l(p))}_jI(t_i=p_i)\right\}$$

\(t_i\) 表示 \(i\) 位置上正确的 SMILES 字符,\(p_i\) 表示 \(i\) 位置上预测的 SMILES 字符,该式即计算所有 SMILES 字符中,预测结果与标签值相同位置上相同的字符所占比例。

在 XGBoost 模型中,使用 ROC 曲线下面积(AUROC)与 Matthews 相关系数(MCC)评估模型准确率。

结果

n

文章首先分别使用 10 k、100 k、1 M 的测诫集测试了训练过程中的 ED 模型,结果如上图所示。随着训练轮次的增加,模型还原出化学结构的准确率也在上升,对比部分准确率与完全准确率,可以发现在相同时刻下,部分准确率要高于完全准确率,这说明模型先学习到了还原出分子中若干个字符组成的小片段,然后才将其拼合还原出整个分子。

n

以训练后的还原准确率命名模型,例如 94% 的模型记为「Model_94」,测试各模型的分子表示在 ToxCast 任务上的效果,结果如上图(a)所示。可以看出,除了未经训练完全无法还原出分子的 Model_0,其他模型都能较好地完成分类任务,而且分类效果比较接近。接着文章选定了三类结构的分子,使用 UMAP 降维的方法绘制出了其分子表示在化学空间中的位置,如上图(b)所示,在 Model_0 中,三种结构混杂在一起,很难完成分类,而 ED 模型只需要经过训练,三种结构就区别开来,与前一个实验的结果也吻合,这说明 ED 模型生成的潜变量很适用于分子分类的任务。

n

最后,文章比较了训练过程中还原出分子的分子量与 SMILES 长度的准确关系,在上图中只有在黄线上的样本表明还原分子与标签值一致,可以看出虽然 DE 模型在训练的靠前阶段无法还原出分子的特定性质,但其潜变量在化学空间中已经有了区分度,这种区分度足可以完成分类任务,但其所蕴含的化学信息还不能使模型还原出结构。

结论

文章研究了 DE 模型训练过程中对化学结构的识别以及将其中的潜变量作为分子表示的效果,文章的实验结果展示了模型训练过程中分子表示的变化,证明了将其作为下游任务的分子表示的可行性。

在目前,预训练-微调是广泛使用的模型训练范式,而在化学信息学领域,其中的关键步骤,也就是将潜变量作为分子表示尚缺乏研究。文章研究的是较早的 GRU(RNN)所构成的 DE 模型,还应该对 Transformer、GPT 等目前更广泛使用的模型进行潜变量的深入研究。