DRL前沿之:Hierarchical Deep Reinforcement Learning
来源:互联网 发布:域名隐私保护 免费 编辑:IT博客网 时间:2019/08/26 23:49
1 前言
如果大家已经对DQN有所了解,那么大家就会知道,DeepMind测试的40多款游戏中,有那么几款游戏无论怎么训练,结果都是0的游戏,也就是DQN完全无效的游戏,有什么游戏呢?
比如上图这款游戏,叫做Montezuma’s Revenge。这种游戏类似超级玛丽,难在哪里呢?需要高级的策略。比如图中要拿到钥匙,然后去开门。这对我们而言是通过先验知识得到的。但是很难想象计算机如何仅仅通过图像感知这些内容。感知不到,那么这种游戏也就无从解决。
那么这篇文章:
Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation
时间:2016年4月20号
来源: arXiv.org
尝试解决这种问题。
2 文章思路
它的思路很简单,就是弄一个两个层级的神经网络,顶层用于决策,确定下一步的目标,底层用于具体行为。
不得不说,这个想法显而易见(本人也想过啦)但是,问题的关键是
如何确定内在的目标???
作者在paper中说了这么一段话:
“We assume having access to an object detector that provides plausible object candidates.”
说白了就是人工给定目标。然后再来训练。(本质上就是嵌套两个DQN)
那就没什么意思了。
这样从直观感觉可以训练出来。
但是意义就比较小了。
小结
这篇文章比较夸大的提出层次DRL来解决稀疏反馈的问题,但是实际上并不算真正的解决,中间的目标给定太过人工,不具备通用性。也不太可能像作者说的专门为这些游戏开发一个游戏目标物体检测算法。
但是,在否则这篇文章价值的同时,它也是有一定意义的。比如对于自动驾驶汽车,之前Nvidia完全的端到端训练实现自动驾驶,但是如果中间加入一个物体检测作为顶层决策环节,或许可以大大提高控制水平。
而对于image caption这种问题,也是同样的道理。先物体检测,再进入RNN输出文字描述。
不过,个人却不喜欢这种做法。虽然会work,但不智能。
- DRL前沿之:Hierarchical Deep Reinforcement Learning
- DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
- Deep Reinforcement Learning 基础知识
- Deep Reinforcement Learning
- Deep Reinforcement learning
- DRL前沿之:End to End Learning for Self-Driving Cars
- FeUdal Networks for Hierarchical Reinforcement Learning 阅读笔记
- Deep Reinforcement Learning 深度增强学习资源
- Deep Reinforcement Learning 基础知识(DQN方面)
- Deep Reinforcement Learning Papers 强化学习论文集
- Deep Reinforcement Learning 基础知识(DQN方面)
- Deep Reinforcement Learning 深度增强学习资源
- Playing Atari with Deep Reinforcement Learning
- Deep Reinforcement Learning for Dialogue Generation
- Playing Atari with Deep Reinforcement Learning
- Deep Reinforcement Learning 深度增强学习资源
- 【DQN】深度增强学习Deep Reinforcement Learning
- Deep Reinforcement Learning for Dialogue Generation 翻译
- GIT的认识
- java和Spring发送邮件
- UVA - 11997 K Smallest Sums
- Nginx配置PHP框架时出现Access Denied时的解决办法
- test
- DRL前沿之:Hierarchical Deep Reinforcement Learning
- 如何将jpg转换成pdf图片格式
- 俩台服务器搭建redis主从的问题
- AngularJs获取数组的元素例子
- 博客第一天!努力的开始!
- 安卓 集成微信支付和支付宝
- 详细解析Dynamo存储引擎
- GitHub 上Top100 的 Objective-C 项目
- 微信消息回复
【强化学习算法 15】h-DQN
这里的h-DQN是一种hierarchical deep reinforcement learning方法。
原文传送门:
特色:
有一类比较困难的强化学习问题,其环境反馈是sparse和delayed的。这里的解决方法是构造一个两个层级的算法。这很符合人类完成一个复杂任务的模式,遇到一个复杂任务的时候,我们会把它拆解成一系列的小目标,然后逐个去实现这些小目标。通过这样的算法,文章能够学习到Montezuma’s Revenge游戏(一个简单的类似魔塔的小游戏,形式上也有点像超级马里奥)的策略。
分类:
model-free hierarchical RL, value-based, for specific task
过程:
考虑一个两层级的算法。
一个层级叫做meta-controller,它负责获取当前状态

另一个层级叫做controller,它负责接收上一个层级的子任务

算法框架如图所示

算法:

这个工作有哪些不足之处?
1. 对于特定的这个Montezuma’s Revenge任务做了太多特定的engineering,对于其他任务并不是普遍适用。比如critic的判断规定为“小人是否到达某个位置”这样的yes-or-no的判断条件;再比如由于子任务是需要小人到达某个位置,因此就先训练子网络让子网络基本上能知道如何操作才能使得小人移动到规定的地点。个人感觉,文章选择的这个任务属于本身就具有明显层级结构的任务,只要做了合适的分层,效果应该都还有。
2. 文章并没有对比其他hierarchical RL的算法(当然,也有可能2016年还没有特别多这方面可以用于对比的算法)。文中的算法是面向特定任务有做特定工程优化的算法,用于对比的baseline算法只是简单的DQN,这样的对比也不公平。
3. sub-goal的选取和学习是否可以更普适呢?最近看的有些文章感觉做的更好,比如reward稀疏我们就更多地利用环境反馈的state,我们希望个体能更多样地探索状态空间[1];再比如好奇心算法[2](还没仔细看)。其他的这些方法之后有空再聊。
[1] Eysenbach, Benjamin, et al. "Diversity is All You Need: Learning Skills without a Reward Function."arXiv preprint arXiv:1802.06070(2018).
[2] Burda, Yuri, et al. "Large-Scale Study of Curiosity-Driven Learning."arXiv preprint arXiv:1808.04355(2018).