off-line RL | CQL:魔改 Bellman error 更新,得到 Q 函数 lower-bound
- 论文题目: Conservative Q-Learning for Offline Reinforcement Learning
 - CQL 是师兄盛赞的一篇论文:“是 off-line RL 最精彩的工作之一,扭曲了 Q function,认为没看过的 Q 很有风险,把 OOD(out of distribution)的 Q 函数值拉低(因为 Q learning 的 argmax 一向是 over-estimated),ID(in distribution)的 Q 函数值拉高,因此倾向于选择原来数据集里有的 ID 的 action。”
 - 本博客为非常详细的 CQL 论文阅读笔记,但【不能代替】阅读原文的工作量。原文写的也很好,是 AI 顶会的风格,相对容易读懂。
 - pdf 版本:https://proceedings.neurips.cc/paper/2020/file/0d2b2061826a5df3221116a5085a6052-Paper.pdf
 - Appendix:https://proceedings.neurips.cc/paper_files/paper/2020/file/0d2b2061826a5df3221116a5085a6052-Supplemental.pdf
 
review 总结
open review: https://proceedings.neurips.cc/paper_files/paper/2020/file/0d2b2061826a5df3221116a5085a6052-Review.html
contribution:用于 off-line RL 的保守 Q 学习(Conservative Q-Learning,CQL)。
- 一种新的 Q function 更新规则,对 Q 分布进行额外的正则化:通过在适当选择的 state-action pair 上的辅助分布下,在通常的 Bellman update 中添加正则项,用来最小化 OOD action 的 Q value,从而减少对 OOD action 的 Q value 高估。
 - 作者表明,这个更新规则能够渐进得到,从精确 policy evaluation 中获得的 policy value 的下限。
 - 在学习算法中使用这种保守的 Q function,从而得到 Conservative Q-Learning 算法(CQL)。作者表明,以这种方式得出的策略更新是保守的,因为在每次迭代中,策略都会针对 value 的 lower-bound 进行优化。
 - CQL 算法有几个不同的变体,它们在 off-line control 的 benchmark 中性能很好,并且,对于 off-line RL 中 behavior policy 与实际 policy 的 action distribution 不一致,所导致的 Q 分布的误差更稳健。
 - 公式 1:在估计特定策略的 Q function 时,添加一个 penalty,会产生对 policy value 的低估,但这种低估过于保守。
 - 公式 2:在估计 Q function 时,在 penalty 中减去基准策略(行为策略 behavior policy)的 value。这也被证明会低估 policy value。作者从理论与实验上验证了这个 idea。
 
strength:
- 简单而新颖的方法,概念上聪明的想法。通过直接最小化 off-policy Q value,而不是估计 Q function 中的行为密度或不确定性,来对抗 off-line Q learning 中的高估。很聪明,因为与大多数现有方法相反,它不需要任何形式的状态访问密度。
 - 具体的,该方法将 value 取多少 lower-bound,取决于经验行为分布 \(\pi_\beta\),其中很少被评估的 actions 会导致更大的 lower-bound。(?)
 - 之前没有针对 off-line RL 的这种研究,因为将 Q function 正则化,对 OOD action 表现不好。(?)
 
weaknesses:
- 虽然本文的理论动机集中在构建下界,但没有讨论下界是多少 以及这是否合理(?奇怪的英文句子)。主要弱点在于 alpha,它以 Q 值的平方损失相对于 Q 值的线性差进行交互(?)。
 - 在实证(实验)中比较平均值,而非提供适当统计数据(比如方差这种统计量),是有缺陷的。
 - 公式 1 和 2 必然会收敛到一个 fixed point(忽略不属于 D 的动作)是显而易见的吗?能否解释一下,针对 BC (behavior cloning 行为克隆 模仿学习)策略进行正则化的方法,为何会比 BC 策略表现更差?在我看来,总是可以选择足够强大的正则化,至少让它跟 BC 策略一样好,为什么表 1 和 2 中的情况不是这样呢?
 
