项目介绍:AllenAct
概述
AllenAct 是一个为具身人工智能(Embodied AI)研究设计的开源框架,它强调模块化与灵活性,适应该领域的独特需求。AllenAct 提供了一流的支持,涵盖了不断增加的具身环境、任务和算法,重现了多种最先进的模型,内部还包含广泛的文档、教程、启动代码和预训练模型。这一框架由 Allen 人工智能研究院(AI2)构建并支持,该研究院的使命是通过高影响力的人工智能研究和工程为人类做出贡献。
主要特点
- 支持多种环境:AllenAct 支持诸如 iTHOR、RoboTHOR 和 Habitat 等具身环境,同时也支持包括 MiniGrid 在内的网格世界。
- 任务抽象:任务与环境在 AllenAct 中是解耦的,研究人员可以方便地在相同环境中实现多种任务。
- 多种算法支持:支持各种在线算法,包括 PPO、DD-PPO、A2C、模仿学习和 DAgger,以及离线训练如离线 IL。
- 序列算法:可以轻松试验不同的训练过程的顺序,这通常是成功策略的关键。
- 多损失同时训练:可以在训练模型时结合多种损失函数(例如,在优化 PPO 损失时使用外部的自监督损失)。
- 多代理支持:支持多代理算法和任务。
- 可视化:内置支持可以轻松可视化代理的第一人称和第三人称视图以及中间模型张量,与 Tensorboard 集成。
- 预训练模型:提供多个具身人工智能任务的标准代码和模型。
- 教程与代码:提供启动代码和广泛的教程,以帮助快速入门具身人工智能。
- PyTorch 的一流支持: 是为数不多的专注于 PyTorch 的强化学习框架之一。
- 任意动作空间:支持离散和连续动作。
支持的环境、任务与算法
- 环境:iTHOR、RoboTHOR、Habitat、MiniGrid、OpenAI Gym。
- 任务:PointNav、ObjectNav、MiniGrid 任务、Gym Box2D 任务。
- 算法:A2C、PPO、DD-PPO、DAgger、离线模仿学习。
社区贡献
AllenAct 项目欢迎社区的贡献。欲进行改进建议,建议先提交 issue,让开发团队了解您的想法,以便在您投入大量时间前确保建议的改进方向。改进和错误修复应通过拉取请求从您 fork 的代码库提交到项目的 GitHub 仓库。
鸣谢
该项目基于 Ilya Kostrikov 的 pytorch-a2c-ppo-acktr 库构建,并使用了 FAIR 的 habitat-lab 中的一些数据结构。特别感谢 Dustin Schwenk 帮助对该框架的公开发布进行支持。
许可证
AllenAct 采用 MIT 许可证,具体内容请参见项目中提供的 LICENSE 文件。
团队
AllenAct 是由 Allen 人工智能研究所(AI2)的 PRIOR 研究小组成员构建的开源项目。
引用
如果您使用了此框架,请引用相关论文:
@article{AllenAct,
author = {Luca Weihs and Jordi Salvador and Klemen Kotar and Unnat Jain and Kuo-Hao Zeng and Roozbeh Mottaghi and Aniruddha Kembhavi},
title = {AllenAct: A Framework for Embodied AI Research},
year = {2020},
journal = {arXiv preprint arXiv:2008.12760},
}