O2O:Sample Efficient Offline-to-Online Reinforcement Learning

2024-03-08 23:36

本文主要是介绍O2O:Sample Efficient Offline-to-Online Reinforcement Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IEEE TKDE 2024
paper

Introduction

O2O存在策略探索受限以及分布偏移问题,进而导致在线微调阶段样本效率低。文章提出OEMA算法首先使用离线数据训练乐观的探索策略,然后提出基于元学习的优化方法,减少分布偏移并提高O2O的适应过程。

Method

在这里插入图片描述

optimistic exploration strategy

离线学习方法TD3+BC的行为策略 π e ( s ) \pi_e(s) πe(s)是由目标策略 π ϕ ( s ) \pi_\phi(s) πϕ(s)加上一个正态分布中采样的噪声。文章指出,目标策略被优化靠近离线数据集的保守策略,为了提高目标策略的探索能力,本文提出基于价值不确定性度量的方法:
π e = arg ⁡ max ⁡ π Q ^ U B ( s , π ( s ) ) , s . t . 1 2 ∥ π ϕ ( s ) − π ( s ) ∥ ≤ δ , \begin{aligned}\pi_{e}&=\arg\max_{\pi}\hat{Q}_{\mathrm{UB}}(s,\pi(s)),\\s.t.&\frac{1}{2}\|\pi_{\phi}(s)-\pi(s)\|\le\delta,\end{aligned} πes.t.=argπmaxQ^UB(s,π(s)),21πϕ(s)π(s)δ,
其中 Q ^ U B ( s , π ( s ) ) \hat{Q}_{\mathrm{UB}}(s,\pi(s)) Q^UB(s,π(s))为Q值的近似上界, 用来衡量认知不确定性。上述问题在保证策略约束的同时选择高不确信的动作。

不确信估计采用高斯分布。分布的均值为两个Q网络输出的均值,而方差表示如下:
σ Q ( s , a ) = ∑ i = 1 , 2 1 2 ( Q θ i ( s , a ) − μ Q ( s , a ) ) 2 = 1 2 ∣ Q θ 1 ( s , a ) − Q θ 2 ( s , a ) ∣ . \begin{gathered} \sigma_{Q}(s,a) =\sqrt{\sum_{i=1,2}\frac12(Q_{\theta_{i}}(s,a)-\mu_{Q}(s,a))^{2}} \\ =\frac12\Big|Q_{\theta_1}(s,a)-Q_{\theta_2}(s,a)\Big|. \end{gathered} σQ(s,a)=i=1,221(Qθi(s,a)μQ(s,a))2 =21 Qθ1(s,a)Qθ2(s,a) .
那么 Q ^ U B = μ Q ( s , a ) + β UB σ Q ( s , a ) \hat{Q}_{\mathrm{UB}} =\mu_Q(s,a)+\beta_\text{UB}\sigma_Q(s,a) Q^UB=μQ(s,a)+βUBσQ(s,a) β \beta β控制乐观程度,当取值-1时上式等价于:
Q ^ U B ( s , a ) ∣ β U B = − 1 = μ Q ( s , a ) − σ Q ( s , a ) = 1 2 ( Q θ 1 ( s , a ) + Q θ 2 ( s , a ) ) − 1 2 ∣ Q θ 1 ( s , a ) − Q θ 2 ( s , a ) ∣ = min ⁡ ( Q θ 1 ( s , a ) , Q θ 2 ( s , a ) ) , (9) \begin{aligned} &\hat{Q}_{\mathrm{UB}}(s,a)\Big|_{\beta_{\mathrm{UB}}=-1}=\mu_{Q}(s,a)-\sigma_{Q}(s,a) \\ &\begin{aligned}&=\frac{1}{2}(Q_{\theta_1}(s,a)+Q_{\theta_2}(s,a))-\frac{1}{2}|Q_{\theta_1}(s,a)-Q_{\theta_2}(s,a)|\end{aligned} \\ &=\min(Q_{\theta_{1}}(s,a),Q_{\theta_{2}}(s,a)),& \text{(9)} \end{aligned} Q^UB(s,a) βUB=1=μQ(s,a)σQ(s,a)=21(Qθ1(s,a)+Qθ2(s,a))21Qθ1(s,a)Qθ2(s,a)=min(Qθ1(s,a),Qθ2(s,a)),(9)
而当 β = 1 \beta=1 β=1时等价于 Q ^ U B ( s , a ) ∣ β U B = 1 = max ⁡ ( Q θ 1 ( s , a ) , Q θ 2 ( s , a ) ) , \left.\hat{Q}_\mathrm{UB}(s,a)\right|_{\beta_\mathrm{UB}=1}=\max(Q_{\theta_1}(s,a),Q_{\theta_2}(s,a)), Q^UB(s,a) βUB=1=max(Qθ1(s,a),Qθ2(s,a)),

