李宏毅深度强化学习导论——当奖励是稀疏的

引言

这是李宏毅强化学习的笔记,主要介绍如何处理稀疏奖励问题。

稀疏奖励

在这里插入图片描述
当我们拿Actor和环境互动后可以得到很多奖励,整理之后可以得到分数 A A A,然后可以训练Actor。
但RL中有时会出现多数情况下奖励为零,此时我们不知道动作的好坏。就像下围棋一样,只有最终游戏结束才能得到奖励。
其实下围棋还好,更困难的是诸如教机械臂去拧螺丝,一般只有把螺帽拧进螺丝中才能获得奖励。但是随机初始化的机械臂很难碰巧将螺丝拧进去。此时需要定义额外的奖励来引导Actor去学习——这种做法就叫奖励塑形(reward shaping)。

奖励塑形

这里介绍了一篇工作TRAINING AGENT FOR FIRST-PERSON SHOOTER
GAME WITH ACTOR-CRITIC CURRICULUM LEARNING利用奖励塑形来类似训练模型打CS。

想成是吃鸡会比较有趣。

游戏里面被打死会扣分(负奖励),杀死敌人会加分(正奖励)。但是只通过这个奖励来训练智能体是很难的,这篇工作利用了奖励塑形的概念来定义其他奖励:

在这里插入图片描述
比如掉血(health loss)就得到-0.05的奖励;损失子弹(ammo loss)也扣一点分数;捡到医疗包(health pickup)会得到0.04的奖励;捡到子弹(ammo pickup)也会加分;
然后还有一些有意思的奖励设定:如果原地不动(dist penalty)也会扣分(-0.03);如果移动(dist reward)就给一个很小的正奖励;如果智能体活着(living)也会被扣分(-0.008),这个用来防止智能体苟分,鼓励智能体去击杀敌人。

实际上吃鸡中有毒圈本身可以防止一直苟分。

显然奖励塑形是需要领域知识的。

另外还有一个来自文章Reverse Curriculum Generation for Reinforcement Learning Agents的例子:
在这里插入图片描述
要训练机械臂将带洞的蓝色板套入这根棍子中,显然凭空学到这件事很不容易。
但是我们可以想到很直觉的方法,比如定义蓝色板离棍子的距离越近,奖励越大;但单纯靠距离衡量是不够的,比如还要板子中的洞靠近棍子顶部等等。

好奇心

在奖励塑形中有一种给模型加上Curiosity(好奇心)的方法。即探索新事物,如果Actor在活动的过程中看到(有意义的)新事物就会被加分。

Curiosity-driven Exploration by Self-supervised Prediction这篇工作在无奖励的情况下训练机器玩超级玛丽。

在这里插入图片描述
https://pathak22.github.io/noreward-rl/ 可以看到演示视频。

因为超级玛丽只有通关的时候才会有奖励,也属于稀疏奖励的情况。这篇工作通过设定好奇心鼓励机器不断地看到新东西(新场景)来训练机器通关,这个设定比较符合这款游戏,因为只有玛丽不断王往右走才能看到新场景。

上面说的有意义的新事物是排除掉无意义的噪音画面:
在这里插入图片描述
比如这种画面它的像素点是随机的,绝对够新,但无意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行存储与列存储:大数据存储方案的选择与优缺点分析

随着大数据时代的来临,数据的规模和复杂性呈指数级增长,传统的关系数据库已经不再适应这一巨大的存储量和计算要求。在大数据存储领域,行存储和列存储成为两种备受关注的存储方案。本文将探讨行存储和列存储的定义、优缺点,并结合…

第十四届省赛大学B组(C/C++)岛屿个数

目录 题目链接:岛屿个数 解题思路: AC代码(BFSDFS): 题目链接:岛屿个数 小蓝得到了一副大小为 MN 的格子地图,可以将其视作一个只包含字符 0(代表海水)和 1&#xff0…

LeetCode-331. 验证二叉树的前序序列化【栈 树 字符串 二叉树】

LeetCode-331. 验证二叉树的前序序列化【栈 树 字符串 二叉树】 题目描述:解题思路一:看提示主要是栈和树。这题其实不是二叉树的遍历题,而是检验二叉树基础知识的题,也许有些难想。第一种解法是:把有效的叶子节点使用…

【DETR系列目标检测算法代码精讲】01 DETR算法03 Dataloader代码精讲

