Files
2026-05-16 17:16:51 +08:00

791 lines
27 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 02-OfflineRL
draft: false
tags:
- Offline-RL
- 离线强化学习
- 强化学习
---
# Offline RL离线强化学习
## 1. Offline RL 的定义与挑战
### 1.1 问题定义
Offline Reinforcement Learning离线强化学习又称为 Batch Reinforcement Learning旨在从一批由未知行为策略 $\pi_{\mathrm{KL}}$ 生成的固定交互数据 $\mathcal{D} = \{(s_t, a_t, r_t, s_{t+1})\}_{t=1}^N$ 中学习最优策略,而无需与环境进行任何额外交互。
形式化地,给定:
- 状态空间 $\mathcal{S}$ 和动作空间 $\mathcal{A}$
- 转移概率 $p(s'|s,a)$ 和奖励函数 $r(s,a)$
- 数据集 $\mathcal{D}$,其中样本来自 $\pi_{\mathrm{KL}}$
目标是学得一个策略 $\pi_\theta$ 使得期望累积奖励 $\mathbb{E}_{\pi_\theta}\left[\sum_{t=0}^\infty \gamma^t r(s_t, a_t)\right]$ 最大。
### 1.2 Offline RL vs Online RL数据分布偏移问题
Online RL 的核心假设是智能体能够持续与环境交互,数据分布随策略更新而同步演化。这一特性使得 Online RL 能够主动收集对当前策略有益的样本(探索),并即时修正价值估计的偏差。
Offline RL 则面临根本性的困境:学习过程中无法进行交互,只能依赖于固定数据集 $\mathcal{D}$ 中的经验。这一限制引入了以下核心挑战:
**数据分布偏移Distributional Shift**
在 Offline RL 中,策略 $\pi_\theta$ 生成的动作用于计算价值函数和下一步决策,但这些动作可能从未出现在数据集 $\mathcal{D}$ 中。设 $d^{\pi_\theta}(s,a)$ 为当前策略诱导的状态-动作分布,$d^{\pi_{\mathrm{KL}}}(s,a)$ 为数据集中的分布,则两者的差异:
$$
\Delta(s,a) = d^{\pi_\theta}(s,a) - d^{\pi_{\mathrm{KL}}}(s,a)
$$
价值函数 $Q^\pi$ 在状态-动作对 $(s,a)$ 上的估计质量取决于该 $(s,a)$ 在数据中的覆盖程度。当 $\pi_\theta$ 偏离 $\pi_{\mathrm{KL}}$ 时,$Q$ 函数的泛化误差显著增大。
### 1.3 分布偏移的数学刻画
定义累计折扣状态-动作分布:
$$
d^{\pi_\theta}(s,a) = (1-\gamma) \sum_{t=0}^{\infty} \gamma^t \mathbb{P}\left(s_t=s, a_t=a \mid \pi_\theta, p\right)
$$
设 $Q_{\mathrm{KL}}$ 为真实价值函数,$\hat{Q}$ 为基于 $\mathcal{D}$ 拟合的近似价值函数,则对于任意 $(s,a)$
$$
\left|Q^{\pi_\theta}(s,a) - \hat{Q}(s,a)\right| \leq \underbrace{\left\|Q^{\pi_\theta} - \hat{Q}\right\|_{\infty} \cdot d^{\pi_\theta}(s,a)}_{\mathrm{KL} + \underbrace{\left|\hat{Q}(s,a) - Q^{\pi_\theta}(a,a)\right|}_{\mathrm{KL}
$$
分布偏移导致的外推误差在分布支撑集外会急剧放大。
### 1.4 误差传播与复合误差Compounding Error
在动态规划框架下,价值函数通过贝尔曼方程递归计算:
$$
Q^{\pi}(s,a) = r(s,a) + \gamma \mathbb{E}_{s' \sim p(\cdot|s,a), a' \sim \pi(\cdot|s')}\left[Q^{\pi}(s', a')\right]
$$
即使单步价值估计仅有微小偏差,经过多步传播后误差会指数级累积。设 $\epsilon_t$ 为第 $t$ 步的价值估计误差,则第 $T$ 步的复合误差约为:
$$
\left|\epsilon_T\right| \leq \sum_{t=0}^{T-1} \gamma^t \cdot \mathbb{E}\left[\left|\epsilon_{t+1}\right|\right] \approx \frac{1}{1-\gamma} \cdot \bar{\epsilon}
$$
对于有限数据集,误差 $\epsilon_t$ 的来源包括:
1. **采样误差**:数据量有限导致的统计波动
2. **函数近似误差**:神经网络表达能力不足
3. **分布偏移误差**当前策略与数据分布不一致导致的OODOut-of-Distribution估计
### 1.5 贝尔曼算子的外推问题Extrapolation
定义贝尔曼最优算子 $\mathcal{T}$
$$
(\mathcal{T}Q)(s,a) = r(s,a) + \gamma \mathbb{E}_{s' \sim p(\cdot|s,a)}\left[\max_{a' \in \mathcal{A}} Q(s', a')\right]
$$
在 Offline 设定下,期望中的 $s'$ 服从环境真实转移 $p(\cdot|s,a)$,而非数据集分布。当数据覆盖不足时:
1. 对于未见过的 $(s', a')$ 对,$Q(s', a')$ 的估计高度依赖外推
2. 神经网络的外推能力有限OOD 动作的 $Q$ 值可能被严重高估或低估
3. 高估的 $Q$ 值会导致策略进一步偏离数据分布,形成恶性循环
**外推误差界**(参考 Kumar et al., 2019
设 $\mathcal{D}$ 中 $(s,a)$ 的经验分布为 $\hat{d}$,真实分布为 $d^{\pi_{\mathrm{KL}}$,则对任意 $Q$ 函数:
$$
$$\left\|(\mathcal{T}Q)_{\hat{d}} - (\mathcal{T}Q)_{d^{\pi_{\mathrm{KL}}}}\right\| \leq \gamma \cdot \underbrace{\left\|Q\right\|_{\infty} \cdot \delta_{\mathrm{KL}}}_{\mathrm{KL}} + \underbrace{\left|\hat{Q}(s,a) - Q^{\pi_\theta}(s,a)\right|}_{\mathrm{KL}}$$
$$
其中 $\delta_{\mathrm{KL}} = \sup_{s,a}|\hat{d}(s,a) - d^{\pi_{\mathrm{KL}}(s,a)|$。
---
## 2. 策略约束方法
策略约束方法的核心思想是:将策略搜索限制在数据分布附近,以减轻分布偏移带来的外推误差。
### 2.1 BCQBatched Constrained Q-Learning
#### 2.1.1 约束动作空间
BCQFujimoto et al., 2019的核心观察是数据集中的 $(s,a)$ 对是"安全"的,因此将学得策略 $\pi_\theta$ 限制为仅能输出数据中见过的动作的扰动版本:
$$
\pi_\theta(s) = \underset{a \in \mathcal{A}}{\mathrm{KL} \; Q_\phi(s, a), \quad \text{s.t.} \quad a = a_{\mathrm{KL} + \epsilon \cdot \delta_a, \; \|a_{\mathrm{KL} - a\| \leq \Phi
$$
其中 $a_{\mathrm{KL}}$ 是从数据集中采样得到的与当前状态最接近的动作,$\epsilon$ 是扰动幅度,$\delta_a$ 是学得的扰动方向。
#### 2.1.2 变分自动编码器VAE建模
BCQ 使用条件 VAE 来建模动作分布:
**编码器**$q_\phi(z|s,a) = \mathcal{N}(\mu_\phi(s,a), \sigma_\phi^2(s,a))$
**解码器**$\pi_\theta(a|s,z) = \mathcal{N}(\mu_\theta(s,z), \sigma_\theta^2(s,z))$
**训练目标**
$$
\mathcal{L}_{\mathrm{KL}}(\phi, \theta) = \mathbb{E}_{q_\phi(z|s,a)}\left[\|a - \pi_\theta(a|s,z)\|^2\right] + \beta \cdot D_{\mathrm{KL}\left(q_\phi(z|s,a) \| p(z)\right)
$$
其中 $p(z) = \mathcal{N}(0, I)$ 为先验。
**推理时**BCQ 从先验采样潜在变量 $z$,重构动作,然后选择 $Q$ 值最大的动作:
$$
\pi_{\mathrm{KL}}(s) = \underset{z \sim p(z), a \sim \pi_\theta(\cdot|s,z)}{\mathrm{KL} \; Q_\phi(s, a)
$$
为提高效率,实际只采样 $N$ 个候选动作并选择最优。
### 2.2 CQLConservative Q-Learning
#### 2.2.1 核心思想
CQLKumar et al., 2020的出发点是标准 Q-Learning 在 Offline 设定下会系统性地高估 OOD 动作的 $Q$ 值。为解决此问题CQL 引入**保守估计**,对 OOD 动作的 $Q$ 值施加惩罚。
#### 2.2.2 目标函数数学推导
CQL 的目标函数包含两个核心项:
**第一项:标准 Q-Learning 损失**
$$
\mathcal{L}_{\mathrm{KL}}(\theta) = \mathbb{E}_{s,a \sim \mathcal{D}}\left[\left(\hat{Q}_\theta(s,a) - \mathcal{T}\hat{Q}_{\theta}(s,a)\right]^2\right)
$$
其中 $\hat{Q}_\theta$ 是当前 Q 网络的输出,$\mathcal{T}$ 是贝尔曼算子。
**第二项Conservative 正则化项**
CQL 对所有动作(包括数据中的动作)同时进行约束,但重点惩罚 OOD 动作:
$$
\text{CONS}(s,a) = \log \sum_{a' \in \mathcal{A}} \exp(Q(a')) - Q(a)
$$
可以理解为在动作空间上对 $Q$ 值施加了**最大熵正则化**,使得策略在动作选择上更加保守。
**完整目标函数**
$$
\min_\theta \mathbb{E}_{s,a \sim \mathcal{D}}\left[\left(\hat{Q}_\theta(s,a) - \underbrace{\left(r(s,a) + \gamma \mathbb{E}_{s' \sim \hat{p}(s'|s,a)}\left[\bar{V}(s')\right]\right)}_{\mathrm{KL}}\right)^2\right] - \lambda \cdot \text{CONS}(s,a)
$$
其中 $\bar{V}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}(\cdot|s)}\left[Q(s,a)\right]$ 是数据分布下的期望值,$\lambda$ 是正则化系数。
#### 2.2.3 Conservative 估计的合理性证明
**定理Kumar et al., 2020**:设 $Q_{\mathrm{KL}}$ 为 CQL 学得的价值函数,$Q^{\pi_{\mathrm{KL}}$ 为数据策略的价值函数,$Q^*$ 为最优价值函数。则在一定条件下,有:
$$
Q_{\mathrm{KL}}(s,a) \leq Q^{\pi_{\mathrm{KL}}}(s,a) \leq Q^*(s,a), \quad \forall (s,a)
$$
即 CQL 给出了真实价值函数的下界估计。
**证明概要**
考虑单步 Bellman 更新后的值函数:
$$
Q_{\mathrm{KL}}(s,a) = r(s,a) + \gamma \mathbb{E}_{s'}\left[\max_{a'} Q_{\mathrm{KL}}(s', a')\right]
$$
CQL 的保守项使得:
$$
Q_{\mathrm{KL}}(s,a) \leq r(s,a) + \gamma \mathbb{E}_{s'}\left[\bar{V}(s')\right]
$$
而 $\bar{V}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}}\left[Q(s,a)\right] \leq \max_{a'} Q(s,a)$,因此:
$$
Q_{\mathrm{KL}}(s,a) \leq r(s,a) + \gamma \mathbb{E}_{s'}\left[\max_{a'} Q(s', a')\right] = Q^*(s,a)
$$
得证。
#### 2.2.4 实际算法步骤
**算法 1CQL 训练流程**
1. **初始化**$Q_\theta$ 随机初始化,数据集 $\mathcal{D}$ 包含 $\pi_{\mathrm{KL}}$ 采样的经验
2. **重复以下步骤直到收敛**
a. 从 $\mathcal{D}$ 采样 batch $\{(s,a,r,s')\}$
b. 计算标准 Bellman 目标:$y(s,a) = r + \gamma \bar{V}(s')$
c. 计算 Conservative 惩罚:
$$
\text{CONS} = \log \frac{1}{|\mathcal{A}|} \sum_{a' \in \mathcal{A}} \exp(Q_\theta(s,a')) - Q_\theta(s,a)
$$
d. 更新 $Q$ 网络:
$$
\theta \leftarrow \theta - \alpha \nabla_\theta \left[\left(Q_\theta(s,a) - y(s,a)\right]^2 - \lambda \cdot \text{CONS}\right)
$$
e. 更新 $\bar{V}$(可选,使用指数移动平均)
### 2.3 IQLImplicit Q-Learning
#### 2.3.1 动机与核心思想
IQLKostrikov et al., 2022观察到CQL 需要在动作空间上计算 softmax这对于连续动作空间计算代价高昂。IQL 转而采用**_expectile regression** 来隐式地学习一个保守的价值估计,而无需显式地枚举动作。
#### 2.3.2 Expectile Regression
对于随机变量 $X$,其 $\tau$-expectile$0 < \tau < 1$)定义为:
$$
\mu_\tau = \arg\min_m \; \mathbb{E}\left[\rho_\tau(X - m)\right]
$$
其中 expectile 损失函数为:
$$
\rho_\tau(r) =
\begin{cases}
(1-\tau) r^2 & \text{if } r < 0 \\
\tau r^2 & \text{if } r \geq 0
\end{cases}
$$
与分位数回归quantile regression不同expectile 回归对正、负残差施加非对称权重但不显式预测分位数点。
#### 2.3.3 IQL 目标函数推导
IQL 不直接学习 $Q$ 函数,而是学习**优势函数** $A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s)$ 的隐式分布。
设 $A_\tau(s,a)$ 表示优势函数的 $\tau$-expectile即对优势值较大的动作给予较高权重。IQL 定义如下双分量目标:
**1. 渐近价值估计Asymptotic Value**
$$
V_\psi^{\mathrm{KL}}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}(\cdot|s)}\left[\exp\left(\frac{1}{\beta} A_\psi(s,a)\right) \cdot Q_\theta(s,a)\right]} / Z
$$
其中 $Z$ 是归一化常数,$\beta$ 是温度参数。
**2. 期望值估计Expectation-based**
$$
V_\psi^{\mathrm{KL}}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}(\cdot|s)}\left[\tau \cdot \exp\left(\frac{1}{\beta} A_\psi(s,a)\right) \cdot Q_\theta(s,a)\right]} / Z
$$
实际实现中IQL 采用**优势条件期望**的形式:
$$
V^{\mathrm{KL}}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}}}\left[\min\left(0, A(s,a)\right)\right] + \mathbb{E}_{a \sim \pi_{\mathrm{KL}}}\left[Q(s,a)\right]
$$
$$
V^{\mathrm{KL}}(s) = \mathbb{E}_{a \sim \pi_{\mathrm{KL}}}\left[\max\left(0, A(s,a)\right)\right] + \mathbb{E}_{a \sim \pi_{\mathrm{KL}}}\left[Q(s,a)\right]
$$
#### 2.3.4 IQL 的渐近无偏性
**定理**:当 $\tau \to 1$ 且 $\beta \to 0$ 时IQL 的价值估计 $V_{\mathrm{KL}}(s)$ 收敛到 $V^{\pi_{\mathrm{KL}}(s)$(数据策略的价值函数)。
**证明**
当 $\beta \to 0$ 时,$\exp(A/\beta)$ 的质量集中于 $A$ 最大的动作。因此:
$$
\lim_{\beta \to 0} V^{\mathrm{KL}}(s) = \max_{a \in \mathcal{A}} Q(s,a)
$$
当 $\tau \to 1$ 时expectile 回归的权重倾向于选择较大的 $A$ 值,即:
$$
\lim_{\tau \to 1} A_\tau(s,a) \approx \max_{a'} A(s,a')
$$
综合两者,$V_{\mathrm{KL}}(s) \approx \max_a Q(s,a) = V^*(s)$,但在有限数据下受限于数据分布支撑集。
#### 2.3.5 IQL 算法步骤
**算法 2IQL 训练流程**
1. **初始化**$Q_{\theta_1}, Q_{\theta_2}$(双网络减少过估计),$V_\psi$,数据集 $\mathcal{D}$
2. **重复以下步骤直到收敛**
a. 从 $\mathcal{D}$ 采样 batch $\{(s,a,r,s')\}$
b. 更新 $V$ 网络expectile regression
$$
\psi \leftarrow \psi - \alpha \nabla_\psi \mathbb{E}_{a \sim \pi_{\mathrm{KL}}}\left[\rho_\tau\left(A_\theta(s,a) - V_\psi(s)\right)\right]
$$
c. 更新 $Q$ 网络(标准 Bellman 更新):
$$
\theta_i \leftarrow \theta_i - \alpha \nabla_{\theta_i} \mathbb{E}_{s,a,r,s'}\left[\left(r + \gamma V_\psi(s') - Q_{\theta_i}(s,a)\right)^2\right]
$$
d. 提取策略:$\pi(a|s) \propto \exp\left(\frac{1}{\beta}\max(0, A(s,a) - \text{threshold})\right)$
---
## 3. 重要性采样方法
### 3.1 重要性采样基础
在 Off-policy 强化学习中重要性采样比Importance Sampling Ratio用于修正策略差异
$$
\rho_t = \frac{\pi(a_t|s_t)}{\mu(a_t|s_t)}
$$
其中 $\pi$ 是目标策略,$\mu$ 是行为策略(数据生成策略)。
**无偏策略梯度**
$$
\nabla_\theta J(\pi_\theta) = \mathbb{E}_{\tau \sim \pi_\theta}\left[\sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot R(\tau)\right]
$$
**Off-policy 修正**
$$
\nabla_\theta J(\pi_\theta) = \mathbb{E}_{\tau \sim \mu}\left[\prod_{t=0}^T \rho_t \cdot \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot R(\tau)\right]
$$
### 3.2 IGEBCImpressive Gradient Estimation for BC
#### 3.2.1 梯度重要性采样
IGEBCNachum et al., 2019提出直接估计策略梯度中的重要性权重而无需显式计算策略比率
**核心观察**:对于 $Q(a) = \mathbb{E}_{s'}\left[\max_{a'} Q(s',a')\right]$,梯度为:
$$
\nabla_\theta Q(a) = \nabla_\theta \mathbb{E}_{s'}\left[V(s')\right] = \mathbb{E}_{s'}\left[\nabla_\theta V(s')\right]
$$
这意味着我们可以通过价值函数对动作的梯度来估计策略改进方向。
#### 3.2.2 IGEBC 目标函数
IGEBC 的策略目标是最大化加权价值估计:
$$
J_{\mathrm{KL}(\pi_\theta) = \mathbb{E}_{s \sim \mathcal{D}, a \sim \pi_\theta(\cdot|s)}\left[Q(s,a)\right] \cdot w(s,a)
$$
其中 $w(s,a)$ 是重要性权重,用于修正策略偏移:
$$
w(s,a) = \frac{d^{\pi_{\mathrm{KL}}(s,a)}{d^{\pi_\theta}(s,a)} \approx \frac{\pi_{\mathrm{KL}}(a|s)}{\pi_\theta(a|s)}
$$
#### 3.2.3 梯度推导
对数策略梯度给出:
$$
\nabla_\theta \log \pi_\theta(a|s) = \frac{\nabla_\theta \pi_\theta(a|s)}{\pi_\theta(a|s)}
$$
IGEBC 的梯度为:
$$
\nabla_\theta J_{\mathrm{KL} = \mathbb{E}_{s,a \sim \pi_\theta}\left[\nabla_\theta \log \pi_\theta(a|s) \cdot Q(s,a) \cdot \frac{\pi_{\mathrm{KL}}(a|s)}{\pi_\theta(a|s)}\right]
$$
简化后:
$$
\nabla_\theta J_{\mathrm{KL} = \mathbb{E}_{s,a \sim \pi_\theta}\left[\nabla_\theta \pi_\theta(a|s) \cdot Q(s,a) \cdot \frac{\pi_{\mathrm{KL}}(a|s)}{\pi_\theta^2(a|s)}\right]
$$
#### 3.2.4 实际实现技巧
1. **截断重要性权重**:防止极端的权重值
$$
\bar{\rho} = \min\left(\rho, \rho_{\max}\right)
$$
2. **双时间尺度更新**:先更新 $Q$ 函数,再更新策略
3. **延迟策略更新**:每隔 $k$ 步更新一次策略,减少方差
### 3.3 策略梯度与重要性采样的权衡
Off-policy 修正的核心矛盾在于**偏差-方差权衡**
- **高方差**:严格的重要性采样修正($\prod_t \rho_t$)在长序列中方差爆炸
- **高偏差**:忽略修正($\rho_t = 1$)在策略差异大时产生严重偏差
**Per-decision 重要性采样 (PDIS)**
$$
\hat{g}_{\mathrm{KL}} = \frac{1}{T} \sum_{t=0}^T \mathbb{E}\left[\left(\prod_{k=0}^t \rho_k\right) \cdot \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot \hat{R}_t\right]
$$
其中 $\hat{R}_t$ 是从 $t$ 时刻到结尾的折扣回报。
---
## 4. 价值函数约束与不确定性
### 4.1 不确定性估计在 Offline RL 中的作用
Offline RL 中的价值估计误差主要来源于:
1. **认知不确定性Epistemic Uncertainty**:由于有限数据导致的模型不确定性
2. **偶然不确定性Aleatoric Uncertainty**:环境固有的随机性
对于 OOD 状态-动作对,认知不确定性通常会升高。量化这种不确定性可以帮助:
- 惩罚高不确定性的价值估计
- 指导安全探索(但在 Offline 中受限于数据)
- 识别数据覆盖不足的区域
### 4.2 Ensemble 方法与 Bootstrap
#### 4.2.1 Bootstrap 集成
给定数据集 $\mathcal{D}$,通过有放回抽样生成 $K$ 个 bootstrap 数据集 $\{\mathcal{D}_k\}_{k=1}^K$
$$
\mathcal{D}_k = \text{BootstrapSample}(\mathcal{D}, |\mathcal{D}|)
$$
每个 bootstrap 样本训练一个独立的 Q 网络 $Q_{\theta_k}$。
**价值估计集成**
$$
\bar{Q}(s,a) = \frac{1}{K} \sum_{k=1}^K Q_{\theta_k}(s,a)
$$
**不确定性估计**
$$
\sigma^2_Q(s,a) = \frac{1}{K} \sum_{k=1}^K \left(Q_{\theta_k}(s,a) - \bar{Q}(s,a)\right)^2
$$
#### 4.2.2 保守价值估计
基于不确定性估计,可以构造保守价值下界:
$$
Q_{\mathrm{KL}}(s,a) = \bar{Q}(s,a) - \lambda \cdot \sigma_Q(s,a)
$$
**定理**:设 $Q^*$ 为真实最优价值函数,则以概率 $1-\delta$
$$
Q_{\mathrm{KL}}(s,a) \leq Q^*(s,a)
$$
**证明**:使用 McDiarmid 不等式或 Hoeffding-type 一致性界,可得:
$$
\mathbb{P}\left(\bar{Q}(s,a) - Q^*(s,a) \geq \epsilon\right) \leq \exp\left(-\frac{2\epsilon^2}{\sigma_{\max}^2}\right)
$$
其中 $\sigma_{\max}$ 是单步价值估计的方差上界。
### 4.3 蒙特卡洛 vs Bootstrap 集成
| 方法 | 优点 | 缺点 |
|------|------|------|
| 蒙特卡洛(多重轨迹平均) | 无偏估计 | 需要多次完整轨迹采样,计算代价高 |
| Bootstrap 集成 | 高效,可同时估计均值和方差 | 对初始化敏感,需要足够的 ensemble 数量 |
**推荐实践**:在 Offline RL 中使用 5-10 个 ensemble 成员,在计算效率和估计精度间取得平衡。
---
## 5. 模型基础 Offline RLModel-based Offline RL
### 5.1 问题设定
在 Model-based Offline RLMBRL我们首先从数据 $\mathcal{D}$ 中学习一个动态模型 $p_\phi(s'|s,a)$,然后基于该模型进行策略优化。
优势:
- 可以通过模型生成额外的转移样本
- 可以进行"想象力"规划
风险:
- 模型误差在外推中会被放大
- 错误模型可能导致完全错误的策略
### 5.2 不确定性感知模型
#### 5.2.1 贝叶斯神经网络
设网络权重 $\phi$ 服从后验分布 $p(\phi|\mathcal{D})$。预测分布为:
$$
p_\mathcal{D}(s'|s,a) = \int p(s'|s,a,\phi) \cdot p(\phi|\mathcal{D}) \, d\phi
$$
近似推断可采用:
- **Dropout 近似**:在推理时保持 dropout 激活,,多次前向传播估计方差
- **Mean-Field 近似**:假设 $q(\phi) \approx \mathcal{N}(\mu, \sigma^2)$
#### 5.2.2 集成模型
与价值函数集成类似,动态模型也可以用 ensemble
$$
p_{\mathrm{KL}}(s'|s,a) = \frac{1}{K} \sum_{k=1}^K p_{\phi_k}(s'|s,a)
$$
**模型不确定性**
$$
\sigma^2_{\mathrm{KL}}(s,a) = \frac{1}{K} \sum_{k=1}^K \left\|\mu_k(s,a) - \bar{\mu}(s,a)\right\|^2
$$
其中 $\mu_k(s,a) = \mathbb{E}_{s' \sim p_{\phi_k}(\cdot|s,a)}\left[s'\right]$。
### 5.3 保守模型学习
#### 5.3.1 约束模型训练
为防止模型外推误差MBPOModel-based Offline Policy Optimization, Janner et al., 2019提出
**模型正则化损失**
$$
\mathcal{L}_{\mathrm{KL}}(\phi) = \mathbb{E}_{s,a,s' \sim \mathcal{D}}\left[-\log p_\phi(s'|s,a)\right] + \beta \cdot \underbrace{\mathbb{E}_{s,a}\left[\sigma^2_{\mathrm{KL}}(s,a)\right]}_{\mathrm{KL}
$$
#### 5.3.2 规划时保守修正
在基于模型进行规划时,对每步 rollout 的奖励/价值进行折扣修正:
$$
\hat{R}_{\mathrm{KL} = R - \lambda \cdot \sigma_{\mathrm{KL}
$$
其中 $\sigma_{\mathrm{KL}}$ 是沿 rollout 累积的不确定性估计。
**算法 3MBPO 概要**
1. 从 $\mathcal{D}$ 训练 ensemble 动态模型 $\{p_{\phi_k}\}$
2. 基于模型估计不确定性 $\{\sigma_k(s,a)\}$
3. 对于当前状态 $s$,生成短-horizon rollouts
- 从每个模型 $k$ 采样 $N$ 条轨迹
- 计算折扣累积回报 $R_k$
- 保守价值估计:$\hat{V}(s) = \min_k R_k - \lambda \cdot \sigma_k$
4. 使用 $\hat{V}$ 指导策略更新
---
## 6. 理论分析
### 6.1 最小后悔界Minimum Regret Bound
Regret 定义为最优策略价值与学得策略价值之差的累计:
$$
\text{Regret}(T) = \sum_{t=1}^T \left(V^*(s_t) - V^{\pi_\theta}(s_t)\right)
$$
Offline RL 的目标是**最小化 worst-case regret**。
**定理Offline RL Regret Bound**
设 $\hat{\pi}$ 为从数据集 $\mathcal{D}$ 学得的策略,$|\mathcal{D}| = N$,则:
$$
\text{Regret}(T) \leq \tilde{O}\left(\frac{T \cdot H^2}{\sqrt{N}} + T \cdot \epsilon_{\mathrm{KL}\right)
$$
其中:
- $H$ 是轨迹长度(考虑有限 horizon 或折扣因子 $\gamma$
- $\epsilon_{\mathrm{KL}}$ 是策略约束带来的近似误差
- $\tilde{O}$ 忽略对数因子
### 6.2 Fitted Q-Iteration 与收敛性
#### 6.2.1 Fitted Q-Iteration 算法框架
**算法 4Fitted Q-Iteration**
1. **初始化**$Q_0$ 任意初始化
2. **迭代** ($k = 0, 1, 2, \dots$)
- **E步骤评估**:对所有 $(s,a) \in \mathcal{D}$,计算目标值
$$
y_k(s,a) = r(s,a) + \gamma \mathbb{E}_{s' \sim \mathcal{D}}\left[\max_{a'} Q_k(s', a')\right]
$$
- **M步骤拟合**:更新 Q 函数
$$
Q_{k+1} = \arg\min_Q \mathbb{E}_{s,a \sim \mathcal{D}}\left[\left(Q(s,a) - y_k(s,a)\right]^2\right)
$$
#### 6.2.2 收敛性分析
**定理**:若 Q 函数类 $\mathcal{Q}$ 是函数空间的凸闭集,且每次迭代的拟合误差有界,则 Fitted Q-Iteration 收敛到唯一不动点 $Q^*$。
**证明要点**
定义算子 $\mathcal{F}^\pi : \mathcal{Q} \to \mathcal{Q}$
$$
(\mathcal{F}^\pi Q)(s,a) = r(s,a) + \gamma \mathbb{E}_{s'}\left[\pi(Q)(s', a')\right]
$$
其中 $\pi(Q)$ 是贪婪策略。
1. $\mathcal{F}^\pi$ 是 $\gamma$-收缩算子:
$$
\left\|(\mathcal{F}^\pi Q_1 - \mathcal{F}^\pi Q_2)\right\| \leq \gamma \left\|Q_1 - Q_2\right\|
$$
2. 由 Banach 不动点定理,存在唯一不动点 $Q^\pi = \mathcal{F}^\pi Q^\pi$
3. 对于最优策略 $\pi^*$,不动点满足 $Q^* = \mathcal{F}^{\pi^*} Q^*$
### 6.3 Offline RL 的 PAC 界
PACProbably Approximately Correct界提供了样本复杂度保证。
**定义PAC 界)**:算法 $\mathcal{A}$ 是 $(\epsilon, \delta)$-PAC 的,若以概率至少 $1-\delta$,输出策略 $\pi$ 满足:
$$
\mathbb{E}_{s \sim d^{\pi_{\mathrm{KL}}}\left[V^*(s) - V^\pi(s)\right] \leq \epsilon
$$
**定理Offline RL PAC 界)**
设 $\mathcal{D}$ 包含 $N$ 个 i.i.d. 样本,则存在算法使得:
$$
\mathbb{E}\left[V^* - V^{\hat{\pi}}\right] \leq \tilde{O}\left(\frac{1}{\sqrt{N}} + \frac{1}{(1-\gamma)^2} \cdot \epsilon_{\mathrm{KL}\right)
$$
其中 $\epsilon_{\mathrm{KL}}$ 是数据覆盖不足程度的度量:
$$
\epsilon_{\mathrm{KL} = \mathbb{E}_{s \sim d^{\pi^*}}\left[\left(1 - \frac{d^{\pi_{\mathrm{KL}}(s)}{d^{\pi^*}(s)}\right]_+\right)
$$
$(x)_+ = \max(x, 0)$ 是正部函数。
---
## 7. 与生成式模型的关系
### 7.1 Decision Transformer 作为 Offline RL 方法
#### 7.1.1 序列建模范式
Decision TransformerChen et al., 2021将 RL 问题重新表述为序列建模问题:
**输入序列**
$$
\mathbf{x} = \left(R_1, a_1, s_1, R_2, a_2, s_2, \dots, R_t, a_t, s_t, \right)
$$
**输出**:预测下一动作 $a_{t+1}$
其中 $R_k = \sum_{i=k}^T \gamma^{i-k} r_i$ 是未来累计回报。
#### 7.1.2 回报条件策略
Decision Transformer 学得条件分布:
$$
\pi_\theta(a_{t+1} | \tau, R_{\mathrm{KL}}) = \text{Transformer}\left(\text{Embed}(\tau), \text{Embed}(R_{\mathrm{KL}})\right)
$$
训练目标为标准的自回归分类损失:
$$
\mathcal{L}(\theta) = -\mathbb{E}_{(a_{t+1}, \tau) \sim \mathcal{D}}\left[\log \pi_\theta(a_{t+1} | \tau, R_{\mathrm{KL}})\right]
$$
#### 7.1.3 Offline RL 视角
Decision Transformer 的独特优势在于:
1. **无需显式价值函数**:避免了价值估计的外推问题
2. **回报条件控制**:通过指定目标回报引导策略
3. **序列建模的泛化能力**Transformer 能够处理长程依赖
### 7.2 Offline RL 与扩散模型的结合
#### 7.2.1 扩散模型作为策略表示
近期工作Diffuser, Chen et al., 2022; Decision Diffuser, Ajay et al., 2023使用扩散模型直接建模策略分布
**前向过程**(添加噪声):
$$
q(\mathbf{a}_t | \mathbf{a}_{t-1}) = \mathcal{N}\left(\mathbf{a}_t; \sqrt{1-\beta_t} \mathbf{a}_{t-1}, \beta_t \mathbf{I}\right)
$$
**反向过程**(去噪):
$$
p_\theta(\mathbf{a}_{t-1} | \mathbf{a}_t) = \mathcal{N}\left(\mathbf{a}_{t-1}; \mu_\theta(\mathbf{a}_t, t), \sigma_t^2 \mathbf{I}\right)
$$
**轨迹优化目标**
$$
\mathcal{L}(\theta) = \mathbb{E}_{t, \mathbf{a}_0 \sim \mathcal{D}, \epsilon \sim \mathcal{N}(0,I)}\left[\left\|\epsilon - \epsilon_\theta(\mathbf{a}_t, t)\right\|^2\right]
$$
#### 7.2.2 Classifier-Free Guidance 在 Offline RL 中的应用
**引导分布**
$$
\tilde{p}_\theta(\mathbf{a}_t | s, c) \propto p_\theta(\mathbf{a}_t | s) \cdot p_\theta(c | \mathbf{a}_t)^w
$$
其中 $c$ 是条件(如目标回报),$w$ 是引导强度。
这允许在推理时通过调整 $w$ 来平衡数据拟合和目标达成。
### 7.3 离线数据上的生成式模型预训练
#### 7.3.1 预训练-微调范式
大规模离线数据可用于预训练通用策略先验:
1. **预训练阶段**:在大量多样化的离线数据上训练扩散策略/Transformer 策略
2. **微调阶段**:在特定任务数据上进行策略优化
#### 7.3.2 冻结编码器的迁移学习
设预训练模型包含两部分:
- **表示编码器** $f_\psi$:提取状态/动作的通用表示
- **策略头** $\pi_\phi$:基于表示输出动作
迁移学习策略:
$$
\pi_{\phi'}(a|s) = \pi_{\phi}\left(a | f_{\psi^{\mathrm{KL}}(s)\right)
$$
其中 $f_{\psi^{\mathrm{KL}}$ 来自大规模预训练模型(如 VideoGPT, MaskGIT 等视觉编码器)。
---
## 8. 算法总结与比较
| 算法 | 核心方法 | 适用场景 | 关键超参数 |
|------|----------|----------|------------|
| BCQ | VAE + 约束动作空间 | 连续动作,数据覆盖较好 | 扰动幅度 $\epsilon$,采样数 $N$ |
| CQL | Conservative Q 正则化 | 需要理论保证的保守估计 | $\lambda$(正则化强度) |
| IQL | Expectile regression | 高效连续控制,无需枚举动作 | $\tau$expectile$\beta$(温度) |
| Decision Transformer | 序列建模 + 回报条件 | 长程任务,需要条件控制 | 上下文长度 $K$embed 维度 |
| Diffuser | 扩散模型轨迹优化 | 多模态策略分布,高维动作 | 去噪步数 $T$,引导强度 $w$ |
---
## 参考文献
1. Fujimoto, S., Meger, D., & Precup, D. (2019). Off-policy deep reinforcement learning without exploration. *ICML*.
2. Kumar, A., Zhou, A., Tucker, G., & Levine, S. (2020). Conservative Q-Learning for offline reinforcement learning. *NeurIPS*.
3. Kostrikov, I., Nair, A., & Levine, S. (2022). Offline reinforcement learning with implicit Q-learning. *ICLR*.
4. Nachum, O., Dai, B., Kostrikov, I., et al. (2019). Alternating training for offline reinforcement learning with policy gradient methods. *ICLR*.
5. Janner, M., Fu, J., Zhang, M., & Levine, S. (2019). When to trust your model: Model-based policy optimization. *NeurIPS*.
6. Chen, L., Lu, K., Rajeswaran, A., et al. (2021). Decision transformer: Reinforcement learning via sequence modeling. *NeurIPS*.
7. Ajay, A., Han, D., Agrawal, P., et al. (2023). Imitating task-agnostic policies with decision diffusers. *ICML*.