intro
以往在线强化学习通常利用Double-clip Q 防止Q值高估问题,本文则是指出这样的操作以及Bellman算子实现中通过神经网络拟合
max
\max
max
的方式,导致replaybuffer中的某些有潜在高质量的样本价值被低估。因此,本文重新构造了一种混合的bellman算子实现探索与利用的平衡。
method
文章通过对SAC以及TD3剔除Clip-Q,发现仍然存在价值低估问题。指出这是由bellman算子导致。传统Q迭代过程中,
Q
(
s
,
a
)
←
r
(
s
,
a
)
+
γ
E
s
′
[
max
a
′
Q
(
s
′
,
a
′
)
]
.
Q(s,a)\leftarrow r(s,a)+\gamma\mathbb{E}_{s^{\prime}}[\max_{a^{\prime}}Q(s^{\prime},a^{\prime})].
Q(s,a)←r(s,a)+γEs′[maxa′Q(s′,a′)].中max难以计算,因此在计算target-Q时采用的采用求期望
E
s
,
a
∼
π
[
Q
(
s
,
a
)
]
E_{s,a \sim \pi} [Q(s,a)]
Es,a∼π[Q(s,a)]。正是这样的操作使得有些样本的价值估计低估的可能增大。随后,文章通过计算replaybuffer中最优历史策略的价值与在线策略期望价值的残差,证明这种低估随着训练的进行一直存在。
Δ
(
μ
k
,
π
k
)
=
E
s
[
max
a
∼
μ
k
Q
μ
k
(
s
,
a
)
−
E
a
∼
π
k
[
Q
π
k
(
s
,
a
)
]
]
\Delta(\mu_k,\pi_k)=\mathbb{E}_s\left[\max_{a\sim\mu_k}Q^{\mu_k}(s,a)-\mathbb{E}_{a\sim\pi_k}\left[Q^{\pi_k}(s,a)\right]\right]
Δ(μk,πk)=Es[a∼μkmaxQμk(s,a)−Ea∼πk[Qπk(s,a)]]
Blended Exploitation and Exploration operator
为了利用好replaybuffer中的潜在的历史最优策略下的样本,防止其被低估,文章设计一种无关在线策略的bellman算子
T
e
x
p
l
o
i
t
μ
Q
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
⋅
max
a
′
∈
A
,
μ
(
a
′
∣
s
′
)
>
0
E
s
′
∼
P
(
s
′
∣
s
,
a
)
[
Q
(
s
′
,
a
′
)
]
.
(
1
)
\begin{aligned}\mathcal{T}_{exploit}^{\mu}Q(s,a)=r(s,a)+\gamma\cdot\max_{a^{\prime}\in\mathcal{A},\mu(a^{\prime}|s^{\prime})>0}\mathbb{E}_{s^{\prime}\sim P(s^{\prime}|s,a)}[Q(s^{\prime},a^{\prime})].\quad(1)\end{aligned}
TexploitμQ(s,a)=r(s,a)+γ⋅a′∈A,μ(a′∣s′)>0maxEs′∼P(s′∣s,a)[Q(s′,a′)].(1)
其中
μ
\mu
μ表示buffer中的混合历史policy。在实际操作中,为了避免max-target Q计算,采用IQL、Extreme Q-Learning等算法利用采样样本计算V(s)替代以及优化V函数(具体证明见两个论文) ( In-sample Learning via Expectile Regression)
同时,为了保证探索能力,采用正则化的传统基于期望的bellman算子(若采用熵的形式,便是SAC)
T
e
x
p
l
o
r
e
π
Q
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
⋅
E
s
′
∼
P
(
s
′
∣
s
,
a
)
E
a
′
∼
π
(
a
′
∣
s
′
)
[
Q
(
s
′
,
a
′
)
−
ω
(
s
′
,
a
′
∣
π
)
]
(
2
)
\begin{aligned}\mathcal{T}_{explore}^{\pi}Q(s,a)=r(s,a)+\gamma\cdot\mathbb{E}_{s^{\prime}\sim P(s^{\prime}|s,a)}\mathbb{E}_{a^{\prime}\sim\pi(a^{\prime}|s^{\prime})}[Q(s^{\prime},a^{\prime})-\omega(s^{\prime},a^{\prime}|\pi)]\quad(2)\end{aligned}
TexploreπQ(s,a)=r(s,a)+γ⋅Es′∼P(s′∣s,a)Ea′∼π(a′∣s′)[Q(s′,a′)−ω(s′,a′∣π)](2)
然后将两种算子加权融合得到本文BEE算子:
B
{
μ
,
π
}
Q
(
s
,
a
)
=
λ
⋅
T
e
x
p
l
o
i
t
μ
Q
(
s
,
a
)
+
(
1
−
λ
)
⋅
T
e
x
p
l
o
r
e
π
Q
(
s
,
a
)
(
3
)
\begin{aligned}\mathcal{B}^{\{\mu,\pi\}}Q(s,a)=\lambda\cdot\mathcal{T}_{exploit}^{\mu}Q(s,a)+(1-\lambda)\cdot\mathcal{T}_{explore}^{\pi}Q(s,a)\quad(3)\end{aligned}
B{μ,π}Q(s,a)=λ⋅TexploitμQ(s,a)+(1−λ)⋅TexploreπQ(s,a)(3)
伪代码
文章还将该算子结合到model-based 的方法
results
总结
实验全面,效果也好。从价值函数估计角度出发,探索replayBuffer中样本的利用,进而提升sample efficiency。这与上一篇的OBAC的一个共同点,就是利用offline的RL方法得到一个价值函数的表达,OBAC注重用它在策略层面的引导,而本文则侧重通过bellman算子在价值函数本身的改造