0 abstract
Effectively leveraging large, previously collected datasets in reinforcement learning (RL) is a key challenge for large-scale real-world applications. Offline RL algorithms promise to learn effective policies from previously-collected, static datasets without further interaction. However, in practice, offline RL presents a major challenge, and standard off-policy RL methods can fail due to overestimation of values induced by the distributional shift between the dataset and the learned policy, especially when training on complex and multi-modal data distributions. In this paper, we propose conservative Q-learning (CQL), which aims to address these limitations by learning a conservative Q-function such that the expected value of a policy under this Q-function lower-bounds its true value. We theoretically show that CQL produces a lower bound on the value of the current policy and that it can be incorporated into a policy learning procedure with theoretical improvement guarantees. In practice, CQL augments the standard Bellman error objective with a simple Q-value regularizer which is straightforward to implement on top of existing deep Q-learning and actor-critic implementations. On both discrete and continuous control domains, we show that CQL substantially outperforms existing offline RL methods, often learning policies that attain 2-5 times higher final return, especially when learning from complex and multi-modal data distributions.
摘要:
- 在强化学习(RL),有效利用事先收集的大型数据集,是大规模实际应用面临的一个关键挑战。离线强化学习(off-line RL)算法,有望从以前收集的静态数据集中学习有效的策略,而无需进一步的交互。
 - 然而,在实践中, off-line RL 是一项重大挑战。因为数据集与所学策略之间的 state-action 联合分布的偏移,会导致对 value 的高估,因此,标准的 off-policy RL 魔改成的 off-line RL 可能会失败,尤其是在复杂和多模式数据分布上。
 - 在本文中,我们提出了保守 Q-learning (CQL),旨在通过学习一个保守的 Q 函数来解决这些局限性,即,在该 Q 函数下,policy value 的期望值低于其真实值。
 - 我们从理论上证明,CQL 能生成当前 policy value 的下限,并基于该下限学习新策略,从而保证理论上的改进。
 - 在实践中,CQL 通过一个简单的 Q 值正则化器(regularizer),增强了标准的 Bellman error 优化目标,该正则化器可以在现有的 Deep Q Learning 和 Actor-Critic 的基础上直接实现。
 - 在离散和连续控制域上,我们的研究表明,CQL 的性能大大优于现有的 off-line RL 方法,其学习策略的最终收益往往能提高 2-5 倍,尤其对于复杂和多模态的数据分布。
 
1 intro
- Offline RL / batch RL:[11, 15, 30, 3, 27, 54, 34]
 - 在 off-line 环境中,直接使用现有的 value-based 的 off-policy RL 算法,通常性能不佳,这是由于从 OOD action 中 bootstrap 的问题 [30, 15] 和过拟合 [13, 30, 3],通常表现为 value function 的错误的乐观估计。
 - 如果我们能学习一个保守的 value function 估计值,为真实值提供一个下限,那么就能解决高估问题。
- 事实上,由于 policy evaluation 和 policy improvement 通常只使用 value function,我们可以学习一个不那么保守的下限 Q 函数,这样,策略下的 Q 函数期望值是下限,而非使用点式下限。(见后文,从公式 1 到公式 2)
 
 - main idea:在适当选择的 (state,action) 分布下,最小化 Q 值(公式 1),然后通过在数据分布上加入最大化项,进一步收紧这一约束(公式 2)。
 - 算法框架 CQL:通过在训练过程中对 Q 值进行正则化,学习保守的 value function 下限估计值。
- 理论分析:只有在策略下的 Q 函数期望值,才会是真实策略值的下限,从而避免了逐点的 Q 函数下限可能产生的额外低估,这在探索文献 [46, 26] 中,通常是在相反的背景下进行探讨的。
 - 通过实验,证明了我们的方法对 Q 函数估计误差的稳健性。
 
 - 如何实现 CQL:将这些保守估计,用于策略评估和离线 RL。
- 简单修改:只需在 Q 函数更新中添加 CQL 正则化项,就能在许多标准 on-line RL 算法 [19, 8] 的基础上,用不到 20 行代码实现 CQL。
 
 - 实验:适用于具有复杂数据集组合的领域(已知先前的方法通常在这些领域表现不佳)[12](可能是 D4RL 的 random medium expert 之类)和具有高维视觉输入的领域 [5, 3](其实应该就是 Atari 的 state - 游戏屏幕截图吧)。
- 在许多 benchmark 上,CQL 的表现比之前的方法高出 2-5 倍之多,而且还是在从人机交互中收集的大量现实数据集上,唯一的表现优于简单 behavior cloning 的方法。
 
 
2 preliminaries
- 符号定义:
- \(\pi_{\beta}(a|s)\) 代表 behavior policy。\(d^{\pi_\beta}(s)\) :\(\pi_{\beta}(a|s)\) 的 discounted marginal state-distribution。离线数据集 D,相当于在 \(d^{\pi_\beta}(s)\pi_\beta(a|s)\) (state-action 联合分布)里采样得到。
 - \(\hat \pi_\beta(a|s)\) 代表 empirical behavior policy,\(\hat \pi_\beta(a|s)={\sum_{(s,a)}1[s=s,a=a]}/{\sum_s1[s=s]}\) ,就是在历史数据的 state s 下有多少次选择了 action a。
 - 假设 reward 有 bound: |r(s, a)| ≤ R_max。
 
 - 回顾:
