O2O:Offline–Online Actor–Critic

IEEE TAI 2024
paper

1 Introduction

一篇offline to online 的文章,有效解决迁移过程出现的performance drop。所提出的O2AC算法首先在离线阶段添加一项BC惩罚项,用于限制策略靠近专家策略;而在在线微调阶段,通过动态调整BC的权重,缓解performance drop。

2 Method

2.1 offline

离线阶段,采用BC结合确定性策略优化方法。最大化下列损失函数:
J o f f i n e ( θ ) = E ( s , a ) ∼ B [ ζ Q ϕ ( s , π θ ( s ) ) − ∥ π θ ( s ) − a ∥ 2 ] J_{\mathrm{offine}}(\boldsymbol{\theta})=\mathbb{E}_{(\boldsymbol{s},\boldsymbol{a})\sim\mathcal{B}}\left[\zeta Q_{\boldsymbol{\phi}}(\boldsymbol{s},\pi_{\boldsymbol{\theta}}(\boldsymbol{s}))-\left\|\pi_{\boldsymbol{\theta}}(\boldsymbol{s})-\boldsymbol{a}\right\|^2\right] Joffine(θ)=E(s,a)B[ζQϕ(s,πθ(s))πθ(s)a2]
其中, ζ \zeta ζ用于平衡BC以及一般policy iteration,其数值如下:
ζ = α 1 m ∑ ( s i , a i ) ∈ B ‾ ∣ Q ( s i , a i ) ∣ \zeta=\frac{\alpha}{\frac1m\sum_{(\boldsymbol{s}_i,\boldsymbol{a}_i)\in\overline{\mathcal{B}}}|Q(\boldsymbol{s}_i,\boldsymbol{a}_i)|} ζ=m1(si,ai)BQ(si,ai)α
其中 B ‾ \overline{\mathcal{B}} B表示从Buffer中采样地mini-batch, size为m

2.2 online

在线微调阶段,对确定性策略优化的损失函数表示如下
J o n l i n e ( θ ) = E ( s , a ) ∼ B [ ζ Q ϕ ( s , π θ ( s ) ) − λ ∥ π θ ( s ) − a ∥ 2 ] J_{\mathrm{online}}(\boldsymbol{\theta})=\mathbb{E}_{(\boldsymbol{s},\boldsymbol{a})\sim\mathcal{B}}\left[\zeta Q_{\boldsymbol{\phi}}(\boldsymbol{s},\pi_{\boldsymbol{\theta}}(\boldsymbol{s}))-\lambda\left\|\pi_{\boldsymbol{\theta}}(\boldsymbol{s})-\boldsymbol{a}\right\|^2\right] Jonline(θ)=E(s,a)B[ζQϕ(s,πθ(s))λπθ(s)a2]
相较于offline,损失函数增加对BC权重因子 λ \lambda λ。该数值是动态减少的,实验设置为每5k steps, 减少10%。对Q价值的更新则是类似于TD3,使用两个target网络以及延时更新。
L ( ϕ ) = E ( s , a ) ∼ B [ ( y ˉ − Q ϕ ( s , a ) ) 2 ] where  y ˉ = r + min ⁡ i = 1 , 2 Q ϕ i ˉ ( s , ′ a ′ ∼ π θ ˉ ) . \begin{aligned}L(\phi)&=\mathbb{E}_{(\boldsymbol{s},\boldsymbol{a})\sim\mathcal{B}}\left[\left(\bar{y}-Q_{\boldsymbol{\phi}}(\boldsymbol{s},\boldsymbol{a})\right)^2\right]\\\\\text{where }\bar{y}&=r+\min_{i=1,2}Q_{\bar{\boldsymbol{\phi}_i}}(\boldsymbol{s},'\boldsymbol{a}'\sim\pi_{\bar{\boldsymbol{\theta}}}).\end{aligned} L(ϕ)where yˉ=E(s,a)B[(yˉQϕ(s,a))2]=r+i=1,2minQϕiˉ(s,aπθˉ).

伪代码如下:
在这里插入图片描述

Summary

有个疑问,online阶段对策略进行更新时,采样的数据(s,a)是来自replaybuffer B \mathcal{B} B B \mathcal{B} B包含在线阶段真实交互数据以及离线数据。如果(s,a)是OOD或者质量差数据,那么此时BC项应该尽可能地不要发挥作用。简单的调整 λ \lambda λ恐怕效果不够。可以探索添在BC项再加一个指示函数自适应地判断,“异常数据”直接截断为0.

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

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

相关文章

【STM32F103】WDG看门狗

本系列在之前介绍时钟树的文章中有稍微提一下看门狗WDG(Watch Door Dog)。 简单来说,可以当成是一个计数器,一旦这个计数器溢出则单片机复位。因为我们需要每隔一段时间就把这个计数器的值清零(喂狗)。 I…

并发编程并发安全性之Lock锁及原理分析

ReentrantLock 用途:锁是用来解决线程安全问题的 重入锁-> 互斥锁 满足线程的互斥性意味着同一个时刻,只允许一个线程进入到加锁的代码中。多线程环境下,满足线程的顺序访问 锁的设计猜想 一定会涉及到锁的抢占,需要有一个标记来实现互…

C#不可识别的数据库格式解决方法

1.检查数据库文件路径和文件名: 确保指定的路径和文件名拼写正确,而且文件确实存在于指定的位置。使用绝对路径或相对路径都是可行的,但要确保路径的正确性 string connectionString "ProviderMicrosoft.ACE.OLEDB.12.0;Data SourceE:…

