首页 > 其他分享 >用 Gaussian Process 建模 state-action 空间相关性,加速 Multi-Fidelity RL

用 Gaussian Process 建模 state-action 空间相关性,加速 Multi-Fidelity RL

时间:2023-04-16 13:33:30浏览次数:52  
标签:Multi GP Process transition action RL model MFRL 模拟器



目录


全文快读

  • 题目:Multi-fidelity Reinforcement Learning With Gaussian Processes: Model-Based and Model-Free Algorithms
  • 链接:https://ieeexplore.ieee.org/abstract/document/9069479
  • IEEE Robotics & Automation Magazine 是 robotics 顶刊。
  • main idea:
    • 基于 14 年的最初的那篇 MFRL 论文本站博客),
    • 利用相邻 state-action 的空间相关性来加速学习,用 gaussian processes 建模 env dynamics(model-based)/ Q function(model-free),从而得到 model-based model-free 两种 MFRL 算法。
    • 算法结构跟 14 年的 MFRL 基本一致。
  • 全文没有数学证明。

1 intro

  • 利用相邻 state-action 的空间相关性来加速学习:通过 Gaussian Process(GP)作为函数逼近器。
  • 主要贡献:两个算法。
    • model-based MFRL 算法 GP-VI-MFRL,估计转换函数,然后使用 value iteration 计算最优策略。
    • model-free MFRL 算法 GPQ-MFRL,直接估计最优 Q 值以及随后的最优策略。

3 背景

4 method

4.1 model-based 算法:GP-VI-MFRL

image-20230416114107971
  • 结构:包括 1 model learner、2 planner。
    • model learner 使用 GP regression 学 env transition: s_{t+1} = f(s_t,a_t),使用高斯分布的形式。
    • 使用 value iteration 作为 planner,用学到的 env transition 计算出最优策略。
  • 算法:
    • 在执行一个 action 前,agent 检查(第 8 行)它是否对当前 state-action pair 在前一个模拟器 Σi-1 中的 transition function 有足够准确的估计(方差小于 σ_th)。
      • 如果不是,并且如果当前环境中的 transition model 发生了变化,它就会切换到 Σi-1,并在 Σi-1 中执行 action 。
    • 跟踪当前模拟器中,最近访问的 L 个 state-action 对的方差。若方差和低于阈值 σ_th^sum(第 15 行),表明 agent 对当前模拟器很有信心,可以推进到下一个模拟器。
      • 在最初的工作中 [2],agent 遇到一定数量的已知 state-action 对后,就会切换到更高保真度的模拟器。
    • (第 7 行)如果一个 state-action pair 的后验方差下降到阈值 σ_th 以下(即 agent 对该 transition 有足够准确的估计),当前环境的模型就会改变,即 change = TRUE。
    • 第 10 - 13 行描述了算法的主体, agent 执行贪婪地选择的 action(第 6 行),并在 Di 中记录观察到的 transition (第 11 行)。 transition function 的 GP 模型在每一步之后被更新(第 12 行)。每次更新 transition function 后,都会计算新的 Q 值估计(第 13 行)。
      • 对每个模拟器,使用一个单独的 GP 来估计它的 transition function 。
    • 终止条件(第 5 行):步数限制、价值函数的变化、最大的 env 切换次数…
    • planner 利用上级(第 26 - 28 行)和下级模拟器(第 25 行)的转换知识,鼓励当前模拟器的探索。
      • 对于每一个 state-action pair (s,a),planner 寻找最大保真度的模拟器(第 26 行遍历所有模拟器),这个模拟器对 (s,a) 的 transition 有一个已知的估计(第 28 行),使用这个估计在当前模拟器中进行规划(第 28 行)。
        • 如果方差低于一个阈值,那么一个估计值就被称为“已知”。
      • 如果没有这样的模拟器,那么它就使用在前一个模拟器中学到的 Q 值,再加上一个保真度参数 β(第 25 行),这个参数是连续的模拟器中最佳 Q 值之间的最大可能差异。
    • 必须进行状态空间离散化,以规划 action 。然而,学到的 transition function 是连续的。

4.2 model-free 算法:GPQ-MFRL

image-20230416114222956
  • 直接使用 GPs 学习最佳 Q 值,而非学习 env model。
    • 基本假设:附近的 state-action pair 产生类似的 Q 值。
    • GPs 使用 squared-exponential kernel。
    • 同样,每个模拟器使用单独的 GP。
  • 算法:
    • 使用类似的阈值(σ_th 和 σ_th^sum)来确定何时切换到低保真或高保真模拟器。
    • GPQ-MFRL 检查 agent 在前一个模拟器中是否对最佳 Q 值有足够准确的估计(第 8 行),如果没有,切换到前一个模拟器。
    • 第 10 - 15 行描述了算法的主体,agent 将 transition 存入 Di(第 11 行),然后为每个 Di 中的 transition 更新目标值(第 14 行)(batch training)。GP 模型在每一步后被更新(第 16 行)。
    • agent 利用在上级模拟器中收集的经验(第 25 - 27 行)来选择当前模拟器中的最佳行动(第 6 行),利用最高已知 Q 值((s,a) 的后验方差小于阈值 σ_th)的模拟器(第 27 行),来选择当前模拟器的下一个动作。
      • 如果不存在这样的高保真模拟器,则使用低一层模拟器的 Q 值(第 24 行),使用保真度参数 β。
    • 每当 agent 在模拟器中收集到新的样本时,GPQ-MFRL 就会进行一次 batch re-training(第 13 - 15 行),使用新样本的知识,更新以前训练数据的 y 值。
    • 然后,用这些更新的 y 值,来训练 GPs 形式的 Q 值(第 16 行)。
      • 更新 GP 的计算成本是数据量的三次方;然而,我们可以使用稀疏 GP 技术 [6] 对数据集进行修剪,即,只用一小部分数据来 fit GP。
    • 不容易选择置信度界限的值。在目前的实验中,我们选择 σ_th^sum 为可能的最大 Q 值的 10%,σ_th 为 σ_th^sum 的 1/5。