原问题一种简单的解决方法是使用BC将其转化为无约束问题:
π e naive ( s ) = arg ⁡ max ⁡ π Q ^ UB ( s , π ( s ) ) − λ ∥ π ϕ ( s ) − π ( s ) ∥ \pi_e^\text{naive}{ ( s ) }=\arg\max_{\pi}\hat{Q}_\text{UB}{ ( s , \pi ( s ) ) }-\lambda\|\pi_\phi(s)-\pi(s)\| πenaive(s)=argπmaxQ^UB(s,π(s))λπϕ(s)π(s)
然而,由于目标策略通过策略改进不断更新,这种基于行为克隆的惩罚项无法缩小行为策略和目标策略之间的差距,违反了带约束的原问题。

为了解决该问题,提出在TD3的行为策略上增加一项扰动模型 ξ \xi ξ。行为策略改为
π e ( s ) = π ϕ ( s ) + ξ ω ( s , π ϕ ( s ) ) + ϵ \pi_e(s)=\pi_\phi(s)+\xi_\omega(s,\pi_\phi(s))+\epsilon πe(s)=πϕ(s)+ξω(s,πϕ(s))+ϵ
而对扰动模型的参数最小化下列损失函数
L ( ω ) = − E s ∼ B [ Q ^ U B ( s , π e ( s ) ) ] \mathcal{L}(\omega)=-\mathbb{E}_{s\sim\mathcal{B}}\left[\hat{Q}_{\mathrm{UB}}(s,\pi_e(s))\right] L(ω)=EsB[Q^UB(s,πe(s))]

Meta Adaptation for Distribution Shift Reduction

接着,为了解决在线微调存在的分布偏移问题,采用元学习的方法。具体的,保留两个buffer,Buffer B B B存储离线以及在线所有数据, B r B_r Br存储最新在线数据。

meta training

首先在B上训练策略:
L t r n ( ϕ ) = − E s ∼ B [ Q θ 1 ( s , π ϕ ( s ) ) ] \mathcal{L}_{trn}(\phi)=-\mathbb{E}_{s\sim\mathcal{B}}\left[Q_{\theta_1}\left(s,\pi_\phi(s)\right)\right] Ltrn(ϕ)=EsB[Qθ1(s,πϕ(s))]
然后基于SGD的一次梯度下降得到: ϕ ′ = ϕ − α ∇ ϕ L t r n ( ϕ ) \phi^{\prime}=\phi-\alpha\nabla_{\phi}\mathcal{L}_{trn}(\phi) ϕ=ϕαϕLtrn(ϕ)

meta test

然后利用最新在线数据集测试:
L t s t ( ϕ ′ ) = − E s ∼ B r [ Q θ 1 ( s , π ϕ ′ ( s ) ) ] \mathcal{L}_{tst}(\phi')=-\mathbb{E}_{s\sim\mathcal{B}_r}[Q_{\theta_1}(s,\pi_{\phi'}(s))] Ltst(ϕ)=EsBr[Qθ1(s,πϕ(s))]

meta optimization

最后将上述两个损失函数用下面的元优化目标共同优化
ϕ = arg ⁡ min ⁡ ϕ L t r n ( ϕ ) + β L t s t ( ϕ − α ∇ ϕ L t r n ( ϕ ) ) \phi=\arg\min_\phi\mathcal{L}_{trn}(\phi)+\beta\mathcal{L}_{tst}(\phi-\alpha\nabla_\phi\mathcal{L}_{trn}(\phi)) ϕ=argϕminLtrn(ϕ)+βLtst(ϕαϕLtrn(ϕ))

问题

  1. 原文中在meta optimization中对 ϕ \phi ϕ梯度更新是否修正为:
    ϕ ← ϕ − α ∂ ( L t r n ( ϕ ) + β L t s t ( ϕ − α ∇ ϕ L t r n ( ϕ ) ) ) ∂ ϕ \phi\leftarrow\phi-\alpha\frac{\partial\left(\mathcal{L}_{trn}\left(\phi\right) +\beta\mathcal{L}_{tst}\left(\phi-\alpha\nabla_{\phi}\mathcal{L}_{trn}\left(\phi\right)\right)\right)}{\partial\phi} ϕϕαϕ(Ltrn(ϕ)+βLtst(ϕαϕLtrn(ϕ)))
  2. 基于这个偏导出现的第二个问题。这是源码中元学习的训练过程
# Compute actor losseactor_loss = -self.critic.Q1(state, self.actor(state)).mean()""" Meta Training"""self.actor_optimizer.zero_grad()actor_loss.backward(retain_graph=True)self.hotplug.update(3e-4)"""Meta Testing"""self.beta = max(0.0, self.beta - self.anneal_step)meta_actor_loss = -self.critic.Q1(meta_state, self.actor(meta_state)).mean()weight = self.beta * actor_loss.detach() / meta_actor_loss.detach()meta_actor_loss_norm = weight * meta_actor_lossmeta_actor_loss_norm.backward(create_graph=True)"""Meta Optimization"""self.actor_optimizer.step()self.hotplug.restore()

