文章目录
论文信息:Xue Bin Peng, Aviral Kumar, Grace Zhang, Sergey Levine: “Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning”, 2020;
xbpeng.github.io/projects/AWR/2019_AWR.pdf
本篇论文由伯克利Sergey Levine团队的Xue Bin Peng以第一作者提出,投稿到ICLR 2020和ICLR 2021,尽管都被Reject了,但是论文的观点和方法实验还是很值得学习的。
摘要:Advantage-Weighted Regression (AWR),从名字上来看,就是Advantage版本的Reward-Weighted Regression (RWR)。AWR通过对RWR进行改进,包括两个标准的监督学习步骤,一个通过利用累积奖励的回归来训练价值函数基线,另一个通过加权回归来训练策略。核心思想是将策略优化过程看成是极大似然估计问题,在策略提升过程中,用优势函数进行权重似然估计。作者在Mujoco环境中和其他算法进行了比较,展现了算法的有效性。
1、预备知识
1.1 累计奖励
J
(
π
)
=
E
τ
∼
p
π
(
τ
)
[
∑
t
=
0
∞
γ
t
r
t
]
=
E
s
∼
d
π
(
s
)
,
a
∼
π
(
a
∣
s
)
[
r
(
s
,
a
)
]
J(\pi)=\mathbb{E}_{\tau \sim p_{\pi}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t} r_{t}\right]=\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s}), a \sim \pi(\mathbf{a} \mid \mathbf{s})}[r(\mathbf{s}, \mathbf{a})]
J(π)=Eτ∼pπ(τ)[t=0∑∞γtrt]=Es∼dπ(s),a∼π(a∣s)[r(s,a)]
策略
π
\pi
π的累计奖励的期望,
r
(
s
,
a
)
r(s,a)
r(s,a)换成
R
(
s
,
a
)
R(s,a)
R(s,a)更好。
1.2 RWR
π
k
+
1
=
arg
max
π
E
s
∼
d
π
k
(
s
)
E
a
∼
π
k
(
a
∣
s
)
[
log
π
(
a
∣
s
)
exp
(
1
β
R
s
,
a
)
]
\pi_{k+1}=\underset{\pi}{\arg \max } \mathbb{E}_{\mathbf{s} \sim d_{\pi_{k}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi_{k}(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta} \mathcal{R}_{\mathbf{s}, \mathbf{a}}\right)\right]
πk+1=πargmaxEs∼dπk(s)Ea∼πk(a∣s)[logπ(a∣s)exp(β1Rs,a)]
通过使用当前策略
π
k
\pi_k
πk生成数据,新策略
π
k
+
1
\pi_{k+1}
πk+1(使用最大似然准则下的监督学习)拟合到给定状态的动作条件分布上,加权表示后返回。
2、AWR
2.1 策略评估
策略
(
π
)
(\pi)
(π)相对于策略
(
μ
)
(\mu)
(μ)的提升用下式来表示:
η
(
π
)
=
J
(
π
)
−
J
(
μ
)
\eta(\pi)=J(\pi)-J(\mu)
η(π)=J(π)−J(μ)
然后进行拟合,可以写成在策略
(
π
)
(\pi)
(π)下进行采样,对
(
μ
)
(\mu)
(μ)的优势函数计算期望
η
(
π
)
=
E
s
∼
d
π
(
s
)
E
a
∼
π
(
a
∣
s
)
[
R
s
,
a
μ
−
V
μ
(
s
)
]
\eta(\pi)=\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right]
η(π)=Es∼dπ(s)Ea∼π(a∣s)[Rs,aμ−Vμ(s)]
为求得约束条件下的最优策略,可以采用拉格朗日乘数法进行求解,约束条件是策略
π
\pi
π和策略
μ
μ
μ尽可能相似,利用KL散度的概念进行表示:
arg
max
π
∫
s
d
μ
(
s
)
∫
a
π
(
a
∣
s
)
[
R
s
,
a
μ
−
V
μ
(
s
)
]
d
a
d
s
s.t.
∫
s
d
μ
(
s
)
D
K
L
(
π
(
⋅
∣
s
)
∣
∣
μ
(
⋅
∣
s
)
)
d
s
≤
ϵ
\begin{aligned} \arg \max _{\pi} & \int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \int_{\mathbf{a}} \pi(\mathbf{a} \mid \mathbf{s})\left[\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right] d \mathbf{a} d \mathbf{s} \\ & \text { s.t. } \quad \int_{\mathbf{s}} d_{\mu}(\mathbf{s}) D_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s})|| \mu(\cdot \mid \mathbf{s})) d \mathbf{s} \leq \epsilon \end{aligned}
argπmax∫sdμ(s)∫aπ(a∣s)[Rs,aμ−Vμ(s)]dads s.t. ∫sdμ(s)DKL(π(⋅∣s)∣∣μ(⋅∣s))ds≤ϵ
构建拉格朗日方程,带入化简得:
L
(
π
,
β
)
=
∫
s
d
μ
(
s
)
∫
a
π
(
a
∣
s
)
[
R
s
,
a
μ
−
V
μ
(
s
)
]
d
a
d
s
+
β
(
ϵ
−
∫
s
d
μ
(
s
)
D
K
L
(
π
(
⋅
∣
s
)
∥
μ
(
⋅
∣
s
)
)
d
s
)
\mathcal{L}(\pi, \beta)=\int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \int_{\mathbf{a}} \pi(\mathbf{a} \mid \mathbf{s})\left[\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right] d \mathbf{a} d \mathbf{s}+\beta\left(\epsilon-\int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \mathrm{D}_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s}) \| \mu(\cdot \mid \mathbf{s})) d \mathbf{s}\right)
L(π,β)=∫sdμ(s)∫aπ(a∣s)[Rs,aμ−Vμ(s)]dads+β(ϵ−∫sdμ(s)DKL(π(⋅∣s)∥μ(⋅∣s))ds)
对
p
i
pi
pi求偏导得到的最优解是:
π
∗
(
a
∣
s
)
=
1
Z
(
s
)
μ
(
a
∣
s
)
exp
(
1
β
(
R
s
,
a
μ
−
V
μ
(
s
)
)
)
\pi^{*}(\mathbf{a} \mid \mathbf{s})=\frac{1}{Z(\mathbf{s})} \mu(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right)
π∗(a∣s)=Z(s)1μ(a∣s)exp(β1(Rs,aμ−Vμ(s)))
若要将其用神经网络的形式进行表示,也就是最优策略投影到策略网络上, π ∗ \pi^{*} π∗和 π ∗ \pi^{*} π∗的KL散度尽可能小,转换成优势函数回归的样式:
arg min π E s ∼ d μ ( s ) [ D K L ( π ∗ ( ⋅ ∣ s ) ∥ π ( ⋅ ∣ s ) ) ] = arg min π E s ∼ d μ ( s ) [ D K L ( 1 Z ( s ) μ ( a ∣ s ) exp ( 1 β ( R s , a μ − V μ ( s ) ) ) ∣ ∣ π ( ⋅ ∣ s ) ) ] = arg max π E s ∼ d μ ( s ) E a ∼ μ ( a ∣ s ) [ log π ( a ∣ s ) exp ( 1 β ( R s , a μ − V μ ( s ) ) ) ] \begin{aligned}&\underset{\pi}{\arg \min } \mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})}\left[\mathrm{D}_{\mathrm{KL}}\left(\pi^{*}(\cdot \mid \mathbf{s}) \| \pi(\cdot \mid \mathbf{s})\right)\right]\\ &=\underset{\pi}{\arg \min } \quad \mathbb{E}_{\mathrm{s} \sim d_{\mu}(\mathbf{s})}\left[\mathrm{D}_{\mathrm{KL}}\left(\frac{1}{Z(\mathbf{s})} \mu(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right)|| \pi(\cdot \mid \mathbf{s})\right)\right]\\ &=\underset{\pi}{\arg \max } \quad \mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \mu(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right)\right]\end{aligned} πargminEs∼dμ(s)[DKL(π∗(⋅∣s)∥π(⋅∣s))]=πargminEs∼dμ(s)[DKL(Z(s)1μ(a∣s)exp(β1(Rs,aμ−Vμ(s)))∣∣π(⋅∣s))]=πargmaxEs∼dμ(s)Ea∼μ(a∣s)[logπ(a∣s)exp(β1(Rs,aμ−Vμ(s)))]
2.2 伪代码
AWR算法利用Off-policy获取的数据队列D,每次迭代包括以下步骤:
- 使用策略 π k \pi_{k} πk对一系列轨迹进行采样,将其存储在回放缓冲区 D D D中,采样得到的数据以先进先出队列的形式进行储存。
- 在 D D D中对数据进行采样,利用数据去拟合一个V函数。
- 使用优势加权回归在相同的缓冲区内来拟合新策略,进行策略优化,其中缓冲区中的状态动作对根据指数优势函数进行加权,并对其进行拟合。
2.3 off policy
on policy的采样效率很低,每次迭代中收集到的数据在一次更新迭代之后会被丢弃,为了充分提升样本的利用效率,算法利用了Off-policy思想,最新策略 π k \pi_{k} πk收集到的数据存储到缓冲区 D D D中。对V函数进行拟合和策略改进时,采样策略为之前的策略或者其他不同策略共同组成的一个复合策略。
2.3.1 样本分布
经验池 D D D是之前的策略采集的数据,轨迹分布、状态动作分布和状态分布如下:
μ ( τ ) = ∑ i = 1 k w i d π i ( τ ) , μ ( s , a ) = ∑ i = 1 k w i d π i ( s ) π i ( a ∣ s ) , d μ ( s ) = ∑ i = 1 k w i d π i ( s ) \mu(\tau)=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\tau), \quad \mu(\mathbf{s}, \mathbf{a})=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) \pi_{i}(\mathbf{a} \mid \mathbf{s}), \quad d_{\mu}(\mathbf{s})=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) μ(τ)=i=1∑kwidπi(τ),μ(s,a)=i=1∑kwidπi(s)πi(a∣s),dμ(s)=i=1∑kwidπi(s)
2.3.2 策略提升
添加策略权重
η
(
π
)
=
J
(
π
)
−
J
(
μ
)
=
J
(
π
)
−
∑
i
=
1
k
w
i
J
(
π
i
)
=
∑
i
=
1
k
w
i
(
J
(
π
)
−
J
(
π
i
)
)
=
∑
i
=
1
k
w
i
(
E
s
∼
d
π
(
s
)
,
a
∼
π
(
a
∣
s
)
[
A
π
i
(
s
,
a
)
]
)
\begin{aligned}\eta(\pi) &=J(\pi)-J(\mu) \\ &=J(\pi)-\sum_{i=1}^{k} w_{i} J\left(\pi_{i}\right) \\ &=\sum_{i=1}^{k} w_{i}\left(J(\pi)-J\left(\pi_{i}\right)\right) \\ &=\sum_{i=1}^{k} w_{i}\left(\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s}), \mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[A^{\pi_{i}}(\mathbf{s}, \mathbf{a})\right]\right)\end{aligned}
η(π)=J(π)−J(μ)=J(π)−i=1∑kwiJ(πi)=i=1∑kwi(J(π)−J(πi))=i=1∑kwi(Es∼dπ(s),a∼π(a∣s)[Aπi(s,a)])
构建拉格朗日方程:
L
(
π
,
β
,
α
)
=
(
∑
i
w
i
E
s
∼
d
π
i
(
s
)
E
a
∼
π
(
a
∣
s
)
[
R
s
,
a
π
i
−
V
π
i
(
s
)
]
)
+
β
(
ϵ
−
E
s
∼
d
μ
(
s
)
D
K
L
(
π
(
⋅
∣
s
)
∥
∑
i
=
1
k
w
i
d
π
i
(
s
)
π
i
(
⋅
∣
s
)
∑
j
=
1
k
w
j
d
π
j
(
s
)
)
+
∫
α
s
(
1
−
∫
π
(
a
∣
s
)
d
a
)
d
s
,
\begin{aligned}\mathcal{L}(\pi, \beta, \alpha)=&\left(\sum_{i} w_{i} \mathbb{E}_{\mathbf{s} \sim d_{\pi_{i}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\pi_{i}}-V^{\pi_{i}}(\mathbf{s})\right]\right) \\ &+\beta\left(\epsilon-\mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})} \mathrm{D}_{\mathrm{KL}}\left(\pi(\cdot \mid \mathbf{s}) \| \frac{\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) \pi_{i}(\cdot \mid \mathbf{s})}{\sum_{j=1}^{k} w_{j} d_{\pi_{j}}(\mathbf{s})}\right)\right.\\ &+\int \alpha_{\mathbf{s}}\left(1-\int \pi(\mathbf{a} \mid \mathbf{s}) d \mathbf{a}\right) d \mathbf{s},\end{aligned}
L(π,β,α)=(i∑wiEs∼dπi(s)Ea∼π(a∣s)[Rs,aπi−Vπi(s)])+β(ϵ−Es∼dμ(s)DKL(π(⋅∣s)∥∑j=1kwjdπj(s)∑i=1kwidπi(s)πi(⋅∣s))+∫αs(1−∫π(a∣s)da)ds,
求解得到的结果:
arg
max
π
∑
i
=
1
k
w
i
E
s
∼
d
π
i
(
s
)
E
a
∼
π
i
(
a
∣
s
)
[
log
π
(
a
∣
s
)
exp
(
1
β
(
R
s
,
a
π
i
−
∑
j
w
j
d
π
j
(
s
)
V
π
j
(
s
)
∑
j
w
j
d
π
j
(
s
)
)
)
]
\underset{\pi}{\arg \max } \sum_{i=1}^{k} w_{i} \mathbb{E}_{\mathbf{s} \sim d_{\pi_{i}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi_{i}(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\pi_{i}}-\frac{\sum_{j} w_{j} d_{\pi_{j}}(\mathbf{s}) V^{\pi_{j}}(\mathbf{s})}{\sum_{j} w_{j} d_{\pi_{j}}(\mathbf{s})}\right)\right)\right]
πargmaxi=1∑kwiEs∼dπi(s)Ea∼πi(a∣s)[logπ(a∣s)exp(β1(Rs,aπi−∑jwjdπj(s)∑jwjdπj(s)Vπj(s)))]
2.3.3 价值函数
设置baseline,在
D
D
D中采样数据进行拟合得到价值函数:
V
ˉ
=
arg
min
V
∑
i
w
i
E
s
,
∼
d
π
i
(
s
)
,
a
∼
π
i
(
a
∣
s
)
[
∥
R
s
,
a
π
i
−
V
(
s
)
∥
2
]
\bar{V}=\underset{V}{\arg \min } \sum_{i} w_{i} \mathbb{E}_{\mathbf{s}, \sim d_{\pi_{i}}}(\mathbf{s}), \mathbf{a} \sim \pi_{i}(\mathbf{a} \mid \mathbf{s})\left[\left\|\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\pi_{i}}-V(\mathbf{s})\right\|^{2}\right]
Vˉ=Vargmini∑wiEs,∼dπi(s),a∼πi(a∣s)[∥∥Rs,aπi−V(s)∥∥2]
3、实验
在mujoco、Humanoid和Dog上实验
和其他算法进行比较
AWR在某些环境上表现很好
AWR相对于RWR有了明显提升
时间更短,可以更快的收敛
在静态数据集上效果也不错
Github
结构很清楚,而且比较简单
参考文献
[1]. Xue Bin Peng,Aviral Kumar,Grace Zhang,Sergey Levine: “Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning”, 2019; xbpeng.github.io/projects/AWR/2019_AWR.pdf7.