Stable-Baselines3 - Contrib 项目介绍
Stable-Baselines3-Contrib(简称SB3-Contrib)是针对Stable-Baselines3的实验性强化学习代码的贡献包。在这个项目中,实验性的强化学习算法和工具被集成,以保持Stable-Baselines3的简单性、良好的文档和风格,同时为较不成熟的实现提供支持。
项目背景
多年来,Stable-Baselines及其后续版本Stable-Baselines3的社区成员一直希望参与进来,提供更好的日志工具、环境包装器、扩展支持(如不同的操作空间)以及学习算法。然而,这些工具有时过于小众,难以整合到现有代码中而不会产生混乱。为了满足这部分需求,SB3-Contrib项目应运而生。它允许开发者在不严格要求代码整洁的前提下进行贡献。几乎所有有用的功能都被接纳,目的是在主仓库的相对较小的工具范围之外,继续提供一如既往可靠的实现。
项目特色
SB3-Contrib包括多个实验性的强化学习算法和Gym环境包装器:
强化学习算法
- 增强随机搜索 (ARS):一种用于决策过程的优化算法。
- 分位数回归DQN (QR-DQN):用于强化学习环境中的深度强化学习方法。
- 带非法动作屏蔽的PPO (MaskablePPO):通过屏蔽非法操作来增强训练效果。
- 带有循环策略的PPO (RecurrentPPO 又名 PPO LSTM):结合LSTM的增强型PPO算法。
- 截断分位数评论者 (TQC):通过裁剪评论者分布优化策略。
- 信任域策略优化 (TRPO):用于提高策略优化可靠性的一种算法。
- 深度强化学习中的批标准化 (CrossQ):一种用于优化强化学习模型训练的技术。
Gym包装器
- 时间特征包装器:用于在强化学习模型训练中加入时间特征。
安装指南
用户可以通过以下命令使用pip来安装该项目:
pip install sb3-contrib
建议使用Stable Baselines3的最新版本,安装命令如下:
pip install git+https://github.com/DLR-RM/stable-baselines3
若需要安装SB3-Contrib的最新版本:
pip install git+https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
如何参与贡献
如果有兴趣参与贡献,请先阅读项目中的贡献指南CONTRIBUTING.md。
项目引用
如果需要在出版物中引用该库,请直接引用SB3:
@article{stable-baselines3,
author = {Antonin Raffin and Ashley Hill and Adam Gleave and Anssi Kanervisto and Maximilian Ernestus and Noah Dormann},
title = {Stable-Baselines3: Reliable Reinforcement Learning Implementations},
journal = {Journal of Machine Learning Research},
year = {2021},
volume = {22},
number = {268},
pages = {1-8},
url = {http://jmlr.org/papers/v22/20-1364.html}
}
通过以上信息,用户可以深入了解SB3-Contrib项目的背景、功能和如何贡献自己的力量。这个项目为前沿的实验性强化学习研究提供了一个良好的平台。