O2O:Train Once, Get a Family: State-Adaptive Balances for Offline-to-Online Reinforcement Learning

20 篇文章 0 订阅
15 篇文章 0 订阅

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. sSdπβ(s)DKL(π(s)πβ(s))dsϵ.
同时给出证明,修改后的最优策略下的值估计是原问题的一个上界
在这里插入图片描述

因此问题通过拉格朗日乘子得到如下
在这里插入图片描述
不同于AWR以及AWAC中,对 β \beta β定义为一个超参数。FamO2O将其看作与状态分布相关的函数。实现针对不同状态给出不同的平衡系数。

算法具体实现中,对目标策略中添加平衡系数为输入 π u ( a ∣ s , β ( s ) ) \pi_u(a|s, \beta(s)) πu(as,β(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(as,β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πumaxEsD,aπu(s,αs)[αsQk(s,a)logπu(as,α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πbmaxEsD[Qk(s,action πuk+1(s,πb(s) balance coefficient βs))].

伪代码

在这里插入图片描述

结果

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值