O2O:Online Decision Transformer(ODT)

ICML 2022
paper

Introduction

利用Transformer对强化学习进行序列建模在离线强化学习中展露头角,但是无法避免的是这种方法受限于离线数据的质量,因此本文将其结合到online的在线微调过程,进而形成本文ODT。为了解决从offline到online过程中的performance drop,文章提出两点:1)采用随即策略扩大探索,并采用策略熵进一步优化探索 ,2)扩展Hindsight experience replaybuffer(HER)

Method

2.1 ODT

本文方法是基于Transformer + RL的offline方法Decision Transformer(DT)。
在这里插入图片描述

然而将其简单的从offline迁移到online会出现崩溃,改进的第一步便是提出一种广义的概率学习目标,即学习一种随即策略最大化其似然函数,例如该策略是具有对角协方差矩阵的多元高斯分布,用于模拟状态和rtg条件下的动作分布。其中rgt表示一条轨迹从t时刻到结束的累计奖励: g t = ∑ t ′ = t ∣ τ ∣ r t ′ , g_{t}=\sum_{t^{\prime}=t}^{|\tau|}r_{t^{\prime}}, gt=t=tτrt,
π θ ( a t ∣ s − K , t , g − K , t ) = N ( μ θ ( s − K , t , g − K , t ) , Σ θ ( s − K , t , g − K , t ) ) , ∀ t , \pi_{\theta}(a_{t}|\mathbf{s}_{-K,t},\mathbf{g}_{-K,t}) = \mathcal{N}(\mu_{\theta}(\mathbf{s}_{-K,t},\mathbf{g}_{-K,t}),\Sigma_{\theta}(\mathbf{s}_{-K,t},\mathbf{g}_{-K,t})),\forall t, πθ(atsK,t,gK,t)=N(μθ(sK,t,gK,t),Σθ(sK,t,gK,t)),t,
最大化对数似然,即最小化负对数似然

J ( θ ) = 1 K E ( a , s , g ) ∼ T [ − log ⁡ π θ ( a ∣ s , g ) ] = 1 K E ( a , s , g ) ∼ T [ − ∑ k = 1 K log ⁡ π θ ( a k ∣ s − K , k , g − K , k ) ] \begin{aligned}J(\theta)&=\frac{1}{K}\mathbb{E}_{(\mathbf{a},\mathbf{s},\mathbf{g})\sim\mathcal{T}}\big[-\log\pi_\theta(\mathbf{a}|\mathbf{s},\mathbf{g})\big]\\&=\frac{1}{K}\mathbb{E}_{(\mathbf{a},\mathbf{s},\mathbf{g})\sim\mathcal{T}}\big[-\sum_{k=1}^{K}\log\pi_\theta(a_k|\mathbf{s}_{-K,k},\mathbf{g}_{-K,k})\big]\end{aligned} J(θ)=K1E(a,s,g)T[logπθ(as,g)]=K1E(a,s,g)T[k=1Klogπθ(aksK,k,gK,k)]
传统的DT方法没有与环境交互,所以没有对探索进行量化。本文基于策略熵实现:
H θ T [ a ∣ s , g ] = 1 K E ( s , g ) ∼ T [ H [ π θ ( a ∣ s , g ) ] ] = 1 K E ( s , g ) ∼ T [ ∑ k = 1 K H [ π θ ( a k ∣ s − K , k , g − K , k ) ] ] \begin{aligned}H_\theta^T[\mathbf{a}|\mathbf{s},\mathbf{g}]=&\frac{1}{K}\mathbb{E}_{(\mathbf{s},\mathbf{g})\sim\mathcal{T}}\big[H[\pi_\theta(\mathbf{a}|\mathbf{s},\mathbf{g})]\big]\\=&\frac{1}{K}\mathbb{E}_{(\mathbf{s},\mathbf{g})\sim\mathcal{T}}\big[\sum_{k=1}^KH\big[\pi_\theta(a_k|\mathbf{s}_{-K,k},\mathbf{g}_{-K,k})\big]\big]\end{aligned} HθT[as,g]==K1E(s,g)T[H[πθ(as,g)]]K1E(s,g)T[k=1KH[πθ(aksK,k,gK,k)]]
其中 H [ π θ ( a k ) ] H[\pi_{\theta}(a_{k})] H[πθ(ak)]表示Shannon熵。类似于SAC,对策略熵设置下界保证其探索,那么优化问题转化为:
min ⁡ θ J ( θ ) subject to H θ T [ a ∣ s , g ] ⩾ β \min_\theta J(\theta) \quad\text{subject to} \quad H_\theta^T[\mathbf{a}|\mathbf{s},\mathbf{g}]\geqslant\beta θminJ(θ)subject toHθT[as,g]β
该问题转化为对偶问题: max ⁡ λ ⩾ 0 min ⁡ θ L ( θ , λ ) : J ( θ ) + λ ( β − H θ T [ a ∣ s , g ] ) \max_{\lambda\geqslant0}\min_\theta L(\theta,\lambda) :J(\theta)+\lambda(\beta-H_{\theta}^{\mathcal{T}}[\mathrm{a|s},\mathrm{g}]) maxλ0minθL(θ,λ):J(θ)+λ(βHθT[a∣s,g])

