深度强化学习中稀疏奖励问题Sparse Reward
Sparse Reward
推荐资料
强化学习算法在被引入深度神经网络后,对大量样本的需求更加明显。如果智能体在与环境的交互过程中没有获得奖励,那么该样本在基于值函数和基于策略梯度的损失中的贡献会很小。
针对解决稀疏奖励问题的研究主要包括:1
Reward Shaping:奖励设计与学习
经验回放机制
探索与利用
多目标学习和辅助任务
1. Reward Shaping
人为设计的 “密集”奖励。
例如,在机械臂“开门”的任务中,原始的稀疏奖励设定为:若机械臂把门打开,则给予“+1”奖励,其余情况下均给予“0”奖励。然而,由于任务的复杂性,机械臂从随机策略开始,很难通过自身探索获得奖励。为了简化训练过程,可以使用人为设计的奖励:1)在机械臂未碰到门把手时,将机械臂与门把手距离的倒数作为奖励;2)当机械臂接触门把手时,给予“+0.1”奖励;3)当机械臂转动门把手时,给予“+0.5”奖励;4)当机械臂完成开门时,给予“+1”奖励。这样,通过人为设计的密集奖励,可以引导机械臂完成开门的操作,简化训练过程。
2. 逆向强化学习
针对人为设计奖励中存在的问题,Ng等2提出了从最优交互序列中学习奖励函数的思路,此类方法称为”逆强化学习”。
3. 探索与利用(好奇法):
在序列决策中,智能体可能需要牺牲当前利益来选择非最优动作,期望能够获得更大的长期回报。
在 DRL领域中使用的探索与利用方法主要包括两类:基于计数的方法和基于内在激励的方法。其目的是构造虚拟奖励,用于和真实奖励函数共同学习。由于真实的奖励是稀疏的,使用虚拟奖励可以加快学习的进程。
ICM3(逆环境模型)—— 改进的基于内在激励的方法
- Network 1:预测的状态S与实际状态S差别越大,回报r越大,鼓励冒险
- Network 2:输入 \(S_t\) 和 \(S_{t+1}\) ,预测动作 \(a_t\) ,与真实动作差别大时,表示无关紧要的状态。
- ICM 通过学习可以在特征空间中去除与预测动作无关的状态特征,在特征空间中构建环境模型可以去除环境噪声。
4. 多目标学习——层次强化学习
- 智能体可以从已经到达的位置来获得奖励。在训练中使用虚拟目标替代原始目标,使智能体即使在训练初期也能很快获得奖励,极大地加速了学习过程。
- 将一个单一目标,拆解为多个阶段的多层级的目标。
5. 辅助任务
在稀疏奖励情况下,当原始任务难以完成时,往往可以通过设置辅助任务的方法加速学习和训练。
Curriculum Learning,“课程式”强化学习:
当完成原始任务较为困难时,奖励的获取是困难的。此时,智能体可以先从简单的、相关的任务开始学习,然后不断增加任务的难度,逐步学习更加复杂的任务。
- 直接添加辅助任务:第二类方法是直接在原任务的基础上添加并行的辅助任 务,原任务和辅助任务共同学习。
参考文献
深度强化学习中稀疏奖励问题Sparse Reward的更多相关文章
- (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)
本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...
- 5G网络的深度强化学习:联合波束成形,功率控制和干扰协调
摘要:第五代无线通信(5G)支持大幅增加流量和数据速率,并提高语音呼叫的可靠性.在5G无线网络中共同优化波束成形,功率控制和干扰协调以增强最终用户的通信性能是一项重大挑战.在本文中,我们制定波束形成, ...
- 【资料总结】| Deep Reinforcement Learning 深度强化学习
在机器学习中,我们经常会分类为有监督学习和无监督学习,但是尝尝会忽略一个重要的分支,强化学习.有监督学习和无监督学习非常好去区分,学习的目标,有无标签等都是区分标准.如果说监督学习的目标是预测,那么强 ...
- 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)
一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25 16:29:19 对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...
- 深度强化学习资料(视频+PPT+PDF下载)
https://blog.csdn.net/Mbx8X9u/article/details/80780459 课程主页:http://rll.berkeley.edu/deeprlcourse/ 所有 ...
- 深度强化学习day01初探强化学习
深度强化学习 基本概念 强化学习 强化学习(Reinforcement Learning)是机器学习的一个重要的分支,主要用来解决连续决策的问题.强化学习可以在复杂的.不确定的环境中学习如何实现我们设 ...
- 深度强化学习(DQN-Deep Q Network)之应用-Flappy Bird
深度强化学习(DQN-Deep Q Network)之应用-Flappy Bird 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-fu ...
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...
- 深度强化学习(DRL)专栏(一)
目录: 1. 引言 专栏知识结构 从AlphaGo看深度强化学习 2. 强化学习基础知识 强化学习问题 马尔科夫决策过程 最优价值函数和贝尔曼方程 3. 有模型的强化学习方法 价值迭代 策略迭代 4. ...
随机推荐
- [源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer
[源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer 目录 [源码解析] 深度学习分布式训练框架 horovod (7) --- Distri ...
- 在微信小程序中使用阿里图标库Iconfont
首先想要使用图标,只用上图的五个iconfont相关文件就可以了.(下下来的文件iconfont.wxss开始是.css的后缀,手动改成.wxss就可以在小程序中使用) 然后在app.wxss中引入i ...
- SpringBoot 拦截器妙用,让你一个人开发整个系统的鉴权模块!
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. Han ...
- Redis的flushall/flushdb误操作
Redis的flushall/flushdb命令可以做数据清除,对于Redis的开发和运维人员有一定帮助,然而一旦误操作,它的破坏性也是很明显的.怎么才能快速恢复数据,让损失达到最小呢? 假设进行fl ...
- 源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)
Git常用命令 源代码工具 工具名称 相关地址 Git Git for Windows VSC Visual Studio Code VSC插件(Gitlen) GitLens - Git super ...
- 飞扬起舞,基于.Net Cli亲手打造.Net Core团队的项目脚手架
什么是脚手架? Scaffolding is a meta-programming method of building database-backed software applications. ...
- 《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)
1.简介 经过前边几篇文章和宏哥一起的学习,想必你已经知道了如何去查看Selenium相关接口或者方法.一般来说我们绝大多数看到的是已经封装好的接口,在查看接口源码的时候,你可以看到这个接口上边的注释 ...
- JPA事务中的异常最后不也抛出了,为什么没被catch到而导致回滚?
上周,我们通过这篇文章<为什么catch了异常,但事务还是回滚了?>来解释了,之前test4为什么会回滚的原因. 但还是收到了很多没有理解的反馈,主要是根据前文给出的线索去跟踪,是获得到了 ...
- Centos 8 上定时备份Gitlab ,脚本实现定时备份,备份恢复
定时备份 要求 为了能够备份和恢复,请确保你的系统上安装了Rsync yum install rsync -y 配置备份目标机器免密认证 执行ssh-keygen -t rsa 生成私钥和公钥 ssh ...
- linux~大文件相关操作的总结
1.生成指定大小的文件 在当前目录下生成一个50M的文件: dd if=/dev/zero of=50M.file bs=1M count=50 truncate -s 2G ~/big.log.t ...