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

一种基于动作空间约束的离线强化学习方法

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



技术领域

本发明属于强化学习技术领域,具体涉及一种基于动作空间约束的离线强化学习方法。

背景技术

强化学习是机器学习领域的一类学习问题,它与常见的有监督学习、无监督学习等的最大不同之处在于,它是通过与环境之间的交互和反馈来学习的。强化学习的中心思想,就是让智能体在环境里学习。每个行动会对应各自的奖励,智能体通过分析数据来学习,怎样的情况下应该做怎样的事情。在每个时刻环境和个体都会产生相应的交互。个体可以采取一定的行动(action),这样的行动是施加在环境中的。环境在接受到个体的行动之后,会反馈给个体环境目前的状态(state)以及由于上一个行动而产生的奖励(reward)。强化学习的目标是希望个体从环境中获得的总奖励最大,不是短期的某一步行动之后获得最大的奖励,而是希望长期地获得更多的奖励。

跟监督学习不一样,强化学习的数据来自agent跟环境的各种交互。对于数据平衡性问题,监督学习可以通过各种补数据加标签来达到数据平衡。但这件事情对强化学习确实非常难以解决的,因为数据收集是由policy来做的,它们在学习过程中,对于任务激励信号的理解的不完善的,很可能绝大部分时间都在收集一些无用且重复的数据。样本效率一直是传统强化学习被诟病的问题,所以强化学习在过去主要是在可获取无限样本的游戏领域上取得成功。

利用现有记录的数据集,在CoRR abs/2005.01643(2020)上提出的离线强化学习(offline RL)方法是解决上述问题的一种很有希望的方法。它可以在不与环境进一步交互的情况下学习策略。数据集可以由其他智能体、其他算法甚至其他任务生成。离线RL的最终目的是优化目标策略π,但是无法依据行为策略与环境交互以及收集额外的转变。本质上离线RL需要从一个固定的数据集中,充分理解隐含在马尔可夫决策过程(MDP)背后的动态系统,而后构建策略π(a|s)从而在实际与MDP交互时获得最大累计奖励。使用πβ表示离线数据集集D中的状态和动作分布,因此状态-动作元组(s,a)∈D由s~d

离线强化学习成为研究热点的原因就是就是标准的RL的一个核心难点便是采样效率极低,需要频繁地与环境进行交互收集数据来训练智能体。而交互过程中大量的探索在很多现实场景会带来严重的成本损失。例如,使用机器人在真实环境中进行探索可能会有损坏机器人硬件或周围物体的风险;在广告投放中进行探索可能会导致广告主的预算白白浪费;在医疗和自动驾驶中进行探索则可能会严重危害人类的生命安全。而离线强化学习的设定是利用离线数据进行策略学习而不进行任何交互,因此避免了探索可能带来的成本损失。

另一方面,对于复杂的现实场景,建立simulator是很难的一件事情,开销不会低,建立high fidelity(高精确)的simulator更是如此。离线强化学习是直接对应真实世界得来的数据学的,可以绕过这一点。标准强化学习算法在Offline RL场景往往表现不佳,甚至很差。学到的策略无法在实际部署中取得令人满意的表现。这是因为在离线数据集的情况下,策略倾向于选择偏离数据集D的动作。

具体来说,由于离线数据集的狭窄和有限,现有的强化学习方法很难找到一个最优的策略。当只通过offline数据进行学习时,由于外推误差(extrapolation error),即不可见的状态-动作对被错误地估计为一个不真实的值。而具有深度RL中的大多数offpolicy算法都将失败,其中offline数据之外的状态动作对(s,a)可能具有不准确的Q值,这将对依赖于传播这些值的算法产生不利影响。在online学习中,采用exploration可以纠正这些误差,因为agent可以得到得到真实的reward值,但在offline的情况下off policy的RL缺乏这种纠错能力。

发明内容

针对现有技术的不足,为解决智能体(agent)在不和环境交互的情况下,来从获取的轨迹中学习经验知识,达到目标最大化,本发明提供一种基于动作空间约束的离线强化学习方法。

一种基于动作空间约束的离线强化学习方法,具体包括以下步骤:

