Intro
以往的model-based的RL需要使用所有的历史数据拟合环境动力学模型,也就是该模型需要适应所有的历史策略下的状态动作分布,即使这些分布存在偏移问题。因此,本文提出基于策略本身的优先采样方法,优化用于模型训练的样本质量,从而进一步提高model-based方法的sample-efficiency。
Method
首先表示一个经过k-steps后由历史策略构成的集合: Π k = { π 1 , π 2 , . . . , π k } \Pi^{k}=\{\pi_{1},\pi_{2},...,\pi_{k}\} Πk={π1,π2,...,πk},且对应权重表示为: w k = [ w 1 k … , w k k ] \boldsymbol{w}^k=[w_1^k\ldots,w_k^k] wk=[w1k…,wkk],混合策略 π m i x , k = ( Π k , w k ) \pi_{\mathrm{mix},k}=(\Pi^k,w^k) πmix,k=(Πk,wk)对应状态动作分布表示为 ρ π m i x , k ( s , a ) = ∑ i = 1 k w i k ρ π i ( s , a ) \rho^{\pi_{\mathrm{mix},k}}(s,a)~=~\sum_{i=1}^{k}w_{i}^{k}\rho^{\pi_{i}}(s,a) ρπmix,k(s,a) = ∑i=1kwikρπi(s,a)
以往的model-based随机抽样历史策略产生的数据进行model训练,本文在实验中发现随着训练地进行,智能体目标策略不断优化,被访问的状态动作分布以及模型误差也在变化。尤其当前策略的模型预测误差高于历史策略,那基于当前策略进行rollout时,就容易产生异常数据。
本文证明当前策略的模型误差是被Bound,
这个误差上界的第一项表示基于当前策略下的环境交互数据的模型误差,第二项则代表混合策略进行rollout时的状态动作分布偏移以及策略偏移,第三项则是考虑基于model产生的数据对当前策略以及混策略偏移。因此,本文提出的方法通过动作调整
w
i
k
w_i^k
wik减少混合策略与当前策略的分布偏移,进而实现对上届的优化
算法对分别对历史混合策略以及当前策略设置动态变化的权重参数。
Weights design for historical policies: 对于除了当前策略的历史策略,其权重设置如下
w
i
k
=
ξ
π
i
−
1
∑
n
=
1
k
ξ
π
n
−
1
,
ξ
π
i
=
E
s
∼
v
c
^
i
π
m
i
x
[
D
T
V
(
π
c
(
⋅
∣
s
)
∣
∣
π
i
(
⋅
∣
s
)
)
]
,
∀
i
∈
[
k
−
1
]
,
\begin{aligned}&w_i^k=\frac{\xi_{\pi_i}^{-1}}{\sum_{n=1}^k\xi_{\pi_n}^{-1}},\\&\xi_{\pi_i}=\mathbb{E}_{s\sim v_{\hat{c}_i}^{\pi_{\mathbf{mix}}}}\left[D_{TV}(\pi_c(\cdot|s)||\pi_i(\cdot|s))\right],\quad\forall i\in[k-1],\end{aligned}
wik=∑n=1kξπn−1ξπi−1,ξπi=Es∼vc^iπmix[DTV(πc(⋅∣s)∣∣πi(⋅∣s))],∀i∈[k−1],
Weight design for the current policy: 对于将要加入集合的当前策略TV-Distance为0,因此设计权重如下,保证当前策略样本始终优先采样
w
k
k
=
{
α
∑
i
=
1
k
−
1
w
i
k
,
if
α
∑
i
=
1
k
−
1
w
i
k
>
max
i
∈
[
k
−
1
]
{
w
i
k
}
max
i
∈
[
k
−
1
]
{
w
i
k
}
,
if
α
∑
i
=
1
k
−
1
w
i
k
≤
max
i
∈
[
k
−
1
]
{
w
i
k
}
w_k^k=\begin{cases}\alpha\sum_{i=1}^{k-1}w_i^k,&\text{if}\quad\alpha\sum_{i=1}^{k-1}w_i^k>\max_{i\in[k-1]}\{w_i^k\}\\\max_{i\in[k-1]}\{w_i^k\},&\text{if}\quad\alpha\sum_{i=1}^{k-1}w_i^k\le\max_{i\in[k-1]}\{w_i^k\}\end{cases}
wkk={α∑i=1k−1wik,maxi∈[k−1]{wik},ifα∑i=1k−1wik>maxi∈[k−1]{wik}ifα∑i=1k−1wik≤maxi∈[k−1]{wik}
由于策略形式为高斯分布,因此对TV-Distance进行缩放
ξ
π
i
=
1
N
∑
n
=
1
N
D
T
V
(
π
c
(
⋅
∣
s
n
)
∣
∣
π
i
(
⋅
∣
s
n
)
)
≤
1
2
N
∑
n
=
1
N
t
r
(
Σ
π
c
n
−
1
Σ
π
4
n
−
I
)
+
(
μ
π
c
n
−
μ
π
4
n
)
T
Σ
π
4
n
−
1
(
μ
π
c
n
−
μ
π
4
n
)
−
log
det
(
Σ
π
c
n
−
1
Σ
π
4
n
)
\begin{aligned} \xi_{\pi_{i}}& =\frac{1}{N}\sum_{n=1}^{N}D_{TV}(\pi_{c}(\cdot|s_{n})||\pi_{i}(\cdot|s_{n})) \\ &\leq\frac{1}{2N}\sum_{n=1}^{N}\sqrt{tr(\Sigma_{\pi_c^n}^{-1}\Sigma_{\pi_4^n}-I)+(\mu_{\pi_c^n}-\mu_{\pi_4^n})^{\mathsf{T}}\Sigma_{\pi_4^n}^{-1}(\mu_{\pi_c^n}-\mu_{\pi_4^n})-\log\det(\Sigma_{\pi_c^n}^{-1}\Sigma_{\pi_4^n})} \end{aligned}
ξπi=N1n=1∑NDTV(πc(⋅∣sn)∣∣πi(⋅∣sn))≤2N1n=1∑Ntr(Σπcn−1Σπ4n−I)+(μπcn−μπ4n)TΣπ4n−1(μπcn−μπ4n)−logdet(Σπcn−1Σπ4n)
对集成模型的训练沿用了MBPO最大化对数似然的方法:
L
(
θ
)
=
∑
n
=
1
N
[
μ
θ
b
(
s
n
,
a
n
)
−
s
n
+
1
]
⊤
Σ
θ
b
−
1
(
s
n
,
a
n
)
[
μ
θ
b
(
s
n
,
a
n
)
−
s
n
+
1
]
+
log
det
Σ
θ
b
(
s
n
,
a
n
)
\mathcal{L}(\theta)=\sum_{n=1}^N[\mu_\theta^b(s_n,a_n)-s_{n+1}]^\top\Sigma_\theta^{b^{-1}}(s_n,a_n)[\mu_\theta^b(s_n,a_n)-s_{n+1}]+\log\det\Sigma_\theta^b(s_n,a_n)
L(θ)=n=1∑N[μθb(sn,an)−sn+1]⊤Σθb−1(sn,an)[μθb(sn,an)−sn+1]+logdetΣθb(sn,an)
伪代码
实验