南栖致力于推动强化学习在现实业务中的落地。在现实场景中,环境往往会不断变化,智能体无法适应变化后的环境,导致其决策失效。
为此,南栖仙策与南京大学团队提出了一种环境敏感的上下文策略学习(environment sensitive contextual policy learning, ESCP)算法,论文发表在AAAI’22会议上,该方法可以提升环境识别的速度、增加环境识别的稳定程度,能够在突变环境中取得更高的性能。
除此之外,该方法还为训练决策大模型提供了技术途径,能够训练出针对反馈控制任务的决策大模型。

动荡现实和稳定理想的碰撞

近年来,强化学习在很多稳态的环境中已经达到了甚至超越了人类的水平。前沿的算法已经可以适应训练中未曾见过的环境或任务。然而,这种较强的自适应能力,通常要求环境是稳定且不改变的。例如下围棋的过程中,围棋的棋盘不会突然变大或变小、围棋的规则也不会变成五子棋,这一类环境被称为稳态 (stationary) 环境。以往的强化学习只需要适应一种稳定不变的环境,找到最优的策略,即可达到目标。

可惜,这一属性在现实世界往往并不能成立。现实世界,时刻处在动荡和不断变化之中,例如在走路的时候,脚下的路面突然从草地变成沙丘;又或者汽车在行驶中,因为道路积水结冰而突然改变了原有的运动方程。

当环境发生突变的时候,如果不能对环境快速适应,则很难避免灾难发生。一辆车沿着弯曲的道路驶来,转弯拐角的水洼,大大地降低了道路的摩擦力。当司机没有注意到道路的变化,不能及时地响应,那么车辆极有可能失去控制,造成意外事故的发生。

一辆车沿着弯曲的道路驶来,转弯拐角的水洼,大大地降低了道路的摩擦力。当司机没有注意到道路的变化,不能及时地响应,那么车辆极有可能失去控制,造成意外事故的发生。

环境的突变在许多场景都是棘手的问题,对环境变化的快速识别和自适应有着重要的意义。

从人类的应对方式获得经验

如果是经验丰富的驾驶员,在经过水洼时,通过对当前速度、行驶方向和油门、方向盘的控制状况,能够意识到当前正在经过一段不同路面,从而迅速调整驾驶策略,最大限度地规避风险,最终安全地通过这片区域。

迅速调整驾驶策略,最终安全地通过这片区域。

如果是AI,又该如何处理环境的突变?对人类驾驶员的应对方式进行总结,我们发现了两个关键点:其一是能够在运行过程中自动感知到环境的变化,其二是在感知到变化后能够自动调整自己的决策策略。

为了能够跟人类专家一样妥善处理环境突变,我们首先需要收集观测信息,并依此对环境的特征进行实时推测,实现对环境的快速辨识,然后根据所识别的特征来及时调整控制策略。基于上下文的元强化学习(context-based meta-RL)方法恰好能够同时满足这两个关键点。这种方法由两部分构成,一是用于提取环境相关信息的上下文编码器,二是用于进行自适应决策的上下文策略。前者提取环境特征,后者基于环境特征与当前状态输出对应的动作,当前者识别到环境的改变时,后者就能够相应地做出正确的动作。

快速识别变化是重中之重

然而,要识别环境的变化,以往的方法所需要的环境交互数据较多,这会造成环境特征提取的过程有较大时延。这样一来,策略无法及时对变化进行响应,汽车最终还是无法安全通过水洼区域。因此,我们就如何快速适应突变环境这个问题进行了研究。

我们认为,实现快速突变环境适应的关键,在于快速且准确的环境特征抽取。我们期望能够在尽可能短的时间内(尽可能少的环境交互步数)对环境特征进行准确识别。

在这一研究动机的驱使下,我们提出了一种新的方法:环境敏感的上下文策略学习(environment sensitive contextual policy learning, ESCP)使得智能体能够快速识别并适应环境的突变。

ESCP沿用context-based meta-RL的框架。其在context-based meta-RL的基础上,额外引入了三部分关键组件:首先是用方差最小化损失让环境上下文编码器对环境进行快速且鲁棒的特征提取(我们也称之为环境编码);其次是基于相关矩阵行列式最大化损失来避免编码器生成无意义的环境特征并且让不同环境之间的特征更为可分;最后是使用历史截断的循环神经网络模型让上下文编码器能够更关注于最近几步和环境的交互数据。

有了这几个模块,ESCP的上下文编码器能够从最近的与环境交互的数据中快速提取到环境的特征,而后的上下文策略也能够相应地快速对环境突变进行响应,调整自身的策略。

具体框架如下图所示:

首先,一个隐上下文分布会被一个上下文编码器推断出来;然后,一个上下文策略会根据隐上下文和当前状态进行决策。其中,动作值函数通过状态动作对以及一个滑动平均的隐上下文去推断Q值。

回到前文的例子,在经过水洼时,这个策略可以如熟练的人类驾驶员一般,迅速地感知环境的变化,及时调整策略,做好准备以迎接变化后的环境。

在论文中,我们用一系列的突变环境检验了ESCP方法:包括一个网格世界和五个运动控制任务。最终结果证明,无论是在与训练环境相同分布或是不同分布的测试环境下,相比最先进的meta-RL算法,ESCP都能更好地提取环境的特征,并能够更快速地适应环境的改变。

不同方法学到的策略与环境最优策略所执行的动作之间的差异曲线图:左图为在稳定环境下的差异;右图为在突变环境下的差异。

