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=1∑TEq[Jot
logp(ot∣ht,st)+JRt
logp(rt∣ht,st)−JKLt
DKL(q(st∣ht,ot)∥p(st∣ht))]
然而,事实上在策略学习过程中仅仅需要正确的奖励模型以及状态转移函数,并没有利用这一重构模型。因此,本文算法提出基于非对比的无监督表征学习方法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=1∑K(wt,k(1)logvt,k(2)+wt,k(2)logvt,k(1)),JTempt=21k=1∑K(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=1∑TEq[JSWAVt+JTempt+JRt−JKLt],
结果
两个表征学习损失函数的消融