O2O:Adaptive policy learning for offline-to-online reinforcement learning

本文介绍了一种新颖的在线到离线的策略学习框架APL,它在离线阶段采用保守策略更新,在线阶段采用乐观策略更新。文中详细阐述了基于价值函数的GCQL和基于策略的GCTD3BC算法,以及OORB存储器的设计。通过结合CQL和REDQ,APL在离线和在线数据处理上实现高效利用。
摘要由CSDN通过智能技术生成

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+1F(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,sOORB,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+γminiMQ^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)=αEs00RB[logaexp(Qik(s,a))Ea00RB[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)[EiN[Qik(s,a)]αlogπk(as)]

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

算法伪代码

在这里插入图片描述

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值