步骤1:利用在线RL算法DDPG在基准数据集D4RL上获取离线数据集B,该离线数据集的行为分布即为行为策略πβ(a|s);使用异策略Q-learning在离线数据集中收集多条轨迹样本存入回放缓存中,然后对当前学习策略进行策略评估;

首先定义状态价值函数V,即每种动作会带来的后续奖励,用于评估策略;因为当前奖励大并不代表其未来的最终奖励一定是最大的,所以需要使用V期望函数来评价未来;

Vπ(s)=Eπ(R

其中,R为奖励,s为智能体状态,t为第t步,第t步的状态是状态St,Vπ(s)为策略π在状态s下,选择的行动后获得的价值,γ为回报折扣率,这是因为考虑到奖励的时效性,时间越久的奖励所占的比重应该越小;

定义动作价值函数,其同样为某一时刻回报的条件期望;即从某个状态选取动作A,走到最终状态多次;最终获得奖励总和的平均值,即Q值;

Vπ(s

此函数用于评价当前状态的好坏,也用于评价策略函数的好坏,策略函数越好,状态价值函数的平均值就越大;首先对于在状态s,根据策略采取动作a的总奖励Q是当前奖励R和对未来各个可能的状态转化奖励的期望v组成,根据一定的∈概率每次选择奖励最大Q或探索,组成完整的策略,那么目标就变成了计算这个Q值,然后根据Q选择策略;

对所有的策略函数π求最大值,得到最优状态价值函数;而选择能够产生最大Q值的动作At+1;

步骤2:利用深度神经网络来计算预估价值Q;

通过深度学习的方式来计算Q值;DQN即深度Q网络;总体思路还是用Q学习的思路,不过对于给定状态选取哪个动作所能得到的Q值,是由一个深度神经网络来计算的;

步骤3:处理分布转移带来的影响,将学习策略向行为策略进行规范和约束;所述分布转移指的是离线数据集中的数据分布与真实环境中的测试数据分布不一致;

通过限制学习策略选择的状态动作对,使它与离线数据集B中存在数据或状态动作对相似,使选择动作的Q值估计变得准确,因此在进行动作选择时,设置需要满足的目标为:

1)最小化所选择的动作和离线数据集中存在的行为的距离;

2)能转移到和离线数据集中状态相似的状态;

步骤4:改进学习策略,进一步处理分布转移带来的影响;设置每过一段时间,将评估策略时得到优异表现的网络参数更新到目标策略中去,使学习策略得到改进;

