注意:FluxML 作为 NumFOCUS 的子组织参与。前往 FluxML GSoC 页面 获取他们的想法列表。
时间:175 小时
开发一系列强化学习环境,类似于 OpenAI Gym。虽然我们有可用的 gym 包装器,但它很难安装(由于 Python 依赖关系),而且由于它是用 Python 和 C 代码编写的,我们无法用它做更多有趣的事情(比如通过环境进行微分)。
使用 Flux 进行 RL 的任何人都能从一个支持类似 API 和可视化选项的纯 Julia 版本的环境中获益。
导师:Dhairya Gandhi.
AlphaZero.jl 项目的理念是提供一个 AlphaZero 的实现,该实现足够简单,以便贡献者和研究人员可以广泛访问,同时又足够强大和快速,可以在有限的计算资源上进行有意义的实验(我们最新的版本始终比竞争的 Python 实现快一个到两个数量级)。
以下是一些基于 AlphaZero.jl 的项目想法。请联系我们获取更多详细信息,并告知我们您的经验和兴趣,以便我们能够建立一个最适合您个人资料的项目。
[简单 (175 小时)] 将 AlphaZero.jl 与 OpenSpiel 游戏库集成,并在一系列简单的棋盘游戏中对其进行基准测试。
[中等 (175 小时)] 使用 AlphaZero.jl 训练一个国际象棋代理。为了节省计算资源并更快地启动,您可以使用监督学习训练初始策略。
[困难 (350 小时)] 基于 AlphaZero.jl 实现 MuZero 算法。
[困难 (350 小时)] 探索 AlphaZero 在棋盘游戏之外的应用(例如,定理证明、芯片设计、化学合成...)。
在所有这些项目中,目标不仅是展示当前的 Julia 生态系统并测试其极限,而且还通过其他人可以构建的具体贡献推动其发展。这些贡献包括
通过代码、文档或基准测试改进现有 Julia 包(例如 AlphaZero、ReinforcementLearning、CommonRLInterface、Dagger、Distributed、CUDA...)。
一个记录良好且可复制的工件,可添加到 AlphaZero.Examples、ReinforcementLearningZoo 中,或以其自身软件包的形式发布。
一篇博客文章,详细介绍您的经验,讨论您遇到的挑战,并确定未来工作的有希望的领域。