AAAI2023
paper
Introduction
传统Online RL需要智能体与环境进行海量交互,而Offline RL容易受限于数据集质量。因此本文提出一种O2O的自适应策略学习框架APL。APL在离线阶段悲观更新策略而在现阶段乐观更新。进一步,基于框架分别提出value-based 以及policy-based的RL算法。
Method
APL框架下对离线数据以及在线数据分别采用offlineRL算法以及onlineRL算法。一般化的形式如下:
C
k
+
1
←
F
(
A
(
C
k
)
+
W
(
s
,
a
)
B
(
C
k
)
)
C^{k+1}\leftarrow\mathcal{F}\left(\mathbb{A}(C^k)+\mathcal{W}(\mathbf{s},\mathbf{a})\mathbb{B}(C^k)\right)
Ck+1←F(A(Ck)+W(s,a)B(Ck))
其中C表示策略或者价值函数。A表示在线更新,B表示离线更新,W为权重参数。当数据near-on-policy时,W应该相应减小;反之面对offline数据则应该增加。
为了高效使用离线与在线数据,文章提出OORB的存储Buffer。OORB使用两个Buffer将离线数据以及在线交互数据分别存储。存储在线数据的buffer容量较小并遵循先进先出的原则,这样保证数据near-on-policy。而离线buffer不仅包含离线数据也包含所有在线交互数据。
文章设置伯努利分布判断使用哪个Buffer的数据。
value-based
基于值函数的APL算法结合CQL以及REDQ算法,即GCQL。那么上述一般形式的C代表Q值函数。
对于在线数据采用REDQ的Q更新方式。REDQ采用集成Q,每一个Q的更新:
A
(
Q
i
k
)
=
E
s
,
a
,
s
′
∼
O
O
R
B
,
a
′
∼
π
k
(
⋅
∣
s
′
)
[
(
Q
i
k
(
s
,
a
)
−
B
π
Q
^
k
(
s
′
,
a
′
)
)
2
]
\mathbb{A}(Q_i^k)=\mathbb{E}_{\mathbf{s},\mathbf{a},\mathbf{s}^{\prime}\sim\mathrm{OORB},\mathbf{a}^{\prime}\sim\pi^k(\cdot|s^{\prime})}\left[\left(Q_i^k(\mathbf{s},\mathbf{a})-\mathcal{B}^\pi\hat{Q}^k(\mathbf{s}^{\prime},\mathbf{a}^{\prime})\right)^2\right]
A(Qik)=Es,a,s′∼OORB,a′∼πk(⋅∣s′)[(Qik(s,a)−BπQ^k(s′,a′))2]
其中target Q为:
r
+
γ
min
i
∈
M
Q
^
i
k
(
s
′
,
a
′
)
,
a
′
∼
π
k
(
⋅
∣
s
′
)
.
r+\gamma\min_{i\in\mathcal{M}}\hat{Q}_i^k\left(\mathbf{s'},\mathbf{a'}\right),\quad\mathbf{a'}\sim\pi^k\left(\cdot\mid\mathbf{s'}\right).
r+γmini∈MQ^ik(s′,a′),a′∼πk(⋅∣s′).
对于离线数据集中的数据采用CQL的保守Q更新:
B
(
Q
i
k
)
=
α
E
s
∼
00
R
B
[
log
∑
a
′
exp
(
Q
i
k
(
s
,
a
′
)
)
−
E
a
∼
00
R
B
[
Q
i
k
(
s
,
a
)
]
]
\mathbb{B}(Q_i^k)=\alpha\mathbb{E}_{\mathbf{s}\sim00\mathbf{R}\mathbf{B}}\left[\log\sum_{\mathbf{a'}}\exp(Q_i^k(\mathbf{s},\mathbf{a'}))-\mathbb{E}_{\mathbf{a}\sim00\mathbf{R}\mathbf{B}}[Q_i^k(\mathbf{s},\mathbf{a})]\right]
B(Qik)=αEs∼00RB[loga′∑exp(Qik(s,a′))−Ea∼00RB[Qik(s,a)]]
综上所述,Q值整体更新形式如下: Q i k + 1 = arg min Q i k { A ( Q i k ) + W ( s , a ) B ( Q i k ) } Q_i^{k+1}=\arg\min_{Q_i^k}\big\{\mathbb{A}(Q_i^k)+\mathcal{W}(\mathbf{s},\mathbf{a})\mathbb{B}(Q_i^k)\big\} Qik+1=argminQik{A(Qik)+W(s,a)B(Qik)}
策略更新如下:
π
k
+
1
=
arg
max
π
k
E
a
∼
π
k
(
⋅
∣
s
)
[
E
i
∈
N
[
Q
i
k
(
s
,
a
)
]
−
α
log
π
k
(
a
∣
s
)
]
\pi^{k+1}=\arg\max_{\pi^k}\mathbb{E}_{\mathbf{a}\sim\pi^k(\cdot|\mathbf{s})}\left[\mathbb{E}_{i\in N}\left[Q_i^k\left(\mathbf{s},\mathbf{a}\right)\right]-\alpha\log\pi^k\left(\mathbf{a}\mid\mathbf{s}\right)\right]
πk+1=argπkmaxEa∼πk(⋅∣s)[Ei∈N[Qik(s,a)]−αlogπk(a∣s)]
Policy Based
采用TD3+BC的方法得到GCTD3BC。在线采用TD3更新而离线采用BC。上述一般式表示为
π
k
+
1
=
a
r
g
m
a
x
π
k
E
(
s
,
a
)
∼
OORB
[
A
(
π
k
)
+
W
(
s
,
a
)
B
(
π
k
)
]
=
a
r
g
m
a
x
π
k
E
(
s
,
a
)
∼
OORB
[
λ
Q
k
(
s
,
π
(
s
)
)
−
W
(
s
,
a
)
(
π
k
(
s
)
−
a
)
2
]
\begin{align}\pi^{k+1}&=\underset{\pi^k}{\mathrm{argmax}}\mathbb{E}_{(\mathbf{s},\mathbf{a})\sim\text{OORB}}\left[\mathbb{A}(\pi^k)+\mathcal{W}(\mathbf{s},\mathbf{a})\mathbb{B}(\pi^k)\right]\\&=\underset{\pi^k}{\mathrm{argmax}}\mathbb{E}_{(\mathbf{s},\mathbf{a})\sim\text{OORB}}\left[\lambda Q^{k}(\mathbf{s},\pi(\mathbf{s}))-\mathcal{W}(\mathbf{s},\mathbf{a})(\pi^k(s)-a)^2\right]\end{align}
πk+1=πkargmaxE(s,a)∼OORB[A(πk)+W(s,a)B(πk)]=πkargmaxE(s,a)∼OORB[λQk(s,π(s))−W(s,a)(πk(s)−a)2]
对于权重W,本文采用如下设置
W
(
s
,
a
)
←
{
0
if
(
s
,
a
)
∼
online buffer
1
otherwise
\mathcal{W}(\mathbf{s},\mathbf{a})\leftarrow\begin{cases}0&\text{if}\left(\mathbf{s},\mathbf{a}\right)\sim\text{online buffer}\\1&\text{otherwise}\end{cases}
W(s,a)←{01if(s,a)∼online bufferotherwise