Online RL + IL :Policy Improvement via Imitation of Multiple Oracles

news2025/1/21 15:46:17

NIPS 2020
paper
code
如何利用多个次优专家策略来引导智能体在线学习,后续有多个文章研究该设定下的RL。

Intro

论文探讨了在强化学习(RL)中,如何通过模仿多个次优策略(称为oracle)来提升策略性能的问题。模仿学习(Imitation Learning, IL)通过在训练期间使用oracle策略作为引导,减少了这种成本。然而实际情况下,学习者可以访问到多个次优的oracle,这些oracle在某些状态下可能会提供相互矛盾的指导。现有的模仿学习文献对这种情况的处理相对有限。
论文的主要贡献包括:

  1. 提出了一个理论框架,用于从多个oracle中学习,特别是通过定义一个基于多个oracle策略价值函数最大值的基准线(max-aggregated baseline),来解决多个oracle之间冲突的建议。
  2. 提出了一个新颖的模仿学习算法MAMBA(Max-aggregation of Multiple Baselines),它可以通过在线学习的方式,学习与max-aggregated baseline竞争的策略。MAMBA是一个基于广义优势估计(Generalized Advantage Estimation, GAE)风格的梯度估计器的一阶算法。
  3. 提供了MAMBA的遗憾(regret)性能保证,并在实验中评估了MAMBA与标准策略梯度和AggreVaTe(D)算法的性能,展示了MAMBA利用单个和多个弱oracle进行演示的能力,并显著加快了策略优化的速度。 论文还讨论了如何选择在给定状态下切换不同oracle的点,以及是否可以学习一种可靠的规则来进行切换。

Method

文章设定智能体能够访问一组Oracle策略 Π e = { π k } k ∈ [ K ] \Pi^{\mathsf{e}}=\{\pi^{k}\}_{k\in[K]} Πe={πk}k[K]。设 V k : = V π k V^k:=V^{\pi^k} Vk:=Vπk表示策略对应的状态价值函数。为了防止多种Oracle给出矛盾的建议导致智能体在线优化,文章提出max-aggregated baseline
f max ⁡ ( s ) : = max ⁡ k ∈ [ K ] V k ( s ) f^{\max}(s):=\max_{k\in[K]}V^k(s) fmax(s):=k[K]maxVk(s)
该值将作为一个目标,让智能体学习策略使得状态值函数大于该baseline。而此时需要完全了解MDP过程以及oracle准确的价值估计函数,这在IL中无法满足。因此,本文提出在线RL去逼近。
A ^ \hat{A} A^表示 A f ^ m a x A^{\widehat{f}^{\mathrm{max}}} Af max。采用基于优势函数 A ^ \hat{A} A^的策略梯度方法优化
∇ ℓ ^ n ( π n ) = − T E s ∼ d π n E a ∼ π ∣ s [ ∇ log ⁡ π ( a ∣ s ) A ^ ( s , a ) ] ∣ π = π n \nabla\widehat{\ell}_n(\pi_n)=-T\mathbb{E}_{s\sim d^{\pi n}}\mathbb{E}_{a\sim\pi|s}\left[\nabla\log\pi(a|s)\widehat{A}(s,a)\right]|_{\pi=\pi_n} n(πn)=TEsdπnEaπs[logπ(as)A (s,a)]π=πn