Q-learing中下一状态的动作选择π(s')=argmaxQ(s’,a’),从离线数据集B学习的Q函数,定义一个对应的MDP为M

为了缓解分布转移带来的影响,进行正常的Q-learning,在选取最大化Q值对应的动作时,只考虑实际出现在这批离线数据中的动作a,而不考虑动作空间中所有可能的动作;即让学习策略不要采取构建离线数据集的行为策略πb不选择的动作;

步骤5:利用VAE训练得到的生成模型生成与离线数据集B相似的动作集合,并通过Q选择价值最高的动作;

利用变分自动解码器VAE训练一个生成模型G来生成可能来自离线数据集中的动作即重建行为策略,然后进一步利用干扰动作的扰动网络对生成的动作进行调优;即使用一个状态生成模型VAE去产生与数据集中action类似的action,然后结合了一个扰动网络,这个网络的目标是在小范围内扰动生成的actions,此外再引入一个Q网络,用于从扰动的actions中选出一个使Q值最大的action;

为了对末来一些不常见的状态进行惩罚,训练一对Q网络,每次都选择两个网络中输出Q值最小的那个;

该计算式的框内强调部分即为使用了一个VAE来估计动作的那个部分;

步骤6:利用随机集成混合方法来训练多个Q值的估计,并将其加权组合得到更加精确的Q值估计,减少神经网络近似Q值带来的评估误差;

对于离线数据集B中每次训练序列随机抽取一个分类分布α,定义一个K估计的凸组合,以此来近似最优的Q函数;用该方法对其相应的目标进行训练,以最小化TD误差;损失L(θ)的形式:

L(θ)看作是一个对应于不同混合概率分布的无限约束集,lλ是Huber loss,PΔ表示一个非常简单的分布:从正态分布N(0,1)中获取K个独立同分布的值,且该分布满足ak={a1+a2+...+ak=1,ak>=0,k=1,2,3,...,K};

对于动作的选择,使用K个值函数估计值的平均值作为Q函数,即;

步骤7:当训练次数结束时,更新最终的策略参数,将训练好的策略在现实环境进行交互并评估;验证在离线数据集训练好的策略在在线是否表现良好。

本发明有益技术效果:

标准的RL的一个核心难点便是采样效率极低,需要频繁地与环境进行交互收集数据来训练智能体。而交互过程中大量的探索在很多现实场景会带来严重的成本损失。并且现有的标准RL算法在离线的设定下学习效果往往非常差,学到的策略无法在实际部署中取得令人满意的表现。

本发明通过离线强化学习(offline RL)可以利用离线数据进行策略学习而不进行任何交互,因此避免了探索可能带来的成本损失,并且可以在较短时间内学习到一个性能好的策略。通过对学习策略所生成对动作空间进行约束对方式,解决离线强化学习中分布转移所带来的推断误差的问题。对于给定的状态,利用生成模型来生成与离线数据集(batch)相似的动作集合,并通过Q网络来选择价值最高的动作。另外,还对价值估计过程中采取了随机集成混合的方法,访问多个Q值的估计,并将其加权组合得到Q值的估计,最后本发明能学到与数据集的状态动作对访问分布相似的策略。

附图说明

图1本发明实施例一种基于动作空间约束的离线强化学习方法框架图;

图2本发明实施例一种基于动作空间约束的离线强化学习方法流程图。

具体实施方式

下面结合附图和实施例对本发明做进一步说明;

一种基于动作空间约束的离线强化学习方法,框架图如附图1所示,具体流程图如附图2所示,具体包括以下步骤:

步骤1:利用在线RL算法DDPG在基准数据集D4RL上获取离线数据集B,该离线数据集的行为分布即为行为策略πβ(a|s);使用异策略(off-policy)Q-learning在离线数据集中收集多条轨迹样本存入回放缓存(Repaly Buffer)中,然后对当前学习策略(learningpolicy)进行策略评估;

当智能体从一个状态S,选择动作A,会进入另外一个状态S';同时,也会给智能体奖励R;奖励既有正,也有负;正代表鼓励智能体在这个状态下继续这么做;负代表并不希望智能体这么做;在强化学习中,会用奖励R作为智能体学习的引导,期望智能体获得尽可能多的奖励;其中定义return为回报,也称作未来累计奖励accumulate future reward;

首先定义状态价值函数V,即每种动作会带来的后续奖励,用于评估策略;因为只有一个当前奖励reward是远远不够的,当前奖励大并不代表其未来的最终奖励一定是最大的,所以需要使用V期望函数来评价未来;

Vπ(s)=Eπ(R

其中,R为奖励,s为智能体状态,t为第t步,第t步的状态是状态St,Vπ(s)为策略π在状态s下,选择的行动后获得的价值,γ为回报折扣率,这是因为考虑到奖励的时效性,时间越久的奖励所占的比重应该越小;

定义动作价值函数action-value function,其同样为某一时刻回报的条件期望;即从某个状态选取动作A,走到最终状态多次;最终获得奖励总和的平均值,即Q值;

Vπ(s

此函数用于评价当前状态的好坏,也用于评价策略函数的好坏,策略函数越好,状态价值函数的平均值就越大;首先对于在状态s,根据策略采取动作a的总奖励Q是当前奖励R和对未来各个可能的状态转化奖励的期望v组成,根据一定的∈概率每次选择奖励最大Q或探索,组成完整的策略,那么目标就变成了计算这个Q值,然后根据Q选择策略;

对所有的策略函数π求最大值,得到最优状态价值函数;而选择能够产生最大Q值的动作At+1;这就是Q-learning算法。离线强化学习正好可以运用Q-learning方法来作为评判学习策略是否优异的标准。

本实施例从头训练一个在线强化学习DDPG算法,运行10万步(加入了高斯噪声来保证充分探索)并将遇到的轨迹全部储存在经验池,保证充分覆盖到所有的轨迹。使用一个训练好的DDPG从环境中采集任意的10万步数据,将收集得来的数据作为学习策略的离线数据集。

步骤2:利用时序查分法TD结合深度神经网络来预估价值Q函数;

在TD(0)中,使用下一状态的Q值,加上状态转移的奖励r值作为更新目标Q值更新公式如下:

Q(s,a)←(1-α)Q(s,a)+α(r+γQ(s′,π(s′)))

其中,α是学习率决定每次更新的幅度,Q(s,a)是现有估计,r+Q(S’,a’)是更可靠估计,因为其中多了真实值r,所以每次更新得到的Q值比训练前一刻的估计值Q更接近真实值;

通过深度学习的方式来计算Q值;DQN即深度Q网络;总体思路还是用Q学习的思路,不过对于给定状态选取哪个动作所能得到的Q值,是由一个深度神经网络来计算的;

DQN属于DRL深度强化学习的一种,它是深度学习与Q学习的结合体;当强化学习中的状态和行为的组合不可穷尽时,就很难通过维护一个正常Q学习所拥有S-A表格的方式来选取最优的Action来获得最大的Q值;

因此通过深度学习的方式找到一个无限逼近最优解的次优解;DQN实际上,总体思路还是用的Q学习的思路,不过对于给定状态选取哪个动作所能得到的Q值,却是由一个深度神经网络来计算的;

步骤3:为处理分布转移带来的影响,将学习策略(learning policy)向行为策略进行规范和约束,并设置每过一段时间,将评估策略时得到优异表现的网络参数更新到目标策略中去,使学习策略得到改进;

通过限制学习策略选择的状态动作对,使它与离线数据集B中存在数据或状态动作对相似,使选择动作的Q值估计变得准确,因此在进行动作选择时,设置需要满足的目标为:

1)最小化所选择的动作和离线数据集中存在的行为的距离;

2)能转移到和离线数据集中状态相似的状态;

步骤4:改进学习策略,处理分布转移带来的影响;所述分布转移指的是离线数据集中的数据分布与真实环境中的测试数据分布不一致;

Q-learing中下一状态的动作选择π(s')=argmaxQ(s’,a’),从离线数据集B学习的Q函数,定义一个对应的MDP为M

为了缓解分布转移带来的影响,进行正常的Q-learning,在选取最大化Q值对应的动作时,只考虑实际出现在这批离线数据中的动作a,而不考虑动作空间中所有可能的动作;即让学习策略不要采取构建离线数据集的行为策略πb不选择的动作;

步骤5:利用VAE训练得到的生成模型生成与离线数据集B相似的动作集合,并通过Q选择价值最高的动作;

利用变分自动解码器VAE训练一个生成模型G来生成可能来自离线数据集中的动作即重建行为策略,然后进一步利用干扰动作的扰动网络Perturbation network对生成的动作进行调优;即使用一个状态生成模型VAE去产生与数据集中action类似的action,然后结合了一个扰动网络,这个网络的目标是在小范围内扰动生成的actions,此外再引入一个Q网络,用于从扰动的actions中选出一个使Q值最大的action;

为了对末来一些不常见的状态进行惩罚,训练一对Q网络,每次都选择两个网络中输出Q值最小的那个;

该计算式的框内强调部分即为使用了一个VAE来估计动作的那个部分;

步骤6:利用随机集成混合方法来训练多个Q值的估计,并将其加权组合得到更加精确的Q值估计,减少神经网络近似Q值带来的评估误差;

对于离线数据集B中每次训练序列(mini-batch)随机抽取一个分类分布α,定义一个K估计的凸组合,以此来近似最优的Q函数;用该方法对其相应的目标进行训练,以最小化TD误差;损失L(θ)的形式:

L(θ)看作是一个对应于不同混合概率分布的无限约束集,lλ是Huber loss,PΔ表示一个非常简单的分布:从正态分布N(0,1)中获取K个独立同分布的值,且该分布满足ak={a1+a2+...+ak=1,ak>=0,k=1,2,3,...,K};

对于动作的选择,使用K个值函数估计值的平均值作为Q函数,即;

本发明采取的方法就是训练代理(agents)最大化奖励(reward)的同时,最小化其状态动作(state-action)分布与数据集中的状态动作(state-action)分布的不匹配。实质上就是,在原本off-policy RL的基础上再考虑约束当前policy的行为不要偏离离线数据集中的“行为”。

并且还认识到数据集大小(Dataset Size)和数据多样性(Diversity)对于算法性能的影响,倾向于随着数据的比例的增加而增加,同时在足够多样化的离线数据集上标准RL算法工作得很好。因此本发明选择使用K个值函数估计值的平均值来近似最优Q函数,该方法对其相应的目标进行训练,以最小化值函数误差。

步骤7:当训练次数结束时,更新最终的策略参数,将训练好的策略在现实环境进行交互并评估;验证在离线数据集训练好的策略在在线是否表现良好;

训练出来的策略在现实环境中进行评估,在迭代次数较少的情况下获得的奖励超过了大量传统的在线强化学习的off-policy算法。在一些游戏环境上甚至还超过了生成离线数据集的行为策略的表现。

使用真实世界中的离线强化学习涵盖数据集非常丰富的一个数据集D4RL来评估本发明的推荐方法;其中D4RL收集了大型数据集,包括交互式环境中智能体的记录(即自动驾驶Carla、AntMaze、Mujoco等),且有简单和复杂分类,种类非常丰富。

使用D4RL数据集中的HalfCheetah-v1、Hopper-v1、Walker2d-v1三种游戏的数据集来作为测试数据集,通过最终获得的回报大小与一般传统在线RL算法来对比效果。

由上表所知,本发明提出的方法Q值估计准确而且稳定,这说明分布转移问题得到了很好的解决。并且可以从一般的数据示例中学习,学习后的效果可以超过产生该离线数据集的算法示例。

针对现有标准在线异策略off-policyRL算法在离线数据集中无法进行探索从而收益值产生严重高估的问题,本发明的目的就是为了缓解产生这个问题的根本原因分布转移(Distributional Shift)带来的影响,因此提供一种基于动作空间约束的离线强化学习算法。当只通过离线数据进行学习的时候,由于外推误差(extrapolation error)的存在,深度RL中的大多数off-policy算法都将失败。即离线数据集中的分布与真实观测数据集中的分布差别较大。简单来说,我们从离线数据集中采样得到策略πβ,但实际想学习的策略是πθ。这样就可能造成两个策略分布差异较大。对于类似Q-leaning的off-policy算法,分布外的操作可能会被错误的推断为更高的值,这将对依赖于传播这些值的算法产生不利影响。然而代理(agent)在选取最大化Q值对应的动作的步骤可以在离线数据集可用的区域内获得准确的评估。

本发明通过对学习策略所生成对动作空间进行约束对方式,解决离线强化学习中分布转移所带来的Q值估计不准的问题。因为Offline研究的是如何最大限度的利用静态的离线数据集来训练RL智能体。而现有的标准的强化学习算法应用到离线数据集中的效果非常差,其本质还是因为经验池中的数据分布和当前策略的数据分布不一致,产生了分布偏移的情况。模型在一个分布下训练,但是在不同的分布下评估,如果经验池中缺少状态动作的样本,那么也就不可能学到策略。

因此,本发明提出在选取最大化Q值对应的动作时,只考虑实际出现在这批离线数据中的动作a,而不是考虑动作空间中所有可能的动作,从而解决外推误差带来的Q值估计出现严重高估的问题。即是进行正常的Q-learning,但在选取最大化Q值对应的动作的步骤时,希望多考虑实际出现在这批离线数据中中的动作a,而不是考虑动作空间中所有可能的动作。换句话说,是让学习的策略不要采取行为策略πb不太可能选择的动作。从而要求学习到的策略与行为策略的分布接近。

相关技术
  • 一种基于动作约束的离线多智能体强化学习方法
  • 一种基于凸包约束的离线强化学习方法和装置
技术分类

06120115925175