掌桥专利:专业的专利平台
掌桥专利
首页

基于动力学对称性建模的离线强化学习方法及装置

文献发布时间:2023-06-19 19:28:50


基于动力学对称性建模的离线强化学习方法及装置

技术领域

本发明涉及机器学习技术领域,尤其涉及一种基于动力学对称性建模的离线强化学习方法及装置。

背景技术

目前,大多数强化学习算法只有在模拟环境中经历了大量的尝试和错误后才能学习良好的策略,比如在游戏领域和机器人领域。但是在现实世界中的场景,例如自动驾驶汽车和复杂工业系统控制,没有一个完美的模拟环境,只有一批预先收集的环境交互数据即离线数据。

而在离线强化学习中,由于智能体不能和环境进行交互,大大增加了学习难度,并也由此衍生出一系列问题。现有的具有代表性的离线强化学习方法包括SAC(Soft Actor-Critic,软演员-评论家)算法、CQL(Conservative Q-Learning,保守Q学习)算法以及BAIL(Best-Action Imitation Learning,最佳动作模仿学习)算法。

其中,SAC算法在传统的强化学习演员-评论家框架中引入了熵的思想,并利用软更新方法,使智能体的训练过程更稳定,最终表现也更好。虽然该算法可以直接迁移到离线强化学习场景中,但适应能力较差,在实验中经常出现Q函数值发散等致命问题,不适合直接应用。

CQL算法对Q函数施加额外限制,严格控制Q函数在数据集之外的更新,通过限制Q函数避免了Q函数过高估计的问题。但相应的,CQL算法所对应的Q函数常常过于悲观,得到的策略也过于保守,离最优策略有一定距离,并且,CQL算法对超参数比较敏感。取得较好的效果需要非常精细地调整超参数。

BAIL算法利用模仿学习的思想,完全舍弃了强化学习中常用的演员-评论家框架,不包含Q函数,从根本上避免了Q函数的误差问题。此外,该算法通过训练数据集中所有数据点的上包络,筛选出质量较好的数据点,并利用这些数据点进行模仿学习,从而得到较好的策略。

然而,BAIL算法虽然不受Q函数的制约,但其计算上包络的方法需要估计数据集中每一点的未来期望回报,这样的估计存在一定误差,尤其对于无限时间序列的场景,误差会更大。

因此,现有技术中从离线数据中提取有效信息,辅助强化学习得到一个最大化长期奖励的策略的问题,是机器学习技术领域亟待解决的重要问题。

发明内容

本发明提供一种基于动力学对称性建模的离线强化学习方法及装置,用以克服现有技术中无法从离线数据中提取有效信息,辅助强化学习得到一个最大化长期奖励的策略的缺陷,实现行为策略的优化。

一方面,本发明提供一种基于动力学对称性建模的离线强化学习方法,用于策略优化,包括:获取离线数据集;通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;将所述低维状态-动作对输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值;其中,所述当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

进一步地,所述通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量,包括:通过所述编码器对所述原始状态-动作对进行处理,得到所述低维状态-动作对;利用所述双向动力学模型分别对当前时刻低维状态-动作对和下一时刻低维状态进行处理,通过预设损失函数得到相应的所述正向反演状态变化量和所述逆向反演状态变化量。正向时间反演状态变化量

进一步地,所述预设损失函数包括动态损失函数、低维空间下动态损失函数以及重建损失函数;其中,所述动态损失函数、所述低维空间下动态损失函数以及所述重建损失函数的公式依次如下:

其中,s为所述离线数据集中的状态,a为所述离线数据集中状态s下的动作,ΔX(s,s′)为所述下一时刻状态变化量,s′为所述离线数据集中下一时刻的状态,θ和

进一步地,所述将预设输入数据输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值,包括:根据所述低维状态-动作对中的低维状态和低维策略输出动作,计算得到下一时刻低维策略状态变化量;根据所述低维状态-动作对中的低维状态和下一时刻原始状态的低维表示,计算得到正向时间反演状态变化量;通过将所述下一时刻低维策略状态变化量和所述正向时间反演状态变化量之间的差值作为预设约束项,获取所述状态-动作价值函数值。

