写点什么

基于自监督的可逆性强化学习方法

  • 2021-11-26
  • 本文字数:2504 字

    阅读完需:约 8 分钟

基于自监督的可逆性强化学习方法

强化学习是一种常用于机器人芯片设计等一系列应用的智能体的训练方法。尽管强化学习擅长于发现如何从零开始解决任务,但是它可能很难训练智能体理解其动作的可逆性,这一点对确保智能体在其环境中以安全方式行动至关重要。举例来说,机器人通常非常昂贵而且需要维护,因此人们希望避免那些会导致部件损坏的动作。估算一种动作是否可逆(或者更好的是,它有多容易逆转),就需要理解智能体所处环境的物理学知识。但是,在标准的强化学习设置中,智能体并没有足够的环境模型来完成这一任务。


NeurIPS 2021 接收的论文《永无退路:基于自监督的可逆性强化学习方法》(There Is No Turning Back: A Self-Supervised Approach to Reversibility-Aware Reinforcement Learning)提出了在强化学习的背景下,近似于智能体动作的可逆性。这一新的切实可行的方法被称为可逆性感知强化学习,在自监督的强化学习程序中加入了单独的可逆性估算部分(也就是说,它从智能体收集的未标记的数据中学习)。可在线(与强化学习智能体联合)或离线(通过互动的数据集)进行训练。它的作用在于引导强化学习策略的可逆动作。这一方法改进了强化学习智能体在某些任务上的性能,包括具有挑战性的推箱子游戏。

可逆性感知强化学习


在强化学习程序中加入的可逆性成分是通过交互学习的,关键在于,这是一种可以独立于智能体本身进行训练的模型。模型训练是自监督的,不需要用动作的可逆性来标记数据。这个模型只从训练数据所提供的背景中,学习到哪些类型的动作容易被逆转。这类经验可逆性的理论解释是衡量一个事件 A 先于事件 B 的概率,因为我们知道 A 和 B 都会发生。优先级是真正可逆性的一个有用的智能体,因为即使没有奖励,它也能从互动的数据集中学习。


比方说,在一次实验中,一只玻璃杯从桌子的高度掉下来,当它落在地上时,就碎了。这时,玻璃杯从位置 A(桌子高度)到位置 B(地板),无论实验次数多少,A 始终先于 B,因此当随机抽样事件对时,发现 A 先于 B 的概率为 1。它表示不可逆的序列。我们可以把一个橡皮球扔下来,而不是玻璃杯。这时,橡皮球就会从 A 开始,落到 B,然后(大约)弹回到 A。这样,当抽样事件时,发现一对 A 先于 B 的概率只有 0.5(和随机对显示 B 先于 A 的概率相同),这将表示一个可逆的序列。


可逆性的估算取决于对世界动力学的认识。优先级就是可逆性的替代,它确定了当两个事件都被观察到时,哪一个事件平均先发生。


对优先级的估计包括对随机洗牌事件进行预测的时间顺序。

在强化学习中集成可逆性


在强化学习中,我们提出了两种集成可逆性的并行方法:


  1. 可逆性感知探索(Reversibility-Aware Exploration,RAE):该方法通过修改奖励函数对不可逆转变进行惩罚。如果智能体选择一个被认为是不可逆的动作,那么它会得到一个与环境的奖励相对应的奖励减去一个正的、固定的惩罚,使这种动作不大可能发生,但并不排除这种动作。

  2. 可逆性感知控制(Reversibility-Aware Control,RAC):在这里,所有不可逆的动作都被过滤掉,这个过程是策略环境之间的一个中间层。如果智能体选择了一个被认为是不可逆的动作,那么动作选择过程就会反复进行,直至选择一个可逆动作。


提出了 RAE(左)和 RAC(右)的可逆性感知强化学习方法。


RAE 与 RAC 的一个重要区别在于,RAE 只鼓励可逆动作,而不会不禁止它们,这意味着,当收益大于成本时,仍有可能执行不可逆动作(如下面的推箱子游戏的例子)。RAC 更适合于安全强化学习,因为它会导致不可逆的副作用导致的危险发生,而 RAE 更适合怀疑在大多数情况下需要避免不可逆动作的任务。


