起源
传统强化学习是在线(online)过程,通过智能体和环境不停交互获取数据来评估和改进策略。但往往实时交互成本较高,还存在安全风险(如自动驾驶等),并且需要消耗较长的训练改进策略时间。 因此,离线强化学习就是利用已有数据集(历史数据集),尽可能达到和传统在线强化学习的效果。 在某些问题上,离线强化学习通常趋于保守,如自动驾驶中,数据集通常是次优数据集,学习策略在探索未知上明显概率更低,而更倾向于数据集内的动作,数据集可以认定为次优数据集,也就是相对保证了安全。因此在高速度行驶、变道等动作上的选择趋于保守。尽管如此,在自动驾驶等场景,仍需要添加专门的策略去确保安全,而不是像游戏一样允许试错。
概念对比
Online 和 offline 是相对的,指是否和环境交互。On-policy 和 off-policy 则都是 online 下的两种情况,区别是算法是否利用同一个策略来评价自己,通俗理解就是亲自下棋和看别人下棋。Offline 必须使用 off-policy 的数据,因为 offline 数据集显然不是其策略采集的。
Model-based 和 model-free 的最大区别就是是否需要知道状态间转移概率,前者关心 MDP 四元组,能够对下一步回报和状态做出预测,或者说有对环境建模(知己知彼,百战不殆),而后者只关心 Q 函数(一心只读圣贤书)。
深度学习中的损失函数的目的是使预测值和真实值之间的差距尽可能小,而强化学习中的损失函数的目的是使总奖励的期望尽可能大。
核心问题
分布偏移,即数据集不能覆盖所有的(s,a)情况,而 Q 函数对这种数据集外情况的估计往往是不精确的,因此可能选择到实际收益很低的动作,导致整体效果很差。 离线强化学习本质上也是权衡,要基于数据集学习一个优于行为策略的策略,同时也要最小化和行为策略的误差,避免分布偏移。
数据集
开源基准数据集
D4RL: A collection of reference environments for offline reinforcement learning
非必要或者找不痛快请勿在 Windows 上尝试配置环境运行训练。
相关研究
Understanding the Effects of Dataset Characteristics on Offline Reinforcement Learning
核心
探讨数据集特征对离线学习效果的影响。
五种数据集生成策略
- 随机数据集:使用基于随机动作固定的策略生成,作为基线。
- 专家数据集:训练一个在线策略直到收敛,并用这个最终的专家策略生成所有样本,无探索。
- 混合数据集:20%随机数据集,80%专家数据集。
- 噪声数据集:专家策略训练中引入了 ɛ 贪婪,贪婪系数为 0.2,使用这个训练过程带噪声的专家策略生成数据。
- 重播数据集:收集了专家策略在线训练过程中的全部样本,相当于基于多种策略生成的数据集。
两个评价指标
- 轨迹质量 (Trajectory Quality) TQ:基准为在线策略回报和随机策略回报差值的绝对值,分子为目标数据集策略回报和 min(在线策略回报, 随机策略回报)的差值。
- 状态-动作覆盖率 (State-Action Coverage) SACo:采用重播数据集的唯一状态-动作对数目作为基准。SACo 完全相同的两个数据集也可能对策略产生完全不同的效果,因此必须结合别的评价指标如 TQ 进一步对比判断。、
结论
- 行为克隆 BC 在 TQ 较高时表现良好,如专家数据集(高 TQ,低 SACo)。
- 离线强化学习在重播数据集上表现最好,重播数据集也是在 TQ 和 SACo 上表现较为均衡稳定的数据集。
- BVE 和 MCE 偏好相对高的 SACo。
- BCQ、CQL 和 CRR 对 TQ 相对高但 SACo 低的数据集优化操作有效。
- 尚缺乏关于连续性动作的研究。
Importance of Empirical Sample Complexity Analysis for Offline Reinforcement Learning
核心
探讨样本复杂性,消除分布偏移,增大 SACo,应该如何采集样本,确定需要样本量。 样本复杂性,更多地关注算法性能关于数据集大小的敏感性。 个人意见,本文主要通过充分完备的实验证明了验证集对离线 RL 算法评估的重要意义,并没有显著的亮点。
评价指标
使用专家行动和策略行动之间的均方误差(MSE)来衡量行为者和专家之间的偏差。 使用 MSE 而不使用 KL 散度是因为大多数离线 RL 算法如 BCQ,均是基于确定性策略的。
结论
- 随着样本量的减少,训练误差和验证误差明显增大,说明在低样本量时更容易出现过拟合。
- TD3+BC 算法显著受到数据量影响,验证损失最低时,其性能改进最高。
- 验证损失是衡量不同算法性能改进的有用指标。
算法改进
两大思路
- VP(Value Penalty,价值惩罚):限制 Q 函数估计。
- PR(Policy Regularization,策略规则化):使学习策略尽可能贴近行为策略。
离线学习 vs. 模仿学习
离线学习中通常包含了行为克隆(模仿学习的一种)思想。 模仿学习是针对专家数据集,目标就是尽可能去贴近专家策略,可以认为专家数据集已经是最优,只需要学习出和专家策略相似的策略即可。而离线强化学习则增加了 reward,也就是增大能够获得更多奖励的轨迹概率,通常是从次优的数据集中学习策略。
通用实现
CORL: Research-oriented Deep Offline Reinforcement Learning Library 八种离线强化学习算法,当下工作集中于已有算法的改进,核心都是解决数据分布偏移导致的 Q 错误高估计:
- BC、BCQ:行为克隆思想,偏保守,缺乏探索,高度依赖数据集质量。
- TD3+BC:TD3 算法基础上引入行为克隆加权和归一化,但依旧依赖数据集质量,更多的是为了加速学习。
- CQL:打压数据集外 action 的 Q-value,激励数据集内 action 的 Q-value。
- IQL:Implicit Q-Learning,引入期望回归避免去估计数据集中不存在的 action,和其它算法的思路方向不同。
- AWAC:最小化当前策略和最优策略间的 KL 散度。
- SAC-N、EDAC:增加必需 Q 函数数目,通过合理增加 Q 函数数目达到对 Q 函数上下限的合理控制。
- Decision Transformer:设定 reward 目标,相比行为克隆多了有限的泛化能力。
BCQ
Off-Policy Deep Reinforcement Learning without Exploration
- 问题:解决分布偏移数据集外状态-动作对的 Q 值错误估计问题。
- 核心:使该数据集外状态-动作对尽可能贴近数据集内已有情况,通过两个参数控制算法倾向纯模仿学习还是 Q-Learning 算法。
改进
Offline Reinforcement Learning for Autonomous Driving with Safety and Exploration Enhancement
CQL
Conservative Q-Learning for Offline Reinforcement Learning
IQL
Offline Reinforcement Learning with Implicit Q-Learning
TD3+BC
A Minimalist Approach to Offline Reinforcement Learning
MCQ
Mildly Conservative Q-Learning for Offline Reinforcement Learning
- 问题:现有的离线学习算法通常遵循保守主义:VP 对数据集内动作估计偏保守,OOD 操作更是显著偏低;PR 则高度依赖行为策略,后者本身不够出色将明显影响性能。
- 核心:将 OOD 操作的估计值设定为略小于数据集中所有操作的最大估计值,略小于的作用是在执行策略选择时保证不会选到 OOD 操作,这样就可以乐观估计 OOD 操作的值不高于数据集中能满足的最大估计值。但这个估计值往往不容易获得,因此同时训练一个采样策略,从采样策略抽取的动作中选择估计值最大的(伪目标)。
- 提升 offline to online 的效果希望对 OOD 乐观估计,但过高乐观会影响 offline 的表现。