省流

  • 一种结合 off-policy 数据来训 RL 的方法。
  • 具体可以看 这篇博客,比本博客写得好(惭愧)

0 abstract

In this work, we aim to develop a simple and scalable reinforcement learning algorithm that uses standard supervised learning methods as subroutines, while also being able to leverage off-policy data. Our proposed approach, which we refer to as advantage-weighted regression (AWR), consists of two standard supervised learning steps: one to regress onto target values for a value function, and another to regress onto weighted target actions for the policy. The method is simple and general, can accommodate continuous and discrete actions, and can be implemented in just a few lines of code on top of standard supervised learning methods. We provide a theoretical motivation for AWR and analyze its properties when incorporating off-policy data from experience replay. We evaluate AWR on a suite of standard OpenAI Gym benchmark tasks, and show that it achieves competitive performance compared to a number of well-established state-of-the-art RL algorithms. AWR is also able to acquire more effective policies than most off-policy algorithms when learning from purely static datasets with no additional environmental interactions. Furthermore, we demonstrate our algorithm on challenging continuous control tasks with highly complex simulated characters.

  • method:

    • 开发一种简单、可扩展的 RL 算法,该算法使用标准的监督学习方法作为子程序,同时还能利用 off-policy data。
    • 我们的算法 优势加权回归(advantage-weighted regression,AWR),由两个标准的监督学习步骤组成:① 对于 value function,回归到 target values,② 对于 policy,回归到 weighted target actions。
    • 该方法简单通用,适用于连续和离散的 action,并且可以在标准监督学习方法的基础上,通过几行代码实现。
    • 我们为 AWR 提供了理论动机,并在纳入来自 experience replay 的 off-policy data 时,分析了其特性。
  • 实验:
    • 在一套标准的 OpenAI Gym 基准测试任务上评估了 AWR,并表明,与许多成熟的最先进的 RL 算法相比,它实现了有竞争力的性能。
    • 当从纯静态(static)数据集中学习时,AWR 能够获得比大多数 off-policy 算法更有效的策略,而无需额外的环境交互。
    • 此外,我们还演示了我们的算法,用于挑战性的连续控制任务,其中具有高度复杂的模拟角色。(盲猜是 kitchen 之类(?))

open review

  • (作者似乎放弃了 rebuttal)
  • 缺点:
    • novelty: proposed method 似乎是对现有 off-policy solver 的微小修改。
    • 实验:结果不足以支持该论文的说法, AWR 在几项任务中似乎明显比 SAC 差。
    • 理论:理论分析似乎与算法不匹配。

3 method: AWR

  • 看不懂算法了,整点知乎博客:

  • 好像 3.1 节是基本算法,3.2 节是 off-policy。
  • off-policy:
    • 最新策略 \(\pi_k\) 收集到的数据存储到缓冲区 D 中。对 V 函数进行拟合和策略改进时,采样策略为之前的策略 或者其他不同策略 共同组成的一个复合策略。
    • 对每个策略 \(\pi_i\) ,使用权重 \(w_i\) ,定义一个复合策略 \(\mu\) 。
    • 直接得到,策略 \(\pi\) 比 \(\mu\) 好的程度,\(\eta(\pi)=J(\pi)-J(\mu)=J(\pi)-\sum_{i=1}^k w_iJ(\pi_i)\) \(=\sum_{i=1}^kw_i(J(\pi)-J(\mu))=\sum_{i=1}^kw_i\big(E_{s\sim d_\pi(s),a\sim\pi(a|s)}[A^{\pi_i}(s,a)]\big)\) 。
    • 然后就 arg max \(\pi\) ,β 乘 一个 KL 散度,似乎是希望 \(\pi~\mu\) 尽可能接近;还有一个 α 的 Lagrange 乘子,不知道是什么。
  • 理论:见公式 7 - 10。(反正笔者是一点理论也看不懂(哭))

