DreamerV3阅读笔记

DreamerV3

在这里插入图片描述

  • 文章希望解决的一个挑战是用固定的hyperparameter来同时处理不同domain的任务。
  • 文章发现,通过结合KL balancing 和free bits可以使得world model learn without tuning(是指上面这件事,即不需要对不同任务改变hyperparameter),还发现把large returns 给scaling down(而非amplifying small returns)可以使用固定的policy entropy regularizer。所以从两方面出发可以使得不同domain的任务都可以用相同的一套hyperparameter来train,从而降低tuning的成本。

symlog

  • 这里介绍了一个normalize target的技术。是这样的,如果我们使用神经网络来拟合一些映射,然后当target值都是些很大的值比如几百上千的时候,直接用L2 loss会导致损失发散无法收敛,用L1 Loss或Huber loss同样无法使得模型train得很好。通常我们需要对这些target值进行归一化,处理到0-1附近。文章提出使用一个symlog函数来归一化target值比直接用running statistics(可能指的是在强化学习的过程中统计见过数据的均值和方差,减去均值除以方差,这导致归一化过程在训练前期的不稳定从而导致训练前期的不稳定)好 。
  • symlog其实就是ln函数配合绝对值,如下:
    在这里插入图片描述
    在这里插入图片描述
  • 可以看到,过了单调的symlog函数后,数值范围被scaling down了,同时也不影响原先的小数值的区分度,这是非线性scaling down的优势。使用symlog进行归一化还有一个好处是当遇到新domain数据具有不同范围时,也无需重新计算归一化,保持symlog函数即可。

world model

  • dreamerV3的world model是一个Recurrent State-Space Model (RSSM),它包括以下几个部分:
  • 首先当然是一个encoder,把输入的数据 x x x 编码成 z z z,然后在 z z z空间进行其它的处理。然后有一个sequence model编码隐状态 h h h,用来记录历史特征,从公式看,前面的encoder也用到了隐状态来编码 z z z。除了这两个主要的encoder,其它的就是predictor和decoder了,一个预测reward的predictor,一个是预测是否继续的continue predictor,一个用来train sequence model的dynamic predictor,还有一个是用来train encoder的decoder。
    在这里插入图片描述
    在这里插入图片描述
  • encoder和decoder用的是CNN(处理图像)和MLP(处理其它低频输入),其它predictor都是MLP。
  • 损失函数由3部分组成,一是pred loss,用来计算decoder的输出和x之间的symlog loss,以及reward predictor的输出与label之间的symlog loss,以及continue predictor与label之间的binary classification loss;二是dynamic loss,用来计算dynamic predictor的输出与encoder的输出之间的KL 散度,从而训练dynamic encoder编码更好的h;三是representation loss,同样是计算dynamic predictor的输出与encoder的输出之间的KL 散度,但这个loss是为了训练encoder编码更可预测的z。dynamic loss和representation loss的区别在于,两者都加了一个stop-gradient operator s g ( ⋅ ) sg(\cdot) sg(),不过一个加在dynamic predictor上一个加在encoder上:
    在这里插入图片描述
  • 可以看到,其实dynamic loss和representation loss不是简单的KL 散度,加了一个clip,这个是free bits策略,因为dynamic encoder不包含输入的信息,因此很难预测得和z一模一样。作者认为两者可以有1 nat的距离,加了这个clip,当他们之间的距离小于 1 nat时,不再计算这两个损失,使模型更专注于pred loss,毕竟这才是主要的,其它两个都是辅助而已。作者认为这里用free bits还有利于提高模型的适应性。对3D场景来说,x中包含了很多多余的信息,因此rep loss和dyn loss会很难降到很低,因为要顾及很多多余的信息,而2D场景则相反。因此,其实这两个损失可以看成是两个regularizer。在不同的场景下由于不同的训练难度,这两个regularizer产生的作用会有强弱之分,通常来说权重需要根据不同的场景进行调整。因此当使用free bits时,可以不需要调整,因为当损失低于1时,已经不算这两个损失了。
  • 训练初期,encoder和dynamic predictor的输出有可能非常接近导致KL 散度有极端值,从而训练不稳定,为了避免这个,使用的技巧是把他们的输出以0.01:0.99的比例混合一个随机向量,从而使得KL loss保持在正常范围内。

Actor Critic Learning

  • 未完待续

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

六.逼格拉满-Prometheus+Grafana微服务监控告警

前言 微服务架构是一个分布式系统,由多个独立的服务组成,每个服务可能运行在不同的容器、虚拟机或物理机上,那么在生产环境中我们需要随时监控服务的状态,以应对各种突发情况,比如:内存爆满,CP…

通过短信群发平台拓客引流营销的效果好不好?

通过短信群发平台进行营销拓客引流的效果可以是非常显著的,但具体效果会受到多种因素的影响,如目标受众的选择、短信内容的吸引力、发送时间和频率的合理性等。 以下是一些短信群发平台营销拓客引流的优势: 1.广泛覆盖:短…

Linux|ubuntu22.04安装CUDA最新完整教程

文章目录 一、安装前准备工作查看GPU和型号查看GCC版本*下载gcc12 *检查驱动 二、安装CUDA Toolkit*安装驱动 三、安装后的工作必要操作推荐的操作开启守护进程模式删除本地下载安装包 四、验证删除CUDA常见问题及解决方案还需要安装cuDNN吗?nvcc: No such file or …

Java-常见面试题收集(十六)

二十五 RocketMQ 1 消息队列介绍 消息队列,简称 MQ(Message Queue),它其实就指消息中间件,当前业界比较流行的开源消息中间件包括:RabbitMQ、RocketMQ、Kafka。(一个使用队列来通信的组件&…

信捷XD系列PLC通讯失败程序无法下载如何设置

如题:最近在使用信捷PLC,有时会出现通讯不上的问题,下面将通讯配置步骤及注意事项分享。 一、确保PLC通电,电脑使用USB通讯线和PLC连接。 二、打开程序,点击串口标识,会弹出通信配置窗口。 三、双击USB通讯这条进行设…

【AI如何帮你编写测试用例并输出表格格式】

1、工具:顺便使用一款生成式AI即可,此处用的是ChatGPT,Kimi这两个工具试验。 2、首先要拿到需求文档,根据需求文档向AI发出如下指令(Prompt) “请根据下面这段需求,编写测试用例: …

Spark-键值对RDD数据分区

Spark概述 Spark-RDD概述 在Spark中,键值对RDD数据分区是指将键值对RDD中的数据分布到集群中的不同节点上的过程。 Spark目前支持Hash分区、Range分区和用户自定义分区。Hash分区为当前的默认分区。 分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle后…

【Docker系列】 Docker容器具体信息查询

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

TCP通信流程

TCP通信流程 TCP和UDP的区别 TCP(传输控制协议) 面向连接的:在数据传输之前,TCP 需要三次握手来建立连接。可靠的传输:通过序列号、确认响应、重传机制、流量控制和拥塞控制来保证数据正确传输。基于字节流&#xf…

Redis崩溃后,如何进行数据恢复的?no.24

本课时我们主要学习通过 RDB、AOF、混合存储等数据持久化方案来解决如何进行数据恢复的问题。 Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF,以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在…

MongoDB基础入门到深入(八)MongoDB整合SpringBoot、Chang Streams

文章目录 系列文章索引十五、MongoDB整合SpringBoot1、环境准备2、集合操作3、文档操作(1)相关注解(2)创建实体(3)添加文档(4)查询文档(5)更新文档&#xff0…

Science| 单体耦合纤维实现无芯片纺织电子(纤维器件/智能织物/柔性可穿戴电子)

东华大学Hongzhi Wang,Chengyi Hou和Qinghong Zhang团队在《Science》上发布了一篇题为“Single body-coupled fiber enables chipless textile electronics”的论文。论文内容如下: 一、 摘要 智能纺织品为将技术融入日常生活中提供了理想的平台。然而,目前的纺织电子系统…

非关系型数据库NOSQL

文章目录 1. NOSQL 概述2. 相关理论基础2.1 一致性2.2 分区2.3 存储分布2.4 查询模型 3. NOSQL 数据库的种类3.1 文档存储3.2 键值存储3.3 列存储3.3 图存储 4. NOSQL 应用案例和新技术4.1 HBase 数据库4.2 云数据库 GeminiDB 非关系型的数据库 NOSQL (Not Only SQL)是对不同于…

paligemma、Grounding-DINO-1.5简单无需标注无需训练直接可以使用的VLM图像到文本模型

1、paligemma 参考:https://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/README.md 模型架构: 文本与图像特征一起送入大模型 在线体验网址: https://huggingface.co/spaces/big-vision/paligemma 通过文字prompt既可与图片对话…

Windows11下使用Qt5.14.2编译QtXlsx驱动详细步骤

原有&#xff1a;由于系统需要将QTableWidget表格中的数据导出、在Windows下最开始使用Excel.Application组件实现了导出功能&#xff0c;后面将代码转换到Ubuntu20.04下进行编译&#xff0c;发现项目.pro文件中的QT axcontainer和代码.h文件中的#include <QAxObject>跟…

运维开发.索引引擎ElasticSearch.倒序索引的概念

运维开发.索引引擎ElasticSearch 倒序索引的概念 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn…

ConCurrentHashMap源码学习

ConCurrentHashMap在JDK7之前是ReentrantLockSegmentHashEntry&#xff0c;在JDK8及之后是synchronizedCASNode红黑树。 JDK7之前 对于JDK7的版本实现&#xff0c;ConcurrentHashMap为了提高本身的并发能力&#xff0c;在内部采用了一个Segment结构&#xff0c;一个Segment其…

路由器不能端口映射什么原因?如何设置内网映射?

近期有小伙伴发来求助信息&#xff0c;他以前开游戏服务器和别人一起玩&#xff0c;那个时候端口映射还好&#xff0c;不知道哪一天开始突然不行了&#xff0c;已经是公网了&#xff0c;光猫是桥接的状态&#xff0c;连路由器都换了&#xff0c;就是不能端口映射开服务器&#…

如何使用Suno:免费的AI歌曲生成器

文章目录 Suno AI 是什么&#xff1f;Suno AI 如何工作&#xff1f;选择Suno AI的理由&#xff1a;核心优势易于操作多样化创作灵活的定价策略版权保障技术突破 如何使用Suno AI创作歌曲&#xff1f;第1步&#xff1a;注册Suno AI账户第2步&#xff1a;输入提示词创建第 3 步&a…