HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 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:323455

评论

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

微信小程序制作步骤,开发成本低,轻松打造

天津汇柏科技有限公司

小程序开发 开发小程序

ACK One:构建混合云同城容灾系统

阿里巴巴云原生

阿里云 Kubernetes 云原生

信息茧房的困境

老张

信息茧房 sora

GaussDB通信运维:详解stream连接池设计原理

华为云开发者联盟

数据库 华为云 华为云GaussDB 华为云开发者联盟 华为云GaussDB(DWS)

想要一个龙年头像,在线等挺急的

阿里巴巴云原生

阿里云 云原生 函数计算 Stable Diffusion

IPQ9574/Breaking the speed boundary: exploring the innovative technologies of WiFi 7

wallysSK

大模型开发:从数据挖掘到智能应用

百度开发者中心

自然语言处理 大模型 人工智能、

一文搞懂设计模式—门面模式

Java随想录

Java 设计模式

扯淡的DevOps,我们开发根本不想做运维!

京东科技开发者

基于OpenTelemetry实现Java微服务调用链跟踪

华为云开发者联盟

Java 微服务 Spring Boot 华为云 华为云开发者联盟

文档图像大模型在智能文档处理领域中的应用

百度开发者中心

人工智能 深度学习 大模型 智能文档

详解 JSON 文件的打开方法

Apifox

JavaScript json 程序员 前端 教程

面试官:如何实现10亿数据判重?

王磊

Java 面试题

在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaScript JS

Geek_ee6d52

前端 JavaScrip

GIT好习惯助你成为更出色的开发者

南城FE

git 开发者 前端 后端 开发工具

Python可视化工具集合来报道(下)

小齐写代码

区块链软件开发:创新、安全、智能的数字未来

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

基于Java开发的工作流管理系统,快速开发平台

金陵老街

思码逸企业版 4.0 特性之一:支持 DevOps 全工具链数据分析

思码逸研发效能

JavaScript和Java:看似相似但实际上截然不同

伤感汤姆布利柏

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