🛒十九、离线强化学习
2025-2-14
| 2025-4-9
字数 598阅读时长 2 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
无论是在线策略(on-policy)算法还是离线策略(off-policy)算法,都有一个共同点:智能体在训练过程中可以不断和环境交互,得到新的反馈数据。二者的区别主要在于在线策略算法会直接使用这些反馈数据,而离线策略算法会先将数据存入经验回放池中,需要时再采样。离线强化学习(offline reinforcement learning)的目标是,在智能体不和环境交互的情况下,仅从已经收集好的确定的数据集中,通过强化学习算法得到比较好的策略。
notion image

重要挑战

外延误差

如果策略产生的状态-动作对,经过环境反馈后得到的,不在训练集中,那么就会产生处理分布外(out-of-distribution,OOD)问题。既外延误差

解决方案

离线强化学习的主要方法在于设计训练中的限制,从而避免分布外问题,可以大致分为无模型的方法和基于模型的方法。
notion image
为了减少外推误差,当前的策略需要做到只访问与数据集中相似的数据。满足这一要求的策略称为批量限制策略(batch-constrained policy)。具体来说,这样的策略在选择动作时有 3 个目标:
  • 最小化选择的动作与数据集中数据的距离;
  • 采取动作后能到达与离线数据集中状态相似的状态;
  • 最大化函数

批量限制 Q-learning 算法——BCQ

把策略能选择的动作限制在数据集内。

离散动作

仅仅使用在数据集支撑上的进行计算。

连续动作

notion image
BCQ 采用了一种巧妙的方法:训练一个生成模型。对于数据集和其中的状态,生成模型能给出与中数据接近的一系列动作用于网络的训练。更进一步,为了增加生成动作的多样性,减少生成次数,BCQ 还引入了扰动模型。输入时,模型给出一个绝对值最大为的微扰并附加在动作上。这两个模型综合起来相当于给出了一个批量限制策略

训练流程

  • 随机初始化网络、扰动网络、生成网络
  • 初始化目标网络,用初始化目标扰动网络
  • for 训练次数 do
    • 从数据集中采样一定数量的
    • 编码器生成均值和标准差
    • 解码器生成动作,其中
    • 更新生成模型:
    • 从生成模型中采样个动作:
    • 对每个动作施加扰动:
    • 计算网络的目标值:
    • 更新网络:
    • 更新扰动网络:
    • 更新目标网络:
    • 更新目标扰动网络:
  • end for
💡
生成网络负责,每次更新会最小化选择的动作与数据集中的真实动作之间的距离小。 Q网络用于更新价值函数 扰动网络用于最大化Q值,每次更新会使扰动向Q指最大的动作靠近

保守 Q-learning 算法——CQL

离线强化学习面对的巨大挑战是如何减少外推误差。实验证明,外推误差主要会导致在远离数据集的点上函数的过高估计,甚至常常出现值向上发散的情况。因此,如果减少策略生成的Q值期望,并增加数据中真实动作的Q值期望,从而有效降低分布偏移带来的不良影响,这就是保守 Q-learning(conservative Q-learning,CQL)算法的基本思想。
其中
 
  • 强化学习
  • 二十、强化学习GAE十八、目标导向的强化学习
    Loading...