伯克利新无监督强化学习方法:减少混沌所产生的突现行为
作者 | Glen Berseth
译者 | Arvin
编辑 | 夕颜
出品 | AI科技大本营(ID: rgznai100)
【导读】所有生命有机体都在环境中占据一席之地,使它们在周围不断增加的熵中可以保持相对可预测性。例如,人类竭尽全力保护自己免受意外袭击--我们成千上万的人团结起来,在城市建造房屋,提供水、食物、天然气和电力,以阻止我们的身体和生活空间在冷热、风雨及风暴中恶化。为了发现和维持这种非意外的平衡,推动了生物的机智和技能的发展,这在多样化的自然生境中随处可见。受此启发,我们提出这个问题:在混沌中维持秩序的动机能否引导人工智能中有用行为的自动习得?
在没有外部监督的情况下,环境中的智能体如何获得复杂的行为和技能?人工智能的这一中心问题引发了几种候选解决方案,主要集中在寻求新奇行为。在诸如视频游戏之类的模拟世界中,寻求新颖性的内在动机可能导致有趣而有意义的行为。但是,现实世界可能根本缺乏这些环境。在现实世界中,自然力量和其他智能体提供了丰富的新颖性。
取而代之的是,自然环境中的挑战是同化作用:重在发现使智能体能够维持平衡(同化作用)的行为,例如保持其身体健康,家园安全并躲避掠食者和饥饿等。在下面的示例中,我们在其中展示了智能体由于天气的变化而遇到随机事件。如果智能体能学会建造庇护所(在这种情况下为房屋),则智能体受到的天气影响将减少。
我们将动态稳定化作为基于意外最小化(SMiRL)的强化学习的目标。当熵和动态环境的意外可控时,使意外最小化(即使新颖性最小化)会促使智能体自然地寻求可以稳定维持的平衡。
在这里,我们用上图展示基于SMiRL的智能体交互循环。当智能体观察到状态s,则在给定智能体具有rt←pθt−1(s)信念的情况下,它会计算这个新状态出现的概率。这种信念模拟了智能体最熟悉的状态,即过去所见状态的分布。体验更熟悉的状态会带来更高的回报。智能体经历新状态后,它将更新其信念pθt−1(s)来囊括最新的经验。然后,行动策略π(a|s,θt)的目标是去选择会导致智能体始终经历熟悉状态的操作。至关重要的是,智能体了解其信念会在未来发生变化。这意味着它有两种机制可以最大化这种奖励:采取行动访问熟悉的状态,以及采取行动访问将改变其信念的状态,从而使未来的状态更加熟悉。正是后者机制导致了复杂的紧急行为。
下面,我们将可视化玩俄罗斯方块游戏的策略。在左侧显示智能体选择的块,在右侧显pθt(s)。我们可以看到随着情节的进展,人们对可能放置块的位置的信念往往只倾向于最下面一行。这鼓励了智能体消除障碍物以防止板子填满。
上:俄罗斯方块。下:pθt(s)
突现行为
SMiRL智能体演示了在许多不同环境中有意义的紧急行为。在俄罗斯方块环境中,智能体可以学习主动行为以消除行并正确玩游戏。该智能体还学习了毁灭战士环境中的紧急游戏行为,从而获得了一种有效的策略来躲避敌人扔出的火球。在这两种环境中,随机事件和混乱事件都迫使SMiRL智能体采取协调的行动方针,以避免异常状态,例如完整的俄罗斯方块棋盘或火球探测。
上:Doom死守战术,下:Doom防守
两足动物
在悬崖环境中,智能体可以学习一种策略,该方法可以通过靠在地面上并在边缘保持稳定来大大降低从悬崖上掉下的可能性。在跑步机环境中,SMirl学习到更复杂的运动行为,向前跳以增加其在跑步机上的停留时间。
左:悬崖,右:跑步机
与内在动机的比较
内在动机是这样一种想法,即行为是由独立于任务的内部奖励信号驱动的。下面,我们显示了随着时间的推移,俄罗斯方块、毁灭战士和类人动物域上特定于环境的奖励的图表。为了将SMiRL与更标准的内在动机方法进行比较,后者可以找出使惊奇或新颖性最大化的状态,我们还评估了ICM 和RND 。我们包括一个直接优化任务奖励的先知智能体。
在俄罗斯方块上,经过2000代的训练,SMirl达到了完美的发挥,与先知奖励优化的智能体相提并论,没有死亡。ICM通过创建越来越多不同的积木模式而不是清除积木来寻求新颖性,从而导致游戏分数随着时间的推移而恶化。在毁灭战士上,SmiRL有效地学会了躲避对手投掷的火球。悬崖和跑步机环境的基线比较结果相似。ICM寻求新颖性的行为使它学习到一种不规则行为,该行为使智能体跳下悬崖并在跑步机上滚来滚去,从而最大程度地降低了跌倒的次数(和次数)。
SMiRL +好奇心
从表面上看,SMirl可以最大程度地减少意外,而好奇心的方法(例如ICM)可以最大限度地提高新颖性,但实际上它们并不是相互兼容的。特别是,虽然ICM在学习型迁移模型方面最大程度地提高了新颖性,但SMiRL在学习型状态分布方面却最大程度地减少了意外。我们可以将ICM和SMiRL结合使用,以在跑步机环境中获得更好的结果。
关键见解
我们的方法所利用的关键见解是,与简单的模拟域相比,现实环境展现出动态现象,随着时间的推移,这种现象逐渐增加了熵。阻止这种熵增长的主体必须采取积极和协调的行动,从而学习越来越复杂的行为。这不同于通常提出的基于新颖性的内在探索方法,后者试图达到新的状态并增加熵。SMiRL为一种新型的无监督RL方法带来了希望,该方法产生的行为与环境中的主要破坏力,对手和其他熵源紧密相关。
原文链接:
https://bair.berkeley.edu/blog/2019/12/18/smirl/
(*本文为AI科技大本营翻译文章,转载请微信联系 1092722531)
◆
精彩推荐
◆
2020年,由 CSDN 主办的「Python开发者日」活动(Python Day)正式启动。我们将与 PyCon 官方授权的 PyCon中国社区合作,联手顶尖企业、行业与技术专家,通过精彩的技术干货内容、有趣多元化的活动等诸多体验,共同为中国 IT 技术开发者搭建专业、开放的技术交流与成长的家园。未来,我们和中国万千开发者一起分享技术、践行技术,铸就中国原创技术力量。
【Python Day——北京站】现已正式启动,「新春早鸟票」火热开抢!2020年,我们还将在全国多个城市举办巡回活动,敬请期待!
活动咨询,可扫描下方二维码加入官方交流群~
CSDN「Python Day」咨询群 ????
来~一起聊聊Python
如果群满100人,无法自动进入,可添加会议小助手微信:婷婷,151 0101 4297(电话同微信)
推荐阅读
回家的票抢上了吗?聊聊12306为什么时不时要崩一下
微软开源NAS算法Petridish,提高神经网络迁移能力
必看!52篇深度强化学习收录论文汇总 | AAAI 2020
悲痛!临近年关,一位 IT 创业者自杀,曾卖房给员工发工资
小网站的容器化(上)
国内 RISC-V 产学研基地成立,Intel、Arm、RISC-V 将三分天下?
你点的每个“在看”,我都认真当成了AI
相关文章:
朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll、Epoll模型处理长连接性能比较
在《朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较》一文中,我们分析了各种模型在处理短连接时的能力。本文我们将讨论处理长连接时各个模型的性能。(转载请指明出于breaksoftware的csdn博客) 我们可以想象下场景,…