- 回顾 Q-learning method:迭代计算 Q function,\(B^*Q(s,a)=r(s,a)+\gamma E[\max Q(s',a')]\)。
 - 回顾 actor-critic:要训一个 actor policy,用来做 \(\pi(a|s)=\arg\max_aE[Q(s,a)]\)。
 - 由于 dataset D 不会包含所有的 transition tuple (s,a,s'),所以 policy evaluation 步骤事实上用的是 empirical Bellman operator,称为 \(\hat B^\pi\),它只备份(backs up)单个样本。
 - (没有听懂,应该是只对单个 (s,a,s') 做 Bellman 迭代吧)
 
 - off-line RL:给定数据集 \(D=\{(s,a,r,s')\}\),是用 behavior policy \(\pi_{\beta}(a|s)\) 收集的。然后在这个数据集上做 policy evaluation + policy improvement。(evaluation 是在更新 Q function,新 Q 接近 r + γ × 老 Q,用 min 最小化平方误差来写)
 - 问题:这样直接做 off-line RL,会出现 action distribution shift(动作分布偏移)的现象。
- 大概就是,最后训出来的 policy 的 action distribution 跟采样策略 \(\pi_\beta(a|s)\) 不太一样(?)
 - 由于 policy 的训练目标是最大化 Q 值,因此,可能会倾向于 Q 值被高估的 out-of-distribution 行为。
 - 经典 off-line RL 方法 [30, 27, 59, 54],通过限制所学策略 [34] 远离 OOD action,来缓解这一问题。
 - 需要注意的是,在训练 off-line RL 的 Q function 时,不会受到 state distribution shift(状态分布偏移)的影响,因为 Bellman backup 不会在 OOD 的状态上更新 Q 函数,但是在测试时,可能会遇到新 state,受影响。
 
 
3 CQL framework
3.1 Conservative Off-Policy Evaluation
CQL 最初的 idea:
- 我们只有行为策略 \(π_β(a|s)\) 生成的数据集 D,但是要估算目标策略 π 的 value function \(V^π(s)\)。
 - 因为希望防止 policy value 的高估,因此在学习标准 Bellman error 目标的同时,还通过最小化 Q 值,来学习一个保守的 Q 函数 lower-bound。
 - 使用一种惩罚方式:最小化【特定的】state-action pair distribution µ(s,a) 下的 Q 函数期望值。
- 标准 Q 函数训练并不去管 unobserved state 下的 Q 函数值,却去更新 unobserved action 下的 Q 函数值,因此,我们限制 µ 与数据集中的状态边际(state-marginal)相匹配,\(\mu(s,a) = d^{π^β}(s)\mu(a|s)\)。【没有听懂】
 
 - 这样,就得到了训练 Q 函数的迭代更新,它是权衡因子(tradeoff factor)α ≥ 0 的函数:
 
【3.1 节的公式 1:加了一个惩罚项,最小化 α · E_{μ 分布} Q(s,a) 】
定理 3.1 的解释:
- 证明:这样得到的 Q function,是所有 s-a dataset 分布的下界。
 - 这个下界可以更紧一些。如果只要求 \(π(a|s)\) 下, \(\hat Q^π\) 的期望值低于 \(V_π\),我们可以通过在数据分布 \(π_β(a|s)\)下,引入一个额外的 Q 值最大化项来改进约束,从而实现迭代更新(等式 1 中红色部分的变化):
 
【3.1 节的公式 2:拉低了 μ 分布的 s-a,但拉高了 \(s\sim D,a\sim\hat\pi_\beta(a|s)\) 的 Q value,pi hat 是 empirical behavior policy】
定理 3.2 的解释:
- 虽然得到的 \(\hat Q_π\) 可能不是对每个点都能有下限,但当 \(\mu(a|s)=π(a|s)\) 时,有数学期望 \(E_{π(a|s)} [\hat Q^π(s,a)]≤V^π (s)\)。
 - 因为公式 2 最大化了行为策略(behavior policy)\(\hat\pi_\beta(a|s)\) 的 Q 值,因此可能会高估 \(\hat\pi_\beta(a|s)\) 下的 action,所以说 Q hat 不是 point-wise lower-bound。
 - 在 Appendix D.2 中证明,只有最大化 \(\hat\pi_\beta(a|s)\) 时,才能取得数学期望的 lower bound(?)
 
理论分析:(有点复杂,没看懂…)
- 公式 1 2 使用的经验贝尔曼算子 \(\hat B^π\) ,而非实际的贝尔曼算子 \(B^π\)。
 - CQL 是 lower-bound 的证明,在 Appendix C。
 
定理 3.1:
- point-wise lower bound。
 - 对于公式 1 中希望最小化的分布 μ(a|s),只要满足 \(\mathrm{supp}~\mu\subset\mathrm{supp}~\hatπ\) (不知道什么意思…),就有≥ 1-δ 的概率满足,求得的 \(\hat Q^\pi(s,a)\le Q^\pi(s,a)\) - 一个含 α 的东西 + 一串东西。
 - 只要 α 足够大,就有 \(\hat Q^\pi(s,a)\le Q^\pi(s,a)\),对任意 s ∈ D、任意 a。
 - 当 \(\hat B^π=B^π\) 时,任何 α>0 都能保证, \(\hat Q^\pi(s,a)\le Q^\pi(s,a)\),对任意 s ∈ D、任意 a。
 
定理 3.2:
- 数学期望 lower bound 。
 - 当 \(\mu=\pi\) 时(\(\pi\) 是当前训出来的策略(?)),通过策略 \(\pi\) 下 的 Q function 得到的 value function \(\hat V^\pi(s)=E_{\pi(a|s)}[\hat Q^\pi(s,a)]\),是真实 value function \(V^π (s)=E_{π(a|s)}[Q^π(s,a)]\) 的 lower bound。
 - 因为(一大串公式),对任意 s ∈ D,有 V hat ≤ V - 一个含 α 的东西 + 一串东西。
 - 因此,若 α > 一串东西,对任意 s ∈ D,都有 V hat ≤ V 的概率 ≥ 1-δ。若 \(\hat B^π=B^π\) ,任何 α>0 都能保证 V hat ≤ V 。
 
讨论:
- 在定理 3.1 3.2 的证明中,假设 Q function 是精确计算的,没有使用 function approximation(如 NN)。
- 不过,定理 3.2 可以 generalize 到 linear function approximator 和基于 neural tangent kernel (NTK) 的 NN 拟合器,见 Appendix D.1 的定理 D.1 D.2。
 
 - 总之,证明了 Q ← min α E_μ Q(s,a) + 1/2 [Q(s,a) - BQ(s,a)]² 是 Q function 的下界,Q ← min α[E_μ Q(s,a) - E_\(\hatπ_β\) Q(s,a)] + 1/2 [Q(s,a)-BQ(s,a)]² 是更紧的下界。
- 随着可用数据变多,|D(s,a)| 增加,保证下界所需的 α 值变小;在无限数据中,只需极小的 α 便可维持下界。
 
 
3.2 Conservative Q-Learning for Offline RL
背景:
- 在 3.1 节的公式 2 中令 μ = π,做 policy evaluation - policy improvement 循环,可以得到 Q function 下限,但这样计算成本太高(?)
 - 由于 policy iteration 得到的 \(\hat\pi_k\) 通常来自于 Q function,因此可以改进 μ 的选择,进行一些近似,得到一个在线(on-line)算法(?)
 
定义了 CQL(R) ,是一类优化问题,R(μ) 是正则化项。
【3.2 节的公式 3: \(\min_Q\max_\mu \alpha(E_\mu Q-E_{\hat\pi_\beta} Q)+1/2[Q-BQ]^2+R(\mu)\),变成了 min max 形式,还加了一个 μ 的正则化项】
CQL 的变体:
- 如果令 R(μ) = -DKL(µ, ρ),即策略的 action 分布与一个先验 action 分布的 KL 散度。
 - 1 - 若 ρ = Uniform(a),那么将会变成公式 4 的形式,称为 CQL(H)。H 是信息熵的意思。
 - 2 - 若 ρ = \(\hat\pi_{k-1}\) 即上次得到的策略,那么,等式 4 的第一项会变成 \(\hat\pi_{k-1}(a|s)\) 的 actions 的 Q values 的指数加权平均值。
- 根据经验,这种变体在高维行动空间(如表 2)中更稳定,因为在高维行动空间中,由于方差较大,通过抽样估计 \(\log\sum_a\exp\) 具有挑战性。(没有听懂)
 
 - 3 - 在附录 A 中,讨论 CQL 的另一个变体,并将其与分布稳健优化(distributionally robust optimization)[43] 联系起来。
 
CQL 的理论分析:
- 去证明 CQL 确实是保守的(conservative),每个 policy iterate 都根据 value 的 lower bound 来优化得到。
- 有 sampling error 样本误差的情况见 Appendix C,这里我们就不考虑了。
 
 
定理 3.3:
- 证明:前面提到的 CQL(H),学习了实际 Q function 的 lower bound。
 - 令 \(π_{\hat Q^k}(a|s)∝\exp \hat Q^k(s,a)\) (这是得到 policy 的方式),假设 \(D_{TV}(\hat π^{k+1}, π_{\hat Q^k})\le\epsilon\) (大概就是策略变化缓慢的意思),则有 \(\hat Q^k\) 下的 policy value 是真实 value 的 lower bound,\(\hat V^{k+1}(s) ≤ V^{k+1}(s)\) 。
 - —— 只要满足,LHS ≥ RHS。
 - LHS:是在 CQL 更新的迭代 k+1 中, Vˆk+1 值的保守程度,如果学习到的策略正好等于 \(\hat Q^k\) 的 softmax 策略(正比于 exp)(按理来说是这样的),即 \(\hat π_{k+1}=π_{\hat Q^k}\) 时。
 - RHS:然而,实际策略 \(\hat π_{k+1}\) 可能不同,RHS 是由于这种差异而可能高估的最大值。
 - 为了得到下限,我们要求低估 value function 的量更大,可以通过较小的 ε(即策略变化缓慢)得到。
 - (基本没看懂…)
 
CQL 的 Q function update 是 gap-expanding 的:
- 是说,1. ID(分布内)的 Q value、2. 错误乐观估计的 OOD Q value,它们之间的 difference,比真实 Q function 的 difference 更高。
 - 这意味着,策略 \(π_k(a|s)∝\exp\hat Q^k(s,a)\) 被约束的更接近数据集 D 的经验策略分布 \(\hat π_β(a|s)\),隐式地防止了 OOD 的 distribution shift。
 
定理 3.4:(CQL is gap-expanding)
- 在任何步迭代 k 中,CQL 都能扩大行为策略 \(π_β(a|s)\) 和 \(\mu_k\) 下预期 Q 值的差距。
 - 因此,对于足够大的 \(α_k\),对于任意 s ∈ D,我们有 \(E_{π_β(a|s)}[\hat Q^k(s,a)]−E_{\mu_k(a|s)}[\hat Q^k(s,a)]> E_{π_β(a|s)}[Q^k(s,a)]−E_{\mu_k(a|s)}[Q^k(s,a)]\) 。
 
(Appendix B 通过实验证明,先前的 off-line RL 方法,如果没有明确限制或正则化 Q 函数,可能不具备对于 OOD Q 值高估的鲁棒性)
总结:
- 证明了 CQL RL 算法可以学习到下限 Q 值,在足够大的 α 下。这意味着,最终策略的 value function 至少能有我们计算的 Q hat 那么大,我们计算的 Q hat 是一个下限。
 - 证明了 Q function 是 gap-expanding 的,这意味着它只能高估 ID action 和 OOD action 之间的 gap,从而防止 OOD 行动。(所谓的拉高 ID action,拉低 OOD action)
 
3.3 Safe Policy Improvement Guarantees
本 subsection 总结:
- CQL 优化的是一个定义明确的、包含惩罚项的(penalized)经验 RL 目标函数(empirical RL objective),并针对 behavior policy(行为策略),进行了高置信度(概率 ≥ 1-γ)的安全策略改进。
 - 改进的程度会受到较高 sampling error(采样误差)的负面影响,而 sampling error 会随着观察样本的增多(|D| 变大)而减小。
 
定理 3.5:
- 定义:任意策略的 empirical return(经验收益)\(J(π, \hat M)\),为 empirical MDP(经验 MDP) \(\hat M\) 的 discounted return(应该是 discounted reward 求和吧)。其中,empirical MDP 由数据集 D 得出,\(\hat M=\{(s, a, r, s')∈D\}\) 。
 - 设 \(\hat Q^\pi\) 是公式 2 的不动点(fixed point)(即已经求到了策略 π 的 value function),则 \(π^*(a|s):=\arg\max_π E_{s\simρ(s)} [\hat V^π(s)]\) (该 value function 导出的 policy)可以等价表示为,\(π^*(a|s)←\arg\max_πJ(π,\hat M)−α\frac{1}{1−γ} E_{s∼d^π_{\hat M}(s)}[D_{CQL}(π,\hat π_β)(s)]\) ,其中 D_CQL 是一个 penalty, \(D_{CQL}(π, π_β)(s):=\sum_a π(a|s)\cdot (\frac{π(a|s)}{π_β(a|s)}−1)\) 。
 - 证明见 Appendix D.4。
 - 直观地说,定理 3.5 表明,CQL 优化了经验 MDP \(\hat M\) 中的策略收益,同时还通过 D_CQL 惩罚项,确保学习到的策略 π 与行为策略 \(\hat π_β\) 不会相差太大。
- 这种惩罚是通过 CQL 的 gap-expanding(定理 3.4)特性,来隐式引入的。
 
 
定理 3.6:
- 在定理 3.5 和 CPO [1] 分析的基础上,证明 CQL 提供了行为策略 \(\hat π_β\) 上的 ζ-safe policy improvement。
 - 设 \(π^*(a|s)\) 是定理 3.5 得到的策略。那么,在实际 MDP M 中,策略 \(π^*(a|s)\) 是行为策略 \(\hat π_β\) 上的 ζ-safe policy improvement,即,满足 \(J(π^*,M)\ge J(\hat π_β, M)-\zeta\) 的概率为 1 - δ, ζ 由下式给出:
 - 【没编号的公式,一大串,很吓人】
 - ζ 的表达式由两项组成:
- 第一项表示,由于 M hat 和 M 之间的不匹配(也称为抽样误差 sampling error),而导致的 M 中策略性能的下降。第二项表示,由于经验 MDP M hat 中的 CQL,而导致的策略性能的提高。
 - 针对 CQL Q 函数优化 π 后,得到的策略 π* 比行为策略 \(\hat π_β\) 好,如果我们适当选择 α 值;当采样误差较小,也就是 |D(s)| 较大时,较小的 α 值就足以保证策略性能的改进。
 
 
4 如何实现 CQL
算法伪代码:
- 看看如何在 actor-critic 和 Q-learning 上使用 CQL。
 - 伪代码见 Algorithm 1 ,与传统 actor-critic 和 Q-learning 的区别,用红色标出了。
 - (第 3 步)使用 CQL 框架中的 CQL(H) 或一般的 CQL(R),替代希望最小化的 Bellman error,作为训练 Q 函数 \(Q_θ\) 的梯度下降目标(θ 是神经网络参数)。
- 不像之前的 off-line RL 方法 [30, 59, 54, 34] ,CQL 不需要策略约束(policy constraint),因此不需要拟合一个额外的 behavior policy estimator(行为策略估计器)。
 
 - (第 4 步)对于 actor-critic 框架,还需训练一个策略 πφ。
 
Implementation details:
- 声称,对于连续控制,只需在 SAC(soft actor-critic)[19] 上增加 20 行代码;对离散控制,则是 QR-DQN [8] 的 20 行代码。
 - 对 gym 和离散控制,tradeoff factor α 固定为附录 F 中所述的恒定值;对于其他领域,α 通过拉格朗日双梯度下降法(Lagrangian dual gradient descent)自动调整。
 - 我们使用 SAC 的默认超参数,但策略的学习率是从 {3e-5、1e-4、3e-4} 中选择的,并且小于或等于 Q 函数(?),这是由定理 3.3 决定的。
 - 详细内容见 Appendix F。
 
5 related work
本章 review 了 offline RL 和 off-policy evaluation 的工作,更多内容详见 Appendix E。
Off-policy evaluation (OPE):
- 早期工作 [51, 49, 52] 先收集 Monte-Carlo returns,再在 Monte-Carlo returns 中使用 per-action importance sampling,来获得 OPE return 的估计。
 - 近期工作 [36, 17, 40, 60] 通过某种动态规划(dynamic programming)[34],直接估计状态分布的 importance ratios(重要性比率),使用 marginalized importance sampling(边际重要性采样)。这通常比 per-action importance sampling 方差更小,但期望值会有 bias。
- 由于使用 DP,因此它们可能会受到 OOD 动作的影响 [34, 17, 20, 40]。
 - 相比之下,CQL 中的 regularizer 因其 gap-expanding 行为,而明确解决了 OOD 行为的影响,并获得了保守的 value 估计。
 
 
Offline RL:
- 先前研究试图解决 learned policy 的 action distribution 与 behavior policy 偏离的问题,去限制 learned policy 与 behavior policy 接近,例如通过 KL-divergence [27, 59, 48, 54]、Wasserstein 距离 [59] 或 MMD [30] 来衡量。然后,在贝尔曼策略更新(Bellman backup)中,只使用从该被限制的策略中采样的行动,或使用值惩罚(value penalty)。
- 对 unobserved actions,SPIBB [33, 41] 使用 Q-learning 算法中的 behavior policy 进行 bootstrap。
 
 - 大多数这种方法,都需要单独估计一个 behavior policy 模型 πβ(a|s) [15, 30, 59, 27, 54, 55],因此,受限于准确估计未知 behavior policy 的能力 [42];如果从多个来源收集数据 [34],去估计 behavior policy 可能尤为复杂。
- 相比之下,CQL 无需估计 behavior policy。
 
 - 先前研究已经探索了某些形式的 Q-function penalties [23, 58],但仅限于 standard online RL setting with demonstrations。
- Luo 等人 [38] 通过在 state-space 上强制执行一个 linear extrapolation property,学习了一个 conservatively-extrapolated value function,然后,学习动力学模型(dynamics model),从而获得 goal-reaching tasks 的策略。
 - Kakade 和 Langford [28] 提出了 CPI 算法,在 on-line RL 中保守地改进策略。
 
 - 其他先前的研究,会估计某种不确定性(uncertainty),以确定 Q 值预测的可信度 [30, 3, 34],通常使用 on-line RL exploration 中的不确定性估计技术 [47, 26, 46, 7]。
- 由于 off-line RL [34] 对不确定性估计的保真度(fidelity)要求很高,因此,这些方法在 off-line RL [15, 30, 34] 中一般表现不佳。
 
 - Robust MDP [24, 50, 56, 44] 一直是 off-line RL 中流行的 theoretical abstraction,但在 policy improvement 上往往非常保守。
- 由于 CQL 不会低估所有 state-action tuple 的 Q value,因此 CQL 不会那么保守。
 
 - 关于 high confidence policy improvement 的研究 [57],为策略改进提供了安全保证,但往往也比较保守。
- 定理 3.4 所示的 CQL backup 的 gap-expanding 特性,与 gap-increasing Bellman backup operators [6, 37] 如何在 on-line RL 中对 estimation error 更 robust 有关。
 
 
理论结果:
- 我们的理论结果(定理 3.5、3.6)与之前 safe policy improvement 的工作有关 [33, 50]。
 - 与 Laroche 等人的定理 1 和 2 [33] 比较,发现相似的 quadratic dependence on the horizon,和一个 inverse square-root dependence on the counts。
 - 我们的 bound 比 Petrik 等人[50]的 ∞-norm(无穷范数)bound 有所改进。
 
6 experiment
baselines:
- 使用 policy constraint(限制与 behavior policy 离得不太远)的先前 off-line RL 方法:BEAR [30] 和 BRAC [59]。
 - SAC [19],一个 off-policy actor-critic method 的 off-line RL 版本。
 - behavioral cloning (BC)。
 
实验环境与结果:
- Gym domains:
- off-line datasets 分为 “-random” “-expert” “-medium”。当只使用单一种类的 dataset 时,CQL 只比其他方法厉害一点点(baselines 使用了 [12] 的 performance 报告);但当多个 datasets 一起使用时,甚至能 outperform 一到两倍。
 
 - Adroit tasks:
- Adroit [53] 是 D4RL [12] 中最复杂的任务,使用有限的 human demonstrations,控制一个 24-DoF 的机器手。
 - 任务过于复杂,先前的 off-line RL 方法都会挂掉,behavior cloning(BC)表现最好。
 - CQL outperform 了 BC,是其他 off-line RL 方法的 2-9 倍。
 
 - CQL(ρ) 其中 \(\rho=\hat\pi^{k-1}\) 在一部分任务上 outperform 了 CQL(H),两个 CQL 方法的方差都比 baselines 更好。
 - AntMaze:
- MuJoco Ant robot,D4RL 中只提供 suboptimal 数据。
 - 先前方法只能应对最简单的 U-maze,但 CQL 可以走一些更复杂的。
 
 - Kitchen tasks:
- Franka kitchen domain [18] from D4RL [14],控制一个 9-DoF robot,按顺序操作各种物体(microwave, kettle, ...),达到指定的终态;对于每个终态要求的物体,只有一个 episode 结束时的 spare 0 1 reward,代表该物体是否达到终态(?)
 - 包含 1. 从 dataset 里组合 trajectory 片段,2. 精确的 long-horizon 控制,3. 处理人类的远程指令。
 - CQL outperforms 所有 baseline,成功率高达 40+%。
 
 - Offline RL on Atari games:
- offline, image-based Atari games [5]。
 - 与 REM [3] 和 QRDQN [8] 在五个 Atari tasks (Pong, Breakout, Qbert, Seaquest and Asterix) 上比较,(因为这些实验已经被 [3] 做过了)
 - 使用了 Agarwal et al. [3] 的 evaluation protocol,包含两种数据:(1) on-line DQN agent 观察到的前 20% 样本组成(大概是训练过程的前 20%?);(2) 仅有 on-line DQN agent 观察到的所有样本的 1% 和 10%(大概是整个训练过程随机取 1 ~ 10%)。
 - 对 (1),与 QR-DQN 和 REM 持平;对 (2),显著 outperform,尤其是在只有 1% 数据的条件下。
 
 - 对 CQL 的分析:
- 通过计算 CQL 得到的 value function V hat,与真实 discounted return 进行比较,证明我们的 value function 是下限。
- 计算了 baseline(off-line RL)的一些 value function,包括 ① Q-function ensemble(防止 over-estimate 的常用方法) ② BEAR [30] 一种 policy constraint 方法,发现它们 over-estimate 了。
 - 还对公式 1 中的 CQL variant 进行评估,发现公式 2 确实获得了比公式 1 更紧的下限。
 
 - Appendix B:跑实验证明定理 3.4(CQL 的 gap-expanding)。
 - Appendix G: CQL 的 ablation study。
 
 - 通过计算 CQL 得到的 value function V hat,与真实 discounted return 进行比较,证明我们的 value function 是下限。
 
7 discussion
- 提出了 off-line RL 的 CQL 框架:可以学习 Q function 的 lower-bound。
- CQL 可直接应用于大规模数据集丰富的实际问题:自动驾驶、机器人和软件系统(如推荐系统)。
 
 - limitations & future works:
- 虽然已经证明了 CQL 可以在 tabular、线性函数近似、某些非线性函数近似 Q function 的情况下,学习 Q function 的下限,但对 CQL + Deep NN 的严格理论分析,仍有待于未来的工作。
 - 此外,off-line RL 与标准监督学习方法一样,容易出现过拟合问题,因此未来工作的另一个重要挑战是,设计简单有效的早期停止方法,类似于监督学习中的验证误差。
 
 
Appendix
- A. Discussion of CQL Variants - 讨论 CQL 的变体:CQL(H) CQL(ρ) CQL(var)。
 - B. Discussion of Gap-Expanding Behavior of CQL Backups - 好像是关于 CQL gap-expanding 的实验。
 - C. Theorem Proofs - 出现在正文中的定理 3.1 - 3.4 的证明。
 - D. Additional Theoretical Analysis - 进一步的理论分析。
- D.1 使用 Q function approximation 的 lower-bound 证明。
 - D.2 公式 2 中 arg min α [E_μ Q - E_\(\pi_\beta\) Q] ,如果把 \(\pi_\beta\) 位置选择别的分布会怎样。
 - D.3 公式 2 的 sample-based version(?)
 - D.4 Safe Policy Improvement Guarantee for CQL。
 
 - E. related work 扩展。
 - F. setup 与实验细节等。
 - G. Ablation Studies。
 
off-line RL | CQL:魔改 Bellman error 更新,得到 Q 函数 lower-bound的更多相关文章
- Hexo博客美化之蝴蝶(butterfly)主题魔改
		
Hexo是轻量级的极客博客,因为它简便,轻巧,扩展性强,搭建部署方便深受广大人们的喜爱.各种琳琅满路的Hexo主题也是被各种大佬开发出来,十分钦佩,向大佬仰望,大声称赞:流批!!! 我在翻看各种主 ...
 - 魔改——MFC SDI程序 转换为 MDI程序
		
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
 - 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮
		
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
 - 魔改——MDI多视图模板Tab/标签页 初始化/操作控件
		
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
 - 【题解】BZOJ4241: 历史研究(魔改莫队)
		
[题解]BZOJ4241: 历史研究(魔改莫队) 真的是好题啊 题意 给你一个序列和很多组询问(可以离线),问你这个区间中\(\max\){元素出现个数\(\times\)元素权值} IOI国历史研究 ...
 - Asp.Net Core Identity 骚断腿的究极魔改实体类
		
前言 默认的 Identity 实体类型在大多数时候已经基本够用,很多时候也只是稍微在 IdentityUser 类中增加一些自定义数据字段,比如头像.这次,我要向园友隆重介绍我魔改之后的 Ident ...
 - 你没有见过的【高恪】船新版本(SX3000 NAT1 X86魔改)
		
最近魔改了高恪SX3000 X86,做了如下更改: 开启了SSH 集成了插件(酸酸乳.V2RXY.SMB等等) 开启了NAT1 DIY了主题 精简了官方内置的无用应用和模块 截图(建议右击图片,在新标 ...
 - [7b2美化]柒比贰 魔改系列|7B2-分类封面添加波浪效果&每日诗词
		
本文转载自:钻芒博客 https://www.zmki.cn/5105.html 效果如图: 代码: 首先在style.css样式表里添加波浪样式 /*浪来了*/ .lang { overflow: ...
 - 【题解】LOJ2462完美的集合(树DP 魔改Lucas)
		
[题解]LOJ2462完美的集合(树DP 魔改Lucas) 省选模拟考这个??????????????????? 题目大意: 有一棵树,每个点有两个属性,一个是重量\(w_i\)一个是价值\(v_i\ ...
 - layui 魔改:富文本编辑器添加上传视频功能
		
甲方又整新需求了:富文本编辑器需要可以传视频. layui本身的富文本编辑器没有传视频的功能,所以,又到了咱们魔改的时候了. 友情提醒,富文本编辑器 layedit 只有layui的V1版有,V2版没 ...
 
随机推荐
- windows内核情景分析-毛德操(第一章)
			
微内核操作系统的特点内核尽量缩小 windows内核包括了两大部分 操作系统内核(ntoskrnl.exe),另一部分则是迁移到了内核中即系统空间中的视窗服务(win32k.sys) 用户空间和系统空 ...
 - 记一次公司内部技术分享—DDD
			
前言 笔者于2021年入职了杭州一家做水务系统的公司,按照部门经理要求,新人需要做一次个人分享(主题随意). 当时笔者对DDD充满了浓厚的兴趣,之前也牛刀小试过,于是就决定班门弄斧Show一下.后来在 ...
 - [mysql]状态检查常用SQL
			
前言 使用MySQL自身命令获取数据库服务状态. 连接数 -- 最大使用连接数 show status like 'Max_used_connections'; -- 系统配置的最大连接数 show ...
 - docker网络 bridge 与overlay 模式
			
转载请注明出处: 1.bridge网络模式 工作原理: 在Bridge模式中,Docker通过创建一个虚拟网络桥接器(bridge)将容器连接到主机上的物理网络接口.每个容器都会被分配一个IP地址, ...
 - 小知识:OCI实例的私钥文件权限
			
在OCI上创建新的实例时,会提示你保存私钥用于连接,而且该界面不会再次显示,所以一定要保存好这个私钥. 实例创建完成后,当使用保存的私钥进行连接时,却发现由于私钥文件的权限问题无法连接,查看当前私钥文 ...
 - Ubuntu 18.04安装RabbitMQ
			
1.安装erlang语言环境 sudo apt install erlang-nox 2.更新Ubuntu 源 sudo apt update 3.安装RabbitMQ服务 sudo apt inst ...
 - 全网最详细Java-JUC
			
Java-JUC ⓪基础 ❶进程&线程 进程:指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间. 线程:比进程更小的执行单位,一个进程可以启动多个线程,每条线程并行执行不同的任务 ...
 - 研发效能|DevOps 是运维还是开发?
			
DevOps 到底是 Dev还是Ops?答:属于研发工程师序列,偏向研发域,而不是运维域. DevOps是研发工程师 DevOps 主要服务的对象就是所有产研团队的人员,与产研团队打交道比较多,相互配 ...
 - 「hdu - 5780」gcd
			
link. 钦定 \(i>j\),研究得 \((x^i-1,x^j-1)\rightleftharpoons(x^i-x^j,x^j-1)\rightleftharpoons(x^j(x^{i- ...
 - MySQL 高级(进阶) SQL 语句
			
MySQL 高级(进阶) SQL 语句 use gy; create table location (Region char(20),Store_Name char(20)); insert into ...