1.本发明涉及离线强化学习技术领域,尤其涉及一种基于状态引导策略的离线强化学习方法及系统。
背景技术:2.强化学习主要研究智能体如何获得最大回报,即给定任务下学习解决该问题最优的策略。因为其可以较为直观地建模序贯决策问题,强化学习受到了广泛的关注。近年来,随着深度学习和大规模数据集的兴起,由于深度神经网络作为函数近似拥有很强的泛化能力,强化学习借助神经网络来应对更加复杂的场景。深度强化学习在视频游戏、围棋、推荐系统和机器人领域上取得了较快的发展。与一般的强化学习相比,离线强化学习只提供了数据集而没有提供可以交互的环境,这在现实场景中有很多应用。首先,一般的强化学习即在线强化学习中的试错过程很容易产生危险的动作,比如造价昂贵的仿人机器人在学习行走过程中容易摔倒,这可能造成很大的损失;离线强化学习只使用数据集提供的样本进行学习,而不会在训练中试错,这为智能体提供了安全性保障。其次,在线强化学习需要数量庞大的样本,比如在线强化学习算法需要超过百万样本才能收敛,但很多场景中,生成大量的样本非常困难,比如一条机械臂生成一条轨迹可能需要超过10分钟,一个病人的诊断过程需要长达数月,因此,在线强化学习难以在这类场景下应用;相反,离线强化学习可以利用大量已有的数据,这些数据可以是通过强化学习生成的,可以是其他非强化学习方法生成的。由于更好的安全性和样本利用率,离线强化学习可以应用在医疗、自动驾驶、广告和推荐系统等领域。虽然离线强化学习仅仅比在线强化学习少了可以交互的环境,但是离线强化学习仍然充满了挑战和问题。例如离线强化学习只被提供了离线的数据集,智能体没有机会进行探索进而获得数据集之外更优秀的动作,更重要的,离线强化学习有动作分布漂移的问题,而动作分布漂移导致了在离线数据集上训练获得的策略可能产生数据分布之外的动作,进而使得算法性能受到影响。
3.离线强化学习(offline rl)也被称为批处理强化学习batch rl,允许从以前收集的数据中学习策略,而不需要在线互动,实现对rl进行实际应用,如机器人、医疗和工业控制。在这种情况下,用未经训练的策略进行任意探索是成本极高,但有足够的先验数据可用。虽然大多数非策略rl算法通过用离线数据填充重放缓冲区适用于离线设置,但改进策略超过行为策略的水平需要查询价值函数(即q函数),了解在数据集中没有看到的行动的价值。但是由于价值函数没有见过分布之外的行为,这将导致q函数无法被准确估计,甚至带来灾难性后果。该误差将由致命三要素累积,通过迭代动态规划在状态动作空间中传播,并且由于无法获取新的样本,所以q函数的推断误差并不能被消除。
4.为了解决这个问题,先前的无模型离线rl方法通常会在策略改进步骤中加入一个行为正则化项,以限制其偏离行为策略的程度。这可以通过计算一些发散指标来明确实现,或者通过对所学的价值函数进行正则化来隐含地将低值分配给数据分布之外的动作。然而,这在准确的价值估计(更多的行为规范化)和最大的策略改进(更少的行为规范化)之间
难以准确权衡得失。为了避免这样的问题,另外一种尝试解决离线强化学习的路径是通过q函数的某种形式的权重进行模仿学习。虽然该训练方式继承了监督学习的优点:训练稳定性,对超参数不敏感,但是该方法不会采取数据分布之外的动作从而无法获得超越数据的表现。但它们只允许来自数据集的行动组合性,失去了通过分布外泛化超越数据集的能力,这只出现在基于rl的方法中。最终导致离线强化学习成本高、难度大、花费时间长,达不到理想的效果。
技术实现要素:5.本发明提供一种基于状态引导策略的离线强化学习方法及系统,本发明解决了现有离线强化学习数据分布迁移难度大问题,提升算法稳定性,又实现了可靠数据外的泛化。
6.本发明提供一种基于状态引导策略的离线强化学习方法,包括:
7.通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
8.根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
9.所述执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
10.根据本发明提供的一种基于状态引导策略的离线强化学习方法,所述通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习,具体包括:
11.在训练学习过程中,通过分位数回归,确定最优的下一步状态信息;
12.所述执行策略能够通过给定任意的当前状态和目标状态信息指导如何执行动作,完成策略学习。
13.根据本发明提供的一种基于状态引导策略的离线强化学习方法,所述执行策略能够通过给定任意的当前状态和目标状态信息指导如何执行动作,完成策略学习,具体包括:
14.训练一个价值函数,通过离线强化数据集中的样本进行学习;
15.通过期望回归法得到非对称损失,实现近似最佳价值函数,完成指导策略的学习。
16.根据本发明提供的一种基于状态引导策略的离线强化学习方法,所述价值函数进行训练时,在指导策略的学习学习过程中加入一个行为克隆项,进行行为约束,完成价值函数的训练。
17.根据本发明提供的一种基于状态引导策略的离线强化学习方法,根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息,具体包括:
18.在测试过程中,获取策略学习的结果,基于所述策略学习的结果,通过指导策略根据当前状态信息生成下一步最优状态信息;
19.通过执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作。
20.根据本发明提供的一种基于状态引导策略的离线强化学习方法,所述方法还包括:
21.通过解耦指导策略和执行策略的学习,补充次优数据集增强指导策略;
22.或者重新学习指导策略以适应具有不同奖励函数的任务,而无需改变执行策略。
23.本发明还提供一种基于状态引导策略的离线强化学习系统,所述系统包括:
24.策略学习模块,用于通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
25.指导模块,用于根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
26.执行模块,用于执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
27.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于状态引导策略的离线强化学习方法。
28.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于状态引导策略的离线强化学习方法。
29.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于状态引导策略的离线强化学习方法。
30.本发明提供的一种基于状态引导策略的离线强化学习方法及系统,通过基于离线强化数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习,根据策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习,提升模仿训练稳定性同时能够允许逻辑分布外的泛化。通过补充次优数据集增强指导策略或者重新学习指导策略以适应具体不同奖励函数的任务。节省成本、减少时间的花费,提升训练效果。
附图说明
31.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1是本发明提供的一种基于状态引导策略的离线强化学习方法的流程示意图之一;
33.图2是本发明提供的一种基于状态引导策略的离线强化学习方法的流程示意图之二;
34.图3是本发明提供的一种基于状态引导策略的离线强化学习方法的流程示意图之二;
35.图4是本发明提供的一种基于状态引导策略的离线强化学习方法的流程示意图之二;
36.图5是本发明提供的一种基于状态引导策略的离线强化学习系统的模块连接示意图;
37.图6是本发明提供的电子设备的结构示意图。
38.附图标记:
39.110:数据获取模块;120:策略生成模块;130:引导模块;140:执行模块;
40.610:处理器;620:通信接口;630:存储器;640:通信总线。
具体实施方式
41.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.下面结合图1-图4描述本发明的一种基于状态引导策略的离线强化学习方法,包括:
43.s100、通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
44.s200、根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
45.s300、所述执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
46.本发明中为了继承模仿式方法的训练稳定性,同时仍然允许逻辑分布外的泛化,提出了引导策略的离线强化学习(离线rl)方法,采用两种策略来解决任务的算法:一个指导策略和一个执行策略。指导策略的工作是在当前状态下学习最佳的下一个状态,而执行策略的工作是在当前状态下学习不同的行动如何能产生不同的下一个状态。通过这种方式,将离线强化学习的原始任务(即奖励最大化)分解为两个不同但互补的任务,这种分解使每个任务更容易被解决。在评估过程中,指导策略作为执行策略的指南,指导策略执行,以便使奖励最大化。通过允许来自数据集的状态组合,而不是之前工作中进行的行动组合。
47.只需添加指导策略的学习,指导策略和执行策略的训练阶段是解耦的,使用数据集的样本内学习。在广泛使用的d4rl离线rl基准中测试了本方法,并展示了最先进的性能,特别是在需要分布外泛化以获得高分的低质量数据集上。通过解耦指导策略和执行策略的学习,可以通过补充次优数据来增强指导策略,或者重新学习指导策略以适应具有不同奖励函数的新任务,而不需要改变执行策略。
48.通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习,具体包括:
49.s101、在训练学习过程中,通过分位数回归,确定最优的下一步状态信息;
50.s102、所述执行策略能够通过给定任意的当前状态和目标状态信息指导如何执行动作,完成策略学习。
51.执行策略能够通过给定任意的当前状态和目标状态信息指导如何执行动作,完成策略学习,具体包括:
52.训练一个价值函数,通过离线强化数据集中的样本进行学习;
53.通过期望回归法得到非对称损失,实现近似最佳价值函数,完成指导策略的学习。
54.价值函数进行训练时,在指导策略的学习学习过程中加入一个行为克隆项,进行行为约束,完成价值函数的训练。
55.本发明中在离线强化数据集上进行某种模仿学习,而不需要做非策略性评估。当数据集足够好或者包含高性能的轨迹时,可以简单地克隆数据集中观察到的动作,或者进行某种过滤或给与不同的权重,以提取有用的样本。例如,最近的工作是根据轨迹的回报率来过滤轨迹,或者直接根据行为策略下的有利程度来过滤单个样本,然后进行克隆。有条件的行为克隆方法是基于每个样本或轨迹是以正确的变量为条件时,为最优方案。通过这种方式,在调节之后,数据给定的条件变量的值成为最优。条件变量可以是累积收益,或者是目标状态信息。本实施例中通过一项研究表明,目标条件在d4rl蚂蚁迷宫数据集中效果显著。然而,引入了一个假设,即有一些关于任务结构的预先信息,超出了标准的离线rl设置的方法要求,可以看作是基于rl和模仿结合的学习方法,可以完成“状态连接”(state stitching)而不是“动作连接”(action stitching)。我们的方法在“状态连接”下,利用神经网络的泛化性,可以产生数据分布之外的动作从而学习到最优的策略,从而超越数据最好的表现;然而“动作连接”的方法无法产生数据分布之外的动作,也就无法超越数据的最好表现。
56.进行离线rl的准备工作,考虑标准的完全观察马尔科夫决策过程(mdp)的设置,一个mdp可以表示为
57.其中s是状态空间,a是行动空间,t(
·
|s,a)是样本概率分布函数,r(s,a)是奖励函数,ρ是初始状态分布,γ是折扣系数,在本工作中假设γ∈(0,1)。rl的目标是找到一个策略π(a|s)。使沿轨迹的预期累积折现报酬(或称为回报)最大化,即
[0058][0059]
在这项工作中,专注于离线设置。目标为从一个固定的数据集中学习一个策略
[0060][0061]
组成的轨迹,这些轨迹是由不同的策略收集的,其中h是时间跨度,数据集可以是异质的和次优的,将b的基本行为策略表示为μ,它代表在数据集中观察到的条件分布p(a|s)。
[0062]
传统的rl方法通常是通过策略梯度方法直接计算相对于策略的导数。或者通过时序差分学习来估计一个价值函数或q函数,或者两者结合起来成为当前大部分强化学习的框架,既能进行连续工作的价值估计又能避免过高的方差。相反,在一些额外的信息上进行有条件的行为克隆,如目标状态、累积回报或语言描述等。把该框架应用于离线rl设置时,可以把离线数据集b作为输入,并找到优化的结果条件策略π。
[0063][0064]
其中ω是以剩余轨迹为条件的结果,即ω~g(
·
|τ
t:h
),用τ
i:j
=(si,ai,
…
,sj)
,
表示轨迹的一个片段。
[0065]
所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息,具体包括:
[0066]
s201、在测试过程中,获取策略学习的结果,基于所述策略学习的结果,通过指导策略根据当前状态信息生成下一步最优状态信息;
[0067]
s202、通过执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作。
[0068]
本发明中,指导策略的目标是指导执行策略应该达到的状态。为了达到这个目的,需要训练一个价值函数v。价值函数可以只用离线数据集中的(s,s
′
)样本来学习,而且价值函数v的训练不会受到高估的影响,因为没有包含分布外的行动。然而,这只能学到行为策略μ的值。为了近似最佳价值函数,采用了历史经验,用期望回归法给l2损失以不同的权重,得到以下非对称的
[0069][0070]
在学习指导策略过程中,如果最大化v(s),则可能导致输出不符合当前状态转移的下一个状态信息。为了缓解这个问题,我们在训练指导策略的时候,加入一项惩罚性以让指导策略输出的下一个状态信息符合当前状态转移方程。
[0071]
将指导策略成为g的学习目标通过下列公式给出
[0072][0073]
其中,权重α作为引导高回报空间和执行策略有更好的空间权衡。
[0074]
学习了指导策略之后,进行执行策略学习。由于执行策略的工作是具有很强的概括能力,通过监督学习框架采用rl,对数据集中遇到的s
′
的执行策略进行定义。更具体地说,将执行策略表示为策略为在训练期间。π通过最大限度地实现监督学习。考虑到状态和下一个状态,行动的可能性,产生以下目标
[0075][0076]
在评估过程中,给定一个状态s,最终行动是由指导策略和执行策略决定的,即
[0077]
学习目标与之前通过监督学习方法的rl不同,只使用下一个状态的作为条件变量,不需要估计累积收益,且在不知道目标信息的情况下,也能发挥作用。另外在评估过程中,以前的方法表明,条件变量的选择至关重要,因为少量变化即可导致显著的性能差异。本发明中,由于指导策略的存在,最佳条件变量可以自动生成。
[0078]
本发明公开的基于状态引导策略的离线强化学习方法还包括:
[0079]
s301、通过解耦指导策略和执行策略的学习,补充次优数据集增强指导策略;
[0080]
s302、或者重新学习指导策略以适应具有不同奖励函数的任务,而无需改变执行策略。
[0081]
本发明提供的一种基于状态引导策略的离线强化学习方法,通过基于离线强化数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习,根据策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习,提升模仿训练稳定性同时能够允许逻辑分布外的泛化。通过补充次优数据集增强指导策略或者重新学习指导策略以适应具体不同奖励函数的任务。节省成本、减少时间的花费,提升训练效果。
[0082]
参考图5,本发明还公开了一种基于状态引导策略的离线强化学习系统,所述系统包括:
[0083]
策略学习模块110,用于通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
[0084]
指导模块120,用于根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
[0085]
执行模块130,用于执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
[0086]
策略学习模块110,在训练学习过程中,通过分位数回归,确定最优的下一步状态信息;
[0087]
所述执行策略能够通过给定任意的当前状态和目标状态信息指导如何执行动作,完成策略学习。
[0088]
通过训练一个价值函数,通过离线强化数据集中的样本进行学习;
[0089]
通过期望回归法得到非对称损失,实现近似最佳价值函数,完成指导策略的学习。
[0090]
指导模块120,在测试过程中,获取策略学习的结果,基于所述策略学习的结果,通过指导策略根据当前状态信息生成下一步最优状态信息。
[0091]
执行模块130,根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
[0092]
本发明提供的一种基于状态引导策略的离线强化学习系统,通过基于离线强化数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习,根据策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习,提升模仿训练稳定性同时能够允许逻辑分布外的泛化。通过补充次优数据集增强指导策略或者重新学习指导策略以适应具体不同奖励函数的任务。节省成本、减少时间的花费,提升训练效果。
[0093]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行一种基于状态引导策略的离线强
化学习方法,该方法包括:通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
[0094]
根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
[0095]
所述执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
[0096]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0097]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的一种基于状态引导策略的离线强化学习方法,该方法包括:通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
[0098]
根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
[0099]
所述执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
[0100]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的一种基于状态引导策略的离线强化学习方法,该方法包括:通过离线强化学习数据集进行训练,训练过程中通过指导策略和执行策略以监督和解耦的方式进行学习后,完成策略学习;
[0101]
根据所述策略学习的结果进行测试,所述指导策略根据当前状态信息生成下一步最优的状态信息;
[0102]
所述执行策略根据当前状态信息和所述指导策略生成的最优下一步状态信息,生成执行动作,完成离线强化学习。
[0103]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0104]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0105]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。