Topcoder SRM 663 DIV 1
ABBADiv1 题意: 规定两种操作,一种是在字符串的末尾添加A,另一种是在末尾添加B然后反转字符串。现在给你一个起始串,一个终点串,然后问你是否能够通过以上两种操作,从起始串变为终点串。 题解: …
跨平台PHP调试器设计及使用方法——立项
作为一个闲不住且希望一直能挑战自己的人,我总是在琢磨能做点什么。自从今年初开始接触PHP,我也总想能在这个领域内产生点贡献。那能做点什么呢?我经常看到很多phper说自己设计了一个什么框架,或者说自己搭建了一个什么系统。虽然…
机器推理文本+视觉,跨模态预训练新进展
作者 | 李根、段楠、周明来源 | 微软研究院AI头条(ID:MSRAsia)【导读】机器推理要求利用已有的知识和推断技术对未见过的输入信息作出判断,在自然语言处理领域中非常重要。本文将介绍微软亚洲研究院在跨模态预训练领域的研究进展。近年来&…

[LeetCode]:94:Binary Tree Inorder Traversal
题目: Given a binary tree, return the inorder traversal of its nodes values. For example:Given binary tree {1,#,2,3}, 1\2/3return [1,3,2]. 代码: public class Solution {public static ArrayList<Integer> listResult new ArrayList&l…
腾讯 AI 2019这一年
所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送近日,腾讯AI实验室总结了 2019 年其取得重大进展的两大研究方向,推动实现的行业应用以及前沿研究探索方面的成果。一、两大难题攻坚:通用人工智能与数字人用…
跨平台PHP调试器设计及使用方法——探索和设计
在《跨平台PHP调试器设计及使用方法——立项》一文中,我确定了使用xdebug作为调试器插件部分的基础组件。xdebug提供了一个远程调试的功能(相关资料可以详见https://xdebug.org/docs/remote),我们这个项目便是基于这个功能实现的。…

Ubuntu下允许Root用户直接登录图形界面
ubuntu root是默认禁用了,不允许用root登陆,所以先要设置root密码。 执行:sudo passwd root 接着输入密码和root密码,重复密码。再重新启动就可以用root登陆。 另外,默认情况下是不允许用root帐号直接登陆图形界面的。…

携程App for Apple Watch探索
在Apple Watch发布之后,很多App都针对它设计了相应的版本。旅行作为与Apple Watch时间管理特性契合度较高的场景,同时携程旅行作为国内领先的OTA行业App,也成为了首批适配Apple Watch并荣登Apple官网和App Store推荐的应用之一。InfoQ就App f…
跨平台PHP调试器设计及使用方法——通信
首先引用《跨平台PHP调试器设计及使用方法——探索和设计》中的结构图(转载请指明出于breaksoftware的csdn博客) 本文要介绍的是我们逻辑和pydbgp通信的实现(图中红框内内容)。 设计通信之前,我需要先设计一种通信协议…

MVP模式的相关知识
MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Mod…
“数学不行,还能干点啥?”面试官+CTO:干啥都费劲!
关于数学与程序员的“暧昧”关系,先看看网友的看法:同时编程圈也流传着一个段子:一流程序员靠数学,二流程序员靠算法,末端程序员靠百度,低端看高端就是黑魔法。想一想,我们日常学习、求职、工作…

CentOS7 yum 源的配置与使用
YUM:Yellowdog Updater Modified Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖…

跨平台PHP调试器设计及使用方法——协议解析
在《跨平台PHP调试器设计及使用方法——探索和设计》一文中,我介绍了将使用pydbgp作为和Xdebug的通信库,并让pydbgp以(孙)子进程的方式存在。《跨平台PHP调试器设计及使用方法——通信》解决了和pydbgp通信的问题,本文…

测试客户端发图图
转载于:https://blog.51cto.com/ericsong/116942
搜狐、美团、小米都在用的Apache Doris有什么好? | BDTC 2019
【导读】12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑协办的中国大数据技术大会(BDTC 2019)在北京长城饭店隆重举行。100 顶尖技术专家、1000 大数据从业者齐聚于此,以“大…

cacti邮件告警设置
功能说明对指定流量图形(指定接口)设置最高或最低流量阀值,当流量出现异常偏高或偏低触发阀值,系统自动将异常信息以邮件形式通知指定收件人。如果收件人邮箱是139邮箱,还可以增设短信通知功能。设置前准备设置该功能之…
跨平台PHP调试器设计及使用方法——高阶封装
在《跨平台PHP调试器设计及使用方法——协议解析》一文中介绍了如何将pydbgp返回的数据转换成我们需要的数据。我们使用该问中的接口已经可以构建一个简单的调试器。但是由于pydbgp存在的一些问题,以及调试器需要的一些高级功能,我们还需要对这些接口进行…

Oracle的口令文件(passwordfile)的讲解(摘录)
初学oracle,很多概念迷糊,今天看到这文章,让我有一个比较清晰的认识。转载[url]http://www.itpub.net/viewthread.php?tid906008&extra&page1[/url]1、os认证oracle安装之后默认情况下是启用了os认证的,这里提到的os认证…
如何优雅地使用pdpipe与Pandas构建管道?
作者 | Tirthajyoti Sarkar译者 | 清儿爸编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100) 【导读】Pandas 是 Python 生态系统中的一个了不起的库,用于数据分析和机器学习。它在 Excel/CSV 文件和 SQL 表所在的数据世界与 Scikit-learn 或 Te…

第 十 天 : 添 加 硬 盘 和 分 区 挂 载 等
小Q:狼若回头,必有缘由,不是报恩,就是***; 事不三思必有败,人能百忍则无忧。今天的进度虽然慢了,但是学习状态还是一如往常,只不过今天遇到了不少新的知识点,需要好好想想…
从4个月到7天,Netflix开源Python框架Metaflow有何提升性能的魔法?
作者 | Rupert Thomas译者 | 凯隐编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导语】Metaflow 是由 Netflix 开发,用在数据科学领域的 Python框架,于 2019 年 12 月正式对外开源。据介绍,Metaflow 解决…
SOA标准发展混乱 国内业务缺少经验
近年来,SOA已经成为国际及我国信息技术领域的重大热点之一。从2005年至今,SOA逐渐成为影响中国IT系统构建的主导思想。从2006年开始,SOA的建设方法已在我国部分行业信息化项目中开始得以越来越广泛的应用。 但热潮背后, SOA概念在…
跨平台PHP调试器设计及使用方法——界面设计和实现
一个优秀的交互设计往往会影响一个产品的命运。在设计这款调试器时,我一直在构思这款调试器该长什么样子。简单、好用是我设计的原则,于是在《跨平台PHP调试器设计及使用方法——立项》一文中,我给出了一个Demo。之后实现的效果也与之变化并不…

AJAX安全-Session做Token
个人思路,请大神看到了指点 个人理解token是防止扫号机或者恶意注册、恶意发表灌水,有些JS写的token算法,也会被抓出来被利用,个人感觉还是用会过期的Session做token更好,服务器存储,加载到客户端页面&…
跨平台PHP调试器设计及使用方法——使用
经过之前六篇博文的分析和介绍,大家应该对这套调试器有个初步的认识。本文我将讲解它的使用方法。(转载请指明出于breaksoftware的csdn博客) 上图是该软件界面的布局,我们之后的讲解也将围绕着这些功能展开。 文件夹管理 在查看一…
管理7k+工作流,月运行超10000万次,Lyft开源的Flyte平台意味着什么?
作者 | Allyson Gale译者 | 刘畅编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】Flyte 平台可以更容易的创建并发,可伸缩和可维护的工作流,从而进行机器学习和数据处理。Flyte 已有三年多的训练模型和数据处理经…

Jmeter组件执行顺序与作用域
一、Jmeter重要组件: 1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域…
跨平台PHP调试器设计及使用方法——拾遗
之前七篇博文讲解了跨平台PHP调试器从立项到实现的整个过程,并讲解了其使用方法。但是它们并不能全部涵盖所有重要内容,所以新开一片博文,用来讲述其中一些杂项。(转载请指明出于breaksoftware的csdn博客) 触发调试的…
召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身...
整理 | 凯隐编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】Optuna是一款为机器学习任务设计的自动超参数优化软件框架,是一款按运行定义(define-by-run) 原则设计的优化软件,允许用户动态地调整搜索空间&#…