论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning

  • 标题:Conservative Q-Learning for Offline Reinforcement Learning
  • 文章链接:Conservative Q-Learning for Offline Reinforcement Learning
  • 代码:aviralkumar2907/CQL
  • 发表:NIPS 2020
  • 领域:离线强化学习(offline/batch RL)—— RL-Based
  • 【本文为速览笔记,仅记录核心思想,具体细节请看原文】

  • 摘要:RL 落地的一个关键挑战是如何有效利用已收集好的大型数据集。Offline RL 类算法致力于从这样的静态数据集中学习有效策略而无需环境交互。实践中 Offline RL 方法遇到的一个主要挑战是:标准 off-policy RL 方法可能由于数据集和学习策略之间的价值分布漂移而失效,这种问题再在数据分布复杂或具有多模态特性时尤其突出。本文中我们提出了 conservative Q-learning (CQL) 方法,它旨在通过学习一个保守的 Q 函数来解决这些问题,策略在这个 Q 函数下的期望值是其真实价值期望的下界。我们从理论上证明了 CQL 可以产生当前策略的价值下界,并且它可以被纳入到一个具有理论改进保证的策略学习过程中。在实践中,CQL通过一个简单的 Q-value regularizer 增强了 stander Bellman error objective,该正则化器可以在现有的 DQN 和 AC 的基础上实现。我们发现 CQL 在离散和连续控制问题上的性能都大大优于现有的 Offline RL 方法,学得策略获得的 return 提升了 2-5 倍,特别是当从复杂和多模态数据分布中学习时

文章目录

  • 1. Offline RL 背景
  • 2. 本文方法
    • 2.1 思想
    • 2.2 符号规范
    • 2.3 The CQL Framework
  • 3. 实验

1. Offline RL 背景

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

2. 本文方法

2.1 思想

  • 直接将 Off-policy RL 算法应用于 Offline 数据集会出现 distribution shift 和 Iterative error exploitation 问题,体现为 Q 价值函数的高估,导致策略学不好。本文希望通过学习一个 保守Q函数 来缓解该问题,该保守 Q 函数是真实 Q 函数的一个下界,进一步地,为了防止过于保守,该保守 Q 函数是指 “关于策略的价值期望 E a ∼ π ( s ) [ Q ( s , a ) ] = V π ( s ) \mathbb{E}_{a\sim \pi(s)}[Q(s,a)] = V_\pi(s) Eaπ(s)[Q(s,a)]=Vπ(s) 是真实值的下界”,而非每个 ( s , a ) (s,a) (s,a) 的 point-wise Q ( s , a ) Q(s,a) Q(s,a) 价值是真实值下界