其中,meta-testing中计算weight以及meta_actor_loss_norm不太明白。按照本人的理解,原文计算 L t s t L_{tst} Ltst ϕ \phi ϕ求偏导:
β ∂ L t s t ( ϕ − α ∇ ϕ L t r n ( ϕ ) ) ∂ ϕ = β ∂ L t s t ( ϕ − α ∇ ϕ L t r n ( ϕ ) ) ∂ ϕ ′ ∂ ϕ ′ ∂ ϕ \frac{\beta{\color{red}\partial}\mathcal{L}_{tst}\left(\phi-\alpha\nabla_{\phi}\mathcal{L}_{trn}\left(\phi\right)\right)}{\partial\phi}=\beta\frac{{\color{red}\partial}\mathcal{L}_{tst}\left(\phi-\alpha\nabla_{\phi}\mathcal{L}_{trn}\left(\phi\right)\right)}{\partial\phi'}\frac{\partial\phi'}{\partial\phi} ϕβLtst(ϕαϕLtrn(ϕ))=βϕLtst(ϕαϕLtrn(ϕ))ϕϕ
中间的偏导自然是由meta-test小节的损失函数所得到的meta_actor_loss。而 β ∂ ϕ ′ ∂ ϕ = β ∂ L t s t ∂ ϕ / ∂ L t s t ∂ ϕ ′ = β ∂ L t r n ∂ ϕ / ∂ L t r n ∂ ϕ ′ \beta\frac{\partial\phi'}{\partial\phi}=\beta\frac{\partial L_{tst}}{\partial\phi}/\frac{\partial L_{tst}}{\partial\phi'}=\beta\frac{\partial L_{trn}}{\partial\phi}/\frac{\partial L_{trn}}{\partial\phi'} βϕϕ=βϕLtst/ϕLtst=βϕLtrn/ϕLtrn就是那个weight。
但这样应该使用从相同的Buffer中获得状态数据,这并未在源码中体现。

可能有误,欢迎指正

这篇关于O2O:Sample Efficient Offline-to-Online Reinforcement Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/788786

相关文章

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

[论文笔记]QLoRA: Efficient Finetuning of Quantized LLMs

引言 今天带来LoRA的量化版论文笔记——QLoRA: Efficient Finetuning of Quantized LLMs 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 我们提出了QLoRA,一种高效的微调方法,它在减少内存使用的同时,能够在单个48GB GPU上对65B参数的模型进行微调,同时保持16位微调任务的完整性能。QLoRA通过一个冻结的4位量化预

O2O 行业 IT 系统架构实践分享

大家好,我是 QingCloud 架构和解决方案工程师张卫华,今天由我来和大家分享 QingCloud 在O2O行业的解决方案,希望通过今天的交流,能对从事O2O的企业如何利用云平台解决业务需求,提供些许帮助。 前沿 O2O作为一种新生的商业模式,经过这些年的实践和讨论,已经从眼花缭乱的概念逐渐变得清晰起来,并且在外卖、打车、酒店、影院等行业都已经有非常好的应用案例了。 随着4G网络的日益成

O2O 行业 IT 系统架构实践分享——预告

主题:O2O 行业 IT 系统架构实践分享 时间:4 月 26 日 20:00 —— 21:30 地点:QingCloud 技术分享群 报名方式:扫描文末小编二维码添加好友,发送听课,小编拉你进群。 讲师: 张卫华,青云QingCloud 架构和解决方案工程师。 本期内容介绍: O2O 作为一种新生的商业模式,经过这些年的实践和讨论,已经从眼花缭乱的概念逐渐变得清晰起来,在外卖、打车

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以

COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection

论文的主要动机、现有方法的不足、拟解决的问题、主要贡献和创新点如下: 动机: 论文的核心动机是解决伪装目标检测(COD)中的挑战性任务。伪装目标检测旨在识别和分割那些在视觉上与周围环境高度相似的目标,这对于计算机视觉来说是非常困难的任务。尽管深度学习方法在该领域取得了一定进展,但现有方法仍面临有效分离目标和背景的难题,尤其是在伪装目标与背景特征高度相似的情况下。 现有方法的不足之处: 过于

[LeetCode] 901. Online Stock Span

题:https://leetcode.com/problems/online-stock-span/ 题目大意 不断给出元素,求当前元素开始往前的最大子串,且串中每个元素的值都小于等于 该元素。 思路 class stockPair{int price;int day;public stockPair(int price,int day){this.price = price;this.d

One-Shot Imitation Learning

发表时间:NIPS2017 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4557560538297540609&noteId=2424799047081637376 作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychow