一种预测化学反应的方法与流程



1.本技术涉及计算机技术领域,特别是涉及一种化学反应产物的预测方法和装置。


背景技术:



2.在药物化学应用领域中,新化学分子的有机合成,需要对有机化学家设想的或计算机算法虚拟产生的化学反应进行相关的预测判断,避免实验失败产生损失和浪费。
3.现有的反应预测模型预测准确度高度依赖训练数据,模型表现可能因为不全面的反应数据而受限。简单低补充反应数据重新训练模型,不能有效解决特定应用领域关注的重点反应。如有机合成设计中重要的环化反应,增加反应数据并非越多越好,无差别补充不能有效针对此类别进行提升,甚至对此类反应产生下降。


技术实现要素:



4.基于此,有必要针对目前反应预测模型预测准确度不高的技术问题,提供一种化学反应产物的预测方法和装置。
5.在一方面中,本发明公开了一种化学反应产物的预测方法,所述方法包括:
6.步骤1:获取一个或多个能产生反应预测及输出其预测可信度的机器模型,在原始数据集中通过给定的化学反应计算各模型中预测产物对应的可信度,统计全部模型的整体可信度,筛选可信度小于阈值的反应数据,得到第一数据集d1;其中所述阈值为0.3至0.9中的任意数,优选为0.4至0.8,更优选为0.5至0.7.诸如大约为0.5、0.6、0.7。
7.步骤2:提供第二数据集d2,针对d2中的化学反应w,计算其与d1中的化学反应v的相似度sim(w,v),在d2中筛选sim(w,v)大于或等于阈值的相似反应补充数据,取集合方式得到第三数据集d3,其中所述阈值为0.1至1中的任意值,优选为0.3至0.8,更优选为0.5至0.8,诸如大约为0.6、.07或0.8;
8.步骤3:将d3数据合并于原始数据集或使用d3数据,重新进行模型训练。
9.在一个实施方案中,在步骤1中,k≥1个能产生反应预测及输出其预测可信度的机器模型的模型特征通过模型参数θt表征,其中t=1,2,

,k表示。其中t表示第t个模型快照,k为收集的模型快照个数。
10.在原始训练数据d0可得的情况下,选取机器翻译转换器(transformer)作为原始训练模型,在其他实施例中,机器模型可替换为其他基于深度神经网络。
11.在一个实施方案中,在步骤1中,当产物信息已知时,confidence=p(y|x,θt);当反应产物信息未知时,y
max
=arg maxi(confidence=p(yi|x,θt))得到(x,y
max
),i为模型可提供的第i个输出预测,优选i≤10。t表示第t个模型快照,k为收集的模型快照个数,x代表化学反应的反应物,y代表反应的产物,p表示当x和θt已知时,模型输出y的概率,y
max
为模型的预测产物,arg max表示取所有yi概率的最大值。
12.在一个实施方案中,在步骤1中,所述整体可信度可表征为平均值mean(confidence(x,θt)),或最大值max(confidence(x,θt)),或领域技术人员可轻易掌握的其
他统计运算。
13.在一个实施例方案中,在步骤2中,任一反应w∈d1时,计算其与任一反应v∈d2在模型参数θt下的相似度sim(w,v),其中sim(w,v)=sim(w=encoding(w),v=encoding(v));其中w,v为模型θt分别对输入反应v,w的编码(encoding)。
14.在一个实施例方案中,在步骤2中,d3数据量比原始训练数据d0少,且针对d1中的每个反应,d3所补充的反应数可控制在一百个以内,优选为,|d3|≤|d0|,|d3|≤50
×
|d1|。
15.在一个实施例方案中,在步骤3中,在原始训练数据d0中随机取样r倍于d3的数据量,和d3合并,产生新的数据集,对重新初始化的机器模型参数重新进行训练;r可选自[0.5,max(1,|d0|/|d3|)]的范围。
[0016]
在一个实施例方案中,在步骤3,使用d3产生新的数据集,对重新初始化的机器模型参数重新进行训练。
附图说明
[0017]
图1示出化合物反应产物预测方法的流程示意图。
[0018]
图2示出7个错误反应相似近邻反应个数。
[0019]
图3示出12个正确反应相似近邻反应个数。
具体实施方式
[0020]
以下根据实施例,并且结合附图,详细描述本发明。从下文的详细描述中,本发明的上述方面和本发明的其他方面将是明显的。本发明的范围不局限于下列实施例。
[0021]
如图1所示,本发明公开了一种化学反应产物的预测方法,所述方法包括:
[0022]
步骤1:基于原始训练模型,预测不同反应的反应产物并计算可信度低于阈值的“欠学习”反应,筛选这些数据并组成第一数据集d1。
[0023]
步骤2:筛选与“欠学习”化学反应的相似反应,作为第三数据集d3。
[0024]
步骤3:将d3数据合并于原始数据集,重新进行模型训练。
[0025]
在步骤1中,首先获取一个或多个能产生反应预测及输出其预测可信度的机器模型,然后在原始数据集中通过给定的化学反应计算各模型中预测产物对应的可信度,并统计全部模型的整体可信度,最后筛选可信度小于阈值例如0.5的反应数据,得到第一数据集d1。
[0026]
在步骤1中,k≥1个能产生反应预测及输出其预测可信度的机器模型的模型特征通过模型参数θt表征,其中t=1,2,

