SerpentAI 项目介绍
SerpentAI 是一个简单而强大的游戏代理框架,它为开发者创建游戏代理提供了创新性的支持。这个框架允许开发者将任何拥有的视频游戏转化为一个适合实验的沙盒环境,而且全部都使用熟悉的 Python 代码。SerpentAI 的主要目标是为机器学习和人工智能研究提供一个有价值的工具,同时它也成为了业余爱好者极其有趣且容易上瘾的工具。
框架特点
SerpentAI 框架具有以下几个主要特点:
- 提供大量支持模块,为使用视频游戏作为环境时常见的场景提供解决方案。
- 包含 CLI 工具,加速开发过程。
- 提供有用的约定,但不对代理的内容做出限制。开发者可以使用最新的深度强化学习算法,计算机视觉技术,图像处理和三角学,甚至是简单的随机按键。
- 采用完全插件化设计,支持游戏和游戏代理的插件,使实验具有可移植性和可分发性。
系统支持
SerpentAI 支持 Linux 和 Windows 系统。值得注意的是,下一版本的框架将正式停止对 macOS 的支持,主要是因为 Apple 产品对 Nvidia 的排斥导致无法运行 CUDA,这对 SerpentAI 的实时训练至关重要。
项目背景
SerpentAI 项目源于对 OpenAI Universe 的欣赏和一些不满。基于此,框架确立了三个核心原则:
- 原生运行,不使用 Docker 容器或 VNC 服务器。
- 允许用户使用自己的游戏,不依赖特殊的游戏 API 或授权。
- 鼓励多样化和创造性的方法,不局限于当前流行的 AI 技术。
项目发展
2020 年 5 月,SerpentAI 项目重启开发工作,目标是将框架更新到 2020 年的技术水平。新版本将支持 Python 3.8+,减少依赖,提高易用性(包括安装程序和 GUI),并保持开源和宽松的许可证。开发团队还在考虑为非技术用户提供 Steam 分发版本。
文档与资源
SerpentAI 的指南、教程和视频正在不断制作并添加到 GitHub Wiki 中,这是目前官方的文档来源。开发者可以通过这些资源了解如何使用 SerpentAI 框架,创建自己的游戏代理。
通过 SerpentAI,开发者可以探索各种有趣的实验,如训练代理学习击败游戏中的怪物,或者学习匹配游戏中的图块。这个框架为游戏 AI 研究和开发提供了一个强大而灵活的工具,无论是专业研究人员还是业余爱好者都能从中获益。