介绍 ⚔️ AI vs. AI ⚔️ – 一个深度强化学习多智能体竞争系统

'AI vs. AI' 是一个深度强化学习多智能体竞争系统

我们很高兴介绍我们创建的一个新工具: ⚔️ AI对抗AI ⚔️, 一个深度强化学习多智能体竞赛系统

这个工具托管在 Spaces 上,允许我们 创建多智能体竞赛。它由三个元素组成:

  • 一个带有匹配算法的空间,使用后台任务运行模型对战
  • 一个包含 结果的数据集
  • 一个从 比赛历史结果中获取并显示模型的ELO 的排行榜。

然后,当用户将训练好的模型推送到 Hub 上时,它将与其他模型进行评估和排名。通过这样做,我们可以在多智能体环境中评估您的智能体与其他智能体的对战。

除了作为托管多智能体竞赛的有用工具外,我们认为这个工具在多智能体环境中也可以作为一个强大的评估技术。通过与许多策略进行对战,您的智能体将与各种行为进行评估。这应该能够给您一个关于策略质量的良好概念。

让我们看看它是如何与我们的第一个竞赛主办方 SoccerTwos Challenge 一起工作的。

AI对抗AI的工作原理是什么?

AI对抗AI是 Hugging Face 开发的一个开源工具,用于在多智能体环境中评估强化学习模型的强度。

其思想是通过让模型不断相互对战,并使用比赛结果来评估它们相对于其他模型的表现,从而获得其策略质量的视图,而不需要传统的度量指标。

提交给定任务或环境的智能体数量越多,评级的代表性就越高

为了在竞争环境中基于比赛结果生成评级,我们决定基于 ELO 评级系统进行排名。

核心概念是在比赛结束后,根据结果和比赛前的评级更新两位选手的评级。当评级较高的选手击败评级较低的选手时,他们不会获得太多分。同样,在这种情况下,败者也不会失去太多分。

相反,如果评级较低的选手在对评级较高的选手的反败为胜中取得胜利,这将对他们的评级产生更大的影响。

在我们的环境中,我们尽可能简化了系统,没有根据选手起始评级添加任何变动。因此,获得和损失将始终完全相反(例如+10 / -10),而平均 ELO 评级将保持在起始评级处,选择 1200 ELO 评级起始完全是任意的。

如果您想了解更多关于 ELO 的内容,并查看一些计算示例,请参阅我们在此处编写的深度强化学习课程中的解释。

使用这个评级,可以 自动生成具有相似实力的模型之间的对战。有多种方法可以创建匹配系统,但在这里我们决定保持相当简单,同时确保对战中的多样性最小,并且大多数对战具有相对接近的评级。

算法工作原理如下:

  1. 收集 Hub 上所有可用的模型。新模型的起始评级为 1200,而其他模型保持其通过之前的比赛获得/失去的评级。
  2. 从所有这些模型中创建一个队列。
  3. 从队列中弹出第一个元素(模型),然后从与第一个模型评级最接近的 n 个模型中随机选择另一个模型。
  4. 通过加载这两个模型到环境中(例如 Unity 可执行文件)并收集结果来模拟这场比赛。对于此实现,我们将结果发送到 Hub 上的 Hugging Face 数据集。
  5. 根据接收到的结果和 ELO 公式计算两个模型的新评级。
  6. 继续逐对弹出模型并模拟比赛,直到队列中只剩下一个或零个模型。
  7. 保存得到的评级并返回到步骤 1

为了持续运行这个匹配过程,我们使用 免费的 Hugging Face Spaces 硬件和调度程序 将匹配过程作为后台任务持续运行。

Spaces还用于获取已经播放的每个模型的ELO评级,并从中显示排行榜,供每个人查看模型的进展。

该过程通常使用多个Hugging Face数据集提供数据持久性(在这里,是比赛历史和模型评级)。

由于该过程还保存了比赛历史记录,因此可以准确查看任何给定模型的结果。例如,这可以让您检查为什么您的模型与另一个模型相互作用困难,尤其是使用另一个演示空间可视化比赛。

目前,这个实验正在使用MLAgent环境SoccerTwos进行Hugging Face Deep RL课程,但是总体上,这个过程和实现非常环境无关,可以用来免费评估广泛的对抗性多智能体设置。

当然,重要的是再次提醒,这个评估是提交的代理商实力之间的相对评级,并且评级本身与其他指标相反没有客观意义。它只代表一个模型相对于池中其他模型的表现好坏。然而,如果有足够庞大且多样化的模型池(以及足够数量的比赛进行),这种评估成为表示模型总体性能的非常可靠的方式。

我们的第一个人工智能对人工智能挑战实验:SoccerTwos挑战⚽

这个挑战是我们免费的深度强化学习课程的第7单元。它于2月1日开始,将于4月30日结束。

如果您感兴趣,您无需参加课程即可参加比赛。您可以从这里开始👉 https://huggingface.co/deep-rl-course/unit7/introduction

在这个单元中,读者通过训练一个2对2的足球队来学习多智能体强化学习(MARL)的基础知识。

使用的环境是由Unity ML-Agents团队制作的。目标很简单:您的团队需要进球。为此,他们需要击败对手的团队并与队友合作。

除了排行榜,我们还创建了一个Space演示,人们可以选择两个团队并将它们进行可视化演示👉 https://huggingface.co/spaces/unity/SoccerTwos

这个实验进行得很顺利,因为我们已经在排行榜上有48个模型

我们还创建了一个名为ai-vs-ai-competition的discord频道,供人们交流并分享建议。

结论和下一步计划?

由于我们开发的工具是环境无关的,我们希望将来能够在PettingZoo和其他多智能体环境中举办更多的挑战。如果您对某些环境或挑战有兴趣,请随时与我们联系。

未来,我们将使用这个工具和我们创建的环境举办多个多智能体比赛,例如SnowballFight。

除了作为举办多智能体比赛的有用工具外,我们认为这个工具还可以成为多智能体设置中强大的评估技术:通过与许多策略对战,您的代理商将针对各种行为进行评估,从而对您的策略的质量有一个很好的了解。

保持联系的最佳方式是加入我们的discord服务器,与我们和社区交流。

****************引用****************

引用:如果您发现这对您的学术工作有用,请考虑在文中引用我们的工作:

Cochet, Simonini,“介绍AI vs. AI深度强化学习多智能体竞赛系统”,Hugging Face Blog,2023年。

BibTeX引用:

@article{cochet-simonini2023,
  author = {Cochet, Carl and Simonini, Thomas},
  title = {Introducing AI vs. AI a deep reinforcement learning multi-agents competition system},
  journal = {Hugging Face Blog},
  year = {2023},
  note = {https://huggingface.co/blog/aivsai},
}