进一步交替优化参数 θ \theta θ λ \lambda λ。优化 θ \theta θ时,固定参数 λ \lambda λ,即优化下述问题: min ⁡ θ J ( θ ) − λ H θ T [ a ∣ s , g ] \min_\theta J(\theta)-\lambda H_\theta^T[\mathbf{a}|\mathbf{s},\mathbf{g}] minθJ(θ)λHθT[as,g]

优化 λ \lambda λ时,固定参数 θ \theta θ,即优化下述问题: min ⁡ λ ⩾ 0 λ ( H θ T [ a ∣ s , g ] − β ) \min\limits_{\lambda\geqslant0}\lambda(H_\theta^T[\mathbf{a}|\mathbf{s},\mathbf{g}]-\beta) λ0minλ(HθT[as,g]β)

不同于SAC的最大化累计回报的优化目标,本方法关注的是动作序列的监督学习。严格地说, H θ T [ a ∣ s , g ] H_\theta^T[\mathbf{a}|\mathbf{s},\mathbf{g}] HθT[as,g]是交叉条件熵,对离线与在线数据发挥不同作用。离线时控制分布不匹配的程度(对最小负对数似然添加正则化项, λ \lambda λ控制正则程度),在线时则鼓励策略进行探索。

2.2 ReplayBuffer

ReplayBuffer中存在的是trajectories,而非一般RL的transitions。离线训练后,将离线数据中最高的轨迹累计回报的轨迹数据初始化Buffer。在线交互时,完成一次episode获得trajectory,采用先入先出的规定对Buffer进行更新。

对Buffer中的轨迹采样是基于HER的思想。轨迹被采样的概率与其长度相关,具体见Algorithm 2伪代码的2行。然后均匀的对长度k的子序列抽样,具体见Algorithm 2伪代码的7行
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513542.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pandas基础介绍

文章目录 Pandas简介什么是Pandas?Pandas数据结构Pandas 应用 Pandas简介 什么是Pandas? Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处…

android开发者工具,最新整理

一 Java相关 1.重载函数的签名(区别是否是重载函数) 答:方法名参数类型参数顺序(返回值不是) 2.finalize的工作原理 答:一旦垃圾收集器准备好释放对象占用的存储空间,它首先调用finalize(),而且只有在下一次垃圾收集过程中&#…

Hololens 2应用开发系列(3)——MRTK基础知识及配置文件配置(中)

Hololens 2应用开发系列(3)——MRTK基础知识及配置文件配置(中) 一、前言二、输入系统2.1 MRTK输入系统介绍2.2 输入数据提供者(Input Data Providers)2.3 输入动作(Input Actions)2…

做分析用什么工具

做分析用什么工具 导读 数据分析是数据辅助决策的最后一公里,是最终的数据可视化展示与探索分析的部分,选择使用最适合的数据展示方式,可以帮助分析人员大大提升分析效率。 问题: ● 纠结选择哪个工具 ● 纠结从哪里学起&#x…

Vue.js的双向绑定原理

Vue的双向绑定 vue双向绑定是其最重要的核心亮点,其原理也很简单,这里做个简单总结 vue2的双向绑定是利用的Object.definePropertyvue3的双向绑定是利用的 ES6Porxy中的defineProperty(target, propKey, propDesc 其作用类似于Object.defineProperty …

tomcat下载安装配置教程

tomcat下载安装配置教程 我是使用tomcat下载安装及配置教程_tomcat安装-CSDN博客 此贴来进行安装配置,原文21年已经有些许不同。 下载tomcat 官网:http://tomcat.apache.org/ 我们老师让安装8.5以上,所以我直接选择版本9 点击9页面之后…

GEE入门篇|图像分类(一):监督分类

在遥感中,图像分类是尝试将图像中的所有像素分类为有限数量的标记土地覆盖和/或土地利用类别。 生成的分类图像是从原始图像导出的简化专题图(图 1), 土地覆盖和土地利用信息对于许多环境和社会经济应用至关重要,包括自…

相机类型的分辨率长宽、靶面尺寸大小、像元大小汇总

镜头的靶面尺寸大于等于相机靶面尺寸。 相机的芯片长这样,绿色反光部分(我的手忽略): 基本所有像素的相机的靶面大小都可以在这个表格里面找到。 镜头的靶面尺寸在镜头外表上可以找到,选型很重要!

从零开始手写RPC框架(5)

继续上一节的内容,解析代码。 目录 编码器注册中心负载均衡策略动态代理屏蔽网络传输细节通过spring注解注册/消费服务 编码器 参考LengthFieldBasedFrameDecoder解码器的协议,在协议里规定传输哪些类型的数据, 以及每一种类型的数据应该占多…

pytest-教程-14-fixture之yield关键字

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest conftest.py文件的使用方法,本小节我们讲解一下fixture的yield关键字实现teardown后置操作。 当我们运行我们的测试时,我们会希望确保它们自己清理干净&#xf…

STM32标准库——(17)硬件SPI读写W25Q64

1.SPI外设简介 时钟频率就是sck波形的频率,一个sck时钟交换一个bit,所以时钟频率一般体现的是传输速度,单位是Hz或者bit/s,那这里的时钟频率是fPCLK除以一个分频系数,分频系数可以配置为2或4或8、16、32、64、128、256…

C++核心编程之内存分区模型,引用,函数提高

1,类型分区模型 c程序在执行中,将内存大方向划分为4个区域 1,代码区:存放函数体的二进制代码,由操作系统进行管理的 2,全局区:存放全局变量和静态变量以及常量 3,栈区&#xff1…