Representation RL : DreamerPro: Reconstruction-Free Model-Based Reinforcement Learning with Prototyp

ICML 2022
paper
code

Intro

Dreamer系列的model-based的方法需要通过解码器,将状态 z t = [ h t , s t ] z_{t}=[h_{t},s_{t}] zt=[ht,st]重构为观测状态进而优化世界模型。这导致面对高位图像输入时计算复杂度高。
J D R E A M E R = ∑ t = 1 T E q [ log ⁡ p ( o t ∣ h t , s t ) ⏟ J o t + log ⁡ p ( r t ∣ h t , s t ) ⏟ J R t − D K L ( q ( s t ∣ h t , o t ) ∥ p ( s t ∣ h t ) ) ⏟ J K L t ] \mathcal{J}_{\mathrm{DREAMER}}=\sum_{t=1}^{T}\mathbb{E}_{q}[\underbrace{\log p(o_{t}\mid h_{t},s_{t})}_{\mathcal{J}_{\mathrm{o}}^{t}}+\underbrace{\log p(r_{t}\mid h_{t},s_{t})}_{\mathcal{J}_{\mathrm{R}}^{t}}-\underbrace{D_{\mathrm{KL}}(q(s_{t}\mid h_{t},o_{t})\parallel p(s_{t}\mid h_{t}))}_{\mathcal{J}_{\mathrm{KL}}^{t}}] JDREAMER=t=1TEq[Jot logp(otht,st)+JRt logp(rtht,st)JKLt DKL(q(stht,ot)p(stht))]
然而,事实上在策略学习过程中仅仅需要正确的奖励模型以及状态转移函数,并没有利用这一重构模型。因此,本文算法提出基于非对比的无监督表征学习方法SwAV结合没有状态重构的Dreamer算法。有效降低计算复杂度以及提高鲁棒性。

Method

在这里插入图片描述
算法首先基于聚类得到k个经过L2-归一化的原型 { c 1 , c 2 , . . . c k } \{c_1,c_2,...c_k \} {c1,c2,...ck}。然后从Buffer中抽样观测序列并基于双线性插值的random shifts得到两种增强序列 o 1 : T ( 1 ) , o 1 : T ( 2 ) o_{1:T}^{(1)},o_{1:T}^{(2)} o1:T(1),o1:T(2)。对于每一个增强序列的观测状态,将通过RSSM模型得到表征 z 1 : T ( i ) z_{1:T}^{(i)} z1:T(i),然后线性映射为同样L2-归一化的 x t i x_t^i xti。与k原型点积以及softmax操作后得到相似程度(分类):
( u t , 1 ( i ) , … , u t , K ( i ) ) = softmax ( x t ( i ) ⋅ c 1 τ , … , x t ( i ) ⋅ c K τ ) (u_{t,1}^{(i)},\ldots,u_{t,K}^{(i)})=\text{softmax}\left(\frac{x_{t}^{(i)}\cdot c_{1}}{\tau},\ldots,\frac{x_{t}^{(i)}\cdot c_{K}}{\tau}\right) (ut,1(i),,ut,K(i))=softmax(τxt(i)c1,,τxt(i)cK)

类似的为了预测增强观测序列匹配的原型,共享RSSM中的卷积编码器,然后经过线性映射 f f f得到 y t y_t yt。与原型的相似程度同理
( v t , 1 ( i ) , … , v t , K ( i ) ) = s o f t m a x ( y t ( i ) ⋅ c 1 τ , … , y t ( i ) ⋅ c K τ ) , (v_{t,1}^{(i)},\ldots,v_{t,K}^{(i)})=\mathrm{softmax}\left(\frac{y_{t}^{(i)}\cdot c_{1}}{\tau},\ldots,\frac{y_{t}^{(i)}\cdot c_{K}}{\tau}\right), (vt,1(i),,vt,K(i))=softmax(τyt(i)c1,,τyt(i)cK),

上述两个值预测的是相似度,具体属于哪个标签将采用Sinkhorn-Knopp算法确定。首先, θ ˉ \bar{\theta} θˉ通过 θ \theta θ soft update得到。然后给出增强序列的score: ( y ˉ t ( i ) ⋅ c 1 , … , y ˉ t ( i ) ⋅ c K ) ,   w h e r e   y ˉ t ( i ) = f θ ( o t ( i ) ) (\bar{y}_{t}^{(i)}\cdot c_{1},\ldots,\bar{y}_{t}^{(i)}\cdot c_{K}),\mathrm{~where~}\bar{y}_{t}^{(i)}=f_{\theta}(o_{t}^{(i)}) (yˉt(i)c1,,yˉt(i)cK), where yˉt(i)=fθ(ot(i))。最后Sinkhorn-Knopp算法分别应用于两个增强序列,得到目标 ( w t , 1 ( i ) , … , w t , K ( i ) ) (w_{t,1}^{(i)},\ldots,w_{t,K}^{(i)}) (wt,1(i),,wt,K(i)), 实现聚类目标的均匀分配

综上,算法的表征学习的目标便是最大化下式
J S W A V t = 1 2 ∑ k = 1 K ( w t , k ( 1 ) log ⁡ v t , k ( 2 ) + w t , k ( 2 ) log ⁡ v t , k ( 1 ) ) , J T e m p t = 1 2 ∑ k = 1 K ( w t , k ( 1 ) log ⁡ u t , k ( 1 ) + w t , k ( 2 ) log ⁡ u t , k ( 2 ) ) . \begin{gathered} \mathcal{J}_{\mathrm{SWAV}}^{t} =\frac{1}{2}\sum_{k=1}^{K}\left(w_{t,k}^{(1)}\log v_{t,k}^{(2)}+w_{t,k}^{(2)}\log v_{t,k}^{(1)}\right), \\ \mathcal{J}_{\mathrm{Temp}}^{t} =\frac{1}{2}\sum_{k=1}^{K}\left(w_{t,k}^{(1)}\log u_{t,k}^{(1)}+w_{t,k}^{(2)}\log u_{t,k}^{(2)}\right). \end{gathered} JSWAVt=21k=1K(wt,k(1)logvt,k(2)+wt,k(2)logvt,k(1)),JTempt=21k=1K(wt,k(1)logut,k(1)+wt,k(2)logut,k(2)).
第一项通过对齐不同增强方法后的图像提高表征能力,然而,它忽略了强化学习中至关重要的时间结构。因此,添加了一个第二项 J T e m p t J^t_{Temp} JTempt,它改进了来自同一状态的预测。使原型接近那些总结了过去观测以及动作的状态(增加w与u的关联),从而将时间结构提炼到原型中。这两项将替代Dreamer中状态重构的损失函数,因此,最终优化函数为
J D R E A M E R P R O = ∑ t = 1 T E q [ J S W A V t + J T e m p t + J R t − J K L t ] , \mathcal{J}_{\mathrm{DREAMERPRO}}=\sum_{t=1}^{T}\mathbb{E}_{q}[\mathcal{J}_{\mathrm{SWAV}}^{t}+\mathcal{J}_{\mathrm{Temp}}^{t}+\mathcal{J}_{\mathrm{R}}^{t}-\mathcal{J}_{\mathrm{KL}}^{t}], JDREAMERPRO=t=1TEq[JSWAVt+JTempt+JRtJKLt],

结果

在这里插入图片描述
两个表征学习损失函数的消融
在这里插入图片描述

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值