本发明涉及机器学习,尤其是涉及一种离线强化学习训练方法、设备及存储介质。
背景技术:
1、强化学习算法通过不断地与环境进行交互获得数据,来训练一个智能体,使其能够解决特定的决策问题。在游戏领域的应用表明,经过充分训练的强化学习算法,能成功达到甚至超越人类的最强水平。然而,强化学习算法在训练时,需要与环境交互获取实时数据,这样就约束了强化学习能应用的领域。为了解决强化学习算法数据利用率低下的问题,相关研究人员提出了离线强化学习算法(作为对照,需要一直和环境进行交互的被称为在线强化学习算法)。与传统强化学习算法在训练时需要不断和环境交互不同,离线强化学习算法只需在预先收集好的数据集上进行训练,这样能够增加将强化学习部署到更多应用的可能性。
2、现有一些离线强化学习算法可以在给定的数据集上训练并实现很好的效果,然而,这些离线强化学习算法主要专注的是机器人模拟的应用场景。其中,智能体接收到的输入均为机器人传感器给出的诸如:摩擦力,方向等参数,这些低维输入处理起来相对方便、也少有冗余,但是这些算法并没有在更高维、更复杂的任务上进行验证。
3、muzero系列的方法作为一种在线强化学习算法,在高维复杂任务上有着亮眼的表现。muzero系列方法使用表征函数和蒙特卡洛树搜索技术来提升自己的性能。蒙特卡洛树搜索的步骤,是在智能体选择动作时,首先在模型内部假想式的向前推导指定步数的交互过程和对应的奖励;之后通过对比所有动作的奖励,来选择动作使奖励最大化。但是因为蒙特卡洛树搜索的特性,模型在多次前向推理时,可能会产生数据外的结果,进而导致算法最终选择到不恰当的动作。在在线的条件下,模型可以得到智能体与环境的交互数据,及时调整对动作的估计值;但是在离线情况下,由于训练时没有与环境的交互,因此算法无法解决这个问题。
4、现有研究试图将muzero系列方法应用到离线的条件下,比如提出了muzerounplugged算法,将与环境互动收集到的数据重放,得到了在离线条件下可以成功训练的算法;还有研究还提出onestep和rosmo的方法,其中,onestep的方法是将muzero系列方法中蒙特卡洛树搜索的深度设置为1,修改策略的损失函数得到的;rosmo方法则是在onestep的基础上,添加了一个额外的正则化项,从而加快算法的收敛速度。
5、然而以上两种算法,都没有从根源上解决蒙特卡洛树搜索遇到不恰当的状态推理时产生的问题,导致最终动作选择时出现错误,也没有经过理论和实践证明在离线情况下,模型的哪些部分对于算法表现的影响更大,无法可靠训练得到更优的强化学习模型,不利于实际应用。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种离线强化学习训练方法、设备及存储介质,能够有效解决推导状态不恰当问题,训练得到更优的强化学习模型。
2、本发明的目的可以通过以下技术方案来实现:一种离线强化学习训练方法,包括以下步骤:
3、s1、设置数据集,构建强化学习框架;
4、s2、从数据集中获取样本数据后传输至强化学习框架,使用噪声来约束状态转移和状态值估计,结合目标网络和损失函数训练网络,得到训练后的强化学习模型。
5、进一步地,所述数据集存储在数据库中。
6、进一步地,所述强化学习框架包括表征模块,所述表征模块分别连接有动态模块和预测模块,所述表征模块用于将智能体的观测映射到一个潜在状态空间之中;
7、所述动态模块用于更新生成潜在状态和扰动潜在状态;
8、所述预测模块用于预测输出动作、状态值和奖励。
9、进一步地,所述步骤s2具体包括以下步骤:
10、s21、从数据集中获取样本数据,经过表征模块后输出得到潜在状态和目标状态;
11、s22、给潜在状态添加噪声,得到扰动潜在状态;
12、s23、将潜在状态和扰动潜在状态传输给动态模块,得到对应的下一个潜在状态和下一个扰动潜在状态;
13、将潜在状态和扰动潜在状态传输给预测模块,得到对应的动作、状态值和奖励;
14、s24、使用目标网络经过步骤s21~s23,得到对应目标值;
15、s25、利用目标值和预测模块输出的动作、状态值和奖励,通过计算损失函数,完成训练过程,得到训练后的强化学习模型。
16、进一步地,所述步骤s21具体是通过表征模块将智能体的观测映射到一个潜在状态空间中,以得到对应的潜在状态。
17、进一步地,所述步骤s22具体是给潜在状态添加设定的高斯噪声,以得到扰动潜在状态。
18、进一步地,所述步骤s25中损失函数包括policy损失函数、value损失函数、奖励损失函数、约束动态转换和约束状态值对应的状态损失函数。
19、进一步地,所述policy损失函数为:
20、
21、所述value损失函数为:
22、lv(v,z')=-φ(z')tlogv
23、所述奖励损失函数为:
24、lr(r,u')=-φ(u')tlogr
25、当约束动态转换时,状态损失函数使用带有噪声的状态获得的转换状态和无噪声的转换状态计算损失:
26、l=ε(z-z*2)
27、当约束状态值时,状态损失函数为:
28、l=ε(|v-v*|2)
29、其中,p是目标网络给出的动作的一个分布,v是预测模块输出的状态值,z'是根据数据集中的观测映射得到的潜在状态的状态值,u'是数据集中获取的真实的奖励。
30、一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述离线强化学习训练方法的步骤。
31、一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述离线强化学习训练方法的步骤。
32、与现有技术相比,本发明具有以下优点:
33、本发明从数据集中获取样本数据后传输至强化学习框架,设计使用噪声来约束状态转移和状态值估计,结合目标网络和损失函数训练网络,以得到训练后的强化学习模型,由此通过在观测映射到的潜在状态空间中添加噪声,对比有噪声和无噪声时状态转移或者状态值估计的结果,来约束模型对于数据集外潜在状态的估计,能够有效解决推导状态不恰当问题,训练得到更优的强化学习模型,不仅能在推导深度为1的蒙特卡洛树搜索方法中运行,还能在推导深度不为1的蒙特卡洛树搜索方法中起到作用。
1.一种离线强化学习训练方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种离线强化学习训练方法,其特征在于,所述数据集存储在数据库中。
3.根据权利要求1所述的一种离线强化学习训练方法,其特征在于,所述强化学习框架包括表征模块,所述表征模块分别连接有动态模块和预测模块,所述表征模块用于将智能体的观测映射到一个潜在状态空间之中;
4.根据权利要求3所述的一种离线强化学习训练方法,其特征在于,所述步骤s2具体包括以下步骤:
5.根据权利要求4所述的一种离线强化学习训练方法,其特征在于,所述步骤s21具体是通过表征模块将智能体的观测映射到一个潜在状态空间中,以得到对应的潜在状态。
6.根据权利要求4所述的一种离线强化学习训练方法,其特征在于,所述步骤s22具体是给潜在状态添加设定的高斯噪声,以得到扰动潜在状态。
7.根据权利要求4所述的一种离线强化学习训练方法,其特征在于,所述步骤s25中损失函数包括policy损失函数、value损失函数、奖励损失函数、约束动态转换和约束状态值对应的状态损失函数。
8.根据权利要求7所述的一种离线强化学习训练方法,其特征在于,所述policy损失函数为:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一所述离线强化学习训练方法的步骤。
10.一种存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1~8任一所述离线强化学习训练方法的步骤。