Stable-Baselines3 教程

这些教程向您展示如何使用 Stable-Baselines3 (SB3) 库在 PettingZoo 环境中训练智能体。

对于具有视觉观察空间的环景,我们使用 CNN 策略,并使用 SuperSuit 执行帧堆叠和大小调整等预处理步骤。

对于非视觉环境,我们使用 MLP 策略,并且不执行任何预处理步骤。

警告

注意: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 博客文章

SB3 Logo