2.2 符号规范

  • 本文公式较多,先规范一下符号
    1. MDP 记为 ( S , A , T , r , γ ) \left(\mathcal{S}, \mathcal{A}, T, r, \gamma\right) (S,A,T,r,γ)
    2. 行为策略记为 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as);行为策略的状态边缘分布为 d π β ( s ) d^{\pi_\beta}(s) dπβ(s);Offline Dataset 采样自 d π β ( s ) π β ( a ∣ s ) d^{\pi_\beta}(s)\pi_\beta(a|s) dπβ(s)πβ(as)
    3. 状态 s s s 下的经验行为策略如下计算 π ^ β ( a ∣ s ) : = ∑ s , a ∈ D 1 [ s = s , a = a ] ∑ s ∈ D 1 [ s = s ] \hat{\pi}_{\beta}(\mathbf{a} \mid \mathbf{s}):=\frac{\sum_{\mathbf{s}, \mathbf{a} \in \mathcal{D}} \mathbf{1}[\mathbf{s}=\mathbf{s}, \mathbf{a}=\mathbf{a}]}{\sum_{\mathbf{s} \in \mathcal{D}} \mathbf{1}[\mathbf{s}=\mathbf{s}]} π^β(as):=sD1[s=s]s,aD1[s=s,a=a]
    4. 设 reward 绝对值存在上界 ∣ r ( s , a ) ∣ ≤ R max ⁡ |r(s,a)|\leq R_{\max} r(s,a)Rmax
    5. Value-based 类 Off-policy 方法通过如下 Bellman optimal operator 维护一个 Q 价值函数
      B ∗ Q ( s , a ) = r ( s , a ) + γ E s ′ ∼ P ( s ′ ∣ s , a ) [ max ⁡ a ′ Q ( s ′ , a ′ ) ] \mathcal{B}^{*} Q(\mathbf{s}, \mathbf{a})=r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{s}^{\prime} \sim P\left(\mathbf{s}^{\prime} \mid \mathbf{s}, \mathbf{a}\right)}\left[\max _{\mathbf{a}^{\prime}} Q\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right] BQ(s,a)=r(s,a)+γEsP(ss,a)[amaxQ(s,a)]
    6. Actor-Critic 类 Off-policy 方法具有单独的价值网络和策略网络,如下交替优化
      Q ^ k + 1 ← arg ⁡ min ⁡ Q E s , a , s ′ ∼ D [ ( ( r ( s , a ) + γ E a ′ ∼ π ^ k ( a ′ ∣ s ′ ) [ Q ^ k ( s ′ , a ′ ) ] ) − Q ( s , a ) ) 2 ] ( policy evaluation ) π ^ k + 1 ← arg ⁡ max ⁡ π E s ∼ D , a ∼ π k ( a ∣ s ) [ Q ^ k + 1 ( s , a ) ] ( policy improvement ) \begin{aligned} &\hat{Q}^{k+1} \leftarrow \arg \min _{Q} \mathbb{E}_{\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime} \sim \mathcal{D}}\left[\left(\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \hat{\pi}^{k}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\hat{Q}^{k}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right]\right)-Q(\mathbf{s}, \mathbf{a})\right)^{2}\right] (\text{policy evaluation}) \\ &\hat{\pi}^{k+1} \leftarrow \arg \max _{\pi} \mathbb{E}_{\mathbf{s} \sim \mathcal{D}, \mathbf{a} \sim \pi^{k}(\mathbf{a} \mid \mathbf{s})}\left[\hat{Q}^{k+1}(\mathbf{s}, \mathbf{a})\right] \quad (\text{policy improvement}) \end{aligned} Q^k+1argQminEs,a,sD[((r(s,a)+γEaπ^k(as)[Q^k(s,a)])Q(s,a))2](policy evaluation)π^k+1argπmaxEsD,aπk(as)[Q^k+1(s,a)](policy improvement)
  • 如果直接使用以上方式进行 Offline RL 训练,注意到 Bellman 迭代过程中 action 是从当前学到策略 π k \pi^k πk 中采样的,但 Q Q Q 函数只能用数据集中行为策略 π β \pi_\beta πβ 生成的 transition 来更新,由于价值最大化操作,价值估计很可能会偏向于具有错误的高 Q Q Q 值的 OOD action。在 Online RL 设定中这些高估错误可以通过在环境中尝试这些(replay buffer 中的)OOD 动作并观察其实际价值来缓解,而在 Offline RL 设定下则不能。过去的多数 Offline RL 方法都是通过限制学习到的策略远离 OOD action 来缓解这个问题的

    注意 Offline RL训练过程中只有 action distribution shift, 没有 state distribution shift;测试过程中 state distribution shift 才会出现

2.3 The CQL Framework

  • 普通 DQN 类方法通过优化 stander Bellman error objective 来更新 Q Q Q 价值
    Q ^ k + 1 ← argmin ⁡ Q E ( s , a ) ∼ D [ ( Q ( s , a ) − B ^ π Q ^ k ( s , a ) ) 2 ] \hat{Q}^{k+1} \leftarrow \operatorname{argmin}_{Q} \mathbb{E}_{(s, a) \sim \mathcal{D}}\left[\left(Q(s, a)-\hat{\mathcal{B}}^{\pi} \hat{Q}^{k}(s, a)\right)^{2}\right] Q^k+1argminQE(s,a)D[(Q(s,a)B^πQ^k(s,a))2] 其中 B ^ π \hat{\mathcal{B}}^{\pi} B^π 是对当前策略 π \pi π 进行计算的 Bellman 算子。为了避免价值过估计,CQL 在此优化目标基础上增加额外的最小化 Q Q Q 价值期望目标。考虑一般情况,我们希望 Q Q Q 价值在某个特定分布 μ ( s , a ) \mu(s,a) μ(s,a) 上的期望值最小,更新过程变为
    Q ^ k + 1 ← arg ⁡ min ⁡ Q α E s , a ∼ μ ( s , a ) [ Q ( s , a ) ] + 1 2 E s , a ∼ D [ ( Q ( s , a ) − B ^ π Q ^ k ( s , a ) ) 2 ] \hat{Q}^{k+1} \leftarrow \arg \min _{Q} \alpha \mathbb{E}_{s,a\sim\mu(s,a)}[Q(\mathbf{s}, \mathbf{a})]+\frac{1}{2} \mathbb{E}_{\mathbf{s}, \mathbf{a} \sim \mathcal{D}}\left[\left(Q(\mathbf{s}, \mathbf{a})-\hat{\mathcal{B}}^{\pi} \hat{Q}^{k}(\mathbf{s}, \mathbf{a})\right)^{2}\right] Q^k+1argQminαEs,aμ(s,a)[Q(s,a)]+21Es,aD[(Q(s,a)B^πQ^k(s,a))2] 又考虑到 B ^ π \hat{\mathcal{B}}^{\pi} B^π 的计算中 s , a , s ′ s,a,s' s,a,s 都在 D \mathcal{D} D 中,只有 a ′ a' a 是生成的可能 OOD,因此我们限制 μ ( s , a ) \mu(s,a) μ(s,a) 中的 s s s 边缘分布为 d π β ( s ) d^{\pi_\beta}(s) dπβ(s),从而有 μ ( s , a ) = d π β ( s ) μ ( a ∣ s ) \mu(s,a)=d^{\pi_\beta}(s)\mu(a|s) μ(s,a)=dπβ(s)μ(as),更新过程可以表示为
    Q ^ k + 1 ← arg ⁡ min ⁡ Q α E s ∼ D , a ∼ μ ( a ∣ s ) [ Q ( s , a ) ] + 1 2 E s , a ∼ D [ ( Q ( s , a ) − B ^ π Q ^ k ( s , a ) ) 2 ] \hat{Q}^{k+1} \leftarrow \arg \min _{Q} \alpha \mathbb{E}_{\mathbf{s} \sim \mathcal{D}, \mathbf{a} \sim \mu(\mathbf{a} \mid \mathbf{s})}[Q(\mathbf{s}, \mathbf{a})]+\frac{1}{2} \mathbb{E}_{\mathbf{s}, \mathbf{a} \sim \mathcal{D}}\left[\left(Q(\mathbf{s}, \mathbf{a})-\hat{\mathcal{B}}^{\pi} \hat{Q}^{k}(\mathbf{s}, \mathbf{a})\right)^{2}\right] Q^k+1argQminαEsD,aμ(as)[Q(s,a)]+21Es,aD[(Q(s,a)B^πQ^k(s,a))2] 其中 α \alpha α 是平衡因子,用来控制两个优化目标的比重。论文中定理3.1证明了对任意 μ ( a ∣ s ) \mu(a|s) μ(as),当 α \alpha α 足够大时,迭代的收敛结果 Q ^ π : = lim ⁡ k → ∞ Q ^ k \hat{Q}_\pi:=\lim_{k\to\infin}\hat{Q}^k Q^π:=limkQ^k 会对每一个状态动作对 ( s , a ) (s,a) (s,a) 都形成真实值的下界,即 Q ^ π ≤ Q π ( s , a ) \hat{Q}_\pi \leq Q^\pi(s,a) Q^πQπ(s,a)

    论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning_第1张图片

  • 为了防止过于保守,我们只要求 Q ^ π \hat{Q}_\pi Q^π 关于策略 π ( a ∣ s ) \pi(a|s) π(as) 的期望 V ^ π ( s ) \hat{V}^\pi(s) V^π(s) 是真实值的下界,为此我们略微放松对上式的约束。一个自然的想法是:对于符合用于生成数据集 D \mathcal{D} D 的行为策略 π \pi π 的数据点,我们可以认为对这些点的估值较为准确,在这些点上不必限制让值很小。作为对第一项的补偿,将上式改为:
    Q ^ k + 1 ← argmin ⁡ Q α ( E s ∼ D , a ∼ μ ( a ∣ s ) [ Q ( s , a ) ] − E s ∼ D , a ∼ π ^ β ( a ∣ s ) [ Q ( s , a ) ] ) + 1 2 E ( s , a ) ∼ D [ ( Q ( s , a ) − B ^ π Q ^ k ( s , a ) ) 2 ] \hat{Q}^{k+1} \leftarrow \operatorname{argmin}_{Q} \alpha\left(\mathbb{E}_{s \sim \mathcal{D}, a \sim \mu(a \mid s)}[Q(s, a)]-\mathbb{E}_{s \sim \mathcal{D}, a \sim \hat{\pi}_{\beta}(a \mid s)}[Q(s, a)]\right)+\frac{1}{2} \mathbb{E}_{(s, a) \sim \mathcal{D}}\left[\left(Q(s, a)-\hat{\mathcal{B}}^{\pi} \hat{Q}^{k}(s, a)\right)^{2}\right] Q^k+1argminQα(EsD,aμ(as)[Q(s,a)]EsD,aπ^β(as)[Q(s,a)])+21E(s,a)D[(Q(s,a)B^πQ^k(s,a))2] 其中 π ^ β \hat{\pi}_\beta π^β 是利用数据集 D \mathcal{D} D 得到的对真实行为策略 π β \pi_\beta πβ 的估计。论文中定理3.2证明了当 μ ( a ∣ s ) = π ( a ∣ s ) \mu(a|s)=\pi(a|s) μ(as)=π(as) 时,上式迭代收敛得到的 Q Q Q 函数虽然不是在每一点上都小于真实值,但其期望是小于真实值的,即 E π ( a ∣ s ) [ Q ^ π ( s , a ) ] = V ^ π ( s ) ≤ V π ( s ) \mathbb{E}_{\pi(a|s)}[\hat{Q}^\pi(s,a)]=\hat{V}^\pi(s)\leq V^\pi(s) Eπ(as)[Q^π(s,a)]=V^π(s)Vπ(s)

    论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning_第2张图片

    注意到随着离线数据量 ∣ D ( s , a ) ∣ |\mathcal{D}(s,a)| D(s,a) 的增加,保证以上定理成立所需的 α α α 值减小,当数据量趋向无限时只需很小的 α \alpha α 值就能学到所需的保守 Q Q Q 价值函数

  • 至此,CQL 算法已经有了理论上的保证,但仍有一个缺陷:计算的时间开销太大了。当令 μ ( a ∣ s ) = π ( a ∣ s ) \mu(a|s)=\pi(a|s) μ(as)=π(as) 时,迭代的每一步,算法都要对策略 π ^ k \hat{\pi}^k π^k 做完整的离线策略评估(迭代以上更新式至收敛)来计算 arg min ⁡ \argmin argmin,再进行一次策略迭代,而离线策略评估是非常耗时的。考虑到 π \pi π 并非与 Q Q Q 独立,而是在每轮迭代过程中由使 Q Q Q 最大的动作衍生出来的,那么我们完全可以用使取最大值的去近似,即:
    π ≈ max ⁡ μ E s ∼ D , a ∼ μ ( a ∣ s ) [ Q ( s , a ) ] \pi \approx \max_\mu\mathbb{E}_{s \sim \mathcal{D}, a \sim \mu(a \mid s)}[Q(s, a)] πμmaxEsD,aμ(as)[Q(s,a)] 为了防止过拟合,再加上正则化项 R ( μ ) \mathcal{R}(\mu) R(μ),综合起来就得到完整的迭代方程如下
    Q ^ k + 1 ← arg ⁡ min ⁡ Q max ⁡ μ α ⋅ ( E s ∼ D , a ∼ μ ( a ∣ s ) [ Q ( s , a ) ] − E s ∼ D , a ∼ π ^ β ( a ∣ s ) [ Q ( s , a ) ] ) + 1 2 E ( s , a ) ∼ D [ ( Q ( s , a ) − B ^ π k Q ^ k ( s , a ) ) 2 ] + R ( μ ) \hat{Q}^{k+1} \leftarrow\arg \min_{Q} \max _{\mu} \alpha\cdot\left(\mathbb{E}_{s \sim \mathcal{D}, a \sim \mu(a \mid s)}[Q(s, a)]-\mathbb{E}_{s \sim \mathcal{D}, a \sim \hat{\pi}_{\beta}(a \mid s)}[Q(s, a)]\right)\\\quad\quad\quad\quad\quad\quad\quad\quad+\frac{1}{2} \mathbb{E}_{(s, a) \sim \mathcal{D}}\left[\left(Q(s, a)-\hat{\mathcal{B}}^{\pi_k} \hat{Q}^{k}(s, a)\right)^{2}\right]+\mathcal{R}(\mu) Q^k+1argQminμmaxα(EsD,aμ(as)[Q(s,a)]EsD,aπ^β(as)[Q(s,a)])+21E(s,a)D[(Q(s,a)B^πkQ^k(s,a))2]+R(μ) 正则化项采用和一个先验策略 ρ ( a ∣ s ) \rho(a|s) ρ(as) 的 KL 距离,即 R ( μ ) = − D K L ( μ , ρ ) \mathcal{R}(\mu)=-D_{KL}(\mu,\rho) R(μ)=DKL(μ,ρ)。一般取 ρ ( a ∣ s ) \rho(a|s) ρ(as) 为均匀分布 U ( a ) \mathcal{U}(a) U(a) 即可,这样可以将迭代公式简化为
    Q ^ k + 1 ← arg ⁡ min ⁡ Q α ⋅ E s ∼ D [ log ⁡ ∑ a exp ⁡ ( Q ( s , a ) ) − E a ∼ π ^ β ( a ∣ s ) [ Q ( s , a ) ] ] + 1 2 E ( s , a ) ∼ D [ ( Q ( s , a ) − B ^ π k Q ^ k ( s , a ) ) 2 ] \hat{Q}^{k+1} \leftarrow \arg \min_{Q} \alpha\cdot \mathbb{E}_{s \sim \mathcal{D}}\left[\log \sum_{a} \exp (Q(s, a))-\mathbb{E}_{a \sim \hat{\pi}_{\beta}(a \mid s)}[Q(s, a)]\right]\\\quad\quad\quad\quad\quad+\frac{1}{2} \mathbb{E}_{(s, a) \sim \mathcal{D}}\left[\left(Q(s, a)-\hat{\mathcal{B}}^{\pi_k} \hat{Q}^{k}(s, a)\right)^{2}\right] Q^k+1argQminαEsD[logaexp(Q(s,a))Eaπ^β(as)[Q(s,a)]]+21E(s,a)D[(Q(s,a)B^πkQ^k(s,a))2] 这步简化的推导参考 动手学强化学习。可以注意到,简化后式中已经不含有 μ \mu μ,为计算提供了很大方便

  • 注意 CQL 属于直接在函数上做限制的一类方法,对策略没有特殊要求,论文中分别给出了基于 DQN 和 SAC 两种框架的 CQL 算法,其中后者应用更广泛。伪代码如下
    论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning_第3张图片
    其中公式 4 就是上面最后得到的迭代公式

3. 实验

  • 效果很好,CQL 至今仍然是流行的 baseline。详细实验结果请参考原文
    论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning_第4张图片
    论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning_第5张图片

你可能感兴趣的:(#,论文核心思想速览,Offline,RL,离线强化学习,CQL)