2. DRL 代理¶
FinRL 包含了在 ElegantRL、Stable Baseline 3 和 RLlib 中经过微调的标准 DRL 算法。ElegantRL 是一个由 AI4Finance 维护的可扩展且灵活的 DRL 库,其性能比 Stable Baseline 3 和 RLlib 更快且更稳定。在三层架构部分,将详细解释 ElegantRL 如何在 FinRL 中完美地发挥作用。如果有兴趣,请参考 ElegantRL 的 GitHub 页面 或 文档。
有了这三个强大的DRL库,FinRL为用户提供了以下算法:
正如引言中提到的,FinRL的DRL代理是通过微调标准的DRL算法构建的,这些算法依赖于三个著名的DRL库:ElegantRL、Stable Baseline 3和RLlib。
支持的算法包括:DQN、DDPG、多智能体DDPG、PPO、SAC、A2C和TD3。我们还允许用户通过调整这些DRL算法(例如,自适应DDPG)或采用集成方法来设计自己的DRL算法。DRL算法的比较如下表所示:
用户可以选择他们喜欢的DRL代理进行训练。不同的DRL代理在各种任务中可能表现不同。
ElegantRL: DRL 库¶
强化学习(RL)的一句话总结:在RL中,智能体通过不断与未知环境互动,以试错的方式学习,在不确定性下做出连续决策,并在探索(新领域)和利用(从经验中学到的知识)之间实现平衡。
深度强化学习(DRL)在解决对人类具有挑战性的现实世界问题方面具有巨大潜力,例如游戏、自然语言处理(NLP)、自动驾驶汽车和金融交易。从AlphaGo的成功开始,各种DRL算法和应用以颠覆性的方式不断涌现。ElegantRL库使研究人员和实践者能够流水线化地“设计、开发和部署”DRL技术。
所展示的库在以下方面具有“优雅”的特点:
轻量级:核心代码少于1000行,例如helloworld。
高效:性能与Ray RLlib相当。
稳定:比Stable Baseline 3更稳定。
ElegantRL 支持最先进的深度强化学习(DRL)算法,包括离散和连续算法,并在 Jupyter 笔记本中提供用户友好的教程。ElegantRL 在 Actor-Critic 框架下实现了 DRL 算法,其中代理(即 DRL 算法)由 Actor 网络和 Critic 网络组成。由于代码结构的完整性和简洁性,用户可以轻松定制自己的代理。