在这里插入图片描述
该定理说明在一阶在线算法(一阶导数更新模型参数)的期望遗憾满足一定条件下,最大化下界max-aggregated baseline的期望,便最大化价值函数。而在单个oracle下, 基于MC近似估计的 f ^ m a x \hat{f}^{max} f^max是无偏估计。但是存在T倍方差。在多个Oracle下对 f m a x f^{max} fmax行无偏估计十分困难。因此本文采用基于类似TD- λ \lambda λ的加权估计方法,对其进行函数近似。优化目标可表示为
ℓ n ( π ; λ ) : = − ( 1 − λ ) T E s ∼ d π n [ A λ max ⁡ , π ( s , π ) ] − λ E s ∼ d 0 [ A λ max ⁡ , π ( s , π ) ] \ell_n(\pi;\lambda):=-(1-\lambda)T\mathbb{E}_{s\thicksim d^{\pi_n}}\left[A_\lambda^{\max,\pi}(s,\pi)\right]-\lambda\mathbb{E}_{s\thicksim d_0}\left[A_\lambda^{\max,\pi}(s,\pi)\right] n(π;λ):=(1λ)TEsdπn[Aλmax,π(s,π)]λEsd0[Aλmax,π(s,π)]
其中加权优势函数为
A λ max ⁡ , π ( s , a ) : = ( 1 − λ ) ∑ i = 0 ∞ λ i A ( i ) max ⁡ , π ( s , a ) A ( i ) max ⁡ , π ( s t , a t ) : = E ξ t ∼ ρ π ∣ s t [ r ( s t , a t ) + ⋯ + r ( s t + i , a t + i ) + f max ⁡ ( s t + i + 1 ) ] − f max ⁡ ( s t ) A_\lambda^{\max,\pi}(s,a):=(1-\lambda)\sum_{i=0}^\infty\lambda^iA_{(i)}^{\max,\pi}(s,a)\\\\A_{(i)}^{\max,\pi}(s_t,a_t):=\mathbb{E}_{\xi_t\sim\rho^\pi|s_t}[r(s_t,a_t)+\cdots+r(s_{t+i},a_{t+i})+f^{\max}(s_{t+i+1})]-f^{\max}(s_t) Aλmax,π(s,a):=(1λ)i=0λiA(i)max,π(s,a)A(i)max,π(st,at):=Eξtρπst[r(st,at)++r(st+i,at+i)+fmax(st+i+1)]fmax(st)

该优化目标的梯度满足以下定理
在这里插入图片描述
因此原问题梯度表示为 ∇ ℓ ^ n ( π n ; λ ) = − T E s ∼ d π n E a ∼ π ∣ s [ ∇ log ⁡ π ( a ∣ s ) A ^ λ π ( s , a ) ] ∣ π = π n ( 17 ) \nabla\widehat{\ell}_n(\pi_n;\lambda)=-T\mathbb{E}_{s\sim d^{\pi_n}}\mathbb{E}_{a\sim\pi|s}[\nabla\log\pi(a|s)\widehat{A}_\lambda^\pi(s,a)]|_{\pi=\pi_n} (17) n(πn;λ)=TEsdπnEaπs[logπ(as)A λπ(s,a)]π=πn17

Lemma   4.   Define   A ^ ( s , a ) : = r ( s , a ) + E s ′ ∣ s , a [ f ^ max ⁡ ( s ′ ) ] − f ^ max ⁡ ( s ) .   It   holds   that   for   all   λ ∈ [ 0 , 1 ] , A ^ λ π ( s t , a t ) = E ξ t ∼ ρ π ∣ s t [ ∑ τ = t T − 1 λ τ − t A ^ ( a τ , s τ ) ] (18) \textbf{Lemma 4. Define }\widehat{A}(s,a):=r(s,a)+\mathbb{E}_{s^{\prime}|s,a}[\widehat{f}^{\max}(s^{\prime})]-\widehat{f}^{\max}(s).\textit{ It holds that for all }\lambda\in[0,1],\\\widehat{A}_\lambda^\pi(s_t,a_t)=\mathbb{E}_{\xi_t\sim\rho^\pi|s_t}\left[\sum_{\tau=t}^{T-1}\lambda^{\tau-t}\widehat{A}(a_\tau,s_\tau)\right]\text{(18)} Lemma 4. Define A (s,a):=r(s,a)+Ess,a[f max(s)]f max(s). It holds that for all λ[0,1],A λπ(st,at)=Eξtρπst[τ=tT1λτtA (aτ,sτ)](18)
基于上式,便可利用近似函数 f ^ max ⁡ \hat{f}^{\max} f^max,通过采样轨迹数据获得无偏估计,并通过策略梯度方法优化策略。

