论文速览【Offline RL】——【IQL】Offline reinforcement learning with implicit Q-Learning

2023-05-16

  • 标题:Offline reinforcement learning with implicit Q-Learning
  • 文章链接:Offline reinforcement learning with implicit Q-Learning
  • 代码:ikostrikov/implicit_q_learning
  • openreview:Offline Reinforcement Learning with Implicit Q-Learning
  • 发表:ICLR 2022
  • 领域:离线强化学习(offline/batch RL)—— IL-Based
  • 【本文为速览笔记,仅记录核心思想,具体细节请看原文】

  • 摘要:Offline RL 需要协调两个相互冲突的目标:学得策略要尽量优于收集 Offline 数据集的 behavior policy,同时还要最小化与 behavior policy 的偏差以避免由于 distribution shift 而导致的错误。这种 trade-off 是至关重要的,因为当前大多数 Offline RL 方法需要在训练过程中查询 unseen 的动作的价值来改进策略,为了减少估计误差,这些 ( s , a ) (s,a) (s,a) 应当约束在 behavior policy 诱导的分布附近,或者规范它们价值靠近 behavior policy 的价值。我们提出了一种新的 Offline RL 方法,该方法不需要评估数据集之外的动作,但仍能通过泛化使学习到的策略大大超过数据集中的最佳行为。我们的工作的主要见解是,不去评估最新策略在 unseen 动作下的 Q Q Q 价值,而是通过将 状态下的最优动作的Q价值 看作一个 随机性由动作决定的随机变量 来隐式地估计 policy improvement 步骤,然后将随机变量的估计期望上界作为此状态下最优动作的 Q Q Q 价值,这利用了函数近似器的泛化能力来估计给定状态下的最佳可用动作的价值,而无需直接查询这个 unseen 动作的 Q Q Q 价值。我们的算法在拟合这个上期望值函数和将其备份为一个 Q Q Q 函数之间交替,没有任何显式的策略。然后我们通过 advantage-weighted behavioral cloning 来提取策略,这也避免了查询 OOD 样本的操作。我们将我们的方法称为 implicit Q-learning (IQL),它易于实现,计算效率高,并且只需要额外训练一个具有非对称 L2 损失的 Critic。IQL 在 D4RL 数据集上表现出 SOTA 的性能,我们还演示了 IQL 在 Offline 初始化后使用 Online 交互实现了很强的 fine-turn 性能

文章目录

  • 1. Offline RL 背景
  • 2. 本文方法
    • 2.1 思想
    • 2.2 方法细节
  • 3. 实验

1. Offline RL 背景

  • Offline RL 是这样一种问题设定:Learner 可以获取由一批 episodes 或 transitions 构成的固定交互数据集,要求 Learner 直接利用它训练得到一个好的策略,而且禁止 Learner 和环境进行任何交互,示意图如下
    在这里插入图片描述
    关于 Offline RL 的详细介绍,请参考 Offline/Batch RL简介
  • Offline RL 是近年来很火的一个方向,下图显示了 2019 年以来该领域的重要工作
    在这里插入图片描述
    过去的许多 Offline RL 方法都涉及到 Q Q Q 价值的评估,这就涉及到 distribution shift / extrapolation error 问题,如果是迭代的 multi-step off-policy 评估,还会受到 Iterative error exploitation 问题影响,在 one-step 论文 中这些都有了详细分析。过去的方法从各种角度出发缓解这两个问题,可以如下分类
    在这里插入图片描述

2. 本文方法

2.1 思想

  • 在 Offline 数据集上进行 policy evaluation 时,Bellman 迭代中涉及的 OOD 的 a ′ a' a 会导致 distribution shift,过去 policy constrain 和 value constraint 类方法都无法完全回避此问题,one-step 类方法虽然可以回避,但失去了 multi-step DP 能力。本文通过 expectile regression 进行隐式的策略评估,在完全避免 OOD a ′ a' a 访问以避免 distribution shift 的同时,仍能执行 multi-step DP,从而学到更好的 Q ∗ Q^{*} Q 估计,最后用 AWR 方法(一种优势加权模仿学习)从 Q ∗ Q^* Q 估计中提取策略
  • 本文提出的 IQL 本质上属于 IL-Bsaed 类方法,它学习价值估计只是为了进行优势加权 BC

