像例子中的那样,如果失效模式极少,而且发生频率比预选频率低,现实当中的自主系统(autonomous systems)通常就会被认为是安全的。这也促进了约束型强化学习的形成,即以自然方式把安全性并入强化学习。此外,我们也想保证每一个探索策略都是满足约束(constraint-satisfying)的。CPO 的设计就是用来满足这些需求的。将 CPO 用于上述例子的效果如下: CPO:约束型强化学习的本地策略搜索 本地策略搜索是一个学习策略的标准方法,我们对策略进行迭代改善,直到其收敛于最优值。这种搜索之所以叫做「本地」(local)是因为在某种意义上每个新策略都被要求与旧策略相似。举个例子,策略梯度(policy gradient)方法是一种依靠仅在性能梯度方向上走小步从而使策略保持相似的本地策略搜索算法。 如果你对策略梯度不熟悉,这里有一个 Andrej Karpathy 的精妙介绍 :。 信任区域方法(Trust region method)是另一种本地策略搜索算法。它们也使用了策略梯度,但是针对策略更新方式其制定了一个特殊要求:每一个新策略都必须在平均 KL -散度(average KL-divergence)上靠近旧策略。KL -散度是一种用来衡量两种概率分布间存在多大差别的标准,而且由于策略输出的是行为的分布,KL -散度是一种测量策略间「距离」的自然方式。 事实上,信任区域方法在训练神经网络策略时可以有极佳表现,并且可以避免标准策略梯度方法有时会遭受的性能崩溃的问题(见 Duan et al., 2016)。 CPO 是一个用于约束型强化学习的信任区域方法,它在每一次策略更新中都近似地强制执行约束条件。它使用约束的近似值来预测,atv,在任意给定的更新之后,约束成本会改变多少,接着选择会最大化提升性能并能够将约束成本保持在其限制之下的更新方式。 在上图中,我们说明了在 CPO 的实现中都发生了什么。我们从当前一次策略迭代开始,即图中那颗星的位置。策略梯度(深蓝色箭头)指向奖励增加的方向。在考虑安全性约束之前,最佳步骤在 KL 信任区域(蓝色椭圆形)的边缘上。但是我们只想涉足满足约束条件的区域(浅绿色半区),因此这一次我们仍然尽可能多地增加奖励,只不过同时保证安全。CPO 更新之后我们的新策略是最后的那颗星。 我们也有一些不错的理论成果来补足实践的算法:我们推导出了一个平均 KL -散度近似值质量的新界限。这使得我们得以证明一般性信任区域方法有效性,解释了其效果有多好,并使我们确定了在 CPO 更新之后有可能发生的约束违规的下限。 关于实际性能:我们发现 CPO 卓有成效。同时在圆圈任务(上文已讨论)和一个更复杂的收集任务中(其中智能体要收集绿色苹果,并被约束以避开红色炸弹),CPO 学到了很好的策略,并在整个训练中都近似地满足约束。 CPO 学习到了一个策略,可以尽可能多地搜集绿色苹果,同时被约束不得在每条轨迹上搜集多于平均 0.1 个红色炸弹。 下一步 我们希望 CPO 能为强化学习走出实验室,安全可靠地迈向现实世界贡献一份价值。在我们开展新研究时,出现了大量关于如何应用 CPO 的有趣想法,我们也邀请了更大范围的研究社区参与讨论并扩展应用景。例如: 把 CPO 用于安全性迁移学习,从而把在模拟中习得的策略推进到现实世界。 使用 CPO 从不安全的示范中学习安全性策略。 提升 CPO 的样本效率以最小化智能体所犯错误的数量(需存在一定错误,否则智能体无法学习)。 参考文献 [1] Asynchronous Methods for Deep Reinforcement Learning:https://arxiv.org/abs/1602.01783 [2] Trust Region Policy Optimization:https://arxiv.org/abs/1502.05477 [3] Sensorimotor Deep Learning: [4] Robots that Learn:https://blog.openai.com/robots-that-learn/ [5] Mastering the game of Go with Deep Neural Networks & Tree Search:https://deepmind.com/research/publications/mastering-game-go-deep-neural-networks-tree-search/ [6] Constrained Markov Decision Processes: [7] Probabilistically Safe Policy Transfer:https://arxiv.org/abs/1705.05394 [8] Constrained Policy Optimization:https://arxiv.org/abs/1705.10528 [9] Faulty Reward Functions in the Wild:https://blog.openai.com/faulty-reward-functions/ [10] Trust Region Policy Optimization:https://arxiv.org/abs/1502.05477 [11] Kullback–Leibler divergence:https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence [12] Benchmarking Deep Reinforcement Learning for Continuous Control:https://arxiv.org/abs/1604.06778 原文链接: 本文为机器之心编译,转载请联系本公众号获得授权。 ✄------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |