当前位置: 首页 > news >正文

Representation RL:HarmonyDream: Task Harmonization Inside World Models

ICML2024
paper
code

Intro

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

Method

算法基于DreamV2的世界模型架构:

  1. 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}) ztqθ(ztzt1,at1,ot)
  2. Observation model: o ^ t ∼ p θ ( o ^ t ∣ z t ) \hat{o}_t\sim p_\theta(\hat{o}_t\mid z_t) o^tpθ(o^tzt)
  3. 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^tpθ(z^tzt1,at1)
  4. Reward model: r ^ t ∼ p θ ( r ^ t ∣ z t ) . \hat{r}_t\sim p_\theta\left(\hat{r}_t\mid z_t\right). r^tpθ(r^tzt).

所有参数通过联合训练以下三个损失函数

  1. Observation loss: L o ( θ ) = − log ⁡ p θ ( o t ∣ z t ) \mathcal{L}_o(\theta)=-\log p_\theta(o_t\mid z_t) Lo(θ)=logpθ(otzt)
  2. Reward loss: L r ( θ ) = − log ⁡ p θ ( r t ∣ z t ) \mathcal{L}_{r}(\theta)=-\log p_{\theta}(r_{t}\mid z_{t}) Lr(θ)=logpθ(rtzt)
  3. 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θ(ztzt1,at1,ot)pθ(z^tzt1,at1)],

对三种目标加权后便是最终优化目标
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的效果也很好。

http://www.lryc.cn/news/380235.html

相关文章:

  • Centos7系统下Docker的安装与配置
  • 无人机校企合作
  • 八爪鱼现金流-028,个人网站访问数据统计分析,解决方案
  • 大厂面试官问我:布隆过滤器有不能扩容和删除的缺陷,有没有可以替代的数据结构呢?【后端八股文二:布隆过滤器八股文合集】
  • PHP米表域名出售管理源码带后台
  • 【开发12年码农教你】Android端简单易用的SPI框架-——-SPA
  • 以太坊==MetaMask获取测试币最新网址
  • 军用FPGA软件 Verilog语言的编码准测之触发器、锁存器
  • 智能汽车 UI 风格独具魅力
  • javafx例子笔记
  • 【ajax基础】回调函数地狱
  • SparkSQL的分布式执行引擎-Thrift服务:学习总结(第七天)
  • 联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十)
  • 计算机系统基础实训五—CacheLab实验
  • PHP框架之CodeIgniter框架
  • 714. 买卖股票的最佳时机含手续费
  • Linux系统查看程序内存及CPU占用
  • 数据结构7---图
  • Excel 如何复制单元格而不换行
  • 前端 CSS 经典:mix-blend-mode 属性
  • OpenCV--滤波器(一)
  • MK的前端精华笔记
  • 低代码平台框架:开源选型、实践与应用深度解析
  • 深度学习500问——Chapter12:网络搭建及训练(3)
  • Android使用DevRing框架搭建数据库实体类以及使用
  • 高效BUG管理:定级、分类和处理流程
  • 服务器数据恢复—raid5热备盘同步失败导致阵列崩溃如何恢复数据?
  • Ubuntu iso 镜像下载 步骤截图说明
  • git拉取gitee项目到本地
  • 力扣42.接雨水