,k表示。当产物信息已知时,confidence=p(y|x,θt);当反应产物信息未知时,y
max
=arg maxi(confidence=p(yi|x,θt))得到(x,y
max
),i为模型可提供的第i个输出预测,i≤10。所述整体可信度可表征为平均值mean(confidence(x,θt)),或最大值max(confidence(x,θt)),或领域技术人员可轻易掌握的其他统计运算。
[0027]
可信度confidence的具体计算方式可以是反应数据的x部分,经过已训练的机器模型transformer的多层神经网络的各层权重计算后,在模型的输出层,得到输出产物中所有可能的m个元素符号的原始权重zi(》0),i=1,2,

,m,并通过如下的softmax进行归一化概率计算作为每一个字符i的confidence,并输出概率最大的元素符号序列作为预测y。
[0028][0029]
在其他实施方案中,机器模型可替换为其他基于深度神经网络,均使用同样的softmax对输出层进行计算,只是输出的元素符号形式有所变化。
[0030]
在步骤2中,首先提供第二数据集d2,然后针对d2中的化学反应w,计算其与d1中的化学反应v的相似度sim(w,v),最后在d2中筛选sim(w,v)大于或等于阈值的相似反应补充数据,取集合方式得到第三数据集d3,其中所述阈值为0.1至1中的任意值。任一反应w∈d1时,计算其与任一反应v∈d2在模型参数θt下的相似度sim(w,v),其中sim(w,v)=sim(w=encoding(w),v=encoding(v));其中w,v为模型θt分别对输入反应v,w的编码(encoding)。d3数据量比原始训练数据d0少,且针对d1中的每个反应,d3所补充的反应数可控制在一百个以内,优选为,|d3|≤|d0|,|d3|≤50
×
|d1|。在一个具体实施方案中,反应w为例,w=f(w,θt)=[w1,w2,

wn],f(w,θt)具体为反应w输入到模型θt通过各层的参数计算,在输出预测元素之前一层的向量表示,其中n属于模型预设表示向量长度的参数;同样地,可对d2的每一个反应v获得v=f(v,θt)=[v1,v2,

vn];n可以在26=64到2
12
=4096的长度范围中选取,优选选取n=256。
[0031]
sim(w,v)可实现为其欧几里得距离的归一化倒数(+1避免被除数为0),或其他领域技术人员可掌握的归一化相似度:
[0032][0033]
在步骤3中,将d3数据合并于原始数据集,重新进行模型训练。首先在原始训练数据d0中随机取样r倍于d3的数据量,和d3合并,产生新的数据集,之后对重新初始化的机器模型参数重新进行训练;r可选自[0.5,max(1,|d0|/|d3|)]的范围。
[0034]
或者使用d3进行微调学习,即将模型θt在d3数据上再进行f≥1次迭代的训练,持续更新模型参数。
[0035]
实施例1化学反应产物的预测方法
[0036]
1.基于使用原始数据集d0训练的原始训练模型,预测不同反应的反应产物并计算可信度低于阈值的反应,筛选这些数据并组成第一数据集d1
[0037]
本实施例在原始训练数据d0可得的情况下,d0来自于为公开数据集美国专利数据局(uspto)的40万训练数据,选取机器翻译转换器(transformer)(philippe schwaller et al.molecular transformer:amodel for uncertainty-calibrated chemical reaction prediction,2019sep25;5(9):1572-1583;ashish vaswani,noam shazeer,niki parmar,jakob uszkoreit,llion jones,aidan n gomez,lukasz kaiser,and illia polosukhin.attention is all you need.in advances in neural information processing systems,pp.5998

6008,2017)作为原始训练模型,在其他实施例中,机器模型可替换为其他基于深度神经网络(coley,connor w.,et al.agraph-convolutional neural network model for the prediction of chemicalreactivity.chemical science 10.2(2019):370-377.;john bradshaw,matt j.kusner,brooks paige,marwin h.s.segler,jos
é
miguel hern
á
ndez-lobato,a generative model for electron paths,https://arxiv.org/abs/1805.10970),只是输出的元素符号形式有所变化。并记录其使用
d0进行训练迭代过程中的k》=1个模型快照;模型快照的特征可通过模型参数θt刻画,t=1,2,

,k,其中t表示第t个模型快照,k为收集的模型快照个数。
[0038]
θt,t=1,2,

,k的选取根据模型训练的不同次迭代中选取;每完成一轮模型根据训练数据每一个样本的参数θt更新,称为一次epoch迭代;k可选取为epoch总数,θt对应第t个epoch迭代的模型。当k=1,具体选取训练到最后一次epoch迭代的模型。在其他实施例中,一个epoch也可以设定为一定次数的迭代间隔,如每1000次迭代作为一个epoch。
[0039]
给定待分析的化学反应数据(x,y),x代表化学反应的反应物,y代表反应的产物。通过模型快照的参数θt可计算可信度confidence=p(y|x,θt),p表示当x和θt已知时,模型输出y的概率;如只给定x,模型可通过y
max
=arg maxi(confidence=p(yi|x,θ))得到(x,y
max
),y
max
为模型的预测产物,arg max表示取所有yi概率的最大值。i为模型通过beam-search得到的第i个最高分输出预测,i≤10。
[0040]
confidence的具体计算方式可以是反应数据的x部分,经过已训练的机器模型transformer的多层神经网络的各层权重计算后,在模型的输出层,得到输出产物中所有可能的m个元素符号的原始权重zi(》0),i=1,2,

,m,并通过如下的softmax进行归一化概率计算作为每一个字符i的confidence,并输出概率最大的元素符号序列作为预测y。
[0041][0042]
对上述待分析的化学反应数据集合,筛选confidence《th的“欠学习”反应数据集d1;th表示的是可信度阈值,th选自0.5。
[0043]
在其他实施例中,可信度阈值范围可以为0.3至0.9,优选为0.4至0.8,更优选为0.5-0.7,例如为0.5、0.6或0.7。
[0044]
2.提供第二数据集d2,并筛选与第一数据集d1中的化学反应的相似反应,作为第三数据集d3
[0045]
提供筛选反应的候选补充反应数据集d2={(x’,y’)},d2来源于uspto的补充数据库,uspto stereo约100万反应。对d1任一反应w∈d1,本发明计算其与任一反应v∈d2在模型参数θ下的相似度sim(w,v)=sim(w=encoding(w),v=encoding(v));其中w,v为模型θ对输入反应v,w分别的编码(encoding)函数。
[0046]
相似度sim(w,v)的计算实施说明如下,以反应w为例,其encoding的向量表示为w=f(w,θ)=[w1,w2,

wn],f(w,θ)具体为反应w输入到模型θ通过各层的参数计算,在输出预测元素之前一层的向量表示,其中n属于模型预设表示向量长度的参数;同样地,可对d2的每一个反应v获得encoding的向量v=f(v,θ)=[v1,v2,

vn];n可以在26=64到2
12
=4096的长度范围中选取,本实施例选取n=256。
[0047]
sim(w,v)可实现为其欧几里得距离的归一化倒数(+1避免被除数为0),或其他领域技术人员可掌握的归一化相似度:
[0048][0049]
设定相关的相似度阈值th2,th2从[0.1,1]范围中设定。
[0050]
筛选符合sim(encoding(w),encoding(v))≥th2的相似反应补充数据集,th2∈
[0.1,1]为相似度阈值;通过取集合方式得到相似反应补充数据的集合d3。在实施例中,我们使用th2=0.6,并分析0.7,0.8的相关补充结果样本。
[0051]
3.将d3数据合并于原始数据集或单独使用d3,重新进行模型训练
[0052]
本实施例的其中一种实验中,模型θ使用d3进行fine-tuning(微调))学习,即将模型θ在d3数据上再进行f》=1次迭代的训练,持续更新模型参数,实施例2中使用的是这一方案。
[0053]
本实施例的另一种变体中,可将模型θ及其对应的原始训练数据(表示为d0)均存在时,使用d0和d3按照|d0|:|d3|的比例选取两集合的反应数据,即直接合并d0和d3作为新数据集作为选项1,对重新初始化的机器模型重新进行训练(retrain)。
[0054]
可选地,本实施例变体可将fine-tuning和retrain得到的结果作为n=2个选项模型,在提测试反应数据集d1(或其他额外提供的测试反应数据集),选取选项模型中准确率提升最大,且预测/验证反应在可信度confidence》0.9的类别,或更严格confidence》0.99的类别中数目提升最多的作为最终模型。
[0055]
实施例2准确率的检测
[0056]
以下展示基于实施例的实验效果。根据实施例1中的步骤进行,其中,机器学习模型θ采用的是transformer,其encoding向量维度选择n=256,训练迭代次数为50万次,并在每次迭代处理一小批次(batch)4096个的字符(tokens)。在训练反应数据为公开数据集美国专利数据局(uspto)的40万训练数据训练,θ取第最后一个迭代输出的模型。40万uspto训练数据记为d0。
[0057]
进行欠学习分析测试的反应数据集d1为内部化学家从基础有机化学书本中抽取的约1381个反应。待补充的候选反应数据集d2来自和d0不重叠的uspto数据集,共有40万反应;值得说明的是,反应数据商业服务的后台包含大量的反应,但该类服务只提供少量的数据查询,不能大量获取数据。如reaxys www.reaxys页面上介绍其内部包含超过5500万反应,但查询结果一个页面可以看到的仅为约十个反应。
[0058]
在验证实验中,对比了只通过d0训练的基线模型(baseline)和通过此发明方法对d1中每个反应,从d2包含的40万候选补充反应的d2数据集,获得包含相似度≥0.6的约14000个反应的d3数据集,并经过如实施例描述的fine-tune处理,得到可信度改善模型。
[0059]
top-k准确率表示模型预测的可信度最高的k种不同可能产物,其中有一种和真实产物完全吻合。top-1准确率即模型预测的最可能产物,和真实产物完全吻合的所有反应比例。
[0060]
如表1所示,本实验结果证明,使用本发明的筛选方法,针对d1每个反应仅补充约十个相似反应,即可在原模型上显著提升预测效果,无论是总体top-1准确率还是高可信度的正确预测覆盖率,都有了显著的提升,top-1准确率提升22.6%,confidence》0.9的覆盖率分别增加了20.86%,且该可信度区间的预测达到93.9%的top-1准确率。
[0061]
表1
[0062]
[0063]
在进一步实验中,针对低可信度confidence《0.5筛选的200个测试反应,在使用此发明进行筛选改善前测试,该集合的反应预测top-1准确率仅为8.5%,验证为“欠学习”反应。经过此发明筛选并对基线模型进行fine-tune后,测试平均confidence从0.378提升到0.796,top-1准确率提升至60.5%,验证了此发明方法对反应预测准确率和可信度的改善。
[0064]
表2
[0065]
confidence《0.5筛选200测试反应基线模型可信度改善模型平均confidence0.3780.796top-1准确率8.5%60.5%
[0066]
另一方面,对另外随机抽取的100个错误测试反应,原始准确率为0,其中33个confidence》0.9,16个confidence》0.8。实验无差别地补充数据,即无针对其反应预测confidence阈值进行相似反应补充。该部分测试反应补充后top-1准确率为14%,即不根据confidence阈值及相似度进行补充,其准确率提升有限。
[0067]
表3
[0068][0069]
对于经过无差别补充后,confidence》0.9(图2中high conf)且仍然预测错误的7个反应,分析其原因是由于欠缺相似的训练或补充反应数据,即sim_threshold》=0.6或0.7或0.8的相似近邻反应个数均非常小(图2)。对照地,confidence》0.9且预测正确的12个反应,其相似近邻反应个数显著较多(图3)。此实验结果进一步说明此发明结合可信度和筛选相似反应提高反应预测结果的必要性。
[0070]
本领域的技术人员应当明了,尽管为了举例说明的目的,本文描述了本发明的具体实施方式,但可以对其进行各种修改而不偏离本发明的精神和范围。因此,本发明的具体实施方式和实施例不应当视为限制本发明的范围。本发明仅受所附权利要求的限制。本文中引用的所有文献均完整地并入本文作为参考。