我们在网格世界环境中对比了一系列算法,将由训练得到的策略与环境最优策略之间每1步的动作的差异的结果展示于如图。对比两张图,可以看出在左侧稳定环境中,很多方法与ESCP都能够在较短时间内收敛到最优策略。但是在右侧突变环境中,环境每100步会发生一次突变,当突变发生后,ESCP仅在10步之内收敛到距离最优策略0.1的范围内,而其余所有方法都无法在100步之内收敛到此范围。从这个结果可以看出,ESCP能够以更快的速度再次收敛到最优策略。在这个任务中,ESCP对突变环境的适应速度比基线算法快10倍以上

技术应用和延展

面对不断变化的环境,往往需要快速做出最恰当的决策反应。ESCP能够敏锐地识别并不断适应新的环境,进而解决大规模的现实世界问题。我们期望通过ESCP,以一种更聪明、更精简的方法,真正地帮助大家应对生产生活中的难题。我们已经将这项技术应用在了流程工业中的复杂场景控制、汽车行驶中的车身控制等真实案例中。

附:

Adapt to Environment Sudden Changes by Learning a Context Sensitive Policy,阅读我们在AAAI’22会议上发表的论文,了解有关ESCP的更多信息。

智能体如何应对环境突变:快速感知和自适应相关推荐

  1. Yoshua Bengio团队最新强化学习研究:智能体通过与环境交互,「分离」变化的独立可控因素

    原文来源:arXiv 作者:Valentin Thomas.Emmanuel Bengio∗.William Fedus.Jules Pondard.Philippe Beaudoin.Hugo La ...

  2. 多智能体强化学习环境【星际争霸II】SMAC环境配置

    多智能体强化学习这个领域中,很多Paper都使用的一个环境是--星际争多智能体挑战(StarCraft Multi-Agent Challenge, SMAC).最近也配置了这个环境,把中间一些步骤记 ...

  3. “弱肉强食,月半者为王” | OpenDILab推出多智能体博弈环境Go-Bigger

    关注公众号,发现CV技术之美 多智能体对抗作为决策AI中重要的部分,也是强化学习领域的难题之一. 为丰富多智能体对抗环境,OpenDILab(开源决策智能平台)开源了一款趣味多智能体对抗竞技游戏环境- ...

  4. 多智能体强化学习(MARL)训练环境总结

    目前开源的多智能体强化学习项目都是需要在特定多智能体环境下交互运行,为了更好的学习MARL code,需要先大致了解一些常见的MARL环境以及库 文章目录 1.Farama Foundation 2. ...

  5. 强化学习基础1.1 | 智能体与环境交互过程

    强化学习的过程是agent与环境不断交互的过程,从环境得到反馈,然后来改变自己的行动. 智能体首先接受环境的状态S0 智能体在S0的环境下采取行动A0 环境收到智能体的行动后从S0 变化到S1 环境对 ...

  6. 《多智能体博弈学习研究进展--罗俊仁,张万鹏》论文笔记

    目录 一.引言 二.多智能体学习简介 2.1多智能体学习系统组成 2.2 多智能体学习概述 2.3 多智能体学习研究方法分类 三. 多智能体博弈学习框架 3.1 多智能体博弈基础模型及元博弈 3.1. ...

  7. 多智能体强化学习及其在游戏AI上的应用与展望

    近年来,人工智能技术在很多领域都取得了亮眼成就,并逐步从感知智能向决策智能迈进.强化学习是实现决策智能的重要路径,而现实世界中往往存在着多智能体的交互,也催生了多智能体强化学习的发展.这篇文章主要对多 ...

  8. 《强化学习周刊》第39期:近似最优深度、多智能体广义、角色动画强化学习...

    No.39 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<强化学习周刊>已经开启"订阅功能",以后我们会向您自动推送最 ...

  9. 《强化学习周刊》第16期:多智能体强化学习的最新研究与应用

    No.16 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,多智能强化学习的研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领 ...

最新文章

  1. pandas高级处理-数据离散化
  2. 如何成为一位「不那么差」的程序员
  3. data structure begin!!
  4. Java web对试卷进行单选多选答题进行打分_2020年大学慕课Java程序设计作业答案...
  5. 你愿意隐姓埋名一辈子吗?
  6. Redis之运维细节
  7. 滴滴司机被醉酒乘客殴打 官方回应来了...
  8. composer 安装包时与php版本不符 提示报错
  9. RemObjects SDK ThDataSet总结
  10. 金蝶K3数据库表名对应及表说明
  11. PCB封装库创建流程及注意事项
  12. 三级计算机信息安全基础知识
  13. ECL、LVDS和CML电平
  14. python程序编程千分符号怎么输入_Excel表格中怎么输入千分之一符号
  15. 京东快递向个人开放,顺丰或最受伤
  16. VMware vGPU服务器配置
  17. 利用ps制作一些好看的渐变图
  18. win10系统配置GPU版本Pytorch
  19. 可怜的小码哥 马蹄集
  20. CSS(二)——复合选择器、元素显示模式、背景、三大特性

热门文章

  1. MySQL系列:javaexcel合并单元格清除重复
  2. codevs 搜索题汇总(黄金级)
  3. vue脚手架项目部署到服务器,vue脚手架项目发布
  4. Postgres SQL 功能函数示例
  5. 广州校区2015android传智,2018年传智播客广州校区“黑马杯”高校编程大赛圆满落幕...
  6. [WinForm]IrisSkin皮肤的基本使用以及单独控件样式设置
  7. 佳能hdr_疑难解答:佳能EOS5D3如何使用HDR功能
  8. mysql删除表中重复的行
  9. 我是一个杀毒软件线程
  10. 我用Java写AI系列【一】百度AI账号的注册