[ PROMPT_NODE_27428 ]
Stable Baselines3 算法
[ SKILL_DOCUMENTATION ]
# Stable Baselines3 算法参考
本文档提供了 Stable Baselines3 中所有强化学习算法的详细特性,以帮助针对特定任务选择正确的算法。
## 算法对比表
| 算法 | 类型 | 动作空间 | 样本效率 | 训练速度 | 使用场景 |
|-----------|------|--------------|-------------------|----------------|----------|
| **PPO** | 同策略 | 所有 | 中 | 快 | 通用型,稳定 |
| **A2C** | 同策略 | 所有 | 低 | 非常快 | 快速原型设计,多进程 |
| **SAC** | 离策略 | 连续 | 高 | 中 | 连续控制,样本效率高 |
| **TD3** | 离策略 | 连续 | 高 | 中 | 连续控制,确定性 |
| **DDPG** | 离策略 | 连续 | 高 | 中 | 连续控制(建议使用 TD3) |
| **DQN** | 离策略 | 离散 | 中 | 中 | 离散动作,Atari 游戏 |
| **HER** | 离策略 | 所有 | 非常高 | 中 | 目标条件任务 |
| **RecurrentPPO** | 同策略 | 所有 | 中 | 慢 | 部分可观测性 (POMDP) |
## 详细算法特性
### PPO (近端策略优化)
**概述:** 通用型同策略算法,在许多任务中表现良好。
**优势:**
- 训练稳定可靠
- 适用于所有动作空间类型(Discrete, Box, MultiDiscrete, MultiBinary)
- 在样本效率和训练速度之间取得良好平衡
- 非常适合使用向量化环境进行多进程处理
- 易于调优
**劣势:**
- 样本效率低于离策略方法
- 需要大量环境交互
**最适合:**
- 通用强化学习任务
- 对稳定性要求较高的场景
- 环境模拟成本较低时
- 具有连续或离散动作的任务
**超参数指南:**
- `n_steps`: 连续任务为 2048-4096,Atari 任务为 128-256
- `learning_rate`: 3e-4 是一个很好的默认值
- `n_epochs`: 连续任务为 10,Atari 任务为 4
- `batch_size`: 64
- `gamma`: 0.99(长片段任务可设为 0.995-0.999)
### A2C (优势演员-评论家)
**概述:** A3C 的同步变体,比 PPO 更简单但稳定性稍差。
**优势:**
- 训练速度非常快(比 PPO 更简单)
- 适用于所有动作空间类型
- 适合快速原型设计
- 内存效率高
**劣势:**
- 稳定性不如 PPO
- 需要仔细调整超参数
- 样本效率较低
**最适合:**
- 快速实验
- 训练速度至关重要时
- 简单环境
**超参数指南:**
- `n