查看原文
其他

图卷积神经网络用于解决小规模反应预测

吴叶鉴 智药邦 2022-06-15


今天给大家介绍的是浙江工业大学智能制药研究院的段宏亮教授研究团队发表在Chemical Communications上的文章 " A graph-convolutional neural network for addressing small-scale reaction prediction "。
化学反应的预测是化学合成中的重点。诸如transformer模型之类的现有方法在基于大数据集训练的前提下可以准确地预测反应的潜在产物。然而,往往由于训练数据的缺乏,该模型无法提取有关反应的足够的化学知识,使得预测化学反应这一任务更具有挑战性。在这篇文章中,作者描述了一种graph-convolutional neural network(GCN)模型。作者以Baeyer-Villiger反应小数据集为代表,探索了GCN模型与transformer模型在有限数据上的性能差异。并且进一步采用Suzuki反应,展现了模型在不同数据规模上的预测性能对比。 

1.研究背景

在给定反应物的情况下预测合适产物的过程是化学合成路线中重要的一部分。化学家通常会根据经验,采用试探法和经验性规则来预测反应结果,这既昂贵又费时。近年来,深度学习的飞速发展促进了计算机辅助方法在化学研究中的应用,这些算法的使用已成为分子合成领域的新趋势。    
过去几年中,已经出现了许多方法来解决反应预测问题。Nam和Kim在2016年引入了神经机器翻译(NMT)模型。在他们的工作中,提出了一种简化分子线性输入规范(SMILES),这是一种包含有关化合物中原子和化学键信息的文本序列的表示,由此反应预测可以被视为翻译问题。同年,Wei等人,利用分子指纹来描述化合物,并进一步将反应物和产物连接起来作为反应指纹,他们在有限反应类型的训练样本上进行训练(仅包括卤代烷反应和烯烃反应),神经网络模型可以识别出输入反应物的适合的反应类型。另外,Coley等人将反应模板与神经网络相结合,以预测给定的一组反应物的最可能产物。在他们的研究中,反应模板用于生成一系列符合化学规则的可能候选产物,然后神经网络模型从候选产物中选择最可能的产物。    但是,以前的大多数研究都没有揭示反应的化学信息。与那些算法相反, Coley等人在他们的工作中创新性地提出了一种GCN模型来描述化合物的详细特征,并将化学反应预测视为基于图的任务而不是语言翻译任务。在这种情况下,分子可以看作是包含原子和化学键的特征的图,并且可以将化学信息(例如芳香性)考虑其中。更重要的是,注意力机制的应用使该模型能够不单单记录原子自身的信息,还可以捕获反应中其他原子和化学键的特征。该模型基于充足的反应数据下的预测能力已由Coley等人证实。    Philippe等人进一步验证了GCN模型的能力。在他们的研究中,在足够的训练数据上,GCN模型与transformer模型相比能够带来可比拟的强大的预测性能。然而,Wang等人指出,transformer模型的预测性能极大受可用数据量的影响,Zhang等人也指出了相同的缺陷。换句话说,将transformer模型用于反应预测之前,需要在有足够多的反应数据下进行训练。    在这项研究中,作者采用Baeyer-Villiger反应来探索在有限样本上训练的GCN模型的性能。并借用Suzuki反应显示了在不同数据规模下,GCN模型和transformer模型之间的性能比较与基于文本的transformer模型相反,GCN模型将化学分子视为图形,其中键等于边,原子对应于节点。作者的工作旨在展示GCN模型在缺乏训练数据的情况下的预测能力,而不是追求最先进的性能。
图1:Baeyer-Villiger反应的详细描述。A. Baeyer-Villiger反应的一般机理。B. Baeyer-Villiger反应的例子,其中(a)是酮反应物,(b)是醛反应物,两者都被氧化成酯。    

2.模型