与一般的Dataloader的区别在于我们对图像进行了随机裁剪,需要进行额外的操作才能将其打包到dataloader里面 这一段的代码如下: if args.distributed:sampler_train DistributedSampler(dataset_train)sampler_val DistributedSampler(dataset_val, shu…

Python 自学(九) 之异常处理,文件及目录操作

目录 1. try ... except ... else ... finally 排列 P231 2. write, read, seek, readline, readlines 基本文件操作 P245 3. os模块 基本目录操作 P249 4. os.path 模块 复杂目录操作 P250 5. os 模块 高…

Spring之循环依赖

什么是循环依赖? 依赖的相互引用,如下列的这种形式 Component public class A {Autowiredprivate B b;}Component public class B {Autowiredprivate A a; } Spring是如何解决循环依赖的 Spring是通过三级缓存来解决循环依赖 singletonObjects : 单例bean,已经实例化,完成…

牛客2024年愚人节比赛(A-K)

比赛链接 毕竟是娱乐场,放平心态打吧。。。 只有A一个考了数学期望,其他的基本都是acmer特有的脑筋急转弯,看个乐呵即可。 A 我是欧皇,赚到盆满钵满! 思路: 我们有 p 1 p_1 p1​ 的概率直接拿到一件实…

Redis改造原始代码

基础篇Redis 5.2.2.改造原始代码 代码说明: 1.在我们完成了使用工厂设计模式来完成代码的编写之后,我们在获得连接时,就可以通过工厂来获得。 ,而不用直接去new对象,降低耦合,并且使用的还是连接池对象。 2.当我们…

FreeROST作业day2

1.总结串口的发送和接收功能使用到的函数 串口发送数据函数: HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout); UART_Handle…

【LeetCode】热题100:排序链表

题目: 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5] …

linux进程fork函数的讲解。

通过指令,查看接口的详细信息 man forkOn success, the PID of the child process is returned in the parent, and 0 is returned in the child. On failure, -1 is returned in the parent, no child process is created, and errno is set appropriately. 这里的返回值的意…

FPGA设计_加法器

文章目录 前言补充:各种门电路符号一、半加器二、全加器三、串行进位加法器3.1、verilog代码设计 四、超前进位加法器4.1、verilog代码设计 五、进位链CARRY4 前言 在之前一篇介绍7系列FPGA底层资源的时候,我们提到过每一个slice当中有一个CARRY4&#…

玫瑰图和雷达图(自备)

目录 玫瑰图 数据格式 绘图基础 绘图升级(文本调整) 玫瑰图 下载数据data/2020/2020-11-24 mirrors_rfordatascience/tidytuesday - 码云 - 开源中国 (gitee.com) R语言绘图—南丁格尔玫瑰图 - 知乎 (zhihu.com) 数据格式 rm(list ls()) libr…

2024年新算法-冠豪猪优化算法(CPO),CPO-RF-Adaboost,CPO优化随机森林RF-Adaboost回归预测-附代码

冠豪猪优化算法(CPO)是一种基于自然界中猪群觅食行为启发的优化算法。该算法模拟了猪群在寻找食物时的集群行为,通过一系列的迭代过程来优化目标函数,以寻找最优解。在这个算法中,猪被分为几个群体,每个群体…

CA根证书——https安全保障的基石

HTTPS通信中,服务器端使用数字证书来证明自己的身份。客户端需要验证服务器发送的证书的真实性。这就需要一个可信的第三方机构,即CA,来颁发和管理证书。CA根证书是证书颁发机构层次结构的顶级证书,客户端信任的所有证书都可以追溯…

python实现泊松回归

1 什么是基于计数的数据? 基于计数的数据包含以特定速率发生的事件。发生率可能会随着时间的推移或从一次观察到下一次观察而发生变化。以下是基于计数的数据的一些示例: 每小时穿过十字路口的车辆数量每月去看医生的人数每月发现的类地行星数量 计数数…

行车记录打不开?别慌,数据恢复有高招!

行车记录打不开,这恐怕是许多车主都曾经遭遇过的烦恼。在驾驶途中,行车记录仪本应是记录美好瞬间、保障行车安全的重要工具,但一旦它出现打不开的情况,所有的期待与信赖便瞬间化为乌有。面对这种情况,我们该如何应对&a…

web学习笔记(五十一)

目录 1. post请求和get请求的区别 2. CORS 跨域资源共享 2.1 什么是同源 2.2 什么是同源策略 2.3 如何实现跨域资源共享 2.4 使用 cors 中间件解决跨域问题 2.5 JSONP 接口 2.6 实现 JSONP 接口的步骤 1. post请求和get请求的区别 传参方式不同:get请求参数…

文本文件操作

大家好&#xff1a; 衷心希望各位点赞。 您的问题请留在评论区&#xff0c;我会及时回答。 文件操作 程序运行时&#xff0c;产生的数据都是临时数据&#xff0c;程序一旦运行结束都会被释放。通过文件可以将数据持久化。 C中对文件进行操作需要包含头文件<fstream> 文件…

2024年抖音小店的保证金是多少?真的可以做0元保证金的店铺吗?

大家好&#xff0c;我是电商糖果 2024年想要入驻抖音小店的商家依旧很多&#xff0c;关于小店的保证金问题也有不少人前来咨询。 大家问的最多的是可以开通0元保证金的店铺吗&#xff1f;以及2024年抖音小店保证金是多少&#xff1f; 这里糖果给大家一个个解答。 可以开通0…