5 experiment

  • 写的蛮清楚的。
  • GP-MFRL 比 14 年最初的 MFRL 效果更好(用的 high-fidelity 样本更少)。
  • GP-VI-MFRL(model-based)在训练最开始时比 GPQ-MFRL(model-free)表现更好,与传统 RL 经验一致,即 model-based>model-free。

6 讨论与展望

  • 未来可以将 MFRL 技术与 sim2real 方法进行比较 [1]。
    • 与 sim2real 不同的是,MFRL 技术明确决定何时在模拟器之间切换,并使用两层以上的模拟器。
    • 或许可以将这两个想法结合起来:使用 MFRL 来利用一些更便宜 / 更快的模拟器;使用参数化的模拟器,来引入领域适应 / 随机化(domain adaptation/randomization),以获得更好的 generalization。
  • 可改进的地方:在目前的方法中,进行 GP 回归时,来自不同模拟器的数据没有结合起来。
    • 1 使用多任务 GPs,它可以同时产生多个输出,分别对应于每个保真度模拟器。
    • 2 使用 deep GP ,将不同保真度的数据 拿来训同一个 NN。
    • 对以上两种情况,我们希望直接学习不同环境下的数值之间的相关性。



标签:Multi,GP,Process,transition,action,RL,model,MFRL,模拟器
From: https://www.cnblogs.com/moonout/p/17323160.html

相关文章

  • charles证书安装
    一、charles证书安装下载安装OpenSSL访问OpenSSL官网下载并安装:https://slproweb.com/products/Win32OpenSSL.html配置环境变量 下载charles证书打开charles,点击Help>SSLProxying>SaveCharlesRootCertificate...下载证书到本地证书格式化tips: 将证......
  • url跳转漏洞
    1、定义url跳转是指的攻击者可以构造payload,使受害者用户在访问目标网站的时候,跳转到攻击者控制的站点,从而进行钓鱼活动。2、发生场景(1)攻击者提前将payload保存到服务端的数据库,或者上传包含某跳转的页面,或者篡改已知页面包含跳转。这些情况有可能,但是一般意义不大。(2)请......
  • 数据结构 玩转数据结构 12-6 LR和RL的实现
    0课程地址https://coding.imooc.com/lesson/207.html#mid=14351 1重点关注1.1破坏二分搜索树的四种情况左左LL:新插入的节点导致不平衡,向上回溯找到第一个不平衡的节点在左孩子的左侧右右RR:新插入的节点导致不平衡,向上回溯找到第一......
  • how to use cURL with a variable in the URL string All In One
    howtousecURLwithavariableintheURLstringAllInOne如何在cURL的URL字符串中使用变量系统变量环境变量shell变量#cURL字符串中如何使用shell系统环境变量❓$exportDD_ROBOT_TOKEN=404e99******36d17fa1202$echo$DD_ROBOT_TOKEN#404e99*****......
  • 【体验有奖】 玩转 AIGC,Serverless 一键部署 AI 图像生成服务
    玩转AIGC,5分钟Serverless部署StableDiffustion服务AI模型展现出的图像生成能力已经远超人们的预期,只需要给出文字描述就能创造出具有惊人视觉效果的图像,人人都是艺术家的时代即将来临。阿里云Serverless团队全新上线体验“基于函数计算FC+Serverless应用部署StableD......
  • DrawerLayout的简单使用
    本节给大家带来基础UI控件部分的最后一个控件:DrawerLayout,官方给我们提供的一个侧滑菜单控件,和上一节的ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一个开源项目:ActionBarSher......
  • fastdds学习之2——Helloworld Demo
    本节详细介绍了如何使用C++API一步一步地创建一个简单的FastDDS应用程序,其中包含发布者和订阅者。也可以使用eProsimaFastDDSGen工具自行生成与本节中实现的示例类似的示例。在构建发布/订阅应用程序中解释了这种额外的方法,本例程在eProsimaFastDDSGithub仓库中,环境搭建完成......
  • cin与CTRL+z的问题
    这个问题源自于之前调试AVL树时,要输入两次值,我在第一次cin时,用CTRL+Z结束输入,之后的cin程序执行直接就跳过了,不能输入了;;;解决方法:在第一次输入后的程序加上以下两句时就可以了;cin.clear();//cin.sync(); 分析:CTRL+Z后;eof、fail位都会true;clear()之后good位位true;io标......
  • 打着 multi-fidelity RL 旗号,然而幼稚监督学习 + 迁移学习
    文章名称:Multi-fidelityreinforcementlearningframeworkforshapeoptimization链接:https://www.sciencedirect.com/science/article/pii/S0021999123001134#se0020JournalofComputationalPhysics(JCP),计算力学领域国际三大顶刊之一。0abstract提出了一个受控的......
  • Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
    前言在上个实验中,我们已经实现了简单智能合约实现及客户端开发,但该实验中智能合约只有基础的增删改查功能,且其中的数据管理功能与传统MySQL比相差甚远。本文将在前面实验的基础上,将HyperledgerFabric的默认数据库支持LevelDB改为CouchDB模式,以实现更复杂的数据检索功能......