数字人解决方案——阿里EMO音频驱动肖像生成能说话能唱歌的逼真视频

前言 数字可以分为3D数字人和2D数字人。3D数字人以虚幻引擎的MetaHuman为代表,而2D数字人则现有的图像或者视频做为输入,然后生成对口型的数字人,比如有SadTalker和Wav2Lip。 SadTalker:SadTalker是一种2D数字人算法,…

Lichee Pi 4A:RISC-V架构的开源硬件之旅

一、简介 Lichee Pi 4A是一款基于RISC-V指令集的强大Linux开发板,它凭借出色的性能和丰富的接口,吸引了众多开发者和爱好者的关注。这款开发板不仅适用于学习和研究RISC-V架构,还可以作为软路由、小型服务器或物联网设备的核心组件。 目录 一…

Java 反射详解:动态创建实例、调用方法和访问字段

“一般情况下,我们在使用某个类之前已经确定它到底是个什么类了,拿到手就直接可以使用 new 关键字来调用构造方法进行初始化,之后使用这个类的对象来进行操作。” Writer writer new Writer(); writer.setName("少年");像上面这个…

Java生成 word报告

Java生成 word报告 一、方案比较二、Apache POI 生成三、FreeMarker 生成 在网上找了好多天将数据库信息导出到 word 中的解决方案,现在将这几天的总结分享一下。总的来说,Java 导出 word 大致有 5 种。 一、方案比较 1. Jacob Jacob 是 Java-COM Bri…

MATLAB的基础二维绘图

1.plot函数 (1)plot函数的基本用法 plot(x,y)其中,x和y分别用于存储x坐标和y坐标数据,通常x和y为长度相同的向量。 例如: x[2.3,3.3,4.3,1];y[1.3,2,1.8,3]plot(x,y) (2)plot(x,y,选项)其中选项包括颜色…

(C语言)sizeof和strlen的对比(详解)

sizeof和strlen的对⽐(详解) 1. sizeof sizeof是用来计算变量所占内存空间大小的, 单位是字节,如果操作数是类型的话,计算的是用类型创建的变量所占空间的大小。 sizeof 只关注占用内存空间的大小 ,不在乎内…

Linux——网络基础

计算机网络背景 网络发展 独立模式: 计算机之间相互独立 在早期的时候,计算机之间是相互独立的,此时如果多个计算机要协同完成某种业务,那么就只能等一台计算机处理完后再将数据传递给下一台计算机,然后下一台计算机再进行相应…

YOLOv9推理详解及部署实现

目录 前言零、YOLOv9简介一、YOLOv9推理(Python)1. YOLOv9预测2. YOLOv9预处理3. YOLOv9后处理4. YOLOv9推理 二、YOLOv9推理(C)1. ONNX导出2. YOLOv9预处理3. YOLOv9后处理4. YOLOv9推理 三、YOLOv9部署1. 源码下载2. 环境配置2.1 配置CMakeLists.txt2.2 配置Makefile 3. ONNX…

软件设计师9--总线/可靠性/性能指标

软件设计师9--总线/可靠性/性能指标 考点1:总线总线的分类例题: 考点2:可靠性系统可靠性分析--可靠性指标串联系统与并联系统N模混合系统例题: 性能指标例题: 考点1:总线 一条总线同一时刻仅允许一个设备发…

Stable Diffusion 模型分享:CG texture light and shadow(CG纹理光影)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 一个拥有cg质感和光影的融合模型,偏2.5D 条目内容类型大模型基础模型SD 1.5来…

HTML+CSS+BootStrap游乐园官网

一、技术栈 支持pc、pad、手机访问,页面自适应!! html5cssbootstrapjs 二、项目截图 接受项目定制,站内联系博主!!!

【打工日常】使用docker部署轻量的运维监控工具

一、Uptime-Kuma介绍 Uptime-Kuma是一个轻量级的自动化运维监控工具,最为引人注目的特点是其出色的监控Dashboard面板。部署简单,工具轻量又强大。而且,Uptime-Kuma是开源免费的,并支持基于Docker的部署方式。它支持网站、容器、数…

索引下推 INDEX CONDITION PUSHDOWN

索引下推 (INDEX CONDITION PUSHDOWN,简称ICP)是在 MySQL5.6 针对扫描索引下推二级索引的一项优化改进。 用来在范围查询时减少回表的次数。ICP适用于 MYISAM和INNODB.

如何通过抖捧轻松开启AI常态化自动直播间

在如今的互联网时代,短视频和直播已成为大多数企业与实体商家必备的经营技能,不只是全国头部的品牌,他们纷纷加码直播,更有一些已经开启了直播矩阵的体系,包括中小型的商家,他们也在考虑一件事情&#xff0…

ES入门八:Mapping的详细讲解

什么是Mapping?**Mapping定义了索引中的文档有哪些字段及其类型、这些字段是如何存储和索引的。**每个文档都是一个字段的集合,每个字段都有自己的数据类型,例如我们定义的books索引,其中有book_id、name等字段。所以Mapping的作用…

96道前端面试题,前端开发工作内容

HTML、CSS、JS三大部分都起什么作用? HTML内容层,它的作用是表示一个HTML标签在页面里是个什么角色;CSS样式层,它的作用是表示一块内容以什么样的样式(字体、大小、颜色、宽高等)显示;JS行为层…

OJ_子串计算

题干 c实现 #include <stdio.h> #include <string> #include <map>using namespace std;int main() {char strArr[100];while (scanf("%s", strArr) ! EOF) {string str strArr;map<string, int> subCount;for (int i 0; i < str.size…