为阐明 RAE 和 RAC 的不同,我们对所提出的两种方法进行了性能评估。下面是一些示例场景:


  • 防止(但不禁止)不可逆的副作用


最大限度地减少不可逆交互作用是安全强化学习的基本原则。为测试这一能力,我们引入了一种合成环境,在开放域中,一个智能体被分配到一个任务来达到目标。假如一个智能体沿着既定的路径前进,环境保持不变,但是如果它偏离了路径,进入了草地,走的路径就变成了褐色。尽管这样做会改变环境,但这种动作不会受到惩罚。


在这种情况下,一个典型的无模型智能体,例如近端政策优化(Proximal Policy Optimization,PPO)智能体,通常会遵循最短的路径,并且破坏部分草地,而 PPO+RAE 智能体能避免所有不可逆的副作用。


左上角:合成环境中,智能体(蓝色)的任务是达到一个目标(粉色)。灰色显示了从智能体到目标的路径,但是它不会沿着它们之间最直接的路线走。右上角:带有智能体动作的动作序列具有不可逆的副作用。随着智能体离开这个路径,将留下一条褐色的路径穿过该区域。左下角:一个 PPO 智能体的访问热图。智能体倾向于走一条比灰色更直接的路径。右下角:一个 PPO+RAE 智能体的访问热图。偏离路径的不可逆性促使智能体留在既定的灰色路径上。


  • 以禁止不可逆性的安全互动


同时,我们也测试了一种经典的 Cartpole 任务,即由智能体控制一辆小车,使一根摇摇欲坠的直立在其顶部的杆子保持平衡。互动的最大数量被设置为 50000 步,而非通常的 200 步。在此任务中,不可逆动作常常会导致杆子倒下,因此最好是完全避免这类动作。


我们的测试结果证明,任何强化学习智能体(甚至是随机智能体),只要我们为某个动作是不可逆的概率选择一个合适的阈值,RAC 就不会失败。所以,RAC 可以保证在环境的第一步开始就存在安全、可逆转的互动。


本文展示了使用 RAC 的随机策略时,Cartpole 性能是如何随阈值(ꞵ)的变化而变化的。通常情况下,标准的无模型智能体 DQN、M-DQN 得分低于 3000,而在阈值 β=0.4 时,由随机 +RAC 策略控制的智能体的得分则是 50000(最高得分)。


  • 避免推箱子出现死锁


推箱子是一种益智游戏,玩家控制一个仓库管理员,必须将箱子推进到目标空间,同时避免无法恢复的情况(例如,箱子在角落,或者在某些情况下沿着墙壁)。


完成推箱子一个关卡的动作序列。箱子(带红色“x”的黄色方块)必须由智能体推入目标(中间带点的红色轮廓)上。因为智能体无法拉出箱子,所以任何被推到墙上的箱子都很难推出来,甚至无法离开墙壁,也就是说,它变成了“死锁”。


在标准的强化学习模型中,早期迭代的智能体通常是以近乎随机的方式探索环境,因此,经常会陷入僵局。这种强化学习智能体不能解决推箱子难题,或者是效率非常低。


随机探索的智能体很快就会使自己陷入僵局,无法完成关卡(这里举个例子,推墙上最右边的箱子是无法逆转的)。


本文比较了目前最先进的无模型强化学习智能体 IMPALA 和 IMPALA+RAE 代理在推箱子游戏环境中的性能。结果表明,采用 IMPALA+RAE 组合策略的智能体陷入僵局的频率较低,能获得较高的得分。


IMPALA 和 IMPALA+RAE 在一组 1000 个推箱子关卡上的得分。每一集的开始都会抽出一个新的关卡。最高得分由关卡决定,并且接近 10 分。


在这项任务中,不可逆动作的检测非常困难,因为它是一个高度不平衡的学习问题:只有大约 1% 的动作确实不可逆,还有很多很难被标记为可逆动作,因为它们只能通过智能体的一些额外步骤所逆转。


