Representation RL:HarmonyDream: Task Harmonization Inside World Models
ICML2024
paper
code
Intro
基于状态表征的model-based强化学习方法一般需要学习状态转移模型以及奖励模型。现有方法都是将二者联合训练但普遍缺乏对如何平衡二者之间的比重进行研究。本文提出的HarmonyDream便是通过自动调整损失系数来维持任务间的和谐,即在世界模型学习过程中保持观测状态建模和奖励建模之间的动态平衡。
Method
算法基于DreamV2的世界模型架构:
- Representation model: z t ∼ q θ ( z t ∣ z t − 1 , a t − 1 , o t ) z_{t}\sim q_{\theta }( z_{t}\mid z_{t- 1}, a_{t- 1}, o_{t}) zt∼qθ(zt∣zt−1,at−1,ot)
- Observation model: o ^ t ∼ p θ ( o ^ t ∣ z t ) \hat{o}_t\sim p_\theta(\hat{o}_t\mid z_t) o^t∼pθ(o^t∣zt)
- Transition model: z ^ t ∼ p θ ( z ^ t ∣ z t − 1 , a t − 1 ) \hat{z} _t\sim p_\theta ( \hat{z} _t\mid z_{t- 1}, a_{t- 1}) z^t∼pθ(z^t∣zt−1,at−1)
- Reward model: r ^ t ∼ p θ ( r ^ t ∣ z t ) . \hat{r}_t\sim p_\theta\left(\hat{r}_t\mid z_t\right). r^t∼pθ(r^t∣zt).
所有参数通过联合训练以下三个损失函数
- Observation loss: L o ( θ ) = − log p θ ( o t ∣ z t ) \mathcal{L}_o(\theta)=-\log p_\theta(o_t\mid z_t) Lo(θ)=−logpθ(ot∣zt)
- Reward loss: L r ( θ ) = − log p θ ( r t ∣ z t ) \mathcal{L}_{r}(\theta)=-\log p_{\theta}(r_{t}\mid z_{t}) Lr(θ)=−logpθ(rt∣zt)
- Dynamics loss: L d ( θ ) = K L [ q θ ( z t ∣ z t − 1 , a t − 1 , o t ) ∥ p θ ( z ^ t ∣ z t − 1 , a t − 1 ) ] \mathcal{L}_{d}(\theta)=KL[q_{\theta}(z_{t}\mid z_{t-1},a_{t-1},o_{t})\parallel p_{\theta}(\hat{z}_{t}\mid z_{t-1},a_{t-1})] Ld(θ)=KL[qθ(zt∣zt−1,at−1,ot)∥pθ(z^t∣zt−1,at−1)],
对三种目标加权后便是最终优化目标
L ( θ ) = w o L o ( θ ) + w r L r ( θ ) + w d L d ( θ ) . \mathcal{L}(\theta)=w_o\mathcal{L}_o(\theta)+w_r\mathcal{L}_r(\theta)+w_d\mathcal{L}_d(\theta). L(θ)=woLo(θ)+wrLr(θ)+wdLd(θ).
HarmonyDream提出动态加权方法,
L ( θ , σ o , σ r , σ d ) = ∑ i ∈ { o , r , d } H ^ ( L i ( θ ) , σ i ) (5) = ∑ i ∈ { o , r , d } 1 σ i L i ( θ ) + log ( 1 + σ i ) . \begin{aligned} \mathcal{L}(\theta,\sigma_{o},\sigma_{r},\sigma_{d})& =\sum_{i\in\{o,r,d\}}\hat{\mathcal{H}}(\mathcal{L}_{i}(\theta),\sigma_{i}) \\ &&\text{(5)} \\ &=\sum_{i\in\{o,r,d\}}\frac{1}{\sigma_{i}}\mathcal{L}_{i}(\theta)+\log{(1+\sigma_{i})}. \end{aligned} L(θ,σo,σr,σd)=i∈{o,r,d}∑H^(Li(θ),σi)=i∈{o,r,d}∑σi1Li(θ)+log(1+σi).(5)
其中 σ i \sigma_i σi由 σ i = exp ( s i ) > 0 \sigma_i=\exp(s_i)>0 σi=exp(si)>0表示,源码中 s s s为一个可梯度回传的参数且初始化为0。
self.harmony_s1 = torch.nn.Parameter(-torch.log(torch.tensor(1.0))) #reward
self.harmony_s2 = torch.nn.Parameter(-torch.log(torch.tensor(1.0))) # image
self.harmony_s3 = torch.nn.Parameter(-torch.log(torch.tensor(1.0))) # kl
结果
相较于DreamerV2提升明显。结合DreamerV3的效果也很好。
相关文章:

Representation RL:HarmonyDream: Task Harmonization Inside World Models
ICML2024 paper code Intro 基于状态表征的model-based强化学习方法一般需要学习状态转移模型以及奖励模型。现有方法都是将二者联合训练但普遍缺乏对如何平衡二者之间的比重进行研究。本文提出的HarmonyDream便是通过自动调整损失系数来维持任务间的和谐,即在世界…...

Centos7系统下Docker的安装与配置
文章目录 前言下载Docker安装yum库安装Docker启动和校验配置Docker镜像加速卸载Docker 前言 此博客的内容的为自己的学习笔记,如果需要更具体的内容,可查看Docker官网文档内容 注意:以下命令在root管理员用户下运行,如果在普通用…...

无人机校企合作
有没有想过,无人机和校企合作能碰撞出怎样的火花?🔥今天就来给大家揭秘一下这个神秘组合! 无人机,作为现代科技的代表,已经渗透到我们生活的方方面面。而校企合作,更是推动科技创新、培养人才的…...

八爪鱼现金流-028,个人网站访问数据统计分析,解决方案
个人网站访问数据统计分析,解决方案 调研 结论:使用百度统计 步骤 1.注册百度统计 2.获取安装代码 3.在项目中,页面代码添加如下片段 <script>var _hmt _hmt || [];(function() {var hm document.createElement("script&…...

大厂面试官问我:布隆过滤器有不能扩容和删除的缺陷,有没有可以替代的数据结构呢?【后端八股文二:布隆过滤器八股文合集】
往期内容: 面试官问我:Redis处理点赞,如果瞬时涌入大量用户点赞(千万级),应当如何进行处理?【后端八股文(1)】-CSDN博客 本文为【布隆过滤器八股文合集】初版,…...

PHP米表域名出售管理源码带后台
源码介绍 html5米表源码PHP域名销售程序安装方法: 本站已测试,各项功能正常,功能易用,不复杂,非常适合个人米表使用 1、所有文件传至网站目录 2、浏览器执行http://你的访问网址/install 3、输入mysql帐号及密码信息,提交安装 源码截图 源码下载 …...

【开发12年码农教你】Android端简单易用的SPI框架-——-SPA
Service(priority 1) public class APrinterService implements IPrinterService { Override public void print() { System.out.println(“this is a printer service.”); } } 复制代码 B模块 —— BPrinterService Service(path“b_printer”, priority 2) public class…...

以太坊==MetaMask获取测试币最新网址
估算分数https://community.infura.io/t/unable-to-receive-sepolia-eth-from-faucet/7715 Gitcoin Passport 水龙头地址,填入自己的测试地址 水龙头项目地址 GitHub - pk910/PoWFaucet: Modularized faucet for EVM chains with different protection methods (…...
军用FPGA软件 Verilog语言的编码准测之触发器、锁存器
军用FPGA软件 Verilog语言的编码准测之触发器、锁存器 语言 :Verilg HDL EDA工具:ISE、Vivado、Quartus II 军用FPGA软件 Verilog语言的编码准测之触发器、锁存器一、引言二、基本编程规范之触发器强制准则1---禁止在同一个 always 语句中混合使用有复位…...

智能汽车 UI 风格独具魅力
智能汽车 UI 风格独具魅力...
javafx例子笔记
文章目录 创建过程javafx独立版报错 Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init> javafx是java gui工具。 一般会转换为exe,成为可交互的应用。 那么来个简单的例子吧。 先说明一点,javafx不…...

【ajax基础】回调函数地狱
一:什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数(甚至一直嵌套下去),形成回调函数地狱 回调函数地狱存在问题: 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…...

SparkSQL的分布式执行引擎-Thrift服务:学习总结(第七天)
系列文章目录 SparkSQL的分布式执行引擎 1、启动Thrift服务 2、beeline连接Thrift服务 3、开发工具连接Thrift服务 4、控制台编写SQL代码 文章目录 系列文章目录前言一、SparkSQL的分布式执行引擎(了解)1、启动Thrift服务2、beeline连接Thrift服务3、开发工具连接Thrift服务4、…...

联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十)
OceanBase《DB大咖说》第 10 期,我们邀请到了联华集团的CTO楼杰,来分享他如何思考 IT 业务价值,以及联华华商数据库的升级实践。 楼杰从大学毕业后就进入了联华工作,并一直扎根在近 20 年的,从一名底层的技术员成长为…...

计算机系统基础实训五—CacheLab实验
实验目的与要求 1、让学生更好地应用程序性能的优化方法; 2、让学生更好地理解存储器层次结构在程序运行过程中所起的重要作用; 3、让学生更好地理解高速缓存对程序性能的影响; 实验原理与内容 本实验将帮助您了解缓存对C程序性能的影响…...
PHP框架之CodeIgniter框架
CodeIgniter框架详细说明 CodeIgniter是一个简单而强大的PHP框架,专为快速开发Web应用程序而设计。它遵循MVC(模型-视图-控制器)设计模式,为开发者提供了丰富的功能和灵活性,同时保持代码的轻量级和易于管理。CodeIgn…...

714. 买卖股票的最佳时机含手续费
714. 买卖股票的最佳时机含手续费 原题链接:完成情况:解题思路:ExplanationSummary 参考代码:_714买卖股票的最佳时机含手续费 错误经验吸取 原题链接: 714. 买卖股票的最佳时机含手续费 https://leetcode.cn/probl…...

Linux系统查看程序内存及CPU占用
文章目录 1.free命令2.top命令3.PS命令3.1 查看内存占用前10位:3.2 查看CPU占用前10位 参考文档 1.free命令 可以通过free命令查看物理内存占用情况 #单位KB free #单位MB free -m #单位GB free -h 2.top命令 输入top命令,会输出定时刷新的程序PID、内…...

数据结构7---图
一、定义 对于图的定义,我们需要明确几个注意的地方:一线性表中我们把数据元素叫元素,树中叫结点,在途中数据元素我们则称之为顶点(Vertex)。 对于图的定义,我们需要明确几个注意的地方: 线性表中我们把数据元素叫元素…...

Excel 如何复制单元格而不换行
1. 打开excle, sheet1右键单击>查看代码>插入>模块 输入代码 Sub CopyText() Updated by NirmalDim xAutoWrapper As ObjectSet xAutoWrapper New DataObject or GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")xAutoWrapper.SetText ActiveC…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
IP选择注意事项
IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时,需要考虑以下参数,然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...