Overcoming sparse rewards in Deep RL: Curiosity, hindsight & auxiliary tasks

Sparse rewards

比较离散的reward signal,也就是说,在玩儿一些特定游戏的时候无法确定是否通过一个reward就能明确判断结果的输赢。也就是说需要连续的决策动作序列才能到达成功的情况。如下图所示:

Reinforcement Learning with Unsupervised Auxiliary Tasks

Pixel Control


Policy is then trained to maximize the total visual change in all the grids.
Force the feature extractor to become sensitive to the general dynamics in the game environment.

Reward Prediction


Three recent frames from the episode sequence to predict the reward that will get from next step.

Value Function Replay


Estimate the value of being in a current state by predicting the total future reward(like DQN).


Curiosity-driven Exploration by Self-supervised Prediction

Standard way to avoid the agent don’t want to explore more reward----using forward model(Model based RL).
Using a forward model to predict the latent representation.
As a feedback signal to incentivize your agent to explore unseen regions.
The agent is not aware that there are some parts of the environment that is simply cannot control or predict.

As you can see, ϕ ( s t + 1 ) \phi(s_{t+1}) ϕ(st+1​) is actually use s t + 1 s_{t+1} st+1​ from the same features; and ϕ ^ ( s t + 1 ) \hat{\phi}(s_{t+1}) ϕ^​(st+1​) is using a t a_t at​ and ϕ ( s t ) \phi(s_t) ϕ(st​) from forward model to predict the future, and get the reward signal as the future reward.


Hindsight Experience Replay



做出的改变是将其中错误的transition依然存入experience replay buffer,所以在下次换了goal之后依然可以很快速的得到正确的结果


OpenAI Five

介绍

它使用的是运行在256个gpu和12.8万个CPU内核上的扩展版PPO算法——这是我们去年为玩简单得多的单人版本而构建的系统的更大版本。为每个英雄使用单独的LSTM,而不使用人工数据,它可以学习可识别的策略。这表明强化学习可以产生长期规划,规模大但可以实现,与开始项目时的预期相反。

所遇问题

长期视野

大部分动作,比如移动玩家位置,对玩家的策略影响不大,但有一些策略比如回城卷轴,还是会对玩家造成一定的影响,而且还有可能一直影响下去。而且产生动作较多,大概有2万 steps。而Chess有40 steps,,GO有150 steps。

部分可见的state

因为有迷雾的存在,所以会存在一些state是不可见的,而Chess和GO针对的都是全信息游戏。

高维连续动作空间

每个英雄大概有17万的动作空间,每个tick大概有1000次左右的有效动作

高维连续观察空间

可以获取到2000个代表人能获取到的所有信息(大多数是浮点数信息)。A chess board is naturally represented as about 70 enumeration values (a 8x8 board of 6 piece types and minor historical info); a Go board as about 400 enumeration values (a 19x19 board of 2 piece types plus Ko).

方法

  1. 使用大规模版本的PPT算法,用随机参数启动而不使用利用人类经验重放的搜索和bootstrap。
  2. 另外,使用Observe and Look Further中的方法可以将reward半衰期延长至46秒。PPO为0.5秒,Rainbow为4.4秒。
  3. 每个网络都包含一个单层的1024单元LSTM,它可以看到当前的游戏状态(从Valve的Bot API中提取),并通过几个可能的动作头发出动作。每个头都有语义含义,例如,延迟该动作的节拍数、选择哪个动作、该动作在单元周围网格中的X或Y坐标等。

探索

  1. 使用一些限制条件来降低探索环境的复杂程度

    1. 双方英雄都是 死灵法、火枪、毒龙、冰女和巫妖 的阵容
    2. 禁止插眼
    3. 禁止打肉山
    4. 禁止隐身(消耗品或相关装备)
    5. 禁止召唤物和幻象
    6. 禁止购买 圣剑、魔瓶、补刀斧、飞鞋、经验书、凝魂之泪
    7. 每方5个永久无敌的信使(鸡),但不能利用它们进行侦察或者当作随身箱子(即只能用于往返运输物品)
  2. 采用self-play,80%自对抗,20%和past对抗;几小时之后学会了带线,带经济;几天之后学会了抓人,推塔,开大
  3. 随机机制,我们随机“分配”每个英雄到一些小路上,并惩罚它偏离这些小路,直到在游戏中随机选择的时间
  4. 通过设置reward的方式进行探索:我们通过减去另一个团队的平均报酬来处理每个代理的报酬,以防止代理发现正和情况

合作机制

没有明确的交流通道,通过控制一个“team spirit”的超参数,从而控制每个英雄自己的reward和团队总体的reward的比重

Rapid

  • Rollout Workers是训练使用的部分,主要使用的是GPU
  • Eval Workders主要是使用CPU进行验证估值
  • 参数的data大小是58MB,异步的延迟针对不同数量的GPU,如下图所示

