NeurIPS 2023 spotlight
paper
code
Intro
离线到在线强化学习(RL),在在线微调阶段会加剧分布转移问题。现有的解决方案通过在离线和在线学习中对策略改进目标施加策略约束来解决这个问题。他们通常主张在不同数据集合的政策改进和约束之间保持单一平衡。这种“一刀切”的方式可能无法最优地利用每个收集的样本,因为不同状态的数据质量存在显著差异。本文提出离线到在线RL (FamO2O),使现有算法能够状态自适应的实现策略改进与约束之间的平衡。FamO2O使用一个通用模型来训练具有不同改进/约束强度的策略族,使用一个平衡模型来为每个状态选择合适的策略。理论上证明了状态自适应平衡对于实现更高的策略性能上界是必要的。经验上,广泛的实验表明,FamO2O在统计上比各种现有方法有显著的改进,在D4RL基准上实现了最先进的性能。
Method
文章首先提出针对单一状态下的KL约束下的RL问题
进一步,提出限制整个状态分布上的KL约束,即将等式3替换为
∫
s
∈
S
d
π
β
(
s
)
D
K
L
(
π
(
⋅
∣
s
)
∥
π
β
(
⋅
∣
s
)
)
d
s
≤
ϵ
.
\int_{\mathbf{s}\in\mathcal{S}}d_{\pi_\beta}(\mathbf{s})D_{\mathrm{KL}}(\pi(\cdot|\mathbf{s})\|\pi_\beta(\cdot|\mathbf{s}))\mathrm{ds}\leq\epsilon.
∫s∈Sdπβ(s)DKL(π(⋅∣s)∥πβ(⋅∣s))ds≤ϵ.
同时给出证明,修改后的最优策略下的值估计是原问题的一个上界
因此问题通过拉格朗日乘子得到如下
不同于AWR以及AWAC中,对
β
\beta
β定义为一个超参数。FamO2O将其看作与状态分布相关的函数。实现针对不同状态给出不同的平衡系数。
算法具体实现中,对目标策略中添加平衡系数为输入
π
u
(
a
∣
s
,
β
(
s
)
)
\pi_u(a|s, \beta(s))
πu(a∣s,β(s))。
π
u
k
+
1
=
arg
max
π
u
E
(
s
,
a
)
∼
D
[
exp
(
β
s
(
Q
k
(
s
,
a
)
−
V
k
(
s
)
)
)
log
π
u
(
a
∣
s
,
β
s
)
]
(
9
)
\pi_u^{k+1}=\arg\max_{\pi_u}\mathbb{E}_{(\mathbf{s},\mathbf{a})\sim\mathcal{D}}\Big[\exp(\beta_\mathbf{s}(Q^k(\mathbf{s},\mathbf{a})-V^k(\mathbf{s})))\log\pi_u(\mathbf{a}|\mathbf{s},\beta_\mathbf{s})\Big]~~~(9)
πuk+1=argπumaxE(s,a)∼D[exp(βs(Qk(s,a)−Vk(s)))logπu(a∣s,βs)] (9)
而对产生平衡系数的模型,通过如下形式优化
π
b
k
+
1
=
arg
max
π
b
E
(
s
,
a
)
∼
D
[
Q
k
(
s
,
π
u
k
+
1
(
s
,
π
b
(
s
)
⏞
balance coefficient
β
s
)
⏟
action
]
.
(
10
)
\pi_b^{k+1}=\arg\max_{\pi_b}\mathbb{E}_{(\mathbf{s},\mathbf{a})\sim\mathcal{D}}\Big[Q^k(\mathbf{s},\underbrace{\pi_u^{k+1}(\mathbf{s},\overbrace{\pi_b(\mathbf{s})}^{\text{balance coefficient }\beta_\mathbf{s}})}_{\text{action}}\Big].~~~(10)
πbk+1=argπbmaxE(s,a)∼D[Qk(s,action
πuk+1(s,πb(s)
balance coefficient βs)]. (10)
FamO2O’s Extension to Non-AWR Algorithms
以CQL为例。策略优化形式如下
π
u
k
+
1
=
arg
max
π
u
E
s
∼
D
,
a
∼
π
u
(
⋅
∣
s
,
α
s
)
[
α
s
⋅
Q
k
(
s
,
a
)
−
log
π
u
(
a
∣
s
,
α
s
)
]
w
h
e
r
e
α
s
=
π
b
k
(
s
)
,
\begin{aligned}&\pi_{u}^{k+1}=\arg\max_{\pi_{u}}\mathbb{E}_{\mathbf{s}\sim\mathcal{D},\mathbf{a}\sim\pi_{u}(\cdot|\mathbf{s},\alpha_{\mathbf{s}})}\left[\alpha_{\mathbf{s}}\cdot Q^{k}(\mathbf{s},\mathbf{a})-\log\pi_{u}(\mathbf{a}|\mathbf{s},\alpha_{\mathbf{s}})\right]\\&\mathrm{where}\quad\alpha_{\mathbf{s}}=\pi_{b}^{k}(\mathbf{s}),\end{aligned}
πuk+1=argπumaxEs∼D,a∼πu(⋅∣s,αs)[αs⋅Qk(s,a)−logπu(a∣s,αs)]whereαs=πbk(s),
平衡系数模型优化如下
π
b
k
+
1
=
arg
max
π
b
E
s
∼
D
[
Q
k
(
s
,
π
u
k
+
1
(
s
,
π
b
(
s
)
⏞
balance
coefficient
β
s
)
⏟
action
)
]
.
\pi_b^{k+1}=\arg\max_{\pi_b}\mathbb{E}_{\mathbf{s}\sim\mathcal{D}}\Big[Q^k(\mathbf{s},\underbrace{\pi_u^{k+1}(\mathbf{s},\overbrace{\pi_b(\mathbf{s})}^{\textbf{balance coefficient }\beta_\mathbf{s}})}_{\text{action}})\Big].
πbk+1=argπbmaxEs∼D[Qk(s,action
πuk+1(s,πb(s)
balance coefficient βs))].
伪代码
结果