admin管理员组文章数量:1658472
- 标题: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 符号规范
- 本文公式较多,先规范一下符号
- MDP 记为 ( S , A , T , r , γ ) \left(\mathcal{S}, \mathcal{A}, T, r, \gamma\right) (S,A,T,r,γ)
- 行为策略记为 π β ( a ∣ s ) \pi_\beta(a|s) πβ(a∣s);行为策略的状态边缘分布为 d π β ( s ) d^{\pi_\beta}(s) dπβ(s);Offline Dataset 采样自 d π β ( s ) π β ( a ∣ s ) d^{\pi_\beta}(s)\pi_\beta(a|s) dπβ(s)πβ(a∣s)
- 状态 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}]} π^β(a∣s):=∑s∈D1[s=s]∑s,a∈D1[s=s,a=a]
- 设 reward 绝对值存在上界 ∣ r ( s , a ) ∣ ≤ R max |r(s,a)|\leq R_{\max} ∣r(s,a)∣≤Rmax
- 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] B∗Q(s,a)=r(s,a)+γEs′∼P(s′∣s,a)[a′maxQ(s′,a′)] - 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+1←argQminEs,a,s′∼D[((r(s,a)+γEa′∼π^k(a′∣s′)[Q^k(s′,a′)])−Q(s,a))2](policy evaluation)π^k+1←argπmaxEs∼D,a∼πk(a∣s)[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+1←argminQE(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+1←argQminαEs,a∼μ(s,a)[Q(s,a)]+21Es,a∼D[(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)μ(a∣s),更新过程可以表示为
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+1←argQminαEs∼D,a∼μ(a∣s)[Q(s,a)]+21Es,a∼D[(Q(s,a)−B^πQ^k(s,a))2] 其中 α \alpha α 是平衡因子,用来控制两个优化目标的比重。论文中定理3.1证明了对任意 μ ( a ∣ s ) \mu(a|s) μ(a∣s),当 α \alpha α 足够大时,迭代的收敛结果 Q ^ π : = lim k → ∞ Q ^ k \hat{Q}_\pi:=\lim_{k\to\infin}\hat{Q}^k Q^π:=limk→∞Q^k 会对每一个状态动作对 ( s , a ) (s,a) (s,a) 都形成真实值的下界,即 Q ^ π ≤ Q π ( s , a ) \hat{Q}_\pi \leq Q^\pi(s,a) Q^π≤Qπ(s,a) -
为了防止过于保守,我们只要求 Q ^ π \hat{Q}_\pi Q^π 关于策略 π ( a ∣ s ) \pi(a|s) π(a∣s) 的期望 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+1←argminQα(Es∼D,a∼μ(a∣s)[Q(s,a)]−Es∼D,a∼π^β(a∣s)[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) μ(a∣s)=π(a∣s) 时,上式迭代收敛得到的 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π(a∣s)[Q^π(s,a)]=V^π(s)≤Vπ(s)注意到随着离线数据量 ∣ 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) μ(a∣s)=π(a∣s) 时,迭代的每一步,算法都要对策略 π ^ 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)] π≈μmaxEs∼D,a∼μ(a∣s)[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+1←argQminμmaxα⋅(Es∼D,a∼μ(a∣s)[Q(s,a)]−Es∼D,a∼π^β(a∣s)[Q(s,a)])+21E(s,a)∼D[(Q(s,a)−B^πkQ^k(s,a))2]+R(μ) 正则化项采用和一个先验策略 ρ ( a ∣ s ) \rho(a|s) ρ(a∣s) 的 KL 距离,即 R ( μ ) = − D K L ( μ , ρ ) \mathcal{R}(\mu)=-D_{KL}(\mu,\rho) R(μ)=−DKL(μ,ρ)。一般取 ρ ( a ∣ s ) \rho(a|s) ρ(a∣s) 为均匀分布 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+1←argQminα⋅Es∼D[loga∑exp(Q(s,a))−Ea∼π^β(a∣s)[Q(s,a)]]+21E(s,a)∼D[(Q(s,a)−B^πkQ^k(s,a))2] 这步简化的推导参考 动手学强化学习。可以注意到,简化后式中已经不含有 μ \mu μ,为计算提供了很大方便 -
注意 CQL 属于直接在函数上做限制的一类方法,对策略没有特殊要求,论文中分别给出了基于 DQN 和 SAC 两种框架的 CQL 算法,其中后者应用更广泛。伪代码如下
其中公式 4 就是上面最后得到的迭代公式
3. 实验
- 效果很好,CQL 至今仍然是流行的 baseline。详细实验结果请参考原文
版权声明:本文标题:论文速览【Offline RL】—— 【CQL】Conservative Q-Learning for Offline Reinforcement Learning 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729812900a1213540.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论