D4RL
离线强化学习的标准化Benchmark,提供多类机器人仿真环境与标准化数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
离线强化学习的标准化Benchmark,提供多类机器人仿真环境与标准化数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:D4RL 官方 Logo
2020 年之前,如果你想研究离线强化学习(Offline RL),最难的事情不是算法,而是数据。你需要自己跑模拟器、收集轨迹、清洗数据——光环境搭建就要花掉好几周,更别提不同论文用不同数据,实验结果根本无法对比。
直到 D4RL(Datasets for Data-Driven Deep Reinforcement Learning)出现。它由 UC Berkeley、Stitch Fix、Google Brain 的研究人员联合发布,在 NeurIPS 2020 上正式亮相,一句话概括它的价值:为离线 RL 算法提供统一的「标准题库」——标准化环境 + 标准化数据集,论文结果可直接对比。
D4RL 的作者团队后来成立了 Farama Foundation,将原本 OpenAI 的 Gym 项目收入麾下,并陆续拆分出多个独立维护的专业库。D4RL 本身也已完成历史使命拆分:
这意味着当前 D4RL 仓库已处于维护模式,不新增功能,专注于稳定现有环境。真正活跃的开发在新仓库中进行。理解这一点对研究选型非常重要。
D4RL 提供的核心资产分为两类:
1. 仿真环境(D4RL Environments)
基于多个物理引擎封装的 RL 环境,全部遵循 OpenAI Gym 接口(gym.make()):
d4rl.gym_mujoco)d4rl.gym_minigrid)d4rl.gym_bullet(已不维护)d4rl.pointmaze)d4rl.kitchen)d4rl.hand_manipulation_suite)d4rl.carla)d4rl.flow)2. 离线数据集(Offline Datasets)
每个环境自带预收集的离线数据集,以 HDF5 格式存储,自动下载到 ~/.d4rl/datasets/。数据集通过 env.get_dataset() 获取,返回标准格式的轨迹数据:
dataset = env.get_dataset()
# keys: observations, actions, rewards, terminals, timeouts, infos
D4RL 还提供 qlearning_dataset() 工具函数,自动将数据格式化为 Q-learning 算法可用的格式(加入 next_observations)。数据质量分不同级别(random、medium、expert、mixed),方便测试算法的模仿学习/泛化能力。
数据集还包含标准化分数:每个环境预设了 ref_max_score(专家水平)和 ref_min_score(随机策略水平),通过 get_normalized_score() 将原始奖励归一化到 [0, 1],便于跨环境横向对比算法性能。
D4RL 的代码结构非常清晰,采用环境基类 + 引擎特定子类的分层架构:
d4rl/
├── offline_env.py # 基类 OfflineEnv(HDF5下载/读取/归一化)
├── infos.py # 各环境标准化分数定义
├── locomotion/ # MuJoCo locomotion 环境
│ ├── ant.py, swimmer.py # 各机器人模型
│ ├── maze_env.py # 迷宫环境生成器
│ └── generate_dataset.py # 数据集生成脚本
├── gym_mujoco/ # Gym + MuJoCo 封装
├── hand_manipulation_suite/ # 机械手精细操作
├── kitchen/ # 家庭任务环境
└── utils/ # 可视化、数据处理工具
核心设计模式:
OfflineEnv 作为基类,封装 HDF5 数据集下载、读取、归一化逻辑,各物理引擎子类只负责环境交互实现gym.make('maze2d-umaze-v1') 触发环境注册表查找,动态实例化get_dataset() 时才触发下载,set_dataset_path() 支持自定义存储路径优势: 纯 Python 安装,pip 可直接装(pip install d4rl),Gym 接口学习成本低,研究者友好。
硬性依赖:
.mjkey 文件放到 MuJoCo 安装目录。这是 D4RL 最常见的安装卡点>=3.7, <3.11(D4RL 依赖的老版本 gym<0.24.0 与新版 Python 不兼容)重要警告: D4RL 已宣布迁移到新仓库,当前仓库处于维护模式。生产环境或新项目应直接使用 Gymnasium + Minari 的组合。
D4RL 的出现直接推动了离线 RL 领域的发展。论文发表时引用量超过 2000 次(据 Google Scholar),被 ICLR、NeurIPS、ICML 等顶会广泛采用为基准测试集。
它的核心贡献是标准化:
D4RL 之后,Minari、RL Unplugged(Google)、DOBF 等数据集标准相继出现,离线 RL 领域的基准测试体系逐步完善。D4RL 作为开创者,其方法论已被整个领域采纳。
D4RL 是离线强化学习领域的开创性基准库,提供标准化环境 + 标准化数据集,让算法对比成为可能。它采用分层模块化架构,基于 OpenAI Gym 接口,设计清晰。但当前仓库已进入维护模式,新项目应迁移到 Gymnasium + Minari。硬件依赖上,MuJoCo 许可证是必须解决的配置项,GPU 非必需(CPU 足以运行大多数仿真)。
本报告基于 D4RL GitHub 仓库 v2.1.2(master 分支)生成,分析日期:2026-06-13