扭转一个动作有时并不容易。上图所示的例子中,一个盒子已经被推到墙上,但是仍然是可逆的。然而,要扭转局面,至少需要五个独立的动作,包括对智能体的 17 个不同的动作(每个编号的动作是智能体若干动作的结果)。


据估计,大约一半的推箱子关卡需要至少一个不可逆的动作才能完成(例如,因为至少有一个目标目的地靠着墙壁)。由于 IMPALA+RAE 几乎解决了所有的关卡,这就意味着 RAE 不会阻止智能体在关键时刻采取不可逆的动作。

结论


本文提出了一种方法,该方法可以让强化学习智能体通过学习随机采样轨迹事件的时序模型来预测动作的可逆性,从而得到更好的探索和控制。该方法是一种自监督方法,它不需要任何关于动作可逆性的先验性知识,在各种环境中都可以适用。将来,我们很想进一步研究如何把这些想法应用到更大的、安全的关键应用中。


作者简介:

Johan Ferre,谷歌研究大脑团队,研究生研究员。


原文链接:

https://ai.googleblog.com/2021/11/self-supervised-reversibility-aware.html

2021-11-26 16:323551

评论

发布
暂无评论
发现更多内容

年末冲刺!坚持就是胜利,12月日更来啦~

InfoQ写作社区官方

12月日更 热门活动

架构实战营模块五作业

spark99

架构实战营

[架构实战营] 模块五作业

张祥

架构实战营

基于云的技术架构设计实践-第0篇

hackstoic

云计算 架构 云原生 创业公司 签约计划第二季

《鱿鱼游戏》中的 AI 是绝对公平的吗?

澳鹏Appen

人工智能 人脸识别

区块链IM社交系统开发,区块链即时通讯直播系统搭建

电微13828808271

Mysql探索(一):B-Tree索引

程序员历小冰

MySQL 索引 28天写作

高层与基层思考上的差异与解决办法

光环PMO社群

项目管理

Java问题排查分享

捉虫大师

Java 问题排查

搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定

tapdata

智慧社区服务平台搭建,智慧安防社区建设方案

电微13828808271

云原生:详解|容器云平台应用解析

息之

容器安全 容器应用

在AI与信息交互之间:QQ 浏览器的边界探索

脑极体

贝壳Flutter调试工具-FDB

贝壳大前端技术团队

flutter 调试工具 内存监控

云原生:详解|K8s核心对象技术

息之

k8s pod service Deployment

云原生:详解|容器核心技术解析

息之

Docker 镜像 技术优势

浪潮云说直播间-云溪数据库之ClickHouse原理解析今晚开讲

云计算,

Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)

不脱发的程序猿

Python qt GUI设计 QCalendar日历类 QDateTimeEdit时间类

大规模 K8s 集群管理经验分享 · 上篇

尔达Erda

程序员 云原生 k8s K8s 多集群管理 经验分享、

官宣!yMatrix 完成A轮融资,打造超融合时序数据库!

YMatrix 超融合数据库

使用 @Transactional 时常犯的N种错误

程序猿DD

spring Spring Boot 事务

社区知识库|常见问答 FAQ 集合第 1 期

Apache Pulsar

Java 开源 Apache Pulsar 代码人生 社区

工业区块链与关键关联技术融合创新

CECBC

【有奖征文】第一届 OceanBase 技术征文大赛来啦!

OceanBase 数据库

数据库 开源 征文大赛 oceanbase

Linux/CentOS/Ubuntu查看文件内容命令总结

入门小站

Linux

打造全新批流融合:详解 Apache Flink 1.14.0 发布的 Pulsar Flink Connector

Apache Pulsar

Java 大数据 分布式 云原生 Apache Pulsar

和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Istio 实践手册 | 迎接新一代微服务架构

xcbeyond

istio 服务网格 28天写作 12月日更 Istio 实践手册

云原生:Docker实战之容器命令解析(附视频教程)

息之

Docker 视频课 解析

区块链应用食品溯源,为食品安全保驾护航

电微13828808271

10个问题解答火热的元宇宙概念

CECBC

基于自监督的可逆性强化学习方法_AI&大模型_Johan Ferret_InfoQ精选文章