伪代码

在这里插入图片描述

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

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

相关文章

Qt 跨平台客户端开发框架

Qt 是一个流行的跨平台应用程序开发框架,用于开发图形用户界面(GUI)应用程序。尽管 Qt 提供了丰富的工具和功能,但在开发 Qt 客户端应用程序时,仍然可能面临一些技术难点。北京木奇移动技术有限公司,专业的…

没人讲清楚!我来讲!---- Ubuntu 20.04中下载配置Snort3,参数讲解及实现协议警报

文章目录 Snort一、Snort介绍1.1 概述1.2 主要功能1.3 关键特性 二、安装Snort三、配置Snort规则集四、配置Snort4.1 配置网卡4.2 启动参数4.3 自定义规则参数4.4 警报测试 最近刚好有网络安全的学习需求,看了好多文章,感觉都没有讲的很清楚。于是总结了…

JavaScript-基本数据类型和变量

基本数据类型 JavaScript支持数字、字符串和布尔值3种基本数据类型 字符串型 字符串型是JavaScript用来表示文本的数据类型,字符串通常由单引号或双引号括起来,如果字符串存在特殊字符,可以用转义字符代替 数字型 数字型也是JavaScript中的基…

【自然语言处理】二元文法模型

实验名称 二元文法模型 实验目的1.掌握N-gram文法的公式; 2.理解语言模型的实现过程; 3.掌握简单的平滑方法; 4.用代码编程实现2元语言模型,即一阶马尔可夫链。 实验内容:使用免费的中文分词语料库,如人民…

软考:数据流图案例

阅读下列说明和图,回答问题1至问题4。 一、说明 某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命体征,并在生命体征异常时向医生和护理人员报警。该系统的主要功能如下: (1)本地监控:定期获…

Ubuntu20.4部署Cuda12.4

准备Ubuntu20.4 VM 安装Cuda12.4 1.进入如下界面安装安装Cuda12.4版本: CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-downloads?target_osLinux&target_archx86_64&DistributionUbuntu&target_vers…

Swift知识点(三)

11. init、deinit、可选链、协议、元类型 构造和析构 构造方法 构造方法是一种特殊的方法 一个对象创建完毕后,都需要调用构造方法进行初始化(比如属性的初始化) 验证:init方法是在对象创建完毕的时候调用 回到存储属性 在对…

【资源汇总】GIS/RS相关软件包+数据分享(直接获取附链接)

01软件类 ArcGIS 10.2 链接:https://pan.baidu.com/s/1euHa3eTiaTjiOu-zxsi9eA?pwdnjov ArcGIS Pro 2.8.6 链接:https://pan.baidu.com/s/1Y3AQshCGL7tA1zdUc7s9PQ?pwdlkic ENVI 5.3 链接:https://pan.baidu.com/s/14k4IVlYIheNOr2to…

visual studio 2017重命名解决方案或项目名称

