Decision Transformer 在 Hugging Face Transformers 中的集成

TL;DR

Hugging Face 已将 Decision Transformer 集成到 transformers 库和 Hugging Face Hub 中。此集成使研究者能够通过将决策视为序列建模问题来进行离线强化学习(RL),从而在训练期间无需实时环境交互。

离线强化学习 vs. 在线强化学习

离线强化学习使智能体能够使用从其他智能体或人类示范中收集的静态数据集学习最优策略,而不是通过试错与环境交互。

相反,在线 RL 要求智能体直接从环境中获取数据。这通常需要高保真模拟器或直接的真实世界交互,这两者都可能成本高昂、构建复杂,或在智能体利用模拟器缺陷时带来安全风险。

虽然离线 RL 避免了这些风险,但它面临“反事实查询问题”,即智能体可能会遇到训练集里不存在的状态或需要做出没有数据支撑的动作决策。

Decision Transformer 架构

Decision Transformer 将强化学习抽象为条件序列建模问题。它不再使用传统的 RL 方法(如拟合价值函数以最大化累计奖励),而是采用 Transformer 架构,根据期望的回报、过去的状态和过去的动作生成未来的动作。

技术工作流

  1. 输入序列:模型以最近 K 个时间步为输入,包含三个组成部分:Return‑to‑go、State 和 Action。
  2. 嵌入:这些输入通过线性层(针对向量状态)或 CNN 编码器(针对图像帧)进行处理。
  3. 自回归预测:基于 GPT‑2 的模型对这些 token 进行处理,以自回归方式预测未来动作,从而对状态、动作和奖励的联合分布进行建模。

通过将范式从奖励最大化转向生成轨迹建模,Decision Transformer 生成一系列旨在实现特定目标回报的动作。

在 🤗 Transformers 中的实现

Decision Transformer 现已在 transformers 库中提供,并附带了九个针对 Gym 环境中连续控制任务(包括 Hopper、Walker2D 和 HalfCheetah)的预训练模型检查点。

模型加载与使用

用户可以使用 DecisionTransformerModel 类加载预训练模型:

from transformers import DecisionTransformerModel

model_name = "edbeeching/decision-transformer-gym-hopper-expert"
model = DecisionTransformerModel.from_pretrained(model_name)

自回归动作预测

由于模型是自回归的,时间步 t 的预测依赖于先前时间步的输出。实现时需要准备输入(states、actions、returns‑to‑go 和 timesteps),并将它们填充到模型的 max_length,随后传入模型以预测下一个动作。

通过目标回报进行性能控制

返回条件离线 RL 的主要优势之一是可以通过调节目标回报来控制策略性能。这使得能够动态调整智能体难度,特别适用于在多人游戏中创建对手机器人。

Hugging Face 深度强化学习的未来路线图

Hugging Face 计划通过以下举措进一步扩展对深度强化学习生态的支持:

  • 集成 RL-baselines3-zoo
  • rl-trained-agents(基于 stable‑baselines3)的预训练 RL 智能体集合上传至 Hub。
  • 集成更多深度 RL 库。
  • 为 Atari 环境实现卷积 Decision Transformers。

Sources