本发明涉及反应条件预测,具体地说是基于图卷积神经网络的反应条件预测方法及系统。
背景技术:
1、寻找最佳的反应条件一直是化学家们致力于解决的关键瓶颈问题,然而,由于反应空间具有高维度的特点,导致难以通过有效手段快速地确定反应条件。在过去相当长的时间内,化学领域的研究员们在对反应条件的筛选上需要耗费大量的时间精力和实验资源,严重阻碍了科研效率的有效提升。
2、如何快速且准确的确定化学反应的反应条件,是需要解决的技术问题。
技术实现思路
1、本发明的技术任务是针对以上不足,提供基于图卷积神经网络的反应条件预测方法及系统,来解决如何快速且准确的确定化学反应的反应条件的技术问题。
2、第一方面,本发明一种基于图卷积神经网络的反应条件预测方法,包括如下步骤:
3、采集多个历史反应条件数据形成初始数据集,并对初始数据集进行数据过滤,得到样本数据集,所述历史反应条件数据包括反应物、产物以及反应条件,所述反应条件包括催化剂类型及其剂量、溶剂类型及其剂量、试剂类型及其剂量以及温度,其中,催化剂类型、溶剂类型以及试剂类型为非数值型字段,催化剂剂量、溶剂剂量、试剂剂量以及温度为数值型字段;
4、对于样本数据集中每个反应条件,对反应条件中非数值型字段进行one hot编码,得到对应的one hot向量;
5、对于基于样本数据集中反应物和产物组成的反应,基于反应物和产物的图结构编码构建反应的反应编码;
6、以序列化方式搭建基于图卷积神经网络的反应条件预测模型,所述反应条件预测模型以反应编码为输入,预测输出反应条件,其中,所述反应编码为基于反应物和产物的图结构编码构建的图结构编码;
7、基于所述样本数据集对应的反应编码和反应条件对所述反应条件预测模型进行模型训练,得到训练后反应条件预测模型,其中,在进行模型训练时,反应条件中的非数值型字段选用其对应的one hot向量;
8、对于待预测的反应,基于其反应物和产物的图结构编码构建所述反应的反应编码,以所述反应编码为输入,通过训练后的反应条件预测模型输出预测的反应条件。
9、作为优选,对历史反应条件数据集进行数据过滤,包括如下步骤:
10、剔除原始数据集中产物个数大于1的反应条件数据;
11、剔除原始数据集中反应条件字段缺失的反应条件数据;
12、剔除初始数据集中催化剂、溶剂或试剂个数大于1的反应条件数据。
13、作为优选,基于反应物和产物的图结构编码构建所述反应对应的反应编码,包括如下步骤:
14、将产物以及每个反应物分别编码为维度为natom×fatom的原子特征向量矩阵、维度为natom×fbond的键特征向量矩阵、维度为natom×natom的邻接矩阵;
15、获取初始数据集中反应物与产物分子最大原子数nmax_atom;
16、对于产物以及每个反应物的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,分别将产物以及每个反应物的原子特征向量矩阵padding为维度为nmax_atom×fatom的矩阵,将将产物以及每个反应物的键特征向量矩阵padding为维度为nmax_atom×fbond的矩阵,将将产物以及每个反应物的邻接矩阵padding为维度为nmax_atom×nmax_atom的矩阵;
17、基于每个反应物padding后的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,分别计算所有反应物的原子特征向量矩阵总和、键特征向量矩阵总和以及邻接矩阵总和;
18、基于产物padding后的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,将产物padding后的原子特征向量矩阵与所述所有反应物的原子特征向量矩阵总和作差,得到反应的原子特征向量矩阵,将产物padding后的键特征向量矩阵与所述所有反应物的键特征向量矩阵总和作差,得到反应的键特征向量矩阵,并将产物padding后的邻接矩阵与所述所有反应物的邻接矩阵总和作差,得到反应的邻接矩阵,所述反应的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵作为所述反应的反应编码。
19、作为优选,所述反应条件预测模型包括:
20、特征提取模块,所述特征提取模块用于基于输入的反应编码进行特征提取,工作方式为:将反应编码输入两层图卷积层后,通过两层全连接隐藏层输出一个隐层表征densegraph;
21、催化剂分类预测模块,所述催化剂分类预测模块用于基于隐层表征dense graph进行催化剂分类预测,工作方式为:将所述隐层表征dense graph输入一个全连接隐藏层后,通过一个输出层输出的催化剂类型预测结果;
22、催化剂剂量预测模块,所述催化剂计量预测模块用于基于催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行催化剂剂量的回归预测,工作方式为:将催化剂类型对应的one hot向量输入一个全连接隐藏层后,将所述全连接隐藏层输出的向量与所述隐层表征dense graph进行拼接,将拼接得到的向量输入一个全连接隐藏层后,通过一个输出层输出催化剂剂量预测结果;
23、溶剂类型预测模块,所述溶剂类型预测模块用于基于催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行溶剂分类预测,工作方式为:将催化剂类型对应的one hot向量通输入一个全连接隐藏层后,将由所述全连接隐藏层输出的向量与所述隐层表征dense graph进行拼接,将拼接得到的向量输入一个全连接隐藏层后,通过一个输出层输出溶剂类型预测结果;
24、溶剂剂量预测模块,所述溶剂剂量预测模块用于基于溶剂类型预测结果、催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行溶剂剂量的回归预测,工作方式为:分别将溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出溶剂剂量预测结果;
25、试剂类型预测模块,所述试剂类型预测模块用于基于溶剂类型预测结果、催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行试剂的分类预测,工作方式为:分别将溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出试剂类型预测结果;
26、试剂剂量预测模块,所述试剂剂量预测模块用于基于试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot编码以及所述隐层表征dense graph、进行试剂剂量的回归预测,工作方式为:分别将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出试剂剂量预测结果;
27、温度预测模块,所述温度预测模块用于试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot编码以及所述隐层表征dense graph、进行温度的回归预测,工作方式为:分别将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出温度预测结果。
28、作为优选,对所述反应条件预测模型进行模型训练时,
29、对于所述催化剂分类预测模块,以样本数据集对应的反应编码为输入,以样本数据集中催化剂类型为标签进行训练;
30、对于所述催化剂剂量预测模块,以样本数据集中催化剂类型实际结果对应的onehot以及样本数据集对应的反应编码为输入,以样本数据集中催化剂剂量实际结果为标签进行训练;
31、对于所述溶剂类型预测模块,以样本数据集中催化剂类型实际结果对应的onehot向量以及样本数据集对应的反应编码为输入,以样本数据集中溶剂类型实际结果为标签进行训练;
32、对于所述溶剂剂量预测模块,以样本数据中溶剂类型实际结果、催化剂类型实际结果对应的one hot向量以及样本数据集对应的反应编码为输入,以样本数据集中溶剂剂量实际结果为标签进行训练;
33、对于试剂类型预测模块,以样本数据集中溶剂类型实际结果、催化剂类型实际结果对应的one hot向量以及样本数据集对应的反应编码为输入,以样本数据集中试剂类型实际结果为标签进行训练;
34、对于试剂剂量预测模块,以样本数据集中试剂类型实际结果、溶剂类型实际结果和催化剂类型实际结果对应的one hot编码以及样本数据集对应的反应编码输入,以样本数据集中试剂剂量实际结果为标签进行训练;
35、对于温度预测模块,以样本数据集中试剂类型实际结果、溶剂类型实际结果和催化剂类型实际结果对应的one hot编码以及样本数据集对应的反应编码为输入,以样本数据集中温度实际结果为标签进行训练。
36、第二方面,本发明一种基于图卷积神经网络的反应条件预测系统,用于执行如第一方面任一项所述的基于图卷积神经网络的反应条件预测进行反应条件预测,所述系统包括:
37、数据采集模块,所述数据采集模块用于采集多个历史反应条件数据形成初始数据集,并对初始数据集进行数据过滤,得到样本数据集,所述历史反应条件数据包括反应物、产物以及反应条件,所述反应条件包括催化剂类型及其剂量、溶剂类型及其剂量、试剂类型及其剂量以及温度,其中,催化剂类型、溶剂类型以及试剂类型为非数值型字段,催化剂剂量、溶剂剂量、试剂剂量以及温度为数值型字段;
38、one hot编码模块,对于样本数据集中每个反应条件,所述one hot编码模块用于对反应条件中非数值型字段进行one hot编码,得到对应的one hot向量;
39、反应编码模块,对于基于样本数据集中反应物和产物组成的反应,所述反应编码模块用于基于反应物和产物的图结构编码构建反应的反应编码;对于待预测的反应,所述反应条件预测模块用于基于其反应物和产物的图结构编码构建所述反应的反应编码;
40、模型构建模块,所述模型构建模块用于以序列化方式搭建基于图卷积神经网络的反应条件预测模型,所述反应条件预测模型以反应编码为输入,预测输出反应条件,其中,所述反应编码为基于反应物和产物的图结构编码构建的图结构编码;
41、模型训练模块,所述模型训练模块用于基于所述样本数据集对应的反应编码和反应条件对所述反应条件预测模型进行模型训练,得到训练后反应条件预测模型,其中,在进行模型训练时,反应条件中的非数值型字段选用其对应的one hot向量;
42、反应条件预测模块,对于待预测的反应,所述反应条件预测模块用于调用通过反应编码模块生成的反应编码,以反应编码为输入,通过训练后的反应条件预测模型输出预测的反应条件。
43、作为优选,所述数据采集模块用于执行如下对历史反应条件数据集进行数据过滤:
44、剔除原始数据集中产物个数大于1的反应条件数据;
45、剔除原始数据集中反应条件字段缺失的反应条件数据;
46、剔除初始数据集中催化剂、溶剂或试剂个数大于1的反应条件数据。
47、作为优选,对于基于样本数据集中反应物和产物组成的反应,所述反应编码模块用于执行如下基于反应物和产物的图结构编码构建所述反应对应的反应编码:
48、将产物以及每个反应物分别编码为维度为natom×fatom的原子特征向量矩阵、维度为natom×fbond的键特征向量矩阵、维度为natom×natom的邻接矩阵;
49、获取初始数据集中反应物与产物分子最大原子数nmax_atom;
50、对于产物以及每个反应物的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,分别将产物以及每个反应物的原子特征向量矩阵padding为维度为nmax_atom×fatom的矩阵,将将产物以及每个反应物的键特征向量矩阵padding为维度为nmax_atom×fbond的矩阵,将将产物以及每个反应物的邻接矩阵padding为维度为nmax_atom×nmax_atom的矩阵;
51、基于每个反应物padding后的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,分别计算所有反应物的原子特征向量矩阵总和、键特征向量矩阵总和以及邻接矩阵总和;
52、基于产物padding后的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵,将产物padding后的原子特征向量矩阵与所述所有反应物的原子特征向量矩阵总和作差,得到反应的原子特征向量矩阵,将产物padding后的键特征向量矩阵与所述所有反应物的键特征向量矩阵总和作差,得到反应的键特征向量矩阵,并将产物padding后的邻接矩阵与所述所有反应物的邻接矩阵总和作差,得到反应的邻接矩阵,所述反应的原子特征向量矩阵、键特征向量矩阵以及邻接矩阵作为所述反应的反应编码。
53、作为优选,所述反应条件预测模型包括:
54、特征提取模块,所述特征提取模块用于基于输入的反应编码进行特征提取,工作方式为:将反应编码输入两层图卷积层后,通过两层全连接隐藏层输出一个隐层表征densegraph;
55、催化剂分类预测模块,所述催化剂分类预测模块用于基于隐层表征dense graph进行催化剂分类预测,工作方式为:将所述隐层表征dense graph输入一个全连接隐藏层后,通过一个输出层输出的催化剂类型预测结果;
56、催化剂剂量预测模块,所述催化剂计量预测模块用于基于催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行催化剂剂量的回归预测,工作方式为:将催化剂类型对应的one hot向量输入一个全连接隐藏层后,将所述全连接隐藏层输出的向量与所述隐层表征dense graph进行拼接,将拼接得到的向量输入一个全连接隐藏层后,通过一个输出层输出催化剂剂量预测结果;
57、溶剂类型预测模块,所述溶剂类型预测模块用于基于催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行溶剂分类预测,工作方式为:将催化剂类型对应的one hot向量通输入一个全连接隐藏层后,将由所述全连接隐藏层输出的向量与所述隐层表征dense graph进行拼接,将拼接得到的向量输入一个全连接隐藏层后,通过一个输出层输出溶剂类型预测结果;
58、溶剂剂量预测模块,所述溶剂剂量预测模块用于基于溶剂类型预测结果、催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行溶剂剂量的回归预测,工作方式为:分别将溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出溶剂剂量预测结果;
59、试剂类型预测模块,所述试剂类型预测模块用于基于溶剂类型预测结果、催化剂类型预测结果对应的one hot向量以及所述隐层表征dense graph、进行试剂的分类预测,工作方式为:分别将溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出试剂类型预测结果;
60、试剂剂量预测模块,所述试剂剂量预测模块用于基于试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot编码以及所述隐层表征dense graph、进行试剂剂量的回归预测,工作方式为:分别将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出试剂剂量预测结果;
61、温度预测模块,所述温度预测模块用于试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot编码以及所述隐层表征dense graph、进行温度的回归预测,工作方式为:分别将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的one hot向量输入一个全连接隐藏层后,将试剂类型预测结果、溶剂类型预测结果和催化剂类型预测结果对应的全连接隐藏层计算结果以及所述隐层表征dense graph进行拼接,将拼接结果输入一个全连接隐藏层后,通过一个输出层输出温度预测结果。
62、作为优选,对所述反应条件预测模型进行模型训练时,所述模型训练模块用于执行如下:
63、对于所述催化剂分类预测模块,以样本数据集对应的反应编码为输入,以样本数据集中催化剂类型为标签进行训练;
64、对于所述催化剂剂量预测模块,以样本数据集中催化剂类型实际结果对应的onehot以及样本数据集对应的反应编码为输入,以样本数据集中催化剂剂量实际结果为标签进行训练;
65、对于所述溶剂类型预测模块,以样本数据集中催化剂类型实际结果对应的onehot向量以及样本数据集对应的反应编码为输入,以样本数据集中溶剂类型实际结果为标签进行训练;
66、对于所述溶剂剂量预测模块,以样本数据中溶剂类型实际结果、催化剂类型实际结果对应的one hot向量以及样本数据集对应的反应编码为输入,以样本数据集中溶剂剂量实际结果为标签进行训练;
67、对于试剂类型预测模块,以样本数据集中溶剂类型实际结果、催化剂类型实际结果对应的one hot向量以及样本数据集对应的反应编码为输入,以样本数据集中试剂类型实际结果为标签进行训练;
68、对于试剂剂量预测模块,以样本数据集中试剂类型实际结果、溶剂类型实际结果和催化剂类型实际结果对应的one hot编码以及样本数据集对应的反应编码输入,以样本数据集中试剂剂量实际结果为标签进行训练;
69、对于温度预测模块,以样本数据集中试剂类型实际结果、溶剂类型实际结果和催化剂类型实际结果对应的one hot编码以及样本数据集对应的反应编码为输入,以样本数据集中温度实际结果为标签进行训练。
70、本发明的基于图卷积神经网络的反应条件预测方法及系统具有以下优点:
71、1、基于图卷积神将网络构建反应条件预测模型,通过该模型可提高反应条件的预测准确率;
72、2、在反应条件预测模型的训练过程中,通过样本集中反应条件非数值字段的真实结果的one hot向量进行模型训练,提高了模型的准确率。