Offline RL : Context-Former: Stitching via Latent Conditioned Sequence Modeling

news2024/11/19 5:57:22

paper

基于HIM的离线RL算法,解决基于序列模型的离线强化学习算法缺乏对序列拼接能力。

Intro

文章提出了ContextFormer,旨在解决决策变换器(Decision Transformer, DT)在轨迹拼接(stitching)能力上的不足。轨迹拼接是离线RL中一个重要的能力,它允许算法通过组合次优的轨迹片段来获得更优的策略。ContextFormer通过集成基于上下文信息的模仿学习(Imitation Learning, IL)和序列建模,模仿有限数量专家轨迹的表示,来实现次优轨迹片段的拼接。实验结果表明,ContextFormer在多模仿学习设置下具有竞争力,并且在与其他DT变体的比较中表现出色。

两个定义

在这里插入图片描述
在这里插入图片描述上述两个定义分别给出基于隐变量的条件序列模型建模方式,以及使用专家序列,通过度量经过embedding后的变量距离,使得待优化策略应满足靠近专家策略,远离次优轨迹策略。对于定义二有如下形式化的目标来优化上下文隐变量表征
J z ∗ = min ⁡ z ∗ , I ϕ E τ ∗ ∼ π ∗ ( τ ) [ ∥ z ∗ − I ϕ ( τ ∗ ) ∥ ] − E τ ^ ∼ π ^ [ ∥ z ∗ − I ϕ ( τ ^ ) ∥ ] , \mathcal{J}_{\mathbf{z}^{*}}=\operatorname*{min}_{\mathbf{z}^{*},I_{\phi}}\mathbb{E}_{\tau^{*}\sim\pi^{*}(\tau)}[\|\mathbf{z}^{*}-I_{\phi}(\tau^{*})\|]\\-\mathbb{E}_{\hat{\tau}\sim\hat{\pi}}[\|\mathbf{z}^{*}-I_{\phi}(\hat{\tau})\|], Jz=z,IϕminEτπ(τ)[zIϕ(τ)]Eτ^π^[zIϕ(τ^)],

Method

在这里插入图片描述

ContextFormer的训练过程包括两个关键模型:Hindsight Information Extractor I ϕ I_{\phi} Iϕ和Contextual Policy。Hindsight Information Extractor使用BERT作为编码器,并采用VQ-VAE(Vector Quantization Variational Autoencoder)损失来训练。Contextual Policy则是一个基于潜在条件的序列模型(DT),通过上下文信息作为目标来优化策略接近专家策略。

根据定义4.1建模序列模型以及 I ϕ I_{\phi} Iϕ,通过监督学习方式优化上下文策略 π z \pi_z πz以及HI extractor。
J π z , I ϕ = E τ ∼ ( π ∗ , π ^ ) [ ∥ π z ( ⋅ ∣ I ϕ ( τ ) , s 0 , a 0 , ⋯   , I ϕ ( τ ) , s t ) − a t ∥ ] , ( 4 ) \mathcal{J}_{\pi_{\mathbf{z}},I_{\phi}}=\mathbb{E}_{\tau\sim(\pi^{*},\hat{\pi})}[\|\pi_{\mathbf{z}}(\cdot|I_{\phi}(\tau),\mathbf{s}_{0},\mathbf{a}_{0},\cdots,I_{\phi}(\tau),\mathbf{s}_{t})-\mathbf{a}_{t}\|], (4) Jπz,Iϕ=Eτ(π,π^)[πz(Iϕ(τ),s0,a0,,Iϕ(τ),st)at],(4)
其中 π ^   a n d   π ∗ \hat{\pi}\mathrm{~and~}\pi^{*} π^ and π分别表示次优策略以及专家策略。同时,基于定义4.2对 I ϕ I_\phi Iϕ以及上下文embedding z ∗ z^* z进行优化。
J z ∗ , I ϕ = min ⁡ z ∗ , I ϕ E τ ^ ∼ π ^ ( τ ) , τ ∗ ∼ π ∗ ( τ ) [ ∥ z ∗ − I ϕ ( τ ∗ ) ∥ − ∣ ∣ z ∗ − I ϕ ( τ ^ ) ∣ ∣ ] ( 5 ) \mathcal{J}_{\mathbf{z}^{*},I_{\phi}}=\min_{\mathbf{z}^{*},I_{\phi}}\mathbb{E}_{\hat{\tau}\sim\hat{\pi}(\tau),\tau^{*}\sim\pi^{*}(\tau)}[\|\mathbf{z}^{*}-I_{\phi}(\tau^{*})\|-||\mathbf{z}^{*}-I_{\phi}(\hat{\tau})||] (5) Jz,Iϕ=z,IϕminEτ^π^(τ),τπ(τ)[zIϕ(τ)∣∣zIϕ(τ^)∣∣]5

除此外,对于 I ϕ I_\phi Iϕ还需VQ-loss进行优化,三者联合构成了VQ-VAE的训练损失函数。
在这里插入图片描述

伪代码

在这里插入图片描述
(伪代码Training部分的第二步,VQ-loss应对应公式20)

结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows11如何安装IIS

目录 IIS是什么? 为什么要配置IIS? 1.打开控制面板进入程序 2.点击启用或者关闭windos功能 3.勾选IIS相关的web项 4.点击确定等待一分钟程序变更即可 5.主页搜索internet 点击进入 6.进入IIS进行查看配置,并测试,也可以浏…

43、Flink 的 Window Join 详解

1.Window Join a)概述 Window join 作用在两个流中有相同 key 且处于相同窗口的元素上,窗口可以通过 window assigner 定义,并且两个流中的元素都会被用于计算窗口的结果。 两个流中的元素在组合之后,会被传递给用户定义的 Joi…