技术特征:


1.一种化学反应产物的预测方法,包括以下步骤:步骤1:基于使用原始数据集d0训练的原始训练模型,预测不同反应的反应产物并计算可信度低于阈值的反应,筛选这些数据并组成第一数据集d1。步骤2:提供第二数据集d2,并筛选与第一数据集d1中的化学反应的相似反应,作为第三数据集d3。步骤3:将d3数据合并于原始数据集或单独使用d3,重新进行模型训练。2.如权利要求1所述的方法,其中所述步骤1包括:获取一个或多个能产生反应预测及输出其预测可信度的机器模型;在原始数据集中通过给定的化学反应计算各模型中预测产物对应的可信度,并统计全部模型的整体可信度;筛选可信度小于阈值的反应数据,得到第一数据集d1;其中,所述阈值为0.3至0.9中的任意数,优选为0.4至0.8,更优选为0.5至0.7.诸如大约为0.5。3.如权利要求2所述的方法,其中,当产物信息已知时,confidence=p(y|x,θt);当反应产物信息未知时,ymax=arg max
i
(confidence=p(yi|x,θt))得到(x,ymax),i为模型可提供的第i个输出预测,t表示第t个模型快照,t=1,2,

,k,k为收集的模型快照个数,x代表化学反应的反应物,y代表反应的产物,p表示当x和θt已知时,模型输出y的概率,y
max
为模型的预测产物,arg max表示取所有y
i
概率的最大值。4.如权利要求1所述的方法,其中,所述步骤2包括:提供第二数据集d2;针对d2中的化学反应w,计算其与d1中的化学反应v的相似度sim(w,v);在d2中筛选sim(w,v)大于或等于阈值的相似反应补充数据,取集合方式得到第三数据集d3;所述阈值为0.1至1中的任意数,优选为0.3至0.8,更优选为0.5至0.8,诸如大约为0.6、0.7或0.8。5.如权利要求4所述的方法,其中sim(w,v)=sim(w=encoding(w),v=encoding(v));其中w,v为模型θt分别对输入反应v,w的编码(encoding)。6.如权利要求5所述的方法,其中w=f(w,θt)=[w1,w2,

wn],f(w,θt)具体为反应w输入到模型θt通过各层的参数计算,在输出预测元素之前一层的向量表示,其中n属于模型预设表示向量长度的参数;反应v获得v=f(v,θt)=[v1,v2,

vn];优选地,n可以在26=64到2
12
=4096的长度范围中选取任意数。7.如权利要求1所述的方法,其中,所述步骤3包括:在原始训练数据d0中随机取样r倍于d3的数据量,和d3合并,产生新的数据集,之后对重新初始化的机器模型参数重新进行训练,优选地,r可选自0.5至max(1,|d0|/|d3|)中的任意数;或者
使用d3进行微调学习,即将模型θt在d3数据上再进行f≥1次迭代的训练,持续更新模型参数。8.一种化学反应产物的预测装置,所述装置包括:第一预测模块,用于基于原始训练模型,预测不同反应的反应产物并计算可信度低于阈值的反应,筛选这些数据并组成第一数据集d1;第二预测模块,用于提供第二数据集d2,并筛选与第一数据集d1中的化学反应的相似反应,作为第三数据集d3;第三预测模块,用于将d3数据合并于原始数据集或单独使用d3,重新进行模型训练。9.如权利要求8所述的装置,其中,所述第一预测模块具体用于:获取一个或多个能产生反应预测及输出其预测可信度的机器模型;在原始数据集中通过给定的化学反应计算各模型中预测产物对应的可信度,并统计全部模型的整体可信度;筛选可信度小于阈值的反应数据,得到第一数据集d1;其中,所述阈值为0.3至0.9中的任意数,优选为0.4至0.8,更优选为0.5至0.7.诸如大约为0.5。10.如权利要求9所述的装置,其中,当产物信息已知时,confidence=p(y|x,θt);当反应产物信息未知时,ymax=arg maxi(confidence=p(yi|x,θt))得到(x,ymax),i为模型可提供的第i个输出预测,t表示第t个模型快照,t=1,2,

