找回密码
 立即注册
查看: 462|回复: 0

【深度强化学习】Constraint RL for safe exploration:primal ...

[复制链接]
发表于 2021-12-30 07:49 | 显示全部楼层 |阅读模式
如果觉得有用的话请多多点赞!如果需要转载或者引用的话请注明出处!谢谢大家!

在强化学习中,智能体通过在未知环境中探索与试错来学习如何决策。大多数RL算法允许智能体自由地探索环境,并采取任意能够提升奖励的动作,然而,能够获得较高奖励的动作同时也可能会带来较大风险。而在一些实际场景中,确保智能体的安全至关重要。不同于标准RL只需要最大化奖励函数,此时智能体所采取的行为必须能够避免危险的情况,因此设计者需要合理地设计奖励函数,通过不同的权重系数(奖励因子与惩罚因子)在最大化奖励以及减少危险代价之间取得平衡。这其中存在着两个问题:1)需要满足的约束条件与正确的权重参数之间不存在给定的映射关系,如果惩罚因子选取得过小,智能体可能会学习到危险的行为,相反,如果惩罚因子选取得过大,智能体可能无法学习到任何东西;2)对于给定的权重系数,即使能够让智能体最终学习到满足约束的最优策略,也依然无法保证智能体在整个训练过程中都能满足约束。一种确保智能体安全性的方法是在标准马尔科夫框架中增加约束条件,把问题转变成受限马尔科夫决策过程(constraint Markov Decision Process,CMDP),此时智能体的目标是在满足long-term代价约束的条件下最大化long-term奖励。这种方法能够同时解决上述的两个问题。
当前求解CMDP的算法主要包含两大类:原始对偶优化(primal-dual optimization,PDO)算法与 受限策略优化(constraint policy optimization,CPO)算法。其中,PDO算法以 拉格朗日松弛(Lagrangian relaxation)技术为基础,轮流更新原始域参数与对偶域参数。具体来说,原始策略参数利用 策略梯度上升 的方法进行更新,而对偶域的参数则采用 对偶梯度上升 的方法进行更新。CPO与PPO的区别在于对偶域的更新方式,在CPO中,每一次迭代都会通过求解一个精心设计的优化问题来直接求解对偶参数,这样确保了训练过程中约束条件也能够得到满足,CPO是TRPO在CMDP中的扩展。open AI 在对于 safety RL 的benchmark中提到,CPO的实际效果不如PDO,并且CPO的算法框架基于TRPO算法,而PDO可以应用在各种标准RL算法中,因此这里只介绍PDO算法。
Constraint RL

受限马尔科夫决策过程(CMDP)

CDMP 在 MDP 的基础上增加了对于长远折扣代价(long-term discounted costs)的约束。具体来说,假设总共有 个代价函数 ,其中每个代价函数 表示状态-动作对到代价之间的映射关系。类似于收益,策略  下的长远折扣代价被定义为 ,对应的约束门限值为 。CMDP的目标是在满足长远代价 的情况下最大化收益 ,即


除此之外,约束条件还有多种形式,例如机会约束 ,风险条件价值约束(constraints on the conditional value at risk,与最坏情况结果的一小部分相比的预期代价总和),每个状态的独立约束 。实际上,在Sutton的书中提到过,所有的目标与目的都可以用奖励函数来表示,因此通过合理设计代价函数所能表示出来的约束条件种类是十分广泛的。
另外,Constraint RL 与 multi-objective RL 十分相近,但是两者有着一定的区别,在constraint RL中,当约束条件得到满足时,通常存在一个饱和点(saturation point),当到达该点时,继续减少代价函数的值就不再具有任何意义,这个点对应的代价函数的值也就是约束条件的门限值,这个门限值在multi-objective RL中不存在类似的定义。
原始对偶优化(primal-dual optimization)

为了求解CMDP,可以采用拉格朗日松弛技术,具体来说,上述CMDP问题的拉格朗日函数为


其中 是拉格朗日因子。原带约束的优化问题可以转换为如下不带约束的优化问题:


为了求解这个不含约束的minmax问题,标准的方法是采用迭代原始-对偶方法,即在每一次迭代中轮流更新原始策略  与对偶变量 。在第 次迭代中的原始-对偶更新过程如下:

  • 固定 ,执行策略梯度上升: ,其中 表示更新步长。这里的策略梯度既可以是 on-policy 的似然比策略梯度(REINFORCE与TRPO等),也可以是 off-policy 的确定性策略梯度(例如DDPG)。
  • 固定 ,执行对偶更新:。CMDP中不同方法的区别就在于对偶更新函数 的选择。例如,PDO采用简单的对偶梯度上升 ,其中 是步长, 是对于对偶空间 的投影。相反,CPO通过在每一次迭代中构建新的优化问题来求解对偶变量 ,进一步加强了约束。
实际算法举例

Primal-Dual DDPG for CMDPs

首先提供DDPG算法的原始-对偶版本用于求解CMDP,该算法中的原始策略更新与对偶变量更新均利用经验回访池中的 off-policy 数据样本。为了方便描述,假设此时CMDP中只存在1个约束,但是多个约束的情况也可以轻易地扩展得到。在原始-对偶DDPG算法中,存在以下几个神经网络:

  • Reward critic Q-network 以及reward target critic Q-network
  • Cost critic critic Q-network   以及cost target critic Q-network
  • Actor policy network 以及 actor target policy network
具体算法如下:


可以看出,这里的算法与标准DDPG的算法区别在于:

  • 多了1个用于表征长远折扣代价的神经网络;
  • 需对对偶域的拉格朗日因子即惩罚因子进行梯度上升。
类似的,PDO还可以应用在TRPO、PPO、TD3、SAC等算法上。
参考文献

[1] A. Ray, J. Achiam, and D. Amodei, ‘Benchmarking Safe Exploration in Deep Reinforcement Learning’, p. 25.
[2] Q. Liang, F. Que, and E. Modiano, ‘Accelerated Primal-Dual Policy Optimization for Safe Reinforcement Learning’, arXiv:1802.06480 [cs, stat], Feb. 2018, Accessed: Apr. 14, 2021. [Online]. Available: http://arxiv.org/abs/1802.06480

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 23:31 , Processed in 0.090315 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表