off-policy RL | Advantage-Weighted Regression (AWR):组合先前策略得到新 base policy的更多相关文章

  1. Locally Weighted Regression

    简单回顾一下线性回归.我们使用了如下变量:\(x\)—输入变量/特征:\(y\)—目标变量:\((x,y)\)—单个训练样本:\(m\)—训练集中的样本数目:\(n\)—特征维度:\((x^{(i)} ...

  2. Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

    鲁棒局部加权回归 [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust L ...

  3. Locally weighted regression algorithm

    在此引出另一种模型:Locally weighted regression algorithm(LWLR/LWR),通过名字我们可以推断,这是一种更加关注局部变化的模型.的确如此,在普通的linear ...

  4. Locally weighted regression algorithm

    之前所讨论的梯度下降算法,其算法模型是“线性回归模型”,我们可以理解为变量与因变量之间的关系是线性的.而现实情况是,使用线性模型去描述所有数据,很容易出现欠拟合(underfitting)的情况:同样 ...

  5. 策略模式 Strategy 政策Policy 行为型 设计模式(二十五)

    策略模式 Strategy   与策略相关的常见词汇有:营销策略.折扣策略.教学策略.记忆策略.学习策略.... “策略”意味着分情况讨论,而不是一概而论 面对不同年龄段的人,面对不同的商品,必然将会 ...

  6. 深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods)

    深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods) 2018-07-17 16:50:12 Reference:https://www.you ...

  7. locally weighted regression - CS229

    欠拟合和过拟合 看下方的三张图 第一幅拟合为了 y=θ0+θ1xy=θ0+θ1x 的一次函数 第二幅拟合为了y=θ0+θ1x+θ2x2y=θ0+θ1x+θ2x2 的二次函数 第三幅拟合为了 y=∑5j ...

  8. 【RL系列】Multi-Armed Bandit笔记——UCB策略与Gradient策略

    本篇主要是为了记录UCB策略与Gradient策略在解决Multi-Armed Bandit问题时的实现方法,涉及理论部分较少,所以请先阅读Reinforcement Learning: An Int ...

  9. HANA SQL

    约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  ...

  10. mysql查看和修改密码策略

    8.X版本: #查看密码策略 show variables like '%validate_password.policy%'; show variables like '%validate_pass ...

随机推荐

  1. Java8新特性Stream流

    1.是什么? Stream(流)是一个来自数据源的元素队列并支持聚合操作 2.能干嘛? Stream流的元素是特定类型的对象,形成一个队列. Java中的Stream并不会存储元素,而是按需计算. 数 ...

  2. NetSuite 开发日记:批量增删改

    一.批量插入/创建 使用 record.create() 插入数据时,一次只能插入一条,有多条数据需要插入时只能通过循环的方式,这样效率非常慢,耗时会随着数据量的增大而呈线性增长,有一种巧妙的方式可以 ...

  3. Kernel Memory 入门系列:自定义处理流程

    Kernel Memory 入门系列:自定义处理流程 在整个文档预处理的流程中,涉及到很多的处理步骤,例如:文本提取,文本分片,向量化和存储.这些步骤是Kernel Memory中的默认提供的处理方法 ...

  4. tomcat中文乱码怎么解决

    需要修改Tomcat根目录下面的"logging.properties"文件,把所有的encoding=UTF-8的改成encodng=GBK,保存之后,重启Tomcat服务器,就 ...

  5. Object类、String和StringBuffer、Math类、日期处理类

    1.Object类 "万物皆对象":(1)从类和对象角度:任何具体事物都是一个对象,. (2)Object类,类似"东西".所有的类都继承了Object类. 使 ...

  6. 痞子衡嵌入式:Farewell, 我的写博故事2023

    -- 题图:苏州虎丘塔 2023 年的最后一天,照旧写个年终总结.昨晚和同门师兄弟一起吃饭,有个师弟告诉痞子衡,微博上一个拥有 22.3W 粉丝的嵌入式同行今年 4 月发过一个吐槽微博,说恩智浦 MC ...

  7. Linux驱动开发笔记(六):用户层与内核层进行数据传递的原理和Demo

    前言   驱动作为桥梁,用户层调用预定义名称的系统函数与系统内核交互,而用户层与系统层不能直接进行数据传递,进行本篇主要就是理解清楚驱动如何让用户编程来实现与内核的数据交互传递.   温故知新 设备节 ...

  8. MySQL|空间碎片化问题处理

    一.空间碎片化严重案例分享 1.1 问题描述 实例磁盘空间近1个月上涨趋势明显,主要是个别日志表存储较大且部分表存在空间碎片化的现象. 1.2 处理流程 1.通过日常巡检以及监控发现某实例磁盘空间近1 ...

  9. Pikachu漏洞靶场 (SSRF服务端请求伪造)

    SSRF(Server-Side Request Forgery:服务器端请求伪造) curl 点击 累了吧,来读一首诗吧 url是这样的: http://192.168.171.30/pikachu ...

  10. JVM学习-程序编译与优化

    原文链接:https://gaoyubo.cn/blogs/89d6d9be.html 一.前端编译与优化 Java技术下讨论"编译期"需要结合具体上下文语境,因为它可能存在很多种 ...