--- title: 3-Decision Transformer draft: false tags: - Decision-Transformer - 序列决策 - 强化学习 - Transformer --- # Decision Transformer: 将强化学习视为序列建模 > **Author**: 深度学习与强化学习交叉领域研究员 > **Date**: 2026-05-14 --- ## 1. 背景:从 RL 到序列建模 ### 1.1 传统强化学习的问题 传统强化学习方法主要分为两大类:**基于值函数的方法**(Value-Based)和**基于策略梯度的方法**(Policy Gradient)。这些方法虽然取得了显著成功,但在实际应用中面临诸多挑战。 #### 1.1.1 On-Policy 限制 **On-Policy 学习的核心问题**在于:智能体必须使用当前策略收集的样本进行学习。这导致了严重的样本效率问题: $$ \theta_{\text{new}} = \theta_{\text{old}} + \alpha \nabla_\theta J(\theta_{\text{old}}) $$ 其中 $J(\theta)$ 是当前策略 $\pi_\theta$ 下的期望累积回报。On-Policy 算法(如 SARSA、A3C)每更新一次策略,就需要用新策略重新采样,导致大量历史数据被丢弃。 **Off-Policy 方法**(如 DQN、DDPG)试图重用历史数据,但引入了更复杂的问题。 #### 1.1.2 Bootstrap 导致的误差传播 **Temporal Difference (TD) 学习**的核心是 bootstrap 思想: $$ V(s_t) \leftarrow V(s_t) + \alpha \left[ r_t + \gamma V(s_{t+1}) - V(s_t) \right] $$ 然而,bootstrap 导致的价值估计存在**误差传播**问题。考虑 $n$ 步TD目标: $$ G_t^{(n)} = r_t + \gamma r_{t+1} + \cdots + \gamma^{n-1} r_{t+n-1} + \gamma^n V(s_{t+n}) $$ 当 $V(s_{t+n})$ 估计不准确时,这个误差会通过 $\gamma^n$ 的系数传播到 $V(s_t)$ 的更新中。在长序列决策中,这种误差累积会导致价值函数的严重高估或低估。 #### 1.1.3 探索-利用权衡与数据分布偏移 Off-Policy 方法还面临**数据分布偏移**问题: $$ \pi_{\text{new}}(a|s) \neq \pi_{\text{data}}(a|s) $$ 这意味着用 $\pi_{\text{data}}$ 分布的数据训练的 $Q$ 函数,在 $\pi_{\text{new}}$ 分布下可能完全失效。DQN 的经验回放缓冲区虽然缓解了部分问题,但无法根本解决分布偏移。 ### 1.2 将 RL 问题转化为序列建模问题 **核心动机**:是否能像语言模型一样,直接通过监督学习的方式训练一个决策智能体? 传统观点认为 RL 与监督学习有本质区别: - 监督学习:独立同分布(i.i.d.)样本 - 强化学习:序贯决策,后继动作影响未来状态和回报 **Decision Transformer 的核心洞察**:将 $R$(回报)、$A$(动作)、$S$(状态)视为**序列 token**,直接用序列建模的方法学习策略。 这借鉴了语言模型的思想: - 语言模型:$P(x_1, x_2, \ldots, x_T) = \prod_{t=1}^T P(x_t \mid x_{ i \end{cases} $$ #### 2.3.1 预测目标 在时刻 $t$,模型接收以下输入: - 目标回报嵌入:$\mathbf{g}_t$(条件变量) - 当前状态嵌入:$\mathbf{s}_t$ - 历史动作:$\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_{t-1}$ - 历史回报:$\mathbf{r}_1, \mathbf{r}_2, \ldots, \mathbf{r}_t$ 输出为动作 $A_t$ 的预测分布: $$ \hat{P}_\theta(A_t \mid S_t, G_t, A_{