介绍¶
什么是DI-engine?¶
DI-engine 是一个由一群热情的研究人员和工程师为 PyTorch 和 JAX 构建的决策智能引擎。
它提供了以Python为先和异步原生的任务和中间件抽象,并模块化地集成了几个最重要的决策概念:环境(Env)、策略(Policy)和模型(Model)。基于上述机制,DI-engine支持各种深度强化学习(DRL)算法,具有卓越的性能、高效率、组织良好的文档和单元测试,这将为您的强化学习算法研究和开发工作提供最专业和便捷的帮助,主要包括:
全面的算法支持,例如DQN、PPO、SAC以及许多用于研究子领域的相关算法 - 用于多智能体强化学习的QMIX,用于逆向强化学习的GAIL,用于探索问题的RND等。
用户友好的界面,我们将强化学习任务中的大多数常见对象(如环境、策略)抽象化,并将复杂的强化学习过程封装成中间件,让您能够按照自己的意愿构建学习过程。
灵活的扩展性,使用框架内集成的消息组件和事件编程接口,您可以将基础研究工作灵活扩展到工业级大规模训练集群,例如星际争霸智能DI-star。
DI-engine 旨在标准化不同的决策智能环境和应用,支持学术研究和原型应用。还支持各种训练管道和定制的决策AI应用,例如 StarCraftII, Auto-driving, Traffic Light Control 和 Biological Sequence Prediction.
在底层,DI-engine 附带了一组高度可重用的模块,包括 RL 优化函数、PyTorch 工具 和 辅助工具。
关键概念¶
如果您不熟悉强化学习,可以前往我们的强化学习教程,一窥强化学习的奇妙世界。
如果你已经接触过强化学习,那么你应该已经熟悉强化学习的基本交互对象:环境和代理(或构成它们的策略)。
与其创建更多的概念,DI-engine 将两者之间的复杂交互逻辑抽象为声明式中间件,例如 collect、train、evaluate 和 save_ckpt。您可以用最自然的方式适应流程的每个部分。
使用DI-engine将会非常容易,在快速入门中,我们将通过一个简单的示例向您展示如何使用DI-engine快速构建一个经典的强化学习过程。