预测任务分为两个步骤,总体示意图如图2所示。首先,该模型配备了Weisfeiler-Lehman Network(WLN)学习分析整体反应的可能反应中心---找出化学键形成和断裂的位置。接下来,根据变化的化学键,Weisfeiler-Lehman Difference Network(WLDN)枚举在化学价规则约束下的候选产物并对其进行排名。从整个网络的角度来看,模型预测反应的过程与人类描述化学反应的方式相似。其中注意力机制的应用,更使模型能捕捉一些不包含在反应中心但对反应的进程有影响的原子。为了在缺乏训练反应示例的情况下,实现高性能的预测性能,该模型不仅需要准确地找到反应中的反应中心,还需要计算每个候选产物的可能性。应该注意的是,尽管GCN模型在图形的绘制中提取了分子的相关特性,但是在预测反应的过程中,反应物以SMILES的形式输入。换句话说,该模型将反应物SMILES转换为图形,并结合了化学知识以进行反应预测。
图2:预测反应产物的方法示意图。将反应物分子(A)表示为属性图(B)。图卷积神经网络学习计算局部特征和全局特征向量(C),以预测每对原子(D)对变化的可能性。通过排列和组合最有可能改变的键来生成一系列候选项(E),并通过另一个图卷积网络对这些候选项进行排序。提取前三类产物,并将它们与真实产物进行比较。2.1 Weisfeiler-Lehman Network(WLN)
作为图卷积网络的一类,WLN通过嵌入Weisfeiler-Lehman(WL)算法来学习分子图同构。在GCN模型中,化学反应由一对分子图组成,其中Gr和Gp分别代表反应物和产物。分子图G =(V,E)由原子集合(V)和化学键集合(E)组成。WL算法依靠聚集相邻原子之间的流动信息,更新有关原子的状态特征和相邻原子的结构的信息。在每次迭代中,GCN模型都可以获取有关局部原子环境的信息。2.2 注意力机制
为了进一步提高WLN模型的能力,GCN模型中加入了注意力机制,以使信息能够在断开的分子之间传播。考虑到不参与反应中心的原子可能会影响化学反应,注意力机制可以使化学信息更广泛地流动。通过计算原子与所有其他原子的加权总和,可以记录全局化学环境。最后,通过局部和全局注意力强度的权重计算原子键对变化的可能性。注意机制的概述可以在图3中找到。如图3所示,叔丁基具有较高的注意力权重,这表明叔丁基甲基酮发生Baeyer-Villiger氧化时,叔丁基更可能进行迁移。值得关注的是,有关反应的信息不仅获得原子之间的连通性,而且获得原子性质(例如原子序数,形式电荷)。
图3:Wisfeller-Lehman网络(WLN)模型嵌入了注意力机制来预测反应中心。开始将分子(A)表示为图形(B),并通过合并相邻原子之间的传递信息来迭代更新向量,并为每个原子(C)计算局部特征向量。全局注意力机制通过提取所有其他原子的信息为每个原子生成全局向量。最后,基于局部和全局注意力强度的权重,计算原子键对变化的(D)可能性。2.3 反应中心预测
从Gr到Gp,化学反应位点被视为图连通性中原子和键的变化。在反应中心预测的训练过程中,来自WLN的局部和全局原子特征被转移到另一个神经网络中,并以交叉熵损失函数最小化产物标签和预测分数之间的差异。经过此步骤后,GCN模型可以确定和评分可能改变的原子对,并且对前k个原子对根据其得分进行排名。2.4 Weisfeiler-Lehman Difference Network (WLDN)
在前一阶段,选择得分最高的前k个原子对,并将其排列在一个原子对集合中。此外,通过列举原子对集合中所有可能的键对变化来获得候选化合物集合。为了突出反应物和产物之间的差异,WLDN分为两个部分。第一个被称为Siamese WLN的组件用于学习本地和远端信息相结合的反应物和候选产物的原子特征向量。然后,将对应原子的向量差输入另一个WLN中,以计算候选分数,对候选产物进行排名。

3.实验数据

作者使用代表性的小规模人名反应Baeyer-Villiger反应,来展示GCN模型面对低数据量时的反应预测能力。反应数据是由Zhang等人收集。她们从商业数据库Reaxys中提取了这些反应,并过滤了不相关的信息(例如温度,时间,产率)。然后,对反应数据集进行进一步预处理以消除重复和错误的反应,而简化后的反应仅包含反应物和产物。此外,SMILES已由RDKit规范化,并按8:1:1的比例任意分为训练,验证和测试数据集。作者进一步应用原子映射工具RXN Mapper来映射反应数据,以便整个反应中的每个原子都具有唯一的标签。利用原子映射信息,可以表示反应中反应物和产物之间的对应关系。

4.模型表现

