本发明涉及一种历史决策数据驱动的智能决策平台及其实现方法,属于人工智能技术领域。
背景技术:
随着人工智能技术的发展,强化学习在智能决策领域的应用越来越广泛,已经可以解决极其复杂的问题,如围棋,控制机器人进行工业生产,或控制自动驾驶汽车。不幸的是,在现实场景中落地强化学习进行智能决策仍是非常困难的。原因是大部分强化学习的工作都针对存在环境用于进行数据搜集,在该环境中,代理与环境互动并使用其当前策略和某些探索策略进行数据搜集,以探索决策空间并找到更高回报的决策模型。在环境中直接收集数据带来了几个困难:必须收集足够的数据来学习每个任务,这对于像机器人或自动驾驶汽车这样的系统来说收集数据是非常昂贵的;在医疗,安全等领域,与真实环境交互收集数据的代价是非常巨大的,会有很大的安全隐患。
为了解决这个问题,一部分研究人员提出了通过数字孪生的方法构建虚拟仿真环境训练决策模型,然后再把决策模型迁移到真实的场景中。但是这种方法有很大的局限性,在规则简单的环境上是可以通过专家抽取规则构建保真度比较高的模型。当为复杂,随机性比较大的场景构建虚拟环境往往是非常困难的,不同模块的误差累计会导致在仿真环境和真实环境存在非常大的区别,从而导致在虚拟环境上训练出来的模型在真实环境中表现非常差。而且数字孪生的方法需要消耗大量的人力物力,构建的模型也是固定的,如果真实环境发生了改变,这类方法是不能感知的,往往需要专家对其构建的模型进行调整,或重新构建环境。
而在真实场景中,往往有很多已经存在的历史决策数据,获得这些数据的代价是非常低且安全的。因此,如果能通过这些历史数据进行学习来获得较好的决策模型将是非常有使用价值的。
技术实现要素:
发明目的:针对现有技术中存在的问题与不足,本发明实现了一种历史决策数据驱动的智能决策平台。该平台可以从历史决策数据中进行学习,首先通过神经网络构建决策任务相关的虚拟环境,然后在得到的虚拟环境上训练决策模型,避免了和真实环境进行交互带来的安全性和代价问题。整个平台可以自动调度计算资源完成模型训练,无需人工专家干预。和已有的技术相比,该决策平台实用性更大,安全性更高,可扩展性更强。
技术方案:一种历史决策数据驱动的智能决策平台,该平台的技术特征在于:(1)可以基于历史数据通过神经网络方法自动构建决策任务相关的虚拟环境,和使用数据孪生技术创建的环境相比,其构建的虚拟环境具有较强的任务相关性,且只需要使用历史数据即可完成构建,不需要费时费力的注入专家知识。(2)给定决策目标,决策平台可以利用产生的虚拟环境和历史数据训练出最优决策策略。该策略即可以辅助人类专家进行决策,也可以代替人类专家完成更好的决策。所述的决策平台在构建虚拟环境和提供了默认的通用学习方法,一般情况下无需修改。所述平台允许使用人员根据个人经验和知识构建不同的虚拟环境和决策任务,最终通过历史数据进行训练以获得最优环境模型和决策模型。
一种历史决策数据驱动的智能决策平台,包括数据输入模块,决策任务自动构建模块,虚拟环境训练模块,决策策略训练模块,分布式神经网络调度模块,以及超参选优模块。
将存放历史决策数据的文件上传到数据输入模块,数据输入模块对文件中的历史决策数据进行数据预处理,包括填补缺失值以及删除噪声数据和重复数据。
所述决策任务自动构建模块根据历史决策数据和业务场景,支持通过部件拖拽和定义的方式构建决策因果图,决策因果图反应了历史决策数据之间的因果关系;决策因果图包含有决策空间节点和决策目标节点;决策空间节点是可以做决策的动作空间,决策目标是希望通过决策模型优化的目标节点,可以使得该节点的值增加或减小;决策因果图构建完成后,决策任务自动构建模块把数据输入模块上传的历史决策数据按列绑定到因果图的每个节点。
所述虚拟环境训练模块基于历史决策数据和决策因果图进行虚拟环境训练,在训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择,不同的任务场景需要使用不同的超参以构建最佳环境模型;虚拟环境训练模块判断训练的虚拟环境和真实环境的相似度,如果相似度达到预设的阈值,则环境模型训练完成,否则继续进行模型训练;最后获得符合要求的训练完成的虚拟环境模型。
所述决策策略训练模块在虚拟环境模型上使用强化学习方法进行决策模型训练,训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择;判断输出的决策模型是否已经达到理想要求,如果不符合要求,则继续进行模型训练,如果达到要求,则输出决策模型。
分布式神经网络调度模块获得输出的环境模型和决策模型,释放模型训练占用的资源,对环境模型和决策模型打包,提供api供用户调用进行智能决策。
所述超参选优模块生成多组超参,分布式训练模块并行的对计算资源进行调度,创建多个进程分别对生成的超参进行训练,训练速度和可用资源成正线性相关。
一种历史决策数据驱动的智能决策平台实现方法,包括如下步骤:
s1,获得历史决策数据进行数据处理;
s2,根据历史决策数据和业务场景,通过部件拖拽和定义的方式构建决策因果图;所述决策因果图反应了历史决策数据之间的因果关系,决策因果图包含有决策空间节点和决策目标节点;所述决策空间节点是可以做决策的动作空间,决策目标是希望通过决策模型优化的目标节点,可以使得该节点的值增加或减小;决策因果图构建完成后,需要把s1中上传的历史决策数据按列绑定到决策因果图的每个节点;
s3,基于历史决策数据和决策因果图进行虚拟环境训练,在训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择,不同的任务场景需要使用不同的超参以构建最佳环境模型;
s4,判断训练的虚拟环境和真实环境的相似度,如果相似度达到预设的阈值,则环境模型训练完成,否则继续回到s3进行模型训练;
s5,获得符合要求的训练完成的虚拟环境模型;
s6,在虚拟环境上使用强化学习方法进行决策模型训练,训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择;
s7,判断s6输出的决策模型是否已经达到理想要求,如果不符合要求,则回到s6继续进行模型训练,如果达到要求,则输出决策模型;
s8,获得输出的环境模型和决策模型,释放模型训练占用的资源,对环境模型和决策模型打包。
所述s1中,平台支持使用excel,csv和sql等文件格式上传历史决策数据,上传后的历史决策数据会被平台进行数据预处理,包括填补缺失值,以及删除噪声数据和重复数据。
所述s8中,对环境模型和决策模型打包,提供api供用户调用进行智能决策。
有益效果:与现有技术相比,本发明提供的历史决策数据驱动的智能决策平台及其实现方法,可以通过历史决策数据自动学习生成虚拟环境,基于生成的虚拟环境训练获得的决策模型。环境模型和决策模型的训练是自动完成的。获得的决策模型的决策效果会优于获得历史数据的决策效果。该平台可以在仅利用历史数据的情况下获得决策相关的仿真环境和更好决策效果的决策模型,不需要对真实环境进行探索,避免了在线搜集数据带来的风险,业务场景适应性更强。
附图说明
图1为本发明实施例提供的智能决策平台实现流程示意图;
图2为本发明实施例提供的智能决策平台的结构示意图;
图3为在平台上构建的决策因果图示例。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种历史决策数据驱动的智能决策平台,相对于已有的技术,该平台可以基于历史数据通过神经网络方法自动构建业务的虚拟环境,和数据孪生产生的环境相比,该虚拟环境具有更强的任务相关性;在给定决策目标,本平台可以利用得到的虚拟环境和历史数据训练出决策模型,和采样历史数据的模型相比,该模型表现更好,即可以辅助人类专家进行决策,也可以代替人类专家完成更好的决策。平台提供了默认的通用学习方法,一般情况下无需修改。平台允许使用人员根据个人经验和知识构建不同的虚拟环境和决策任务,最终通过历史决策数据进行训练以获得最优环境模型和决策模型。该平台可以应用于工业机器人控制,装置参数调试等仿真实验和智能决策任务场景。
用户在使用决策平台时需要输入历史决策数据,决策空间和决策目标。决策目标是可选的,当不输入决策目标时,平台只会基于历史数据构建虚拟环境,当输入决策目标后,平台会在构建的虚拟环境上训练决策模型,并获得最优决策模型。如图2所示,整个平台包括数据输入模块,决策任务自动构建模块,虚拟环境训练模块,决策策略训练模块,分布式神经网络调度模块,以及超参选优模块。
将存放历史决策数据的文件上传到数据输入模块,数据输入模块对文件中的历史决策数据进行数据预处理,包括填补缺失值以及删除噪声数据和重复数据。数据输入模块支持使用excel,csv和sql等文件格式上传决策数据。
决策任务自动构建模块根据历史决策数据和业务场景,支持通过部件拖拽和定义的方式构建决策因果图,决策因果图反应了历史决策数据之间的因果关系;决策因果图包含有决策空间节点和决策目标节点;决策空间节点是可以做决策的动作空间,决策目标是希望通过决策模型优化的目标节点,可以使得该节点的值增加或减小,这里的值指节点对应数据的值例如希望可以增加用户消费金额,或减小服务的延迟时间;决策因果图构建完成后,决策任务自动构建模块把数据输入模块上传的历史决策数据按列绑定到因果图的每个节点。
虚拟环境训练模块基于历史决策数据和决策因果图进行虚拟环境训练,在训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择,不同的任务场景需要使用不同的超参以构建最佳环境模型;虚拟环境训练模块判断训练的虚拟环境和真实环境的相似度,如果相似度达到预设的阈值,则环境模型训练完成,否则继续进行模型训练;最后获得符合要求的训练完成的虚拟环境模型。
决策策略训练模块在虚拟环境模型上使用强化学习方法进行决策模型训练,训练过程中使用分布式训练模块分发计算资源进行多模型并行训练,超参选优模块会在预定义的超参空间进行超参选择;判断输出的决策模型是否已经达到理想要求,如果不符合要求,则继续进行模型训练,如果达到要求,则输出决策模型。
分布式神经网络调度模块获得输出的环境模型和决策模型,释放模型训练占用的资源,对环境模型和决策模型打包,提供api供用户调用进行智能决策。
超参选优模块生成多组超参(可以从预定义的超参数空间中进行组合生成,例如,神经网络中的“learningrate”和“batch_size”两个超参空间分别是[0.1,0.01]和[128,256],则可以组合生成(0.1,128),(0.1,256),(0.01,128),(0.01,256)四组超参数。),分布式训练模块并行的对计算资源进行调度,创建多个进程分别对生成的超参进行训练,训练速度和可用资源成正线性相关。
如图1所示,该历史决策数据驱动的智能决策平台实现方法,包括如下步骤:
步骤s1,获得历史决策数据进行数据处理。平台支持使用excel,csv和sql等文件格式上传决策数据,上传后的决策数据会被平台进行数据预处理,填补缺失值,删除噪声数据和重复数据;
步骤s2,根据历史决策数据和业务场景搭建决策因果图,图3是一个决策因果图的示例图,决策因果图是由节点和边之组成,节点用来承载步骤s1输入的数据,边体现了节点上数据的因果关系。平台支持通过部件拖拽和定义的方法构建决策因果图。决策因果图包含有决策空间节点和决策目标节点。决策空间是指决策模型可以控制的决策动作,决策目标是希望通过决策模型优化的目标节点,可以使得该节点的值增加或减小。决策因果图包括节点和节点之间的边,整个决策因果图是一个有向无环图,该图必须有一个初始节点(只有出边,图3上的“当前时间步的可观测量”)和一个结束节点(只有入边,图3上的“下一时间步上的可观测量”)。节点可以分为三类,第一类是初始节点,也叫观察节点,这类节点不受其它节点的影响,但是可以影响其它节点,因此在该类节点上只存在出边不存在入边;第二类节点是中间节点,也叫动作节点,该类节点即有入边又有出边,它们受上一级初始节点或中间节点的影响,而影响下一级的中间节点或结束节点。第三类节点是结束节点,该类节点只受中间节点或初始节点的影响,所以只有一条进边,而没有出边。由于整个因果图在时序维度上是重复的,因此第ti步时的结束节点会作为第ti+1步的开始节点,即图3中的“下一时间步上的可观测量”会成为下一时间步的“当前时间步的可观测量”。根据输入数据的决策序列长度,重复进行,一个多步的时序因果关系图构建完成,与单步因果关系图相比,多步因果关系图可以使得不同时间步上的节点信息进行交互,以此达到时序全局最优的目的。搭建完成决策因果图后,需要把s1处理完成的数据按列绑定到对应的节点,每一个节点支持绑定多列数据,每一列数据只能绑定到一个节点上。
步骤s3,根据输入的决策因果图和数据进行数据解析,对数据进行预处理,数据预处理可以对数据进行归一化等处理,保证后面的模型训练可以高效训练。然后对用户提供的决策历史数据按条进行划分,把数据集随机切分为训练集和验证集;通过解析决策因果图和各个节点对应的数据,为节点之间构建神经网络作为边,每个非初始节点的节点会有一个对应的神经网络,该神经网络的输入是该节点所有的入节点值的拼接,该神经网络的输出是该节点的输出值。构建的神经网络个数比节点的个数少1。通常构建的神经网络具有多个超参数,包括神经网络的层数,学习率等。超参选优模块会在预定义的超参空间进行超参选择,不同的任务场景需要使用不同的超参以构建最佳环境模型;在训练过程中会使用分布式训练模块进行多模型并行训练,分布式训练模块管理整个系统的计算资源,包括cpu,gpu和内存。分布式训练模块是训练模块接受超参选优模块发来的多套超参数(超参数是指前面定义的算法参数,包括神经网络的层数,优化器类型,学习率等),并为每一套超参数申请系统资源进行虚拟环境模型训练,每一套超参数会训练得到一个虚拟环境模型。因此一般有多个虚拟环境模型在并行训练,同时分布式训练模块也会收集训练完成的虚拟环境模型和回收分发出去的系统资源。
步骤s4,步骤s3分布式训练模块得到了多个虚拟环境模型会在步骤s3生成的验证集使用最大似然估计评估虚拟环境的相似性,并和历史记录的最佳虚拟环境进行对比,保存相似度最高的虚拟环境模型;重复s3直至最优模型相似度达到预设的阈值。
步骤s5,步骤s4此时,我们已经获得一个虚拟环境。使用该虚拟环境,输入系统当前状态(即图3中的“当前时间步的环境可观测量”),虚拟环境可以依次输出决策因果图的其它部分(决策空间,其它决策空间,决策目标,下一时间步上的可观测量),输出的“下一时间步上的可观测量”又可作为下一时间步的“当前时间步的环境可观测量”进行输入,继续重复输出,达到模拟真实环境进行时序推演的目的。
步骤s6,根据步骤s1输入的决策目标和步骤s5输出环境模型构建决策神经网络和环境。决策神经网络同样具有多个超参数,包括神经网络的层数,学习率等,使用参数自动选优模块从参数空间中随机选择多套超参数;在训练过程中会使用分布式训练模块进行多模型并行训练,分布式训练模块管理整个系统的计算资源,包括cpu,gpu和内存等。分布式训练模块是训练模块接受超参选优模块发来的多套超参数(超参数是指前面定义的算法参数,包括神经网络的层数,优化器类型,学习率等),并为每一套超参数申请系统资源进行决策模型训练,每一套超参数会训练得到一个决策模型,因此一般有多个决策模型在并行进行训练。分布式训练模块也会负责收集训练完成的决策模型和回收分发出去的系统资源。
步骤s7,对步骤s6训练输出的多个决策模型按照决策目标计算平均决策回报,并和历史记录保留的决策回报对比,保留平均决策回报最大的模型作为最优决策模型;重复s6直至保存的决策模型稳定收敛,达到最优。
步骤s8,获得输出的环境模型和决策模型,释放模型训练占用的资源,对环境模型和决策模型打包,提供api供用户调用进行智能决策。
通过上述步骤,通过输入历史决策数据,决策空间和决策目标构建决策因果图,即可使用平台自动训练决策相关的虚拟环境,当虚拟环境构建完成后,用户可以输入决策目标,平台会自动根据决策目标在训练完成的虚拟环境上训练决策模型。整个训练过程是分布式并行的,在整个过程中,在验证集上通过最大似然评估每个训练得到的虚拟环境与真实环境的相似度,最终选择相似度最大的环境返回。虚拟环境训练完成后,如果没有输入决策优化目标,那么系统会将训练好的虚拟环境输出;如果使用人员输入了决策优化目标,那么系统将自动在训练好的虚拟环境训练决策模型。和训练虚拟环境的步骤一样,训练决策模型的过程也是分布式并行的,通过参数自动选优模块选择多组超参数进行并行训练,返回在虚拟环境上表现最后的模型作为最佳决策模型输出。
相对于已有的技术,本平台可以基于历史数据通过神经网络方法自动构建业务的虚拟环境,和数据孪生产生的环境相比,该虚拟环境具有很强的任务相关性;在给定决策目标,本平台可以利用得到的虚拟环境和历史数据训练出决策模型,和采样历史数据的模型相比,该模型表现更好,可以辅助人类专家进行决策,也可以代替人类专家完成更好的决策。该平台可以广泛应用智能决策场景,例如,工业机器人控制,物理仿真实验,交通控制等。