学界 | 完善强化学习安全性:UC Berkeley提出约束型策略优化新算法(附代码)

选自BAIR Blog

作者:Joshua Achiam

机器之心编译

参与:Smith、黄小天、邱陆陆

强化学习作为深度学习的一个强大分支成就卓然,在电子游戏和仿真机器人等诸多场景中,皆能见其身影;强化学习甚至在阿尔法狗横扫人类围棋世界冠军的对决中发挥了不可替代的作用。但是一块「安全性」的乌云正降临在强化学习之上。有鉴于此,UC Berkeley 近日在其官方博客上发表了一篇题为《Constrained Policy Optimization》的文章,提出了一种提高强化学习安全性的新算法:约束型策略优化(CPO),希望能为强化学习走出实验室,安全可靠地迈向现实世界贡献一份价值。机器之心对原文进行了编译,链接请见文末。

深度强化学习已经在很难的控制问题上取得了卓越的成就:借助深度强化学习(deep RL),智能体(agent)已经学会了通过分析每个像素来打电子游戏,控制仿真实验和现实世界中的机器人,从示范中学习对象控制(object manipulation),甚至打败人类围棋冠军。我们希望能够在短期内把深度强化学习带出实验室,付诸实践,用于日常技术当中,比如无人机控制(UAV Control)和家用机器人。但是在此之前,我们不得不解决最为重要的问题:安全性。

我们最近研发了一种原则性很强的方法来把安全性需求和其它约束直接并入到一整族最新型的深度强化学习算法中。我们的方法——约束型策略优化(Constrained Policy Optimization——CPO),可以确保智能体在学习过程中的每一步都满足约束条件。具体来说,我们尝试满足成本方面的约束:设计者会给智能体应该避免的每一个结果都分配一个成本(cost)和一个限制(limit),而且智能体则会学着去使它的所有成本都保持在限制之下。

此类约束型强化学习方法面世已久,而且甚至已经在伯克利引出了与之密切相关的研究——概率型安全策略迁移(probalistically safe policy transfer)。但是 CPO 是首个让深度强化学习得以应用于一般情况下的约束型环境中的算法——而且,它是有理论上的性能保证的。

在我们的论文中,我们描述了一个运行 CPO 的高效方法,并且展示了在真实的机器人仿真中,当满足任务中的约束条件时,CPO 可成功训练神经网络智能体实现奖励(reward)最大化。

如果你有兴趣把 CPO 应用到你的约束型强化学习问题当中,我们的开源代码正应所需:https://github.com/jachiam/cpo

为什么我们需要安全性约束?

强化学习智能体的训练目标是最大化奖励信号,人类必须事先指定设计这一过程的范围。如果奖励信号没有被正确设计,智能体就会去学习非计划中的甚至是有害的行为。如果设计奖励函数很容易,这将不是问题,但不幸的是从根本上来讲,奖励函数设计很有挑战性;这就是采用约束(constraint)的关键动机所在。

让我们用一个基于真实用例的简化案例来说明:一个移动式机器人理应在一个安全区域内完成一些任务(比如说绕圈跑)。如果它离开安全区域的频率小于一定的预选阈值(pre-selected threshold),我们就认为机器人是「安全」的,否则为「不安全」。

只考虑奖励(为了跑得尽可能快)和约束(离开安全区域的频率),在约束型强化学习环境中描述此类问题并不难。但是对于标准的强化学习来讲,由于我们不得不单独通过奖励函数设计所有的行为,问题将会变得很难。错误的奖励设计也能够导致智能体过于畏首畏尾,

导致无效;或者过于风险偏好,

并因此导致危险(这里的「安全」区域在两个蓝色挡板之间)。

还有另外一个角度解释为什么标准强化学习方法不利于安全性:强化学习智能体是通过试错来进行学习的,他们在收敛前会探索很多不同策略。所以,即使我们设计了一个可在最优情况下引导智能体通向安全策略的奖励函数,还是可能会在训练过程中导致不安全的探索行为。

像例子中的那样,如果失效模式极少,而且发生频率比预选频率低,现实当中的自主系统(autonomous systems)通常就会被认为是安全的。这也促进了约束型强化学习的形成,即以自然方式把安全性并入强化学习。此外,我们也想保证每一个探索策略都是满足约束(constraint-satisfying)的。CPO 的设计就是用来满足这些需求的。将 CPO 用于上述例子的效果如下:

CPO:约束型强化学习的本地策略搜索

本地策略搜索是一个学习策略的标准方法,我们对策略进行迭代改善,直到其收敛于最优值。这种搜索之所以叫做「本地」(local)是因为在某种意义上每个新策略都被要求与旧策略相似。举个例子,策略梯度(policy gradient)方法是一种依靠仅在性能梯度方向上走小步从而使策略保持相似的本地策略搜索算法。

如果你对策略梯度不熟悉,这里有一个 Andrej Karpathy 的精妙介绍 :http://karpathy.github.io/2016/05/31/rl/。

信任区域方法(Trust region method)是另一种本地策略搜索算法。它们也使用了策略梯度,但是针对策略更新方式其制定了一个特殊要求:每一个新策略都必须在平均 KL -散度(average KL-divergence)上靠近旧策略。KL -散度是一种用来衡量两种概率分布间存在多大差别的标准,而且由于策略输出的是行为的分布,KL -散度是一种测量策略间「距离」的自然方式。

事实上,信任区域方法在训练神经网络策略时可以有极佳表现,并且可以避免标准策略梯度方法有时会遭受的性能崩溃的问题(见 Duan et al., 2016)。

CPO 是一个用于约束型强化学习的信任区域方法,它在每一次策略更新中都近似地强制执行约束条件。它使用约束的近似值来预测,在任意给定的更新之后,约束成本会改变多少,接着选择会最大化提升性能并能够将约束成本保持在其限制之下的更新方式。

在上图中,我们说明了在 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:http://rll.berkeley.edu/deeplearningrobotics/

[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:http://www-sop.inria.fr/members/Eitan.Altman/TEMP/h.pdf

[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

原文链接:http://bair.berkeley.edu/blog/2017/07/06/cpo/

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

观点 | 我们该如何学习机器学习中的数学

数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是那些在校期间没有研究过数学或统计学的人。

661
来自专栏AI研习社

学不学吴恩达 deeplearning.ai 课程,看完这篇你就知道了

AI 研习社按:本文的作者是 Thomas Treml,是一名具有社会学背景的数据科学自由职业者。他在 Medium 上分享了自己学习 deeplearning...

1021
来自专栏新智元

【NIPS 2015】深度学习未来十大趋势

本周,我在加拿大蒙特利尔参加了NIPS(Neural Information Processing Systems,神经信息处理系统)2015年论坛。这是一次令...

3659
来自专栏PPV课数据科学社区

收藏 | 27个机器学习小抄(附学习资源)

本文多资源,建议收藏。 本文针对机器学习基本概念及编程和数学基础,为你列出相应的学习资源。

1511
来自专栏新智元

5月机器学习TOP 10热文: Google Duplex,“换脸术”、网格单元(附文章地址)

1634
来自专栏新智元

【重磅】深度学习难以加冕算法之王 3 大根本原因

【新智元导读】New Frontiers in Computing 2016 日前在斯坦福举行, 探讨视觉、NPL、人机界面等认知和计算前沿问题。本文是参会笔记...

3868
来自专栏PPV课数据科学社区

多模型融合推荐算法——从原理到实践

1 研发背景 互联网时代也是信息爆炸的时代,内容太多,而用户的时间太少,如何选择成了难题。电商平台里的商品、媒体网站里的新闻、小说网站里的作品、招聘网站里的职位...

4347
来自专栏量子位

强化学习如何入门?看这篇文章就够了

对于大脑的工作原理,我们知之甚少,但是我们知道大脑能通过反复尝试来学习知识。我们做出合适选择时会得到奖励,做出不切当选择时会受到惩罚,这也是我们来适应环境的方式...

1403
来自专栏大数据挖掘DT机器学习

你还在用“人工特征工程+线性模型”?

作者:李沐M 11年的时候我加入百度,在凤巢使用机器学习来做广告点击预测。当时非常惊讶于过去两年内训练数据如此疯狂的增长。大家都在热情的谈特征,每次新特征的...

3698
来自专栏专知

这可能是最简单易懂的机器学习入门(小白必读)

【导读】本文用浅显易懂的语言精准概括了机器学习的相关知识,内容全面,总结到位,剖析了机器学习的what,who,when, where, how,以及why等相...

1983

扫码关注云+社区

领取腾讯云代金券