天授强化学习库了解
博主是一名刚入门强化学习方向的小白,经过一段时间的摸索和询问,在众多强化学习库中选择了天授,主要目的也是想要系统地从代码底层去了解强化学习的运转机制。
- 这里插一句,为什么要选择一个强化学习库,而不是自己直接套用某个算法去跑实验?
如果已经是有很好基础的大佬,直接面对各种算法以及后面的调参是没有问题的,但是对于小白来说,我觉得还是有必要借助一个平台来系统地学习一些知识,就比如说各个函数的调用关系、算法的拓展过程、buffer机制的设计、神经网络的作用……
一、天授库的基本简介
以下摘自于github主页中作者团队对天授的介绍:
“天授”意指上天所授,引申为与生具有的天赋。天授是强化学习平台,而强化学习算法并不是向人类学习的,所以取“天授”意思是没有老师来教,而是自己通过跟环境不断交互来进行学习。
二、优势所在
1、模块化与灵活性
提供 低层接口,支持算法开发者自由定制和扩展,同时保持类型安全(Type-safe)。例如,可轻松替换网络结构、采样策略或优化器。
2、高性能训练
优化了数据收集和策略更新的并行效率,比许多主流 RL 库(如 Stable Baselines3)更快。支持多进程异步采样(Vectorized Environment)。
3、广泛的算法支持
在线 RL:DQN、PPO、SAC、TD3 等(On/Off-Policy)。离线 RL:CQL、BCQ 等。实验性支持:多智能体 RL(MARL)、基于模型的 RL(MBRL)。
4、用户友好接口
高层 API 只需几行代码即可训练自定义环境。
三、下载链接
Github链接:https://github.com/thu-ml/tianshou
Gitee链接:https://gitee.com/mirrors/Tianshou
两个链接的内容是一样的,为防止Github网站临时登录不上,放了一个国内的Git链接。
特性 | Gitee | GitHub |
---|---|---|
服务器位置 | 中国境内(访问速度快) | 国际服务器(国内访问可能慢) |
合规性 | 符合中国数据监管要求 | 需遵守国际法规(如 GDPR) |
开源生态 | 国内项目为主 | 全球开源项目覆盖 |
企业服务 | 提供私有云、高校版等本土化方案 | 主打 GitHub Enterprise |
四、目前可直接支持的算法
强化学习算法与组件列表
基于值函数的方法
- DQNPolicy - Deep Q-Network
- DQNPolicy - Double DQN
- DQNPolicy - Dueling DQN
- BranchingDQNPolicy - Branching DQN
- C51Policy - Categorical DQN
- RainbowPolicy - Rainbow DQN
- QRDQNPolicy - Quantile Regression DQN
- IQNPolicy - Implicit Quantile Network
- FQFPolicy - Fully-parameterized Quantile Function
基于策略梯度的方法
- PGPolicy - Policy Gradient
- NPGPolicy - Natural Policy Gradient
- A2CPolicy - Advantage Actor-Critic
- TRPOPolicy - Trust Region Policy Optimization
- PPOPolicy - Proximal Policy Optimization
混合方法
- DDPGPolicy - Deep Deterministic Policy Gradient
- TD3Policy - Twin Delayed DDPG
- SACPolicy - Soft Actor-Critic
- REDQPolicy - Randomized Ensembled Double Q-Learning
- DiscreteSACPolicy - Discrete Soft Actor-Critic
模仿学习相关
- ImitationPolicy - Imitation Learning
- GAILPolicy - Generative Adversarial Imitation Learning
离线强化学习
- BCQPolicy - Batch-Constrained deep Q-Learning
- CQLPolicy - Conservative Q-Learning
- TD3BCPolicy - Twin Delayed DDPG with Behavior Cloning
- DiscreteBCQPolicy - Discrete Batch-Constrained deep Q-Learning
- DiscreteCQLPolicy - Discrete Conservative Q-Learning
- DiscreteCRRPolicy - Critic Regularized Regression
其他高级组件
- PSRLPolicy - Posterior Sampling Reinforcement Learning
- ICMPolicy - Intrinsic Curiosity Module
- PrioritizedReplayBuffer - Prioritized Experience Replay
- compute_episodic_return() - Generalized Advantage Estimator
- HERReplayBuffer - Hindsight Experience Replay