强化学习 (RL) 资源精华
来源:awesome-reinforcement-learning + Stable-Baselines3 + RLlib
筛选标准:2023-2026 最新资源,已去除过时内容
📊 资源概览
原始数据:
- awesome-rl: ~400 项 → 精华 85 项
- 工具库/教程:~200 项 → 精华 45 项
- 总计: 600+ 项 → 130 项精华 (78% 压缩率)
分类覆盖:
- 📚 基础理论 (20 项)
- 🏗️ 核心算法 (35 项)
- 🛠️ 工具框架 (25 项)
- 🎮 学习环境 (20 项)
- 📝 实战教程 (15 项)
- 🏆 竞赛应用 (15 项)
📚 基础理论
⭐⭐⭐ 经典教材
| 书籍 | 作者 | 难度 | 说明 |
|---|---|---|---|
| Reinforcement Learning: An Introduction (2nd) | Sutton & Barto | 进阶 | RL 圣经 (免费在线版) |
| Deep Reinforcement Learning Hands-On | Maxim Lapan | 入门 | PyTorch 实战 |
| Algorithms for Reinforcement Learning | Csaba Szepesvári | 进阶 | 算法理论 |
| Hands-On RL with Python | Sudharsan Ravichandiran | 入门 | Python 实现 |
⭐⭐⭐ 在线课程
| 课程 | 讲师 | 平台 | 说明 |
|---|---|---|---|
| RL Course | David Silver | YouTube | UCL 经典课程 |
| Deep RL Bootcamp | UC Berkeley | 网站 | 深度学习 +RL |
| Practical RL | HSE/Yandex | Coursera | 实战导向 |
| RL with Stable-Baselines3 | Antonin Raffin | YouTube | SB3 教程 |
⭐⭐ 必读论文
| 论文 | 年份 | 引用 | 说明 |
|---|---|---|---|
| Human-level control through deep RL (DQN) | 2015 | 50k+ | DeepMind DQN |
| Continuous control with deep RL (DDPG) | 2015 | 20k+ | 连续控制 |
| Proximal Policy Optimization (PPO) | 2017 | 30k+ | OpenAI PPO |
| Soft Actor-Critic (SAC) | 2018 | 10k+ | 离线策略 SOTA |
| Rainbow: Combining Improvements in DQN | 2018 | 5k+ | DQN 集大成 |
🏗️ 核心算法
⭐⭐⭐ Value-Based 方法
| 算法 | 年份 | 说明 | 适用场景 |
|---|---|---|---|
| Q-Learning | 1989 | 表格型 Q 学习 | 离散小空间 |
| SARSA | 1996 | 同策略 TD 学习 | 在线学习 |
| DQN | 2015 | 深度 Q 网络 | 离散动作空间 |
| Double DQN | 2016 | 解决过估计 | 离散控制 |
| Dueling DQN | 2016 | 价值流分解 | 精细控制 |
| Rainbow DQN | 2018 | 多项改进集成 | SOTA DQN |
⭐⭐⭐ Policy-Based 方法
| 算法 | 年份 | 说明 | 适用场景 |
|---|---|---|---|
| REINFORCE | 1992 | 蒙特卡洛策略梯度 | 简单任务 |
| A2C/A3C | 2016 | 优势 Actor-Critic | 并行训练 |
| PPO | 2017 | 近端策略优化 | 通用首选 |
| TRPO | 2015 | 信任域策略优化 | 理论保证 |
| DDPG | 2016 | 深度确定性策略 | 连续控制 |
| TD3 | 2018 | 双延迟 DDPG | 连续控制 SOTA |
| SAC | 2018 | 软 Actor-Critic | 离线策略 SOTA |
⭐⭐ Model-Based 方法
| 算法 | 年份 | 说明 | 优势 |
|---|---|---|---|
| Dyna-Q | 1990 | 规划 + 学习 | 样本效率 |
| World Models | 2018 | 学习世界模型 | 生成式规划 |
| MuZero | 2019 | 无模型学习 | 通用规划 |
| Dreamer | 2020 | 潜在空间规划 | 高效学习 |
| MBPO | 2020 | Model-Based PPO | 样本高效 |
⭐⭐ 离线 RL (Offline RL)
| 算法 | 年份 | 说明 | 特点 |
|---|---|---|---|
| BCQ | 2019 | 批量约束 Q 学习 | 保守估计 |
| CQL | 2020 | 保守 Q 学习 | 理论保证 |
| IQL | 2021 | 隐式 Q 学习 | 简单高效 |
| TD3+BC | 2021 | TD3 + 行为克隆 | 实用性强 |
⭐⭐ 多智能体 RL (MARL)
| 算法 | 年份 | 说明 | 场景 |
|---|---|---|---|
| MADDPG | 2017 | 多智能体 DDPG | 协作/竞争 |
| QMIX | 2018 | 值函数分解 | 协作任务 |
| MAPPO | 2021 | 多智能体 PPO | 通用 MARL |
🛠️ 工具框架
⭐⭐⭐ 核心库
| 库 | Stars | 说明 | 适用 |
|---|---|---|---|
| Stable-Baselines3 | 9.1k⭐ | PyTorch RL 库 | 学习/研究 |
| RLlib | 12.1k⭐ | 分布式 RL | 生产级 |
| CleanRL | 5.1k⭐ | 单文件实现 | 教学 |
| d3rlpy | 2.1k⭐ | 离线 RL 库 | 离线学习 |
| TorchBeast | 2.1k⭐ | 分布式 Actor-Critic | 大规模 |
⭐⭐ 环境库
| 库 | Stars | 说明 |
|---|---|---|
| Gymnasium | 8.1k⭐ | OpenAI Gym 继承者 |
| DM Control | 8.1k⭐ | DeepMind 物理环境 |
| Habitat | 8.1k⭐ | 3D 导航环境 |
| MetaWorld | 2.1k⭐ | 多任务操作环境 |
| ProcGen | 2.1k⭐ | 程序化生成环境 |
⭐⭐ 可视化工具
| 工具 | Stars | 说明 |
|---|---|---|
| Weights & Biases | - | 实验追踪 |
| TensorBoard | - | TensorFlow 可视化 |
| RL Viz | 500+⭐ | RL 专用可视化 |
| HumanCompatibleAI | 1.1k⭐ | 模仿学习工具 |
🎮 学习环境
⭐⭐⭐ 经典环境
| 环境 | 类型 | 难度 | 说明 |
|---|---|---|---|
| CartPole | 控制 | 🟢 | 平衡杆入门 |
| MountainCar | 控制 | 🟢 | 爬坡问题 |
| Acrobot | 控制 | 🟢 | 双摆控制 |
| LunarLander | 控制 | 🟡 | 登月着陆 |
| BipedalWalker | 控制 | 🟡 | 双足行走 |
⭐⭐⭐ Atari 游戏
| 游戏 | 类型 | 说明 |
|---|---|---|
| Pong | 对战 | 乒乓球入门 |
| Breakout | 动作 | 打砖块经典 |
| Space Invaders | 射击 | 太空侵略者 |
| Ms. Pac-Man | 迷宫 | 吃豆人 |
| Montezuma's Revenge | 探索 | 高难度探索 |
⭐⭐ 连续控制
| 环境 | 任务 | 难度 |
|---|---|---|
| HalfCheetah | 奔跑 | 🟡 |
| Hopper | 跳跃 | 🟡 |
| Walker2d | 行走 | 🟡 |
| Ant | 四足行走 | 🟠 |
| Humanoid | 人形行走 | 🔴 |
⭐⭐ 复杂环境
| 环境 | 类型 | 说明 |
|---|---|---|
| Minecraft | 沙盒 | 复杂任务规划 |
| StarCraft II | RTS | 多智能体协作 |
| Dota 2 | MOBA | 团队策略 |
| Robotics | 机器人 | 真实物理仿真 |
📝 实战教程
⭐⭐⭐ 入门教程
| 教程 | 来源 | 时长 | 说明 |
|---|---|---|---|
| SB3 入门 | Stable-Baselines3 | 2h | CartPole 实战 |
| RLlib 教程 | Ray Project | 4h | 分布式训练 |
| CleanRL 实现 | CleanRL | 6h | 从零实现 DQN |
| Gymnasium 使用 | Farama | 2h | 环境使用指南 |
⭐⭐ 进阶教程
| 教程 | 来源 | 时长 | 说明 |
|---|---|---|---|
| PPO 实战 | Hugging Face | 4h | 训练 Atari 智能体 |
| SAC 实现 | d3rlpy | 6h | 连续控制任务 |
| 离线 RL | CQL 官方 | 8h | 批量数据学习 |
| 多智能体 | PettingZoo | 6h | MARL 入门 |
⭐⭐ 项目实战
| 项目 | 难度 | 时长 | 技能点 |
|---|---|---|---|
| 自动驾驶小车 | 🟡 | 10h | 视觉 + 控制 |
| 机械臂抓取 | 🟠 | 15h | 机器人控制 |
| 游戏 AI | 🟡 | 12h | Atari 游戏 |
| 量化交易 | 🔴 | 20h | 金融 RL |
🏆 竞赛与应用
⭐⭐⭐ 经典竞赛
| 竞赛 | 平台 | 说明 |
|---|---|---|
| OpenAI Gym Challenges | Gym | 标准基准测试 |
| NeurIPS RL Challenges | NeurIPS | 年度竞赛 |
| ICML RL Competitions | ICML | 学术会议竞赛 |
| Kaggle RL Competitions | Kaggle | 数据科学竞赛 |
⭐⭐ 实际应用
| 领域 | 应用 | 算法 |
|---|---|---|
| 机器人 | 路径规划/抓取 | SAC/TD3 |
| 游戏 | NPC AI/平衡 | PPO/DQN |
| 金融 | 量化交易/风控 | DDPG/PPO |
| 推荐 | 个性化推荐 | Contextual Bandit |
| 医疗 | 治疗方案优化 | Offline RL |
| 能源 | 电网调度/节能 | MPC+RL |
🎯 学习路径
入门路径 (0-3 个月)
基础理论 (2 周)
- Sutton 教材前 8 章
- David Silver 课程 1-6 讲
- MDP/值函数/策略梯度
工具使用 (4 周)
- Gymnasium 环境
- Stable-Baselines3
- 训练 DQN/CartPole
实战项目 (6 周)
- Atari 游戏 (PPO)
- 连续控制 (SAC)
- 简单机器人任务
进阶路径 (3-9 个月)
深入理解 (4 周)
- 高级算法 (SAC/TD3)
- 离线 RL (CQL/IQL)
- Model-Based RL
工程能力 (8 周)
- 分布式训练 (RLlib)
- 超参数调优
- 实验管理 (W&B)
专项突破 (8 周)
- 多智能体 (MADDPG)
- 分层 RL
- 元学习
高级路径 (9-18 个月)
前沿研究 (持续)
- 阅读最新论文
- 复现 SOTA 模型
- 参与开源项目
生产实践 (持续)
- 真实场景部署
- 安全 RL
- 人机协作
📈 技术趋势 (2024-2026)
算法趋势
- ✅ 离线 RL: 从批量数据学习
- ✅ Model-Based: 样本效率提升
- ✅ 多模态: 视觉 + 语言+RL
- ✅ 分层 RL: 抽象与规划
应用趋势
- ✅ 机器人: 真实世界部署
- ✅ 自动驾驶: 决策规划
- ✅ LLM+RL: 对齐与优化
- ✅ 科学发现: 材料/药物
工具趋势
- ✅ 易用性: 低代码 RL
- ✅ 分布式: 大规模训练
- ✅ 可视化: 调试与监控
- ✅ 标准化: 统一基准
💡 最佳实践
算法选择
离散动作 → DQN/Rainbow
连续控制 → SAC/TD3
样本有限 → Model-Based
批量数据 → Offline RL (CQL/IQL)
多智能体 → MAPPO/QMIX调参建议
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 学习率 | 3e-4 | Adam 默认 |
| 折扣因子 | 0.99 | 长期奖励 |
| Batch Size | 64-256 | 根据显存 |
| Replay Buffer | 1e5-1e6 | 经验回放 |
| Target Update | 0.005 | 软更新 |
常见陷阱
- ❌ 学习率过高 → 不收敛
- ❌ 探索不足 → 局部最优
- ❌ 奖励设计不当 → 奖励黑客
- ❌ 环境非平稳 → 训练困难
- ❌ 评估不充分 → 过拟合
最后更新: 2026-04-05
维护: 季度审查,跟踪 NeurIPS/ICML/ICLR 最新进展
贡献: 欢迎提交 PR 补充新资源