基于循环神经网络的交互式收率优化方法及系统
文献发布时间:2023-06-19 16:04:54
技术领域
本发明涉及化学反应收率优化技术领域,具体地说是基于循环神经网络的交互式收率优化方法及系统。
背景技术
在一个化学反应中,除了反应物本身,还有非常多因素会对化学反应的收率产生影响。为了得到一个较高的反应收率,化学领域相关专家需要经过非常多的实验,这就不可避免的需要大量的时间与金钱成本。通常在实验之初,会设计一些试验方案,来减少实验的次数降低实验成本。但是,这往往就会错过最佳的反应条件。
如何在降低实验成本的前提下得到一个相对较高的化学反应收率,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于循环神经网络的交互式收率优化方法及系统,来解决如何在降低实验成本的前提下得到一个相对较高的化学反应收率的技术问题。
第一方面,本发明的一种基于循环神经网络的交互式收率优化方法,包括如下步骤:
对于当前化学反应,获取多种实验条件参数,对于数值型的实验条件参数,通过划定数值取值范围的方式进行编码,对于非数值型的实验条件参数,通过SMILES表达式进行编码,得到编码后实验条件参数;
以所述编码后实验条件参数为输入,通过混合高斯密度函数模拟当前化学反应,得到反应收率;
基于循环神经网络模型构建化学反应模型,所述化学反应模型用于基于历史数据集以及当前的实验条件参数和对应的反应收率预测并输出下一轮的实验条件参数,所述历史数据集包括历史每一轮的实验条件参数和对应的反应收率;
初始化历史数据集,并以所述编码后实验条件参数以及对应的化学反应收率为当前实验条件参数和对应的反应收率,训练所述化学反应模型,并输出下一轮的实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率;
以所述目标反应收率达到阈值为条件,对所述化学反应模型进行多轮训练,每一轮训练中,将所述当前实验条件参数以及对应的反应收率更新至历史数据集,将所述目标实验条件参数以及对应的目标反应收率作为当前的实验条件参数和对应的反应收率,基于历史数据集以及当前实验条件参数和对应的反应收率训练所述初始化学反应模型,并输出下一轮实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率。
作为优选,对于数值型的实验条件参数,通过划定取值范围并进行刻度划定的方式进行编码。
作为优选,所述化学反应模型对应的计算公式为:
其中,RNN
作为优选,每一轮次对所述化学反应模型进行训练时,通过配置有Adam函数的优化器对所述化学反应模型进行训练,并基于损失函数计算化学反应模型输出的预测反应收率以及实际反应收率之间的loss值,并基于反向传播算法对所述化学反应模型进行参数更新,直至loss值稳定。
作为优选,所述损失函数计算公式为:
其中,t表示当前轮次,r表示反应收率,T表示总轮次,
第二方面,本发明的一种基于循环神经网络的交互式收率优化系统,用于执行如第一方面任一项所述的基于循环神经网络的交互式收率优化方法,所述系统包括:
数据收集模块,对于当前化学反应,所述数据收集模块用于获取多种实验条件参数,对于数值型的实验条件参数,通过划定数值取值范围的方式进行编码,对于非数值型的实验条件参数,通过SMILES表达式进行编码,得到编码后实验条件参数;
初始数据构建模块,所述初始数据构建模块用于以所述编码后实验条件参数为输入,通过混合高斯密度函数模拟当前化学反应,得到反应收率;
模型构建模块,所述反应模型构建模块用于基于循环神经网络模型构建化学反应模型,所述化学反应模型用于基于历史数据集以及当前的实验条件参数和对应的反应收率预测并输出下一轮的实验条件参数,所述历史数据集包括历史每一轮的实验条件参数和对应的反应收率;
模型训练模块,所述模型训练模块用于通过如下操作训练所述化学反应模型:
初始化历史数据集,并以所述编码后实验条件参数以及对应的化学反应收率为当前实验条件参数和对应的反应收率,训练所述化学反应模型,并输出下一轮的实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率;
以所述目标反应收率达到阈值为条件,对所述化学反应模型进行多轮训练,每一轮训练中,将所述当前实验条件参数以及对应的反应收率更新至历史数据集,将所述目标实验条件参数以及对应的目标反应收率作为当前的实验条件参数和对应的反应收率,基于历史数据集以及当前实验条件参数和对应的反应收率训练所述初始化学反应模型,并输出下一轮实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率。
作为优选,对于数值型的实验条件参数,所述数据收集模块用于通过划定取值范围并进行刻度划定的方式进行编码。
作为优选,所述化学反应模型对应的计算公式为:
其中,RNN
作为优选,每一轮次对所述化学反应模型进行训练时,所述模型训练模块用于通过配置有Adam函数的优化器对所述化学反应模型进行训练,并基于损失函数计算化学反应模型输出的预测反应收率以及实际反应收率之间的loss值,并基于反向传播算法对所述化学反应模型进行参数更新,直至loss值稳定。
作为优选,所述损失函数计算公式为:
其中,t表示当前轮次,r表示反应收率,T表示总轮次,
本发明的基于循环神经网络的交互式收率优化方法及系统具有以下优点:基于循环神经网络构建反应模型,该反应模型以基于历史数据集、以及基于上一轮次的实验条件参数及对应的反应收率,预测并输出下一轮的反应收率,即基于循环神经网络的时序信息的记忆特性,本质上则是序列决策的方法,通过循环神经网络构来决策每一轮实验的条件,然后用最高的反应收率作为神经网络的奖励,通过多轮实验交互,使得循环神经网络都以推荐出收率更高的实验条件,从而帮助实验人员解决实验设计问题,有效降低成本,得到一个更优的反应收率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1一种基于循环神经网络的交互式收率优化方法的流程框图;
图2为实施例1一种基于循环神经网络的交互式收率优化方法中循环神经网络模型的推荐实验条件参数的原理框图;
图3为实施例1一种基于循环神经网络的交互式收率优化方法中循环神经网络模型结构框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于循环神经网络的交互式收率优化方法及系统,用于解决如何在降低实验成本的前提下得到一个相对较高的化学反应收率的技术问题。
实施例1:
本发明一种基于循环神经网络的交互式收率优化方法,如图1所示,包括如下步骤:
S100、对于当前化学反应,获取多种实验条件参数,对于数值型的实验条件参数,通过划定数值取值范围的方式进行编码,对于非数值型的实验条件参数,通过SMILES表达式进行编码,得到编码后实验条件参数;
S200、以编码后实验条件参数为输入,通过混合高斯密度函数模拟当前化学反应,得到反应收率;
S300、基于循环神经网络模型构建化学反应模型,所述化学反应模型用于基于历史数据集以及当前的实验条件参数和对应的反应收率预测并输出下一轮的实验条件参数,所述历史数据集包括历史每一轮的实验条件参数和对应的反应收率;
S400、初始化历史数据集,并以所述编码后实验条件参数以及对应的化学反应收率为当前实验条件参数和对应的反应收率,训练所述化学反应模型,并输出下一轮的实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率;
以所述目标反应收率达到阈值为条件,对所述化学反应模型进行多轮训练,每一轮训练中,将所述当前实验条件参数以及对应的反应收率更新至历史数据集,将所述目标实验条件参数以及对应的目标反应收率作为当前的实验条件参数和对应的反应收率,基于历史数据集以及当前实验条件参数和对应的反应收率训练所述初始化学反应模型,并输出下一轮实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率。
本实施例的方法通过多次迭代实验,最终得到一个满意反应收率。其核心思想是决策函数应该如何在规定的化学反应条件中采取交互式反馈,以最大化累积的奖励的概念,以期得到更高的化学反应收率。
步骤S100获取实验数据并进行预处理,作为具体实施,选定参与化学实验反应的实验条件和辅助物质作为实验条件参数(包括PH值、溶剂、温度以及催化剂等),并对每个实验条件参数进行编码,得到编码后实验条件参数。
选取的实验条件参数类型涉及数值型和非数值型,对于数值型的实验条件参数如温度、PH值等,由实验人员划定取值范围并进行刻度划分例如温度参数范围5~10;对于非数值型的实验条件参数,例如溶剂、催化剂等,通过SMILES表达式进行编码表示。
步骤S200使用混合高斯密度函数来模拟当前化学反应,通过输入不同的化学反应条件得到不到不同的反应收率,来模拟整个优化过程。
作为具体实施,将上述编码后的实验条件参数作为输入,通过混合高斯密度函数模拟化学反应得到对应的反应收率。
步骤S300采用循环神经网络来拟合r = R(s)模型,作为化学反应模型,其中r为收率,函数R为反应条件到收率的映射函数,s为反应条件参数。
作为具体实施,采用循环神经网络作为决策算法,来拟合r = R(s)模型。循环神经网络的核心是能够将时序信息与当前的输入信息进行融合。在实施例中,主要是借助循环神经网络的时序记忆特点,将高收率作为目标,来生成下轮实验的实验参数。模型核心公式如下所示:
其中,RNN
参照示意图图2,采用迭代方式对化学反应模型进行训练,过程如下:
(1)获取初始数据,通过步骤S100获取编码后的实验条件参数,并通过步骤S200以该编码后的实验条件参数为输入、得到对应的化学反应收率,将编码后的实验条件参数以及对应的化学反应收率作为初始数据;
(2)初始化历史数据集为空集,基于上述初始数据对化学反应模型进行训练,该化学反应模型推荐下一轮即第一轮实验条件参数;
实验人员根据上述实验条件参数进行实验的,得到对应的化学反应收率;
(3)如果得到的化学反应收率满足实验人员设置的阈值,则停止化学反应模型训练,如果不满足,则将初始数据更新至历史数据,基于第一轮实验条件参数、对应的化学反应收率以及历史数据对化学反应模型进行训练,该训练后化学反应模型推荐下一轮即第二轮实验条件参数,实验人员根据第二轮实验条件参数进行实验的,得到对应的化学反应收率;
(4)如果第二轮得到的化学反应收率满足实验人员设置的阈值,则停止化学反应模型训练,如果不满足,则将上述第一轮实验条件参数以及对应的化学反应收率更新至历史数据,基于第二轮实验条件参数、对应的化学反应收率以及历史数据对化学反应模型进行训练,该训练后化学反应模型推荐下一轮即第三轮实验条件参数,实验人员根据第三轮实验条件参数进行实验的,得到对应的化学反应收率;
(5)依照步骤(3)和(4)的规律对化学反应模型进行迭代训练,直至得到的化学反应模型达到阈值。
其中,步骤(1)得到的初始数据仅在第一轮作为初始化循环神经网络使用,后续则使用上一轮再训练的网络模型。
循环神经网络采用长短期记忆神经网络(LSTM)实现,循环神经网络每一轮的参数推荐都是基于历史数据进行再训练。通过配置有Adam函数的优化器对所述翻译模型进行训练,并基于损失函数(计算公式如下所示)计算预测产物与生成物之间的loss值,并采用反向传播算法对翻译模型的参数进行更新,直至loss值趋于稳定。
损失函数计算公式为:
其中,t表示当前轮次,r表示反应收率,T表示总轮次,
本实施例提供了一个收率优化的方法,借助循环神经网络,采用交互式的实验手段,最终为实验人员得到一个较为满意的反应收率。以下给出一个具体实施案例:
(1)给定一个化学反应式
BrC1=CNC2=CC(C(OC)=O)=CC=C21 + OCC3=CC=CC=C3
—>BrC4=CN(CC5=CC=CC=C5)C6=CC(C(OC) =O) =CC=C64
涉及到的实验条件参数为solvent(溶剂)、Phosphine(膦)、浓度和温度,solvent和Phosphine均为非数值型参数,对于solvent和Phosphine分别通过SMILES表达式进行编码表示,其编码表示分别如下:
solvent[O=CN(C)C,C1CCOC1,CC#N,CC1=CC=CC=C1,CC(OCC)=O];
Phosphine[CCCCP(CCCC)CCCC,C1(P(C2CCCCC2)C3CCCCC3)CCCCC1,CP(C1=CC=CC=C1)C2=CC=CC=C2];
滴速和温度为数值型参数,划定取值范围并进行刻度划分,其编码表示分别如下:
浓度[0.05, 0.10, 0.15, 0.20];
温度[5,15,25,35,45];
为了使生成物的收率最高,则需要寻找到一个最佳的实验条件参数组合;
(2)使用高斯混合密度函数模拟上述化学反应,通过输入上述化学反应条件得到不同的反应收率,各反应条件下反应收率具体如表1所示:
表1、高斯混合密度函数模拟下的收率
(3)采用循环神经网络来拟合r = R(s)模型,作为化学反应模型,该循环神经网络采用长短期记忆神经网络(LSTM)实现,其网络结构如图3所示,图3中sigmoid函数和tanh函数均为激活函数,sigmoid函数是平滑(smoothened)的阶梯函数(step function)、可导,sigmoid函数可以将任何值转换为0~1概率;tanh函数即双曲正切(hyperbolic tangent)函数,类似于幅度增大sigmoid函数,将输入值转换为-1至1之间;
(4)初始化历史数据集h为空集,将步骤(1)编码后的实验条件参数以及步骤(2)得到的对应的化学反应收率为当前实验条件参数和对应的反应收率,训练该化学反应模型,训练后的该化学反应模型输出第一轮实验条件参数作为目标实验参数,实验人员根据该目标实验参数进行实验,得到反应收率为目标反应收率;
实验人员设定了目标反应收率的阈值为96%,第一轮实验条件参数对应的目标反应收率小于阈值96%,则将步骤(1)编码后的实验条件参数和对应的化学反应收率更新至历史数据集,基于该历史数据集以及第一轮实验条件参数和对应的目标反应收率对化学反应模型进行训练,该训练后的化学反应模型推荐第二轮实验条件参数,实验人员根据第二轮实验条件参数进行实验,得到第二轮对应的反应收率,该反应收率小于阈值96%,则继续将第一轮实验条件参数和对应的化学反应收率更新至历史数据集,基于该历史数据集以及第二轮实验条件参数和对应的目标反应收率对化学反应模型进行训练,该训练后的化学反应模型推荐第三轮实验条件参数,实验人员根据第三轮实验条件参数进行实验,得到第三轮对应的化学反应收率,该反应收率小于阈值96%,则依据上述规律继续进行训练,第6轮实验条件参数对应化学反应收率大于96%,则停止模型训练以及实验条件参数推荐。
在训练迭代中,各组实验条件参数以及产生的化学反应收率如表2所示。
表2:
每次迭代时,可以将化学反应模型可以设置为推荐多组实验条件参数(反应收率最大的前几个实验条件参数),即在模型训练输入时,输入的实验条件参数和反应收率是多组的,同时,推荐的实验条件参数也为多组。也可将化学反应模型设置为推荐一组实验条件参数(反应收率最大的一个实验条件参数),即在模型训练输入时,输入的实验条件参数和反应收率也是一组。上述案例化学反应模型推荐五组实验条件参数,实验人员可根据推荐的五组实验条件分别进行实验,得到每组实验对应的反应收率,表2中仅仅展示收率最高的那组实验的详情。
实施例2:
本发明一种基于循环神经网络的交互式收率优化系统,包括数据收集模块、初始数据构建模块、模型构建模块、以及模型训练模块。该系统用于执行实施例1公开的一种基于循环神经网络的交互式收率优化方法。
对于当前化学反应,数据收集模块用于获取多种实验条件参数,对于数值型的实验条件参数,通过划定数值取值范围的方式进行编码,对于非数值型的实验条件参数,通过SMILES表达式进行编码,得到编码后实验条件参数。
本实施例中数据收集模块用于获取实验数据并进行预处理,作为具体实施,选定参与化学实验反应的实验条件和辅助物质作为实验条件参数(包括PH值、溶剂、温度以及催化剂等),并对每个实验条件参数进行编码,得到编码后实验条件参数。
选取的实验条件参数类型涉及数值型和非数值型,对于数值型的实验条件参数如温度、PH值等,由实验人员划定取值范围并进行刻度划分例如温度参数范围5~10;对于非数值型的实验条件参数,例如溶剂、催化剂等,通过SMILES表达式进行编码表示。
初始数据构建模块用于以编码后实验条件参数为输入,通过混合高斯密度函数模拟当前化学反应,得到反应收率。
模型构建模块用于基于循环神经网络模型构建化学反应模型,化学反应模型用于基于历史数据集以及当前的实验条件参数和对应的反应收率预测并输出下一轮的实验条件参数,所述历史数据集包括历史每一轮的实验条件参数和对应的反应收率。
模型构建模块采用循环神经网络来拟合r = R(s)模型,作为化学反应模型,其中r为收率,函数R为反应条件到收率的映射函数,s为反应条件参数。
作为具体实施,采用循环神经网络作为决策算法,来拟合r = R(s)模型。循环神经网络的核心是能够将时序信息与当前的输入信息进行融合。在实施例中,主要是借助循环神经网络的时序记忆特点,将高收率作为目标,来生成下轮实验的实验参数。模型核心公式如下所示:
其中,RNN
模型训练模块用于执行如下步骤来交互式的优化反应收率:初始化历史数据集,并以所述编码后实验条件参数以及对应的化学反应收率为当前实验条件参数和对应的反应收率,训练所述化学反应模型,并输出下一轮的实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率;以所述目标反应收率达到阈值为条件,对所述化学反应模型进行多轮训练,每一轮训练中,将所述当前实验条件参数以及对应的反应收率更新至历史数据集,将所述目标实验条件参数以及对应的目标反应收率作为当前的实验条件参数和对应的反应收率,基于历史数据集以及当前实验条件参数和对应的反应收率训练所述初始化学反应模型,并输出下一轮实验条件参数作为目标实验参数,基于所述目标实验条件参数进行化学实验,得到的反应收率作为目标反应收率。
模型训练模块通过迭代方式在对化学反应模型进行训练,过程如下:
(1)获取初始数据,通过步骤S100获取编码后的实验条件参数,并通过步骤S200以该编码后的实验条件参数为输入、得到对应的化学反应收率,将编码后的实验条件参数以及对应的化学反应收率作为初始数据;
(2)初始化历史数据集为空集,基于上述初始数据对化学反应模型进行训练,该化学反应模型推荐下一轮即第一轮实验条件参数;
实验人员根据上述实验条件参数进行实验的,得到对应的化学反应收率;
(3)如果得到的化学反应收率满足实验人员设置的阈值,则停止化学反应模型训练,如果不满足,则将初始数据更新至历史数据,基于第一轮实验条件参数、对应的化学反应收率以及历史数据对化学反应模型进行训练,该训练后化学反应模型推荐下一轮即第二轮实验条件参数,实验人员根据第二轮实验条件参数进行实验的,得到对应的化学反应收率;
(4)如果第二轮得到的化学反应收率满足实验人员设置的阈值,则停止化学反应模型训练,如果不满足,则将上述第一轮实验条件参数以及对应的化学反应收率更新至历史数据,基于第二轮实验条件参数、对应的化学反应收率以及历史数据对化学反应模型进行训练,该训练后化学反应模型推荐下一轮即第三轮实验条件参数,实验人员根据第三轮实验条件参数进行实验的,得到对应的化学反应收率;
(5)依照步骤(3)和(4)的规律对化学反应模型进行迭代训练,直至得到的化学反应模型达到阈值。
其中,步骤(1)得到的初始数据仅在第一轮作为初始化循环神经网络使用,后续则使用上一轮再训练的网络模型。
循环神经网络采用长短期记忆神经网络(LSTM)实现,循环神经网络每一轮的参数推荐都是基于历史数据进行再训练。通过配置有Adam函数的优化器对所述翻译模型进行训练,并基于损失函数(计算公式如下所示)计算预测产物与生成物之间的loss值,并采用反向传播算法对翻译模型的参数进行更新,直至loss值趋于稳定。
损失函数计算公式为:
其中,t表示当前轮次,r表示反应收率,T表示总轮次,
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
- 基于循环神经网络的交互式收率优化方法及系统
- 一种基于Kinect的交互式视标显示系统及视标显示优化方法