进一步地,还包括:通过将所述状态-动作价值函数值,以及低维策略动作和所述低维状态-动作对中的低维动作之间的差异值作为约束项,获取与所述原始状态-动作对中原始状态相对应的行为策略;或者,通过将所述状态-动作价值函数值,以及基于所述低维状态-动作对得到的正向时间反演状态变化量和基于所述低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值作为约束项,获取与所述原始状态-动作对中原始状态相对应的行为策略;或者,通过将所述状态-动作价值函数值,基于所述低维状态-动作对得到的正向时间反演状态变化量和基于所述低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值,以及所述低维策略动作和所述低维状态-动作对中的低维动作之间的差异值作为约束项,获取与所述原始状态-动作对中原始状态相对应的行为策略;或者,通过将所述状态-动作价值函数值,基于所述低维状态-动作对得到的正向时间反演状态变化量和基于所述低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值,所述低维策略动作和所述低维状态-动作对中的低维动作之间的差异值,以及所述低维策略动作和所述原始状态-动作对中的原始动作之间的差异值作为约束项,获取与所述原始状态-动作对中原始状态相对应的行为策略。

进一步地,所述双向动力学模型通过时间反演损失函数训练得到。

第二方面,本发明还提供一种基于动力学对称性建模的离线强化学习装置,用于策略优化,包括:数据获取模块,用于获取离线数据集;数据处理模块,用于通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;价值获取模块,用于将所述低维状态-动作对输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值;其中,所述当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于动力学对称性建模的离线强化学习方法的步骤。

第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于动力学对称性建模的离线强化学习方法的步骤。

第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于动力学对称性建模的离线强化学习方法的步骤。

本发明提供的基于动力学对称性建模的离线强化学习方法,通过编码器和双向动力学模型对获取的离线数据集中的原始状态-动作对进行处理,得到原始状态-动作对的低维表示和当前时间反演状态变化量,并将原始状态-动作对的低维表示输入至价值网络中,便可得到与原始状态-动作对相对应的状态-动作价值函数值。该方法利用双向动力学模型对离线数据进行处理,从离线数据中提取出有效信息,即正向时间反演状态变化量和逆向时间反演状态变化量,这些信息具备极高的泛化性和可解释性,以该有效信息作为价值网络的输入而得到的状态-动作价值函数值,能够有效地辅助强化学习得到一个最大化长期奖励的策略,实现行为策略的优化。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的基于动力学对称性建模的离线强化学习方法的流程示意图;

图2为本发明提供的双向动力学模型预测示意图;

图3为本发明提供的状态-动作价值函数值的获取示意图;

图4为本发明提供的基于动力学对称性建模的离线强化学习方法的整体流程示意图;

图5为本发明提供的基于动力学对称性建模的离线强化学习装置的结构示意图;

图6为本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明所提供的基于动力学对称性建模的离线强化学习方法的流程示意图。如图1所示,该离线强化学习方法包括:

S101,获取离线数据集;

可以理解的是,离线数据集由不同时刻的原始状态-动作对构成。原始状态-动作对包括原始状态和原始动作,原始状态与原始动作之间存在一一对应关系。此外,离线数据集中还可以包括与原始状态-动作对相对应的奖励。

需要说明的是,离线数据集可以为通过模拟得到的仿真数据,也可以为基于真实环境的交互数据,还可以同时包括仿真数据和真实数据两种类型。

还需要说明的是,离线数据集中的所有数据可以从现有的大型数据库中直接获取,例如Robomimic数据库和D4RL数据库。其中的Robomimic数据库为一个与机械臂相关的离线数据库;而D4RL数据库收集了大型数据集,包括交互式环境中智能体的记录,例如自动驾驶Carla、AntMaze以及Mujoco的交互记录,并且,该数据库还对数据集进行了简单和复杂的分类,种类也十分丰富。

以自动驾驶为例,离线数据集源于自动驾驶的数据记录时,车辆驾驶环境信息为离线数据集中的原始状态,车辆操作行为信息为离线数据集中的原始动作。当然,离线数据集中还可以包括与车辆驾驶环境信息和车辆操作行为信息相对应的奖励信息。

S102,通过编码器和双向动力学模型对离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量,当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

编码器可以为基于卷积的编码网络,用于对离线数据集中的原始状态-动作对,以及由原始状态-动作对延伸得到的相关数据进行压缩处理,将高维度的原始数据压缩为低维度的数据。其中,由原始状态-动作对延伸得到的相关数据包括下一时刻状态-动作变化量,即在下一时刻时,原始状态和原始动作的变化量。

