Stable-Baselines3 教程¶
这些教程向您展示如何使用 Stable-Baselines3 (SB3) 库在 PettingZoo 环境中训练智能体。
对于具有视觉观察空间的环景,我们使用 CNN 策略,并使用 SuperSuit 执行帧堆叠和大小调整等预处理步骤。
用于骑士弓箭手僵尸的 PPO 在具有视觉观察的向量化环境中使用 PPO 训练智能体
对于非视觉环境,我们使用 MLP 策略,并且不执行任何预处理步骤。
用于水世界的 PPO: 在具有离散观察的向量化环境中使用 PPO 训练智能体
用于四子棋的动作掩码 PPO: 在 AEC 环境中使用动作掩码 PPO 训练智能体
警告
注意:SB3 是为单智能体强化学习设计的,不直接支持多智能体算法或环境。这些教程仅用于演示目的,旨在展示如何将 SB3 改编以与 PettingZoo 协同工作。
注意
这些教程利用带有参数共享的 PPO,允许单个模型控制环境中的所有智能体。
有关 PPO 实现细节和多智能体环境的更多信息,请参阅 https://iclr-blog-track.github.io/2022/03/25/ppo-implementation-details/
例如,如果有一个双人游戏,我们可以创建一个向量化环境,该环境生成两个子环境。然后,向量化环境生成包含两个观察的批次,其中第一个观察来自玩家 1,第二个观察来自玩家 2。接下来,向量化环境接收包含两个动作的批次,并告诉游戏引擎让玩家 1 执行第一个动作,玩家 2 执行第二个动作。因此,PPO 在这个向量化环境中学习控制玩家 1 和玩家 2。
Stable-Baselines 概述¶
Stable-Baselines3 (SB3) 是一个库,提供了 PyTorch 中可靠的强化学习算法实现。它提供了一个简洁明了的接口,让您可以轻松访问现成的、最先进的无模型强化学习算法。只需几行代码即可训练强化学习智能体。
更多信息请参阅 Stable-Baselines3 v1.0 博客文章