2.2 方法细节

  • 目标是只在数据集上所含的 ( s , a ) (s,a) (s,a)进行应用 Bellman optimal operator,从而回避 OOD 的 a ′ a' a (文章所谓的 “SARSA-like”)
    L ( θ ) = E ( s , a , s ′ ) ∼ D [ ( r ( s , a ) + γ max ⁡ a ′ ∈ A  s.t.  π β ( a ′ ∣ s ′ ) > 0 Q θ ^ ( s ′ , a ′ ) − Q θ ( s , a ) ) 2 ] (1) L(\theta)=\mathbb{E}_{\left(s, a, s^{\prime}\right) \sim \mathcal{D}}\left[\left(r(s, a)+\gamma \max _{\substack{a^{\prime} \in \mathcal{A} \\ \text { s.t. } \pi_{\beta}\left(a^{\prime} \mid s^{\prime}\right)>0}} Q_{\hat{\theta}}\left(s^{\prime}, a^{\prime}\right)-Q_{\theta}(s, a)\right)^{2}\right] \tag{1} L(θ)=E(s,a,s)D r(s,a)+γaA s.t. πβ(as)>0maxQθ^(s,a)Qθ(s,a) 2 (1) 其中 Q θ ^ Q_{\hat{\theta}} Qθ^ 是 target 网络, β \beta β 是 behavior policy

  • 作者如下使用 expectile regression(期望回归) 方式实现这个操作
    L ( θ ) = E ( s , a , s ′ , a ′ ) ∼ D [ L 2 τ ( r ( s , a ) + γ Q θ ^ ( s ′ , a ′ ) − Q θ ( s , a ) ) ] (2) L(\theta)=\mathbb{E}_{\left(s, a, s^{\prime}, a^{\prime}\right) \sim \mathcal{D}}\left[L_{2}^{\tau}\left(r(s, a)+\gamma Q_{\hat{\theta}}\left(s^{\prime}, a^{\prime}\right)-Q_{\theta}(s, a)\right)\right] \tag{2} L(θ)=E(s,a,s,a)D[L2τ(r(s,a)+γQθ^(s,a)Qθ(s,a))](2) 其中 L 2 τ ( u ) = ∣ τ − 1 ( u < 0 ) ∣ u 2 L_{2}^{\tau}(u)=|\tau-\mathbb{1}(u<0)| u^{2} L2τ(u)=τ1(u<0)u2 是一个非对称 L2 损失,如下所示
    在这里插入图片描述
    τ = 0.5 \tau=0.5 τ=0.5 L 2 0.5 L_{2}^{0.5} L20.5 退化为 MSE; τ \tau τ 越接近 1,模型就越倾向拟合那些 TD error 更大的 transition,从而使 Q Q Q 估计靠近数据集上的上界;当 τ → 1 \tau\to 1 τ1 时可认为得到了 Q ∗ Q^* Q

  • 直接使用 (2) 的问题在于引入了环境随机性 s ′ ∼ p ( ⋅ ∣ s , a ) s'\sim p(·|s,a) sp(s,a),一个大的 TD target 可能只是来自碰巧转入的 “好状态”,即使这个概率很小,也会被 expectile regression 找出来,导致 Q Q Q 价值高估。为此作者又学习了一个独立的 V V V 价值
    L V ( ψ ) = E ( s , a ) ∼ D [ L 2 τ ( Q θ ^ ( s , a ) − V ψ ( s ) ) ] (3) L_{V}(\psi)=\mathbb{E}_{(s, a) \sim \mathcal{D}}\left[L_{2}^{\tau}\left(Q_{\hat{\theta}}(s, a)-V_{\psi}(s)\right)\right] \tag{3} LV(ψ)=E(s,a)D[L2τ(Qθ^(s,a)Vψ(s))](3) 这里 V ψ ( s ) V_\psi(s) Vψ(s) 会近似 max ⁡ Q θ ^ ( s , a ) \max Q_{\hat{\theta}}(s,a) maxQθ^(s,a),然后使用如下 MSE loss 来消除 s ′ s' s 的随机性
    L Q ( θ ) = E ( s , a , s ′ ) ∼ D [ ( r ( s , a ) + γ V ψ ( s ′ ) − Q θ ( s , a ) ) 2 ] (4) L_{Q}(\theta)=\mathbb{E}_{\left(s, a, s^{\prime}\right) \sim \mathcal{D}}\left[\left(r(s, a)+\gamma V_{\psi}\left(s^{\prime}\right)-Q_{\theta}(s, a)\right)^{2}\right] \tag{4} LQ(θ)=E(s,a,s)D[(r(s,a)+γVψ(s)Qθ(s,a))2](4) 总的来看,就是使用 (3) (4) 实现 (2),达成 (1) 的思想,这里 (3) (4) 可以多步迭代计算实现 multi-step DP,且整个过程不需要访问 a ’ a’ a

  • 价值收敛得到 Q ∗ Q^* Q 后,直接用 AWR 方法,通过最大化下式来提取策略
    L π ( ϕ ) = E ( s , a ) ∼ D [ exp ⁡ ( β ( Q θ ^ ( s , a ) − V ψ ( s ) ) ) log ⁡ π ϕ ( a ∣ s ) ] L_{\pi}(\phi)=\mathbb{E}_{(s, a) \sim \mathcal{D}}\left[\exp \left(\beta\left(Q_{\hat{\theta}}(s, a)-V_{\psi}(s)\right)\right) \log \pi_{\phi}(a \mid s)\right] Lπ(ϕ)=E(s,a)D[exp(β(Qθ^(s,a)Vψ(s)))logπϕ(as)] 其中 β ∈ [ 0 , ∞ ) \beta\in[0,\infin) β[0,) 是一个逆温度系数,取值较小时类似 BC;取值较大时会试图做加权 BC 来恢复 max ⁡ Q θ ^ ( s , a ) \max Q_{\hat{\theta}}(s,a) maxQθ^(s,a)注意这个过程也无需访问 a ′ a' a

  • 将上诉过程总结为如下伪代码
    在这里插入图片描述
    注意这里 “策略评估” 和 “策略提取” 是互相解耦的,提取出的策略不会以任何方式影响值函数,因此二者可以同时执行,也可在评估完成后执行,个解耦思路也出现了后来的 POR 方法中。另外,本文使用 Clipped Double Q-Learning 来缓解 Q 价值的高估