1.解决方案->右键->重命名->新的名字 2.项目->右键->重命名->新的名字 3.修改程序集和命名空间名称 项目->右键->属性->修改程序集名称和命名空间名称 4.搜索换名 Ctrl-F->输入旧名称->搜索->将所有旧名称改为新名称(注意是整…

【吊打面试官系列】Java高并发篇 - 创建线程的有哪些方式?

大家好,我是锋哥。今天分享关于 【创建线程的有哪些方式?】面试题,希望对大家有帮助; 创建线程的有哪些方式? 1、继承 Thread 类创建线程类 2、通过 Runnable 接口创建线程类 3、通过 Callable 和 Future 创建线程 …

Nginx性能优化系列 | Nginx的location规则配置详解

Nginx性能优化系列 | Nginx的location规则配置详解 1. Nginx设置过滤条件 1. Nginx设置过滤条件 如果请求一个不存在网站接口路径,为避免被听云检测到过多错误次数触发告警,可以在Nginx层面设置对错误的请求路径直接返回200正确码 # vim /usr/local/ngi…

FestDfs快速安装和数据迁移同步。Ubuntu环境

一:防火墙 ufw status 二:下载 分别是(环境依赖,网络模块依赖,安装包) git clone https://github.com/happyfish100/libfastcommon.git git clone https://github.com/happyfish100/libserverframe.git …

[牛客网]——C语言刷题day3

答案&#xff1a;A 解析&#xff1a; A.表示将数组a的首地址赋值给指针变量p B.将一个int型变量直接赋值给一个int型的指针是不行的 C.道理同B D.j2是一个右值&#xff0c;右值是不能进行取地址操作的 #include <iostream> using namespace std;#define N 7 int fun…

武汉星起航深耕亚马逊跨境,助力合作伙伴实现全球业务增长

在数字化浪潮席卷全球的今天&#xff0c;跨境电商业务蓬勃发展&#xff0c;成为推动国际贸易增长的重要引擎。亚马逊&#xff0c;作为全球最大的电商平台之一&#xff0c;以其独特的平台特点和全球化布局&#xff0c;为卖家和买家提供了便捷、高效的交易环境&#xff0c;成为众…

后台菜单数据递归展示

后台菜单数据递归展示 效果示例图aslide.vueaslideItem.vuemenu 效果示例图 aslide.vue <script setup>import {ref} from vue;const props defineProps({isCollapse: {type: Boolean,default: false}});import AslideItem from "./aslideItem.vue"const def…

JETBRAINS IDES 分享一个2099通用试用码!DataGrip 2024 版 ,支持一键升级

文章目录 废话不多说上教程&#xff1a;&#xff08;动画教程 图文教程&#xff09;一、动画教程激活 与 升级&#xff08;至最新版本&#xff09; 二、图文教程 &#xff08;推荐&#xff09;Stage 1.下载安装 toolbox-app&#xff08;全家桶管理工具&#xff09;Stage 2 : 下…

CST电磁仿真软件什么是Schematic?三维模型和电路协同仿真【小白必学教程】

什么是Schematic? 使用CST Design Studio进行的各种分析&#xff01; Schematic 进行三维仿真时&#xff0c;有时需要将3D模型和电路图放在一起进行仿真分析。比如需要天线和匹配电路协同仿真&#xff0c;两者构成完整的电路图可以系统地分析In/0ut特性。按下3D工作界面下方…

了解RFID技术如何改善危化品仓储管理效率

随着科学的发展&#xff0c;我国化工行业也迎来飞速进步的黄金时期&#xff0c;而生产加工快速化的同时也导致一些危险化学品的使用量与存储量不断增加。由于危险化学品种类较多&#xff0c;使用和存储的方法都不一样&#xff0c;还具有易燃、易爆、腐蚀、毒害等特性&#xff0…

c语言中数字字符串和数字互转

#include <getopt.h> #include <stdio.h> #include <stdlib.h>#define MAX_PATH 256 char filename[MAX_PATH 5]; int main(int argc, char** argv) {//数字字符串转数字const char* kk "689";int zhi atoi(kk) 8;//数字字符串转doubledoub…

面对《消费者告知法》严查与技术BUG频发,亚马逊卖家如何巧妙应对挑战?

五一假期期间&#xff0c;亚马逊大量发送《美国消费者告知法案》验证邮件通知&#xff0c;在这个本该是卖家们忙碌而喜悦的时刻&#xff0c;亚马逊平台上的卖家们却遭遇了一场前所未有的“灾难”——《消费者告知法》验证问题的爆发&#xff0c;以及随之而来的一系列技术BUG&am…