需要注意的是,与一般深度学习预测模型不同,双向动力学模型是对当前系统的全微分方程进行近似的一种双向动力学模型。全微分方程刻画了当前动力系统中,状态如何随时间进行变化的方程。因此,双向动力学模型关注的是在时间维度上,状态的变化量。而一般深度学习预测模型是基于数据分布拟合数据之间的转移概率,并不关注时间维度下,数据如何进行变化的这一特征。双向动力学模型为具有预设数量的网络层的深度学习网络模型,其中,预设数量可根据实际需求进行设置,在此不作具体设置。

在本实施例中,可以通过利用双向动力学模型判断状态的可靠性,从而增加算法的泛化性和鲁棒性。同时,也借助于该模型进行一定程度的可靠性数据增强,扩展原数据的数据覆盖面,从而加强所提强化学习算法的效果。

具体地,双向动力学模型可以进行双向预测,也就是说,该模型不仅可以根据当前时刻状态下做出的动作,对下一时刻状态相对于当前时刻状态的变化量进行预测,还可以根据下一时刻状态下做当前时刻状态对应的动作,对当前时刻状态相当于下一时刻状态的变化量进行预测,从而实现时间轴上正向和逆向状态变化量的预测。

需要说明的是,通过双向动力学模型处理得到的正向时间反演状态变化量,相较于原始维度的原始状态-动作对,更具泛化性和可解释性。

其中的泛化性是指通过双向动力学模型处理得到的低维数据可以应用于多种场景,且基于该低维数据能够做出准确的预测,例如本实施例中对于正向时间反演状态变化量的准确预测,基于低维数据能够得到相应的状态-动作价值函数值。可解释性是指通过双向动力学模型处理得到的低维数据中的各个参数都是可以解释的。

可以理解的是,在上一步骤S101获取离线数据集的基础上,提取离线数据集中的原始状态-动作对,并利用编码器和双向动力学模型对原始状态-动作对进行处理,从而得到低维状态-动作对、正向时间反演状态变化量和逆向时间反演状态变化量。其中,低维状态-动作对为原始状态-动作对的低维度表示,正向时间反演状态变化量为当前时刻的状态下,作对应动作的状态变化量,逆向时间反演状态变化量为下一时刻的状态下,做当前时刻的动作的状态变化量。

其中需要注意的是,正向时间反演状态变化量和逆向时间反演状态变化量均是相应的低维表示。

还需要说明的是,利用编码器和双向动力学模型对原始状态-动作对进行处理,还包括对通过原始状态-动作对延伸得到的数据进行处理,此处通过原始状态-动作对延伸得到的数据可以为下一时刻状态-动作变化量。

S103,将低维状态-动作对输入至价值网络,得到原始状态-动作对所对应的状态-动作价值函数值。

本步骤中的价值网络是指状态动作价值网络,用于获取在某一特定状态下执行某一动作的价值,即是为了获取每一状态-动作对的状态-动作价值函数值。

可以理解的是,在上一步骤S102得到低维状态-动作对、正向时间反演状态变化量以及逆向时间反演状态变化量的基础上,将低维状态-动作对输入至价值网络中,便可以得到与原始状态-动作对相对应的状态-动作价值函数值。

需要说明的是,步骤S103中得到的正向时间反演状态变化量和逆向时间反演状态变化量用于设置相应的策略约束项,以获取优化的行为策略。

以自动驾驶为例,在获取与车辆驾驶环境信息和车辆操作行为信息所对应的状态-动作价值函数值后,可以基于该状态-动作价值函数值对策略网络进行优化,得到奖励最大化的行为策略,即车辆的操作行为,从而根据优化后的行为策略更高效精准地控制车辆自动驾驶。

在本实施例中,通过编码器和双向动力学模型对获取的离线数据集中的原始状态-动作对进行处理,得到原始状态-动作对的低维表示,以及正向时间反演状态变化量和逆向时间反演状态变化量,将包括原始状态-动作对的低维表示和/或时间反演状态变化量的预设输入数据输入至价值网络中,便可得到与原始状态-动作对相对应的状态-动作价值函数值。该方法利用双向动力学模型对离线数据进行处理,从离线数据中提取出有效信息即正向时间反演状态变化量和逆向时间反演状态变化量,这些信息具备极高的泛化性和可解释性,以该有效信息作为价值网络的输入而得到的状态-动作价值函数值,能够有效地辅助强化学习得到一个最大化长期奖励的策略,实现行为策略的优化。

