IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BRAC算法原理详解与实现(经验篇) -> 正文阅读

[数据结构与算法]离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BRAC算法原理详解与实现(经验篇)

论文原文:【Yifan Wu, George Tucker, Ofir Nachum: “Behavior Regularized Offline Reinforcement Learning”, 2019; arXiv:1911.11361

本文是CMU和Google Research一起合作于2019年提出并发表在ICLR会议上,是一篇广泛的研究了BCQBEAR两个算法的优劣之后总结性工作,算法全称: Behavior Regularized ActorCritic (BRAC)(有点综述实验的味道,和之前的Deep reinforcement learning that matters很像)

摘要:BCQ算法通过添加VAE和扰动网络使得学习策略尽可能的靠近行为策略,BEAR算法提出来支撑集进一步优化学习策略,两者的相同点是都用了 ensemble Q-value函数,其中 BCQ的 k = 2 k=2 k=2, BEAR 的 k = 4 k=4 k=4,另外他们都使用了regularized learned policy来解决一些un-seen的state-action对(OOD)。
本文作者通过VP(value penalty)PR(policy regularization 两种方式来提高算法的效率。并在此技术上讨论了诸如regularization weight、Divergence for regularization以及超参数选择等6方面的内容,论文做了大量的实验(一如既往的Google风格),结论是: (1)加权目标Q值集合和自适应正则化系数是不必要的;(2)价值惩罚(VP)的使用略优于策略正则化(PR),而许多可能的分歧(KL,MMD,Wass Dis)可以达到类似的性能。也许在这些离线设置中最重要的区别是是否使用了适当的超参数

2. BRAC方法

作者首先回顾了BCQ和BEAR两种算法,其中BEAR算法使用了软更新的方式防止过估计(overestimate)问题(这里的 ψ j ′ \psi_{j}^{\prime} ψj? 表示目标Q函数的软更新集合, k = 4 k=4 k=4

Q ˉ ( s ′ , a ′ ) : = 0.75 ? min ? j = 1 , … , k Q ψ j ′ ( s ′ , a ′ ) + 0.25 ? max ? j = 1 , … , k Q ψ j ′ ( s ′ , a ′ ) \bar{Q}\left(s^{\prime}, a^{\prime}\right):=0.75 \cdot \min _{j=1, \ldots, k} Q_{\psi_{j}^{\prime}}\left(s^{\prime}, a^{\prime}\right)+0.25 \cdot \max _{j=1, \ldots, k} Q_{\psi_{j}^{\prime}}\left(s^{\prime}, a^{\prime}\right) Qˉ?(s,a):=0.75?j=1,,kmin?Qψj??(s,a)+0.25?j=1,,kmax?Qψj??(s,a)

另外分析了BCQ更新学习策略的过程如下:

π θ ( a ∣ s ) : = argmax ? a i + ξ θ ( s , a i ) Q ψ ( s , a i + ξ θ ( s , a i ) ) ?for? a i ~ π b ( a ∣ s ) , i = 1 , … , N \pi_{\theta}(a \mid s):=\underset{a_{i}+\xi_{\theta}\left(s, a_{i}\right)}{\operatorname{argmax}} Q_{\psi}\left(s, a_{i}+\xi_{\theta}\left(s, a_{i}\right)\right) \quad \text { for } a_{i} \sim \pi_{b}(a \mid s), i=1, \ldots, N πθ?(as):=ai?+ξθ?(s,ai?)argmax?Qψ?(s,ai?+ξθ?(s,ai?))?for?ai?πb?(as),i=1,,N

2.1 两种方法

2.1.1 value penalty (VP)

作者提出了一个对值函数添加惩罚(penalty)项 α D ( π ( ? ∣ s t ) , π b ( ? ∣ s t ) ) \alpha D(\pi(\cdot|s_{t}), \pi_{b}(\cdot|s_{t})) αD(π(?st?),πb?(?st?)) 作为对策略的penalty,计算过程如下:

V D π ( s ) = ∑ t = 0 ∞ γ t E s t ~ P t π ( s ) [ R π ( s t ) ? α D ( π ( ? ∣ s t ) , π b ( ? ∣ s t ) ) ] V_{D}^{\pi}(s)=\sum_{t=0}^{\infty} \gamma^{t} \mathbb{E}_{s_{t} \sim P_{t}^{\pi}(s)}\left[R^{\pi}\left(s_{t}\right)-\alpha D\left(\pi\left(\cdot \mid s_{t}\right), \pi_{b}\left(\cdot \mid s_{t}\right)\right)\right] VDπ?(s)=t=0?γtEst?Ptπ?(s)?[Rπ(st?)?αD(π(?st?),πb?(?st?))]

可以清楚看到,和普通的算法的区别就在这个惩罚项上,有那么点baseline的感觉,作者也在这里强调了当使用single-sample estimate的时候等价于SAC算法。

2.1.2 policy regularization(PR)

这部分和VP的计算方式一样,不同点在于公式中的 α \alpha α

  • if α = 0 \alpha = 0 α=0, Q函数更新
  • else α ≠ 0 \alpha \neq0 α?=0. policy更新

2.2 四种度量方法

下面四种度量方式都是去计算两个分布之间的距离或者说衡量两个分布是否一致的方法,其中Kernel MMD在BEAR算法中使用过,KL在TRPO、PPO、BCQ等很多算法中使用过,Wasserstein在分布强化学习(A Distributional perspective of Reinforcement Learning)中使用过,此处不在一一详解。

2.2.1 Kernel MMD

MMD ? 2 ( { x 1 , ? ? , x n } , { y 1 , ? ? , y m } ) = 1 n 2 ∑ i , i ′ k ( x i , x i ′ ) ? 2 n m ∑ i , j k ( x i , y j ) + 1 m 2 ∑ j , j ′ k ( y j , y j ′ ) \operatorname{MMD}^{2}\left(\left\{x_{1}, \cdots, x_{n}\right\},\left\{y_{1}, \cdots, y_{m}\right\}\right)=\frac{1}{n^{2}} \sum_{i, i^{\prime}} k\left(x_{i}, x_{i^{\prime}}\right)-\frac{2}{n m} \sum_{i, j} k\left(x_{i}, y_{j}\right)+\frac{1}{m^{2}} \sum_{j, j^{\prime}} k\left(y_{j}, y_{j^{\prime}}\right) MMD2({x1?,?,xn?},{y1?,?,ym?})=n21?i,i?k(xi?,xi?)?nm2?i,j?k(xi?,yj?)+m21?j,j?k(yj?,yj?)

2.2.2 KL-Divergence

D K L ( π θ ( ? ∣ s ) , π b ( ? ∣ s ) ) = E a ~ π θ ( ? ∣ s ) [ log ? π θ ( a ∣ s ) ? log ? π b ( a ∣ s ) ] D_{\mathrm{KL}}\left(\pi_{\theta}(\cdot \mid s), \pi_{b}(\cdot \mid s)\right)=\mathbb{E}_{a \sim \pi_{\theta}(\cdot \mid s)}\left[\log \pi_{\theta}(a \mid s)-\log \pi_{b}(a \mid s)\right] DKL?(πθ?(?s),πb?(?s))=Eaπθ?(?s)?[logπθ?(as)?logπb?(as)]

2.2.3 f-divergence

D f ( p , q ) = E x ~ p [ f ( q ( x ) / p ( x ) ) ] = max ? g : X ? dom ? ( f ? ) E x ~ q [ g ( x ) ] ? E x ~ p [ f ? ( g ( x ) ) ] D_{f}(p, q)=\mathbb{E}_{x \sim p}[f(q(x) / p(x))]=\max _{g: \mathcal{X} \mapsto \operatorname{dom}\left(f^{*}\right)} \mathbb{E}_{x \sim q}[g(x)]-\mathbb{E}_{x \sim p}\left[f^{*}(g(x))\right] Df?(p,q)=Exp?[f(q(x)/p(x))]=g:X?dom(f?)max?Exq?[g(x)]?Exp?[f?(g(x))]

2.2.4 Wasserstein Distance(WD)

W ( p , q ) = sup ? g : ∥ g ∥ L ≤ 1 E x ~ p [ g ( x ) ] ? E x ~ q [ g ( x ) ] W(p, q)=\sup _{g:\|g\|_{L} \leq 1} \mathbb{E}_{x \sim p}[g(x)]-\mathbb{E}_{x \sim q}[g(x)] W(p,q)=g:gL?1sup?Exp?[g(x)]?Exq?[g(x)]

3. 实验过程及分析(很关键的内容)

实验之前,我们先说一下实验进行的dataset问题,作者通过添加不同的noise生成5类数据集,分别如下:

3.1 固定&自适应regularization weights

发现当BEAR使用 ε \varepsilon ε 的推荐值时, α \alpha α 的学习值在训练过程中持续增加,这意味着 π θ \pi_{\theta} πθ? π b \pi_{b} πb? 之间的MMD约束几乎从不得到满足。表明BEAR有效地执行了具有大 α \alpha α 的策略正则化,而不是约束优化
结论:自适应和固定的 α \alpha α 都比partially trained policy效果要好, 图中的黑色线是行为策略未注入噪音的结果。

3.2 Ensemble for target Q-values

发现:BEAR和BCQ都使用多个学习 Q Q Q 函数的最小值和最大值的加权混合(而TD3只使用最小的两个值),且BEAR进一步将 Q Q Q 函数的数量从2增加到4。
结论
(1) k = 1 k=1 k=1 或者 k = 2 k=2 k=2 的效果一般,只有 k = 2 k=2 k=2 k = 4 k=4 k=4 都显着改善了部分训练的策略基线。 一般来说,增加 ensemble 中的 k k k 值会导致更稳定或更好的性能,但需要更多的计算成本。 但发现 k = 4 k=4 k=4 仅比 k = 2 k=2 k=2 提供marginal improvement,因此后文实验用了 k = 2 k=2 k=2
(2) 除了Hopper之外,取混合值比取最小值略好外,其他所有情况取最小值均比混合值好。由于取最小两个Q函数的简单性和强性能,后续的实验中使用了这种方法。(如图3)

3.3 值函数惩罚或策略正则化

实验基础

  • MMD policy regularization
  • fixed α \alpha α,
  • computation of target Q-values based on the minimum of a k = 2 k=2 k=2 ensemble

发现:在4种环境中,虽然这VPPR都优于部分训练的策略,但发现VP 价值惩罚在大多数情况下的性能略优于PR 策略正则化。我们在其他差异选择中一致地观察到这种优势(完整的比较见附录图8)。

3.4 正则化之间的差异

发现与结论: Kumar认为在BEAR中 kernel MMD优于KL,因为将学习策略分布的支持应该在行为策略的支持范围内,而不是强迫两种分布相似,虽然在概念上是合理的,但作者在实验中没有找到支持这一论点的证据,另外整体来说PR和VP中误差范围并不大,但在hopper环境中除外,其他的来说MMD、KL、f-divergence和WD的差别并不大。

3.5 超参数敏感性(Hyperparameter Sensitivity)

这一块是整个实验的重点部分,首先放出实验的关键参数,比如BCQ中 Φ \Phi Φ , BEAR 中的 ε \varepsilon ε , 以及MMD中的 α \alpha α 等参数。




3.6 BCQ和其他Baseline的比较

结论: 作者比较了迄今为止性能最好的算法之一,kl_vp(原始形式的KL散度的值惩罚)、BCQ、BEAR和其他两个基线:vanilla SAC(使用自适应熵正则化)和行为克隆。图6显示了比较。结果表明
(1) vanilla SAC只在HalfCheetah环境中工作,而在其他三种环境中失败。
(2) 行为克隆从来没有学习到比用于收集数据的部分训练的策略更好的策略,尽管BCQ始终学习比部分训练策略更好的策略,但它的性能总是明显比kl_vp差。
结论: BCQ不如明确使用行为正则化(BEAR和kl_vp)好用。

3.7 模型训练超参数汇总

4. 代码

【Code】Behavior Regularized Actor Critic

5. 拓展阅读

[1]. Haoran Xu, Xianyuan Zhan, Jianxiong Li, Honglei Yin: “Offline Reinforcement Learning with Soft Behavior Regularization”, 2021; arXiv:2110.07395.
[2]. Chi Zhang, Sanmukh Rao Kuppannagari, Viktor K Prasanna: “BRAC+: Improved Behavior Regularized Actor Critic for Offline Reinforcement Learning”, 2021; arXiv:2110.00894.

参考文献

[1]. Yifan Wu, George Tucker, Ofir Nachum: “Behavior Regularized Offline Reinforcement Learning”, 2019; arXiv:1911.11361


OfflineRL推荐阅读

离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BEAR算法原理详解与实现
离线强化学习(Offline RL)系列3: (算法篇)策略约束-BCQ算法详解与实现
离线强化学习(Offline RL)系列2: (环境篇)D4RL数据集简介、安装及错误解决
离线强化学习(Offline RL)系列1:离线强化学习原理入门

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:56:50  更:2022-04-07 23:00:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:32:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码