,k,k为收集的模型快照个数,x代表化学反应的反应物,y代表反应的产物,p表示当x和θt已知时,模型输出y的概率,y
max
为模型的预测产物,arg max表示取所有y
i
概率的最大值。11.如权利要求8所述的装置,其中,所述第二预测模块具体用于:提供第二数据集d2;针对d1中的化学反应w,计算其与d2中的化学反应v的相似度sim(w,v);在d2中筛选sim(w,v)大于或等于阈值的相似反应补充数据,取集合方式得到第三数据集d3;所述阈值为0.1至1中的任意数,优选为0.3至0.8,更优选为0.5至0.8,诸如大约为0.6、.07或0.8。12.如权利要求11所述的装置,其中,sim(w,v)=sim(w=encoding(w),v=encoding(v));其中w,v为模型θt分别对输入反应v,w的编码(encoding),优选w=f(w,θt)=[w1,w2,

wn],f(w,θt)具体为反应w输入到模型θt通过各层的参数计算,在输出预测元素之前一层的向量表示,其中n属于模型预设表示向量长度的参数;反应v获得v=f(v,θt)=[v1,v2,

vn];优选地,n可以在26=64到2
12
=4096的长度范围中的任意数。13.如权利要求8所述的装置,其中,所述第三预测模块具体用于:在原始训练数据d0中随机取样r倍于d3的数据量,和d3合并,产生新的数据集,之后对重新初始化的机器模型参数重新进行训练,优选地,r可选自0.5至max(1,|d0|/|d3|)]中的任意数;或者
使用d3进行微调学习,即将模型θt在d3数据上再进行f≥1次迭代的训练,持续更新模型参数。14.一种设备,所述设备包括处理器即储存器,所述储存器用于储存计算机程序,所述处理器用于根据所述计算机程序执行权利要求1-7中任一项所述的化合物反应产物预测方法。15.一种计算机可读存储介质,所述计算机可读存储介质用于储存计算机程序,所述计算机程序用于执行权利要求1-7中任一项所述的化合物反应产物预测方法。

技术总结


本发明公开了一种化学反应产物的预测方法,包括基于使用原始数据集D0训练的原始训练模型,预测不同反应的反应产物并计算可信度低于阈值的反应,筛选这些数据并组成第一数据集D1。提供第二数据集D2,并筛选与第一数据集D1中的化学反应的相似反应,作为第三数据集D3。将D3数据合并于原始数据集或单独使用D3,重新进行模型训练。本发明方法可提升可信度和预测的真实准确度关系,使得高可信度预测具有高准确率,并最终提升反应预测的准确度,同时该方法也具备数据量小和时间短的优点。法也具备数据量小和时间短的优点。法也具备数据量小和时间短的优点。


技术研发人员:

陈德铭 马汝建 陈志刚 李革

受保护的技术使用者:

上海药明康德新药开发有限公司

技术研发日:

2022.01.11

技术公布日:

2022/12/29

本文发布于:2024-09-25 22:23:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/49552.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   数据   可信度   产物
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议