在上述实施例的基础上,进一步地,通过编码器和双向动力学模型对离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对、正向时间反演状态变化量和逆向时间反演状态变化量,包括:通过编码器对原始状态-动作对进行处理,得到低维状态-动作对;利用双向动力学模型分别对低维状态-动作对和下一时刻低维状态进行处理,通过预设损失函数得到相应的正向时间反演状态变化量和逆向时间反演状态变化量。

可以理解的是,通过编码器和双向动力学模型对离线数据集中的原始状态-动作对进行处理,具体地,利用编码器对原始状态-动作对进行压缩处理,得到原始状态-动作对的低维表示,即低维状态-动作对。其中的原始状态-动作对的低维表示,包括不同时刻的原始状态-动作对的低维表示,例如,当前时刻和下一时刻。

在得到低维状态-动作对之后,利用双向动力学模型对当前时刻低维状态-动作对进行处理,即可预测得到正向时间反演状态变化量;利用双向动力学模型对下一时刻低维状态进行处理,即可得到逆向时间反演状态变化量。

利用双向动力学模型对低维状态-动作对和下一时刻低维状态进行处理,具体地,通过预设损失函数得到。

其中,预设损失函数的公式如下:

L

其中,L

根据上述可知,预设损失函数包括动态损失函数、低维空间下动态损失函数以及重建损失函数。

其中,动态损失函数用于确保正向时间反演状态变化量能够解码会原始的下一时刻状态-动作变化量。动态损失函数的公式如下:

在该公式中,s为离线数据集中的状态,a为离线数据集中状态s下的动作,ΔX(s,s′)为下一时刻状态变化量,s′为离线数据集中下一时刻的状态,θ和

低维空间下动态损失函数用于确保通过双向动力学模型预测得到的正向时间反演状态变化量

在该公式中,

重建损失函数用于确保通过对低维状态-动作对解码得到的原始状态-动作对,能够重构回离线数据集中的原始状态-动作对。重建损失函数的公式如下:

在该公式中,X(s,a)为离线数据集中的原始状态-动作对,

根据上述,预设损失函数可展开为:

图2示出了本发明所提供的双向动力学模型预测示意图,进一步解释了图1中步骤S102的处理过程。如图2所示,首先,基于离线数据集,从离线数据集中提取出原始状态-动作对X(s,a),加上下一时刻的状态s′,即从离线数据集中提取出X(s,a,s′),并根据不同时刻的原始状态动作对,通过当前时刻的原始状态s与下一时刻的原始状态s′作差处理,得到下一时刻状态变化量ΔX(s,s′)。

通过编码层(即上文提到的编码器)对原始状态-动作对进行处理,得到低维状态-动作对Z(X),即Z(s,a),通过编码器对下一时刻的原始状态s′和当前时刻的原始动作a进行处理,即可得到Z(s′,a)。

而后,利用双向动力学模型对低维状态-动作对Z(s,a)进行处理,即将低维状态-动作对Z(s,a)输入至双向动力学模型中,即可通过双向动力学模型输出正向时间反演状态变化量

同样地,利用双向动力学模型对下一时刻低维状态和当前时刻动作的低维表示进行处理,即将下一时刻低维状态和当前时刻动作的低维表示,也即为图2中的Z(s′,a)输入至双向动力学模型中,即可通过双向动力学模型输出逆向时间反演状态变化量

具体地,在双向动力学模型对当前时刻的低维状态、下一时刻的低维状态以及当前时刻的低维动作进行处理的过程中,通过动态损失函数和低维空间下动态损失函数,可以得到预测的相应的正向时间反演状态变化量和逆向时间反演状态变化量。

具体地,利用双向动力学模型对低维状态-动作对和下一时刻低维状态进行处理的过程中,会涉及动态损失函数和低维空间下动态损失函数这两项损失函数使得预测得到的正向时间反演状态变化量和逆向时间反演状态变化量具有极高的泛化性和可解释性。

