该研究提出了多种数据增强策略用于逆合成的预测,并提出一个新的评估指标: MaxFrag.
来源-Nature communications 2020 Tetko et al.
引言
合成一种有机化合物就是解决一个有很多碎片的拼图谜题,并且这个拼图有几块缺失的碎片。把每个碎片看成一个单步的反应,找到它们的组合顺序,最终得到一个完整的拼图就是逆合成中需要解决的任务。 Corey等人开发的有机合成逻辑的引发了辅助合成分子的计算机程序的开发。第一个逆合成程序LHASA使用是基于模板的方法。将已知反应的数据库中的每个模板依次应用于目标分子,然后根据特定策略选择试剂组。相反,试剂会经历相同的分解,直到找到一组商业上可用的化合物。逆合成总是有多种路线,即为一个逆合成树,这颗树使的叶子结点为不同起始材料。因此,一个实用的逆合成算法不仅要解决规则获取和选择问题,还要有能力有效地导航这棵树,同时考虑到不同的策略。这些任务与人工智能策略直接相关。
由于维护一个模板数据库十分困难,因此大多数包括LHASA在内的基于模板的项目都没有得到广泛的使用。唯一的例外可能就是SynthiaTM(前身为CHEMATICA). 在Syhthia中,规则通过原子映射反应来自动获取。然而,在映射定义的过程中存在歧义,更重要的是,自动规则没有考虑分子中其他未定义的可能反应中心。应用此类转换可能会导致分子无法按预期反应。作为替代,有一种基于数据驱动的深度学习的自动提取规则的方法。该方法训练结束后,神经网络通过其参数包含相应输入的所有隐式编码特征(规则)。 关于反应预测结果和逆合成的工作表明了符号表征方法的可行性,其中反应被写成 SMILES 字符串,将问题转换成机器翻译问题。产物被看成是“起始语言”(source language, src),参与逆合成的试剂被称为“目标语言”(target language, trg).
然而分子的 SMILES 表征是模糊(即不具有唯一性)的。尽管存在标准的化程序,但已经研究表明模型在训练过程使用一批随机 SMILES(增强)是有益的。 最近,这种增强也被应用于反应预测的模型上。 增强(随机)的SMILES,除了起始原子和图枚举的方向是随机选择的,即都是有效的。
在该研究中,作者仔细研究了各种增强机制,并表明与标准Beam Search或不同温度下的模型评估相比,增强数据模型拥有更好的性能。此外,作者也明确说明本研究这是单步反应的预测。本研究表明,通过使用更复杂的数据增强策略,可以减少神经网络的过拟合程度并提高准确性,以达到正向和逆向合成的最佳性能。该研究还注意到,训练模型的数据越难,预测新化合物的效果就越好。 此外,该研究引入了一个新的度量 MaxFrag 准确度来预测最大片段(从而确定经典逆合成的主要转化)。
结果
基准数据集中,产物和反应物用的都是标准化的SMILES,本研究中采用了4种数据增强的策略,分别为: xN, xNF, xNS和xNM。具体见表S.1
表. S1不同的数据增强策略,其中加粗的为原始数据,即标准的SMILES
Dataset | input (product) >> output (reactants) | Examples | Note. |
x0 | canonical >> canonical | **CC(c1ccc(Br)nc1)N(C)C >> CC(=O)c1ccc(Br)nc1.CNC** **O=Cc1cncc(Br)c1 >> O=C(O)c1cncc(Br)c1** | 原始数据,无加强。 |
X2 | canonical >> canonical random >> canonical | **CC(c1ccc(Br)nc1)N(C)C >> CC(=O)c1ccc(Br)nc1.CNC** n1c(Br)ccc(c1)C(N(C)C)C >> CC(=O)c1ccc(Br)nc1.CNC **O=Cc1cncc(Br)c1 >> O=C(O)c1cncc(Br)c1** c1(cncc(Br)c1)C=O >> O=C(O)c1cncc(Br)c1 | xN增强策略,除了原始的数据之外,还**额外生成一条产物随机化的数据**。 |
x2R | canonical >> fixed random random >> fixed random | **CC(c1ccc(Br)nc1)N(C)C** >> c1cc(Br)ncc1C(=O)C.CNC n1c(Br)ccc(c1)C(N(C)C)C >> c1cc(Br)ncc1C(=O)C.CNC **O=Cc1cncc(Br)c1** >> c1c(cncc1C(=O)O)Br c1(cncc(Br)c1)C=O >> c1c(cncc1C(=O)O)Br | xNR加强策略,首先随机化反应物,接着使用原始的和N条随机化的产物,分别与该反应物组成一条数据 |
x2F | canonical >> canonical random >> random | **CC(c1ccc(Br)nc1)N(C)C** >> **CC(=O)c1ccc(Br)nc1.CNC** n1c(Br)ccc(c1)C(N(C)C)C >> CC(=O)c1ccc(nc1)Br.CNC **O=Cc1cncc(Br)c1** >> **O=C(O)c1cncc(Br)c1** c1(cncc(Br)c1)C=O >> c1c(cncc1C(=O)O)Br | xF增强策略,除了原始的数据之外,还**额外生成N条产物随机化和反应物随机化的数据**。 |
x3S | canonical >> canonical random >> random+shuffled random >> random+shuffled | **CC(c1ccc(Br)nc1)N(C)C** >> **CC(=O)c1ccc(Br)nc1.CNC** n1c(Br)ccc(c1)C(N(C)C)C >> CNC.CC(=O)c1ccc(nc1)Br CN(C(c1ccc(Br)nc1)C)C >> c1cc(Br)ncc1C(O)C.CNC **O=Cc1cncc(Br)c1** >> **O=C(O)c1cncc(Br)c1** c1(cncc(Br)c1)C=O >> c1c(cncc1C(=O)O)Br n1cc(cc(c1)C=O)Br >> OC(=O)c1cncc(c1)Br | xS增强策略,除了原始的数据之外,还**额外生成N条产物随机化和反应物随机化的数据,并将随机化后的反应物随机打乱顺序**。 |
x2M | canonical >> canonical .canonical >> canonical random >> random+shuffled .random+shuffled >> random | **CC(c1ccc(Br)nc1)N(C)C** >> **CC(=O)c1ccc(Br)nc1.CNC** **.CC(=O)c1ccc(Br)nc1.CNC** >> **CC(c1ccc(Br)nc1)N(C)C** n1c(Br)ccc(c1)C(N(C)C)C >> CNC.CC(=O)c1ccc(nc1)Br .CNC.CC(=O)c1ccc(nc1)Br >> n1c(Br)ccc(c1)C(N(C)C)C **O=Cc1cncc(Br)c1** >> **O=C(O)c1cncc(Br)c1** **.O=C(O)c1cncc(Br)c1** >> **O=Cc1cncc(Br)c1** c1(cncc(Br)c1)C=O >> c1c(cncc1C(=O)O)Br .c1c(cncc1C(=O)O)Br >> c1(cncc(Br)c1)C=O | xNM增强策略,在xNS基础上,将产物和反应物的顺序调换,调换后的反应物在SMILES前面加一个字符"." |
合成反应数据
该研究使用从 USPTO数据库过滤得到的训练集,其中包含 50,000条反应,划分为10 种反应类型。使用了 Liu 等人提出的划分方案,将其分为 40、5 和 5k ,分别用于训练、验证和测试集。与之前的研究一样,在观察到使用验证集的提前停止并没有提高模型测试的准确性后(即熟练之后),合并训练集和验证集,得到最后的用于训练的数据。仅在模型训练完成后才预测 5k 测试反应,并且不会在模型开发的任何阶段使用。以类似的方式,加入了 USPTO-MIT 数据集的训练和验证集以进行直接反应预测。为了与之前的研究结果进行更直接的比较,该研究还报告了仅使用相应训练集开发模型时的性能。此外,还开发了具有最大已发布 USPTO 全套模型的模型。
原始数据集(canonical datasets)的分析
以标准SMILES作为训练集的模型,在标准测试集的准确率达到了40.9%。尝试使用此模型来预测增强测试集 (x5, x10),Top-1 ACC结果分别为 23.3% 和 18.4%,比标准测试集相比低了很多。这个结果在意料之中,因为仅使用标准SMILES序列训练的模型无法概括和预测使用不同分子表示风格的增强型SMILES序列。
仅增强产物(xN)
对于产物的增强,只需一个额外的增强(x2),即可以将由标准SMILES序列组成的测试集的Top-1 ACC提高到 43.7%。此外,增加训练集中的增强数量(提高N)并没有提高 Top-1 的预测精度。 因此,仅用一个随机 SMILES 增加训练集即可达到最佳性能。
基于字符和精确序列的预测精度分析
为了更好地理解模型的训练过程,该研究还开发了几个模型,其中大约 10%的数据集没有参与训练,被用于监控其预测性能(称之为监控数据集)。与测试集在预测新反应时测试模型的性能不同,监控数据集用于测试Transformer预测同一反应生成的不同 SMILES的能力。Transformer能够识别相同反应的不同表示。例如,在训练集不扩增时,预测监控数据集的基于字符和基于精确序列的准确率分别为 96.5% 和 34.5%。然而,最终的测试集表现为40.9%,要高于监控数据集。因为有时模型预测给出的序列不是标准的,而将其转换成标准SMILES之后就和标准一致了(也就是监控数据集评估的是模型直接给出的预测结果). 当对训练集进行增强时(x10),基于字符和基于序列的准确率分别达到了99.97%与98.9%(图1)。
可见,Transformer学习到了来自同一反应的反应物与试剂的不同SMILES的表征,并且能够能够准确还原的目标产物。显然,它也能够记住任何随机序列。为了证明这一点,该研究使用随机 SMILES 序列而不是标准化的SMILES序列作为预测目标。虽然这项任务更加困难并且需要更多的训练周期,但 Transformer 能够完美地记住随机序列(图S1)。 由于 SMILES 预测目标是随机的,Transformer 无法学习关于如何编写目标的标准化规则。 尽管如此,它仍然为测试集计算出 26.8% 的 top-1准确率,然而,与使用以标准序列为目标的 x10 数据集实现的 42.2% 相比,这一预测准确率明显较低。
作者在该部分通过不同的数据增强策略研究了一下Transformer的研究方式。首先,在只随机化输入序列,也就是目标分子的SMILES时,监控数据集(源自训练集,但不参与训练)的字符与序列准确率均得到了很大的提升,者表示Transformer识别出了相同训练集中的反应的反应物和试剂的 SMILES 的不同表示。接着,作者将反应物的序列也随机化,Transformer同样也能记住随机后的序列,但这里,作者耍了一个小聪明,他只提及了字符的准确率,序列的准确率大幅下降了。
反应物及试剂的增强
接着作者将目标序列即反应物与试剂也进行增强处理。该任务相较于只增强输入序列要难上许多——在训练过程中基于字符与序列的准确率均有所下降。例如增强2倍时x2F为91.3%的字符准确率,而x2策略则有98.6%(图1)。在x20F策略的字符准确率为89.67%,这表明Transformer 面对随机 SMILES 的预测,它仍然能够对其字符构成提供合理的预测。
Top-1 表现分析
在扩增2倍时,只增强目标产物的xN和反应物、产物全都增强的xNF的策略在Top-1 ACC上的表现是相似的。然而,当加大的加倍倍数时,xNF拥有更好的Top-1 ACC的表现(图2)。当将此模型应用于使用x20增强策略生成的测试集,使用x80F扩增的训练集时,Top-1 ACC达到了最高的52.3%。 虽然进一步增加增强仍然可能提高 top-1 的性能,但由于可用计算资源的限制,作者没有执行此类计算(哈哈)。
随机打乱反应物的顺序
出了增强全部的反应,作者还打乱了反应物的顺序(xNS策略,见表 S1)。对于应用于具有相同增强数量的测试集的 x20S增强的训练数据集,这种额外操作的效果将Top-1 ACC提高到 53.1%(图 S2)。
随机打乱与混合正、逆反应
同时进行逆合成和正向合成的训练可以创建潜在空间的混合表征,并进一步提高Transformer泛化的能力。作者通过颠倒产物/反应物 + 试剂的顺序并添加一个”.”字符来与正反应区别开来(xNM策略, 表 S1)。与上述的分析中的需要经过20倍增强的训练集才能实现最高性能不同,混合数据集仅通过10倍增强就实现了最优的性能(图 S2)。由于混合数据集还包括直接反应。较少数量的增强不允许它充分探索数据多样性,而较大数量会产生过多的噪音并且难以学习由单个规范序列注入的规范化规则。对于 x10M训练集,Transformer计算达到了52.8%,与使用 x20S训练数据集计算出的 53.1% 相似。
感觉这个trick很有意思
Top-5 表现分析
该评估指标通过测量是否在前5个预测反应物中包括了正确的反应物。实际上,对于具有最高 top-1 精度的逆合成模型是否可取是值得怀疑的。逆合成模型的目标是获得几个反应前体的建议,而不仅仅是文献中陈述的建议。 此外,同一个目标化合物可能存在多个反应。具有较高Top-N分数的模型确实能揭示其他可能的反应。 因此,具有较高 top-N 分数但具有相似 top-1 分数的模型对于化学家来说可能更有意义,因为它们确实提出了正确的预测以及相似质量的 top-1 反应。
对于每个增强的数量,Top-5的性能通常随着增强的数量的增加而增加。 对于仅具有 4-5 个增强的训练集,在不同场景中始终计算出最高的前 5 个值(图 3),使用 x5M 增强的训练集的最高准确率达到了78.9%,比使用 x5S增强的训练集的准确度高约 1%(图 3)。
基准 USPTO-50k 模型
作者选择使用x5M策略训练出来的模型,该模型拥有最高的Top-5 精度,并对其进行了额外 400 次迭代(总共 500 次)的训练,通过额外的训练将 top-1 的准确率提高到 53.3%,而在使用beam search (beam_width=5) 时,top-5 的性能提高到 79.4%(表 1)。
通过使用大量的增强和x100 作为测试集来进一步的改进模型表现。在此条件下,模型对top-1 和 top-5 预测的准确率分别为 53.6% 和 80.8%。
温度的影响
在作者之前的研究中,在beam search过程中使用更高的温度会提高模型的top-的准确性。在该研究中没有使用增强,在这种情况下,模型的 top-1 准确率在使用温度 1.3 或 1.5 时分别从 48.3% 提高到 49.1% 和 49.2%。 然而,增强数据 (x20) 的 top-1 和 top-5 性能分别从 53.3% 下降到 52.7% 和 52.4%。 对于相同的测试集,两种温度下的前 5 名准确率也分别从 79.4% 下降到 77.7% 和 77.4%。 因此,虽然较高的温度增加了预测的可变性,从而增加了预测标准序列的性能,但它对增强数据的影响是负面的,尤其是它导致较低的Top5性能。
这部分实验似乎有点问题,temperature的取值范围应该是[0, 1)。后期需要研究一下原文献
Beam Search的影响
Bean Search的目标是产生多个预测结果,因此可以更好地探索预测中的多变性。将Beam Width提高到10并使用x20的测试集,Top-1的准确率在53.3% (beam width=5) 的基础上提高了0.2%,top5从80%提高到80.6%。不使用beam search时top-1 精度为 53.3%,top-5 精度降低为75.3%(表 1)。
Beam Search和数据增强都增加了预测出的SMILES的个数,从而导致了更好的准确率的表现。因此,这两种方法都有助于生成多个预测,用于识别排名靠前的序列。其中,最大beam width受训练模型的字典大小的限制(即SMILES中可能出现的字符的个数,该研究中为44). 有趣的是,使用标准的SMILES作为输入数据可以得到最多数量的独特SMILES,对于大小为 5、10 和 44 的beam search, 占比分别为 86%、82% 和 78%。而当使用随机化的SMILES作为输入时,占比分别降低为42%、28%与13%. 然而,使用标准化的SMILES训练的模型,在beam search拥有更高的无效SMILES的比率(图 S3)。此外,作者还观察到,两种输入方法训练的模型在不同beam position上的正确率也有很大的差异,一般来说错误的SMILS的比率会很低(图 S3)。
使用标准SMILES时,第一个位置提供了更高的精度(图 S3),但其他位置的精度要低很多。 这是因为 Transformer为标准输入序列生成了标准的SMILES,并且由于只能产生一个有效的规范 SMILES,它未能生成新的正确 SMILES。 事实上,在训练阶段,transformer总是有一对标准的 SMILES 作为输入和目标序列。 与此相反,使用增强的 SMILES拥有更高的自由度,并允许它贡献有效但不一定规范的 SMILES。
预测的准确率
对于一些使不使用增强序列或beam searc的逆反应预测,大多数预测序列是相同的,而对于其他反应,Transformer产生尽可能多的不同反应物。虽然beam生成过程会保证每个预测都具有完全相同的字符序列,但在许多情况下,Transformer会生成相同 SMILES的多个非标准的实例。因此,最频繁(转换为标准的表征后)的SMILES 出现的频率可以表明Transformer在预测中的置信度。图 4 表明这种频率与预测的准确性有很好的相关性,可以用作化学家的置信度评估方法。事实上,在所有对 Top-1 的预测中,最常见的 SMILES 占主导地位的反应很可能被正确预测。如果最频繁的 SMILES 有一个较低频率,则此类预测很可能是不正确的。对于大约 20% 的最频繁的预测,逆合成预测的准确率在 80% 以上,其中,4% 的准确率超过 90%。 应该提到的是,对于严重依赖于速度的实际实现,例如多步合成,没有理由总是运行所有 100 个预测来获得置信度估计。 人们总是可以基于较少的预测来估计最频繁出现的 SMILES 的概率及其置信区间,从而减少计算次数。
也就是说,反应中的SMILES越频繁,该反应就越有可能预测对,可以基于这个关系给出置信度。
不同场景的预测精度的分析
对于没有立体化学的反应,参考模型的准确度比有立体化学的反应高约 5% 到 7% (Top-1) 和 10% (Top-5)(表 2)。 测试集中 20% 的反应包含具有立体化学的分子。 测试集增强数量的增加提高了立体和非立体化学反应的准确性。数据集中的立体化学反应也可能遭受大量注释错误或/和可能具有较低的预测分数,因为此类数据在训练集中的代表性不足。
经典逆合成精度:最大片段的识别精度
逆向合成 SMILES 的预测包括反应物的准确预测。然而,使用不同反应物进行的相同反应可产生相似的产率。通常,数据库不包含合成目标产物的所有可能的反应条件。因此,可以认为仅对主要(最大)反应物的预测与逆合成预测更相关,因为我们需要首先确定反应类型。 事实上,化学家通常通过将目标分子分解成碎片来编写逆合成。这种仅关注主要化合物转化的经典程序是获得有效逆合成路线所需的最小信息,同时也是所有反应所需要的(见图 5)。 反应的反应条件的选择可以被认为是后续任务。
这就是为什么作者决定将最大反应物的识别视为模型性能的新度量:经典逆合成精度,即“最大片段”(MaxFrag)的预测准确率。前 5 名反应预测的 MaxFrag 为 85.4%(表 2)。 MaxFrag 对于估计系统自动推断正确反应类别的能力很重要。该策略与显式提供反应类别信息作为模型输入是正交的。添加反应类作为先验信息等同于在考试中获得提示:而这是不切实际的,也会减少提出其他替代可行反应的机会。使用 MaxFrag 比提供反应类作为先验信息更准确和合乎逻辑。除了 MaxFrag 和 Top-n 之外,还有一些其他分数来评估逆合成建议,例如Satoh 和 Funatsu 的匹配分数,Segler 等人的“in-scope”过滤器,以及由Schwaller 等人提出的正向transformer分数。然而,MaxFrag 是最简单且可解释的。
逆合成数据质量和 MaxFrag 准确率
相较于传统的Top-N,MaxFrag Top-N拥有一个更高的准确率。为了解释这一事实,作者分析了他们的数据集,发现了四种类型的反应:非试剂反应、单试剂反应、多试剂反应和不清楚的试剂反应。其中非试剂反应是不起作用的反应 (
不同类别下的预测分析
原始的USPTO-50K数据为每一个反应都提供了一个反应类型的注释,共计10种类型。不同类型之间的准确率的结果见图 6。官能团相互转换和加成以及碳-碳键的形成这两种类型对模型来说是最难预测的。 可能是因为与更直接的氧化或保护反应相比,这两种反应中可选的基团和反应物的集合相较于碳-碳键的形成要窄得多。
正向反应的预测
接着,作者将上述的策略应用于USPTO-MIT数据集上进行正向反应的预测。使用一个439K大小的样本进行训练,测试集大小为40K。其中测试集分为分离(separated)与混合(mixed)数据集。“分离”数据集中的不同反应试剂用”>”分割,而“混合”数据集中使用”.”替换所有的”>”。虽然mixed会要更难以拟合,但更符合实际情况,因为有时候不知道是哪先试剂实际参与了反应。训练时,使用写x5N增强数据对separated进行学习,对mixed使用x5S和x5M。预测结果见表3.
x100的测试集虽然相较于x20有更好的表现,但提升十分微小,并且还伴随着过评估的风险。
与已发表的使用USPTO-MIT的正向合成的模型的比较
在诸多基于USPTO-MIT训练的正向预测模型中,该研究的模型在mixed数据上拥有最好的表现(表4),因为模型就是在随机化的增强数据上进行训练的。作者使用上述方法并使用与其他方法相同数据集重新训练了一个模型。在mixed上相较于简单的Transformer模型提升还是很明显的。
与已发表的逆合成模型相比
USPTO-50k
与其他基于USPTO-50K训练的模型见表5. 分别提供了使用验证集(45K)和不使用验证集(40K)训练的结果。
作者在原文中说使用45K是Fair comparison. 我个人感觉很扯,明明使用40K就比其他人要好了,不知道为什么还要留一个把柄出来。为了证明模型还可以更好?
USPTO-MIT
相较于USPTO-50K, -MIT含有反应物与试剂(例如粗化剂). 参照上述的研究(表 3), 使用x5M策略来进行数据增强。接着,为了更加与-50K数据集的可比性,作者使用x5S并选择1~2个最大碎片作为反应的产物。测试集大小为40k,并使用x100的增强策略。最后x5S在MaxFrag的Top-1, -5,- 10表现为61.9%, 84.4%与86.9% (-50k为58.5, 85.4, 90%). x5M为61.1, 84.4, 88.2%. 表现与-50K相近,证明该方法的可拓展性。
USPTO-full
在该数据集中,对于具有多种产物的反应,将它们复制成多个反应,每个反应一个产物。在移除错误的反应之后,得到一个训练、验证和测试分别为800、100和100k的数据。就这,作者移除了总原子数少于5个的反应,最后数据分别为769、96和96k。使用x5M策略进行训练,与其他模型的比较见表6。
讨论
本研究主要做了以下的工作:
- 通过大量的实验证明了对训练集使用适当的增强策略可以大幅提升合成模型的性能
- 首次提出了预测得到的SMILES序列在原数据集中的频率可以作为评估合成模型预测结果的置信度的评估指标
- 提出了一个新的评估指标: MaxFrag, 用作经典逆合成准确率(classical retro-synthesis accurac)的评估
一点感想
这篇文章在数据增强上进行了一个非常详细的研究,提出了多种增强方法,在我之前的认知里只有对SMILES无脑堆倍数这一种方法。并且,该文章对结果的分析也非常详尽,值得我好好好学习。
- Post title:用于直接和单步逆合成的SOTA增强 NLP Transformer模型
- Post author:Kotori Y
- Create time:2021-11-09 17:20
- Post link:https://blog.iamkotori.com/2021/11/09/State_of_the_art augmented NLP transformer models for direct and single-step retrosynthesis/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.