3. 实验

  • 在 MuJoCo 的连续控制任务和 Ant Maze 任务上测试结果如下
    在这里插入图片描述
    1. 这里选择的 MuJoCo 数据中都有相当一部分接近最优的轨迹,奖励比较密集,适合于 one-step 和简单 BC,这时 IQL 能取得相媲美的结果;
    2. Antmaze、kitchen 和 adroit 环境中轨迹质量都比较差,需要 agent 具有较强的次优轨迹拼接能力,这时 IQL 通过执行 multi-step DP 能得到更好的 Q ∗ Q^* Q 估计,次优轨迹拼接能力更强,远超过 DT、one-step 等方法;由于更好地缓解了 distribution shift,超过 TD3+BC 和 CQL 等约束类方法
    3. IQL 在训练时间上也有优势
  • 作者在 AntMaze 环境上检查了 expectile regression 中超参数 τ \tau τ 的影响,如下
    在这里插入图片描述
    我个人感觉这里 τ \tau τ 如果设置过大很可能出现价值高估,另外针对 expectile regression 学得 Q ∗ Q^* Q 的证明请参考原文
  • 由于 IQL 初始 offline 训练性能良好,且其使用的 weighted BC 式策略提取器在 online fine-turn 过程中通常由于其他类型的策略约束,IQL 也具有很好的 online fine-turn 能力,如下
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文速览【Offline RL】——【IQL】Offline reinforcement learning with implicit Q-Learning 的相关文章

  • configure it with blueman-service

    用下面这个命令把Linux目录的名字由中文改成英文了 export LANG span class hljs subst 61 span en US xdg span class hljs attribute user span span
  • cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso

    ed2k file cn windows 7 ultimate with sp1 x64 dvd u 677408 iso 3420557312 B58548681854236C7939003B583A8078 文件 D 迅雷下载 cn w
  • 机器学习中的降维与度量学习(reduce dimension and metric learning)

    降维与度量学习 k近邻学习 k近邻 k Nearest Neighbor 简称kNN 学习是一种监督学习方法 其工作机制为 xff1a 在样本中 xff0c 根据距离度量找出训练集中临近的k个样本 xff0c 基于这k个样本进行预测 一般
  • Joint state with name: “base_l_wheel_joint” was received but not found in URDF

    ROS melodic下运行出现 WARN xff1a Joint state with name base l wheel joint was received but not found in URDF 原因是在robot描述文件URD
  • Ubuntu20.04下编译安装ORBSLAM2_with_pointcloud_map总结

    与此物大战六个小时 xff0c 终于解决所有问题 xff0c 写此短文记录一下 一 在github上下载源码后 xff0c 解压缩 xff0c 如下 进行g2o with orbslam2的编译 1 报错信息 xff1a ORBSLAM2
  • [ 对比学习篇 ] 经典网络模型 —— Contrastive Learning

    Author Horizon Max 编程技巧篇 各种操作小结 神经网络篇 经典网络模型 算法篇 再忙也别忘了 LeetCode 对比学习篇 经典网络模型 Contrastive Learning 01 InstDisc 结构框图 详解 效
  • Python-with open() as f的用法

    常见的读写操作 with open r filename txt as f data user pd read csv f 文件的读操作 with open data txt w as f f write hello world 文件的写操
  • 在没有互联网连接的计算机上使用 Scala

    我是 Scala 新手 如果问题绝对显而易见 我很抱歉 我的计算机上安装了 Eclipse Photon 想要编辑 Scala 代码并生成可运行的 jar 棘手的部分是我的计算机 Centos7 无法访问互联网 我记住两个潜在的问题 手动下
  • 使用 jQuery 检查互联网连接是否存在? [复制]

    这个问题在这里已经有答案了 如何使用 jQuery 检查是否有互联网连接 这样我就可以有一些条件说 在生产过程中使用 google 缓存版本的 JQuery 在开发过程中使用该版本或本地版本 具体取决于互联网连接 针对您的具体情况的最佳选择
  • 当前由 Service Worker 'fetch' 事件提供服务的页面的 URL

    如何获取 Service Worker 的 fetch 事件所服务的页面的完整 URL self location 属性似乎仅指网站的根 URL 例如 如果页面https example com folder pagename html正在
  • 与 Service Worker 一起存储 REST 请求以同步它们

    我正在考虑使用服务人员将我的应用程序离线 我已经通过缓存资源获得了令人满意的结果 但我还必须检查 onfetch 是否连接到互联网 如果没有 存储请求 并将其推送到同步 我知道 未来的 onsync 将对此有所帮助 但我需要 即使是临时 解
  • 如何下载 Visual Studio 2013 update 2 离线/独立安装?

    可下载here http www microsoft com en us download confirmation aspx id 42666但必须是在线安装过程 我正在寻找离线下载包和 或独立 iso 安装文件的方法 类似于我们使用 V
  • iOS 13 设备上语音识别(支持OnDevice Recognition 标志)

    我正在尝试让 iOS 13 OnDevice 语音识别正常工作 但是 验证 supportOnDeviceRecognition 标志 这是启用 OnDevice 识别的初步步骤 始终返回 false 我使用的是装有 iOS 13 3 的第
  • 离线使用 Firebase 时观察者挂起

    我正在尝试向我们的 iOS 应用程序 简单地说 一个管理用户和项目的应用程序 添加离线功能 该应用程序依赖于 Firebase 这是使用 Swift 3 0 我已按照指南进行操作并执行了以下操作 在 FIRApp configure 之后将
  • 离线工作的 HTML 表单

    我需要能够离线运行 HTML 表单 我的意思是它们必须在没有直接连接到网络服务器的情况下工作 在我 5 年前编写的一个应用程序中 我通过实现自定义协议处理程序来实现这一点 当用户发起表单提交时 生成的 HTTP 请求会在本地记录 稍后 当与
  • Firebase + React Native:离线身份验证

    我在 React Native iOS 应用程序中使用 Firebase 主要用于存储用户数据和用户身份验证 效果很好当设备确实有可用的网络连接时 当谈到Firebase的离线功能时 它看起来像这样 问题 在没有网络连接的情况下启动应用程序
  • 我还应该使用 Silverlight/XBAP

    我们需要创建一个可以通过浏览器使用但也可以离线使用的应用程序 我们的客户将使用浏览器版本进行计算 每个客户都需要使用用户名和密码登录应用程序 离线版本将由我们自己的员工使用 他们需要能够在未连接到网络的情况下使用此版本 应用程序所需的数据将
  • HTML5 应用程序缓存与浏览器缓存

    当前浏览器中实现了 applicationCache 我的应用程序缓存清单文件更改版本号 然后触发 applicationCache 更新事件 强制浏览器从服务器下载清单文件中提到的新资源 假设我已经在这些资源上配置了远期到期标头 这些文件
  • 如何在 iOS 中将 Firebase 对象持久保存到磁盘?

    看起来Firebase http www firebase comiOS 实现不支持客户端模型的离线缓存 这在实践中意味着 对于需要身份验证的 Firebase 应用程序 您需要首先进行身份验证并等待 Firebase 完成登录 检查用户身
  • 使用 sqlite 离线存储数据的 Web 表单应用程序

    我有一个 asp net Web 表单应用程序 它在远程服务器上使用 sql server 2005 所有控件均使用 linq to sql 绑定 我正在尝试提供完整的离线功能 所以我想知道是否可以像 sql server db 一样创建一

随机推荐