和人类玩家的不同

  1. OpenAI Five可以访问与人类相同的信息,但会立即看到位置、健康状况和物品清单等人类必须手动检查的数据。我们的方法与观察状态无关,但是仅仅渲染游戏中的像素就需要数千个gpu。
  2. OpenAI 5平均每分钟150-170个动作(由于每4帧都要观察,理论上的最大值是450个),又因为延迟的原因,所以环境是相对公平的。

Surprising findings

  1. 多种奖励机制确实对训练有帮助,可以打败更高等级的敌人
  2. 可以学习到Creep blocking无需使用任何额外的操作
  3. 还有许多bugs但是已经可以超过人类了

The Dota 2 AI framework


使用一个基于LUA的沙盒,面向Dota2的接口进行编程
从而只需要将自己建立好的外部的External Controller利用HTTP和JSON的方法与LUA进行对接

Learning From Video DRL OpenAI Five相关推荐

  1. 【论文阅读】Rethinking Spatiotemporal Feature Learning For Video Understanding

    [论文阅读]Rethinking Spatiotemporal Feature Learning For Video Understanding 这是一篇google的论文,它和之前介绍的一篇face ...

  2. T3D—《Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification》概述

    <Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification>概述 引言: ...

  3. 论文笔记 Unsupervised Scale-consistent Depth Learning from Video

    我整理了一些单目深度估计的论文,github地址:awesome-Monocular-Depth-Estimation 持续更新中 2021 [IJCV] Unsupervised Scale-con ...

  4. 论文笔记Multi-Scale Temporal Cues Learning for Video Person Re-Identification

    Multi-Scale Temporal Cues Learning for Video Person Re-Identification 用于视频行人重识别的多尺度时间线索学习 1.摘要 摘要中提到 ...

  5. 【综述翻译】Deep Learning for Video Game Playing

    深度强化学习实验室 原文来源:https://arxiv.org/pdf/1708.07902.pdf 翻译作者:梁天新博士 编辑:DeepRL 在本文中,我们将回顾最近的Deep Learning在 ...

  6. Deep Learning for Video Game Playing《DQN 在电子游戏中的应用》

    在本文中,我们回顾了深度学习的最新进展,介绍了它们如何应用于玩不同类型的视频游戏,例如第一人称射击游戏,街机游戏和实时策略游戏. 我们分析了不同游戏类型对深度学习系统的独特要求,并强调了将这些机器学习 ...

  7. ICCV 2017 《Unsupervised Learning from Video to Detect Foreground Objects in Single Images》论文笔记

    本学弱喜欢在本子上记笔记,但字迹又丑. 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正.

  8. Collaborative Spatiotemporal Feature Learning for Video Action Recognition 论文笔记

    论文笔记 1 引子 ​ 在本文中,我们提出了一种新颖的协作时空(CoST)特征学习操作,它与权重共享共同学习时空特征. ​ 给定3D体积视频张量,我们通过从不同角度观看它们,将其展平为三组2D图像. ...

  9. Deep learning in video multi-object tracking A survey 论文笔记

最新文章

  1. 概率统计 —— 常犯错误
  2. python环境搭建需要装几个软件_python的发展前景及python环境搭建
  3. Java之HashMap源码解析1
  4. Http服务添加认证
  5. c语言 offsetof函数,C 库宏 - offsetof()函数
  6. recyclervie刷新到底部_RecyclerView底部刷新实现详解
  7. SOCKET,TCP/UDP,HTTP,FTP
  8. Java集合:什么是Java集合?
  9. maven插件介绍之tomcat7-maven-plugin
  10. Android获取所有Activity
  11. SpringBoot2.0应用(五):SpringBoot2.0整合MyBatis
  12. 2. Mysql 升级 与 升级后 mysql --version 和 select version() 不一致问题
  13. 2019年1月30日
  14. 小程序 自定义气泡框
  15. 计算机的方差符号怎么输入,【2人回答】标准差的符号在电脑上怎么输入?-3D溜溜网...
  16. 微信小程序如何跳转到tabbar页面-陆大湿
  17. vue中input限制只能输入数字
  18. [经验]iOS开发-记录下在开发过程中遇到的问题的解决方案及经验总结-1
  19. flux和redux
  20. python怎么编写对称图案_如何使用opencvpython识别图像的形状是对称的还是不对称的?...

热门文章

  1. 消防辅助利器:“华平高空布控系统”系列装备简介
  2. c语言winpcap编程,c语言Winpcap编程结构并接收解析arp包
  3. 百度输入法AI 赋能大华会议平板,带你体验会议大屏的手写自由
  4. RISC-V MCU将常量定义到指定的Flash地址 -- 以CH32V103为例
  5. LG V40 ThinQ大量点!三主镜头与16倍变焦
  6. codeforces962C(暴力的构造)
  7. 如何编辑公众号文章(公众号文章写手)
  8. 解决pycharm中无法使用搜狗输入法
  9. mysql集群session_PHP集群session共享
  10. linux truncate 命令,truncate 命令使用