最后,通过包括动态损失函数、低维空间下动态损失函数以及重建损失函数的预设损失函数,对图2中的编码层和解码层不断优化更新,以提高双向动力学模型处理结果的预测准确性。

根据图2还可以看出,双向动力学模型在学习过程利用了时间反演损失函数,其中,该时间反演损失函数的表达式如下:

其中,λ

在本实施例中,利用双向动力学模型对低维状态-动作对和下一时刻低维状态进行处理,通过预设损失函数得到相应的正向时间反演状态变化量和逆向时间反演状态变化量,得到的正向时间反演状态变化量和逆向时间反演状态变化量具备极高的泛化性和可解释性,以其作为价值网络的输入而得到的状态-动作价值函数值,能够有效地辅助强化学习得到一个最大化长期奖励的策略,实现行为策略的优化。

在上述实施例的基础上,进一步地,将预设输入数据输入至价值网络,得到原始状态-动作对所对应的状态-动作价值函数值,包括:根据低维状态-动作对中的低维状态和低维策略输出动作,计算得到下一时刻低维策略状态变化量;根据低维状态-动作对中的低维状态及其对应的低维动作,计算得到正向时间反演状态变化量;通过将下一时刻低维策略状态变化量和正向时间反演状态变化量之间的差值作为预设约束项,获取状态-动作价值函数值。

可以理解的是,将预设输入数据输入至价值网络,得到与原始状态-动作对相对应的状态-动作价值函数值。具体地,根据将低维状态-动作对中的低维状态和低维策略输出动作,计算得到下一时刻低维策略状态变化量。其中,低维策略输出动作为策略输出动作的低维表示。

需要说明的是,策略输出动作是指以原始状态为策略网络的输入时,策略网络的输出动作。低维策略输出动作通过编码器对策略输出动作进行压缩得到。

下一时刻低维策略状态变化量的获取公式如下:

其中,

根据低维状态-动作对中的低维状态,以及下一时刻原始状态的低维表示,计算得到正向时间反演状态变化量。

正向时间反演状态变化量的获取公式如下:

其中,

在得到下一时刻低维策略状态变化量和正向时间反演状态变化量的基础上,将二者之间的差值作为预设约束项,以获取状态-动作价值函数值。其中,预设约束项可以理解为一个惩罚项,目的是为了使得到的状态-动作价值,与原始状态-动作对中的原始状态和原始动作的实际价值相对应。

原始价值网络的优化过程可用以下公示表示:

而在本实施例中,以上述预设约束项作为价值网络的约束条件,对价值网络进行优化的过程可用以下公式表示:

其中,r(s,a)为状态s下做出动作a的即时奖励,z

图3示出了本发明所提供的状态-动作价值函数值的获取示意图,进一步解释了价值网络以低维状态-动作对作为输入的情况。

如图3所示,通过更改现有强化学习方法中价值网络的输入,得到相应的状态-动作价值函数值。具体地,基于离线数据集中的原始状态-动作对X(s,a)作为编码层的输入,得到原始状态-动作对的低维表示,将原始状态-动作对的低维表示Z(X)输入至价值网络中,即可得到相应的状态-动作价值函数值Q(Z(X))。

需要说明的是,在价值网络优化更新的过程中,图中的编码层涉及的相关网络参数是不参与更新的。并且,本实施例所提供的强化学习算法可以应用于现有的任何包括状态-动作价值函数的算法。

在上述实施例的基础上,进一步地,该离线强化学习方法还包括:

基于得到的状态-动作价值函数值,设置策略上的约束项,以获取与原始状态相对应的行为策略。

需要说明的是,在现有技术中,设置的策略上的约束项为原始动作的差异,具体可以用以下公式表示:

其中,

而在本实施例中,基于原始状态-动作对和得到的状态-动作价值函数值,以及通过编码器和双向动力学模型处理得到的低维数据,分别设置了不同的策略上的约束项。

具体地,策略上的约束项1:通过将状态-动作价值函数值,以及低维策略动作和低维状态-动作对中的低维动作之间的差异值作为约束项,获取与原始状态-动作对中原始状态相对应的行为策略。具体可用以下公示表示:

其中,

或者,策略上的约束项2:通过将状态-动作价值函数值,以及基于低维状态-动作对得到的正向时间反演状态变化量和基于低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值作为约束项,获取与原始状态-动作对中原始状态相对应的行为策略。具体可以用以下公式表示:

其中,

或者,策略上的约束项3:通过将状态-动作价值函数值,基于低维状态-动作对得到的正向时间反演状态变化量和基于低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值,以及低维策略动作和低维状态-动作对中的低维动作之间的差异值作为约束项,获取与原始状态-动作对中原始状态相对应的行为策略。具体可以用以下公示表示:

或者,策略上的约束项4:通过将状态-动作价值函数值,基于低维状态-动作对得到的正向时间反演状态变化量和基于低维状态-动作对中的低维状态和低维策略动作得到的正向时间反演状态变化量之间的差异值,低维策略动作和低维状态-动作对中的低维动作之间的差异值,以及低维策略动作和原始状态-动作对中的原始动作之间的差异值作为约束项,获取与原始状态-动作对中原始状态相对应的行为策略。具体可以用以下公示表示:

/>

需要说明的是,在本实施例中所设置的四种不同的策略上的约束项之间是或的关系,即在获取与原始状态-动作对中原始状态相对应的行为策略时,选择上述策略上的约束项1-4中的任一项即可。

其中,基于上述策略上的约束项3,获取的行为策略的效果最好。

在本实施例中,通过基于原始状态-动作对和得到的状态-动作价值函数值,以及通过编码器和双向动力学模型处理得到的低维数据,分别设置不同的策略上的约束项,从而得到与原始状态相对应的行为策略,更全面高效地实现行为策略的优化。

另外,图4示出了本发明所提供的基于动力学对称性建模的离线强化学习方法的整体流程示意图。

如图4所示,主要分为两个阶段,首先,通过双向动力学模型对原始维度的状态-动作对进行处理,得到相应具有极高泛化性和可解释性的低维度数据,并利用该低维度数据设置相应的约束项,学习状态-动作价值函数(即上文提到的价值网络),并得到状态-动作价值函数值Q(Z(X))。

然后,在得到状态动作价值函数值的基础上,结合得到的低维数据,设置策略上的约束项,对策略网络进行优化和更新,从而获取一个最大化奖励值的行为策略π。

综上,本实施例所提供的基于动力学对称性建模的离线强化学习方法的整体流程图可以概括为“原始状态-动作对处理-状态-动作价值函数-行为策略”的一个过程。

图5示出了本发明所提供的基于动力学对称性建模的离线强化学习装置的结构示意图。如图5所示,该离线强化学习装置包括:数据获取模块501,用于获取离线数据集;数据处理模块502,用于通过编码器和双向动力学模型对离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;价值获取模块,用于将预设输入数据输入至价值网络,得到原始状态-动作对所对应的状态-动作价值函数值;其中,当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

本发明提供的基于动力学对称性建模的离线强化学习装置,与上文描述的基于动力学对称性建模的离线强化学习方法可相互对应参照,在此不再赘述。

在本实施例中,通过编码器和双向动力学模型对获取的离线数据集中的原始状态-动作对进行处理,得到原始状态-动作对的低维表示,以及正向时间反演状态变化量和逆向时间反演状态变化量,并将原始状态-动作对的低维表示输入至价值网络中,便可得到与原始状态-动作对相对应的状态-动作价值函数值。该装置利用双向动力学模型对离线数据进行处理,从离线数据中提取出有效信息,即正向时间反演状态变化量和逆向时间反演状态变化量,这些信息具备极高的泛化性和可解释性,以该有效信息作为价值网络的输入而得到的状态-动作价值函数值,能够有效地辅助强化学习得到一个最大化长期奖励的策略,实现行为策略的优化。

图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于动力学对称性建模的离线强化学习方法,该方法包括:获取离线数据集;通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;将所述低维状态-动作对输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值;其中,所述当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于动力学对称性建模的离线强化学习方法,该方法包括:获取离线数据集;通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;将所述低维状态-动作对输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值;其中,所述当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于动力学对称性建模的离线强化学习方法,该方法包括获取离线数据集;通过编码器和双向动力学模型对所述离线数据集中的原始状态-动作对进行处理,得到低维状态-动作对和当前时间反演状态变化量;将所述低维状态-动作对输入至价值网络,得到所述原始状态-动作对所对应的状态-动作价值函数值;其中所述当前时间反演状态变化量包括正向时间反演状态变化量和逆向时间反演状态变化量。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120115928443