离线强化学习(Offline Reinforcement Learning)是一种无需与环境实时交互的强化学习范式。与传统的在线强化学习不同,离线RL在训练阶段完全依赖于预先收集的静态数据集,不会产生新的环境交互数据。这种特性使其在现实应用中具有独特优势,特别是在那些交互成本高昂或存在安全风险的场景中。
给定一个由状态-动作-奖励-下一状态元组组成的静态数据集:
D = {(s_i, a_i, s_i', r_i)},其中:
目标函数是最大化期望累积奖励:
max Σ_{t=0}^T E_{s_t∼d^π(s),a_t∼π(a|s)}[γ^t r(s_t,a_t)]
离线RL面临的根本问题是反事实查询(counterfactual queries)。当策略在训练数据中某状态产生一个未见过的动作时(如数据中是直走,但策略想右转),由于无法实时与环境交互,系统无法得知这个动作的真实效果。这与在线RL形成鲜明对比——在线RL可以直接尝试新动作并观察环境反馈。
这种分布偏移(distribution shift)问题在价值函数更新中尤为明显:
Q(s,a) ← r(s,a) + E_{a'∼π_new}[Q(s',a')]
当π_new与生成数据的πβ差异较大时,对未见动作的价值估计可能严重偏离真实值,导致策略在虚假的高估值区域不断强化,形成"左脚踩右脚"式的发散。
重要性采样是处理分布偏移的经典方法,通过权重修正来匹配不同策略下的分布。对于轨迹τ = (s_0,a_0,...,s_T),其重要性权重为:
ρ_{0:T} = Π_{t=0}^T [π(a_t|s_t)/πβ(a_t|s_t)]
价值函数估计可表示为:
V^{πθ}(s_0) ≈ Σ_{t=0}^T ρ_{0:t} γ^t r_t
然而,这种连乘形式会导致权重指数爆炸或消失。为此,我们引入双重稳健估计器(Doubly Robust Estimator):
V_DR(s) = V̂(s) + ρ(s,a)(r_{s,a} - Q̂(s,a))
其中V̂和Q̂是模型估计值,当模型准确时能降低方差,当重要性权重准确时能保证无偏性。
更先进的思路是直接估计状态-动作对的边际分布比:
w(s,a) = d^{πθ}(s,a)/d^{πβ}(s,a)
这避免了轨迹级别的连乘权重。通过求解以下固定点方程可获得w:
d^{πβ}(s',a')w(s',a') = (1-γ)p_0(s')πθ(a'|s') + γΣ_{s,a} πθ(a'|s')p(s'|s,a)d^{πβ}(s,a)w(s,a)
对于大规模问题,我们常使用线性函数近似。设Φ为状态特征矩阵,通过以下步骤实现离线策略评估:
这种方法称为最小二乘时差法(LSTD),其样本版本可直接从数据集D={(s_i,a_i,r_i,s_i')}中学习。
基本思想是约束新策略π_new与行为策略πβ的差异,常用KL散度作为度量:
D_KL(π||πβ) ≤ ϵ
对应的策略优化目标变为:
max_π E_{a∼π}[Q(s,a)] - λD_KL(π||πβ)
理论分析表明,最优解具有闭式形式:
π*(a|s) ∝ πβ(a|s)exp(Q(s,a)/λ)
实际实现时,可通过加权最大似然来近似:
L_A(θ) = -E_{(s,a)∼πβ}[logπθ(a|s)exp(A^{π_old}(s,a)/λ)]
IQL通过特殊设计的损失函数隐式避免OOD(Out-of-Distribution)动作。使用分位数回归损失:
l_2^τ(x) = {
(1-τ)x^2 if x > 0
τx^2 else
}
当τ接近1时,价值函数更新近似于对数据集内动作取最大值:
V(s) ≈ max_{a∈Ω(s)} Q(s,a)
其中Ω(s) = {a:πβ(a|s)≥ϵ}是数据集支持的动作集合。
CQL通过修改Q函数优化目标,主动压低OOD动作的价值估计:
min_Q [αE_{s∼D,a∼μ}[Q(s,a)] - αE_{(s,a)∼D}[Q(s,a)] + Bellman误差项]
其中μ是专门寻找高Q值动作的分布。理论保证在适当α下:
E_{π(a|s)}[Q̂^π(s,a)] ≤ E_{π(a|s)}[Q^π(s,a)]
实际实现时,对离散动作可直接计算log-sum-exp:
E_{a∼μ}[Q(s,a)] = log Σ_a exp(Q(s,a))
对连续动作则需要重要性采样等技术。
核心思想是对模型预测的不确定性区域施加惩罚:
r̃(s,a) = r(s,a) - λu(s,a)
其中u(s,a)衡量状态-动作对的不确定性。随后可使用任意基于模型的RL算法。
将CQL思想扩展到模型生成的数据,最小化模型状态-动作对的Q值,同时提升真实数据中的Q值。
使用Transformer建模轨迹分布pβ(τ) = pβ(s1,a1,...,sT,aT),通过beam search选择高回报轨迹。这种方法天然避免了OOD问题,因为所有生成轨迹都接近训练数据分布。
实现要点:
| 场景特点 | 推荐算法 | 原因 |
|---|---|---|
| 数据量小,质量高 | BCQ, CQL | 充分利用有限数据 |
| 数据量大,多样性好 | IQL, AWAC | 更高效利用分布信息 |
| 连续动作空间 | Fisher-BRC, BEAR | 更好的策略约束 |
| 需要长期规划 | Model-based, TT | 利用序列建模优势 |
价值函数发散:
策略性能停滞:
分布偏移严重:
近期研究趋势显示以下方向值得关注:
在实际应用中,我发现结合模型基础方法和策略约束往往能取得最佳效果。例如先使用轨迹变换器生成候选轨迹,再用保守策略优化进行微调。这种方法在机器人控制任务中显著提升了策略的稳定性和性能。