在Philippe的工作中,他们在USPTO_MIT的数据集(包含约四十多万反应)中比较了GCN和transformer模型的性能,结果如表1所示,模型之间的top-n准确率差异很小,两者的反应预测性能可以相互媲美。这表明GCN模型和transformer模型都可以从大规模数据集中学习充足的反应知识。 
然而,由于数据驱动的性质,transformer模型无法从有限规模的训练数据中学习到足够的化学知识。因此,作者应用GCN模型来探索具有挑战性的小规模反应预测。为了在有限的数据上证明GCN模型的性能,作者将其与Zhang等人的工作进行了比较,后者揭示了transformer模型的结果。两个模型都在Baeyer-Villiger反应数据集中进行了训练和测试,它们的top-n准确率如表2所示。作者观察到,即使对于涉及区域选择性的小规模数据反应,GCN模型也能以90.4%的top-1准确率很好地运行,远远高于transformer模型的60.9%的准确率。而top-3准确率,GCN模型也比transformer模型高出21.8%。GCN模型的较高准确率(> 90%)表明,GCN模型在有限数据上的适用性高于transformer模型。
如图4所示,数据驱动的transformer模型可以在大规模数据集上实现与GCN模型相似的性能。然而,更重要的是,随着可用数据量的减少,GCN模型和transformer模型之间的准确率差距变得难以忽视。作者选择了部分top-1预测结果来证明GCN模型在小规模反应预测中的巨大价值,并详细分析该模型的性能,以进一步提高其在预测反应结果的任务中的能力。
图4 GCN模型和transformer模型在大数据集和小数据上集的性能比较。    图5列出了一些在transformer模型中发生的基团迁移预测错误而在GCN模型中预测正确的一些反应示例。以图5(a)为例,在S-甲基6,6-二氯-7-氧代双环[3.2.0]庚-2-烯中,羰基的右侧α-碳上连接有两个氯。氯的吸电子作用大大降低了碳的电子云密度,并阻碍了取代基的迁移。因此,该反应趋于产生氧原子被插入到羰基左侧的产物。此外,如果在羰基的相邻碳原子上连接一个烷氧基,则与α-碳原子相连的氧上的孤对电子可以促进该基团的迁移,相关的反应示例如图5(c)所示。GCN模型所做的预测与报道的产物相符。但是,transformer模型没有捕获相似的化学规则。从图5作者可以观察到与transformer模型相比,GCN模型可以获得更多有关组迁移规则的信息。
图5: GCN模型的top-1正确预测与transformer模型的top-1错误预测之间的比较,其中,transformer模型发生基团迁移错误。    除此之外,作者进一步采用Suzuki反应来显示GCN模型的预测性能。Suzuki反应是通过使用钯催化剂和碱将有机硼物质与卤化物交叉偶联以形成碳-碳单键的反应。同时,作者还探索了不同规模的Suzuki反应上的transformer模型和GCN模型之间的预测准确性比较。如图6所示,当数据量较小时,GCN的top-1准确率明显高于transformer模型。随着数据量的增加,transformer模型的top-1准确率逐渐提高,而GCN模型依然可以保持出色的预测结果。
图6:在不同数据规模的Suzuki反应下,GCN模型和transformer模型的top-1准确率。

5.结论

如前所述,GCN和transformer模型可以在充足的数据上实现可比的反应预测性能。但是,当缩小到较小的数据量时,transformer很难学习足够的知识来进行准确的反应预测。因此,作者在工作中描述了GCN模型,并将其用于预测给定反应物的最可能产物。GCN和transformer模型之间的主要区别在于,前者依赖于图论,而后者则基于文本。作者选择经典的小规模人名反应Baeyer-Villiger反应来验证GCN模型的预测性能。GCN模型的top-1准确率为90.4%,远高于transformer模型。它阐明了GCN模型不仅提炼了Baeyer-Villiger反应的特定化学原理,而且对有限的数据中具有深刻的化学理解。除了比较GCN和transformer模型的结果外,作者还列出了GCN模型的一些错误类型,以了解有关此模型的更多信息。并进一步以Suzuki反应为载体,探讨了两个模型在不同数据规模上的反应预测性能对比。与之前基于充足数据的工作相比,作者工作的新颖之处在于在有限数据上比较GCN模型与transformer模型的预测性能。总体而言,作者的工作表明,与transformer模型相比,GCN模型是更适合小规模反应的方法。
参考资料
Yejian Wu,Chengyun Zhang, Ling Wang and Hongliang Duan, A graph-convolutional neural network for addressing small-scale reaction prediction, Chem.Commun., DOI: 10.1039/D1CC00586C。

----------- End -----------






历史文章推荐    


浙江工业大学智能制药研究院段宏亮教授:AI制药的现状、技术与挑战
数据增强和迁移学习策略解决小数据集化学反应预测问题
利用人工智能增强表型药物发现
IBM的AI系统通过深度生成模型和分子动力学模拟加快抗生素发现
2020年AI + 药物研发全景概述:(三) 投资机构Top50和市场时间线
2020年AI + 药物研发全景概述:(二) AI如何应对制药行业的效率挑战
2020年AI + 药物研发全景概述:(一) 概要
FDA发布人工智能/机器学习行动计划
20家顶尖制药公司如何将AI应用于药物研发:近年来主要合作活动
利用量子理论加速药物发现的18家初创企业

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存