stream-实践应用-统计分析

背景 业务部门提供了一个数据,数据甚至不是excel类型的,是data.txt,每一行都是一个数据,需要对此数据进行统计分析 统计各个月份的销量 因为直接获取resources下的data.txt,所以要借助输入流进行获取数据,再…

sqli-labs---第三关

1、判断什么类型注入 ?id1 正常显示 ?id1 (报错:1) LIMIT 0,1) ?id1 正常显示 ?id1#(报错:1) LIMIT 0,1) 可知闭合方式为) 2、查看列数 ?id1) order by 3 -- (没有报错) ?id1) order by 4 -- (报错) 说明有3列 3、使用联合查…

Scrapy框架简单介绍及Scrapy项目编写详细步骤(Scrapy框架爬取豆瓣网站示例)

引言 Scrapy是一个用Python编写的开源、功能强大的网络爬虫框架,专为网页抓取和数据提取设计。它允许开发者高效地从网站上抓取所需的数据,并通过一系列可扩展和可配置的组件来处理这些数据。Scrapy框架的核心组成部分包括: Scrapy Engine&…

window本地部署Dify

Dify与之前的MaxKB不同,MaxKB可以实现基础的问答以及知识库功能,但是如果要开发一个Agent,或者工作流就还是需要额外开发,而Dify 是一个开源 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、代理功能、模型管理、可观…

python制作一个批量更新文件名称的工具

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.实现 三.使用效果 一.前言 随着数字化时代的到来,文件管理和处理变…

14.微信小程序之地理定位功能

目录 1.地理定位介绍 1.1 申请开通 1.2 使用方法 2.拒绝授权后的解决方案 3.开通腾讯位置服务 4.LBS 逆地址解析 1.地理定位介绍 小程序地理定位是指通过小程序开发平台提供的 API,来获取用户的地理位置信息。用户在使用小程序时,可以授权小程序获…

【LabVIEW FPGA入门】同步C系列模块

1.同步使用循环定时器VI计时循环速率的系列模块 数字模块SAR ADC 模块多路复用模块 数字通道可以在一个时钟周期内执行。模拟通道需要多个时钟周期。 同步模拟模块的每个通道有一个 ADC,采集的数据在通道之间没有明显的偏差。多路复用模块使用多路复用器通过单个 A…

解决:error: failed to push some refs to ‘https://gitee.com/***/***.git‘(高效快速)

解决方案: git pull --rebase origin master 具体原因: 主要原因是gitee(github)中的README.md文件不在本地代码目录中 要执行git pull --rebase origin master命令将README.md拉到本地 然后就可以执行git push啦 写在最后: 要是问题得到…

MySQL简单测试和安装

MySQL 的特点 1、MySQL 性能卓越、服务稳定,很少出现异常宕机。 2、MySQL开放源代码且无版权制约,自主性及使用成本低。 3、MySQL历史悠久(版本众多),用户使用活跃,遇到问题可以寻求帮助。 4、MySQL体积小(相对大型关系型数据库)…

你还不知道宠物空气净化器的五大好处?难怪家里总有异味和猫毛!

养猫是一件非常令人愉快的事情,猫咪的陪伴能带给我们无尽的欢乐。然而,随着时间的推移,许多养猫的朋友会发现一个问题,那就是家中的猫毛和异味问题。其实,解决这些问题的关键就在于选择一款高效的宠物空气净化器。今天…

嵌入式学习——3——多点通信

1、套接字选项(socket options) int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); 功能:获取或设置套接…

二叉树——基础知识详解

前言: 经过前面的学习,我们接下来要开始二叉树的学习,因二叉树有难度,为了方便讲解以及各位的理解,本节知识会分成不同的小节进行学习,在本阶段只学习初阶的二叉树(堆,二叉数基本知识…

多分支拓扑阻抗匹配

最近测试信号质量,发现在有过冲、振铃等问题的时候大部分硬件工程师喜欢直接调大匹配电阻或者减小驱动电流,虽然这种操作是有效果的,但是我认为应该还可以更严谨的计算下,而不是选几个电阻多次尝试,显得不是很专业。 …

SOLIDWORKS正版一年多少钱 2024版报价

SOLIDWORKS软件作为一款优秀的三维设计工具,以其强大的功能和优质的设计工具,为设计师们提供了前所未有的便利。SOLIDWORKS三维设计软件是一款多科学集成软件,它在产品开发和制造方面发挥着重要作用。 作为整个SOLIDWORKS产品开发解决方案套件…

boost asio异步服务器(2)实现伪闭包延长连接生命周期

闭包 在函数内部实现一个子函数,子函数的作用域内能访问外部函数的局部变量。闭包就是能够读取其他函数内部变量。但是由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成程的性能问题&#x…

Discourse 使用 DiscourseConnect 来进行用户数据同步

我们都知道 Discourse 的用户管理和设置都高度依赖电子邮件。 如果 Discourse 没有设置电子邮件 SMTP 的话,作为管理员是没有办法对用户邮箱进行修改并且通过验证的。 可以采取的办法是通过 Discourse 的 DiscourseConnect 来进行用户同步。 根据官方的说法&…

Golang原生http实现中间件

Golang原生http实现中间件 中间件(middleware):常被用来做认证校验、审计等 大家常用的Iris、Gin等web框架,都包含了中间件逻辑。但有时我们引入该框架显得较为繁重,本文将介绍通过golang原生http来实现中间件操作。全…

vue复习选择题2

1. 下面哪一个方法可以实现判断元素的class属性是否含有pp样式? (A) A. hasClass(“pp”)B. is(“pp”)C. attr(“class”,“pp”)D. toggleClass(“pp”) [!NOTE] 当涉及到在 jQuery 中判断元素的类属性时,下面是各个选项的作用…