AI版本宝可梦冲榜上全球前10%!一次性「吃掉」10年47.5万场人类对战数据

  新智元报道

  编辑:定慧

  还在用搜索和规则训练 AI 游戏?现在直接「看回放」学打宝可梦了!德州大学奥斯汀分校的研究团队用 Transformer 和离线强化学习打造出一个智能体,不靠规则、没用启发式算法,纯靠 47.5 万场人类对战回放训练出来,居然打上了 Pokémon Showdown 全球前 10%!

  AI 又有「新活」了!

  德州大学奥斯汀分校的研究团队用 Transformers 和离线强化学习训练出了一个宝可梦对战 AI 智能体,不但打法像人,还能在全球排名中杀进前 10%。

  论文地址:https://metamon.tech/

  是的,你没看错,这不是那种靠搜索和规则的 AI,而是靠人类历史对战数据「喂出来」的智能体,能自己学着打。

  这个宝可梦游戏(全称 Competitive Pokémon Singles)有多复杂呢?

  在对战平台 https://pokemonshowdown.com/上可以看到,即使不考虑策略,光是精灵、动作和物品的数量已经多到了非常夸张的程度(根本翻不完)。

  这意味着,AI 要在信息不完全、策略博弈的环境中,把每一步出招、每一次换人,都当成下围棋一样来算。

  宝可梦对战融合了国际象棋般的长远策略规划、扑克牌那样充满未知信息和随机性,再加上足以填满一本百科全书的宝可梦、招式、特性和规则。玩家需要精心设计和操控自己的宝可梦队伍,击败对手的所有宝可梦才能获胜。这样一个充满不确定性、状态空间极其庞大的游戏,对 AI 来说是绝佳又极具挑战性的研究课题。

  这种硬核程度,更像是宝可梦版的《星际争霸》。

  把「回放」喂给 AI,教它打宝可梦

  研究团队开发了一个名为 Metamon 的平台,它使用来自 Pokémon Showdown(以下简称 PS)的人类游戏数据集来启用离线 RL 工作流。

  PS 会创建一个日志(过程「回放」),记录每场战斗。

  玩家保存日志以供日后研究、与朋友分享有趣的结果,或作为记录官方锦标赛结果的证明。

  PS 的回放数据已经超过十年——足够的时间积累数百万个重放,比如下面的是 10 年前 2014 年的战斗回放。

  PS 回放数据集是一个完全的、自然发生的人类数据集合,但这个数据集有个问题——这些数据是以第三方角度收集的,而不是第一人称,训练智能体需要用第一人称视角。

  研究团队通过将观众视角分别转换为每个玩家的视角来解锁 PS 回放数据集。

  最终,研究团队搞出一个 47.5 万局真实人类对战组成的离线强化学习数据集,而且每天还在持续增长中。

  在序列数据上使用离线强化学习算法训练

  宝可梦拥有一个非常复杂的状态空间,因此在使用离线强化学习(offline RL)进行训练时,策略模型可能需要具备较大的规模和复杂的结构。

  为了使训练过程更加稳定,将这个问题转化为行为克隆(Behavior Cloning, BC)的角度来理解:预测一个人类玩家的动作,实际上是在尝试推理模仿的这个玩家的策略,以及他们对对手的理解。

  为了实现准确的预测,模型往往需要较长的上下文输入。

  强化学习(RL)在这种场景下的作用,是帮助我们从包含了不同水平玩家(包括竞技和休闲玩家)决策的大规模数据中,筛选出有效信息。

  采用的解决方案是 actor-critic 架构,其中 critic 的训练方式是使用标准的一步时序差分(temporal difference, TD)更新来输出Q值。至于 actor 的损失函数,其一般形式如下:

  接下来,需要为 CPS(Competitive Pokémon Simulator)定义观测空间、动作空间和奖励函数。

  智能体需要获取足够的信息,以便能够模拟人类玩家的决策,而 PS 网站的用户界面是一个显而易见的参考点。

  不过,由于模型具备记忆能力,因此无需在每一个时间步都提供全部信息。

  最终达成了一个折中方案:输入由 87 个文本词语和 48 个数值特征组成。

  下图展示了数据集中一场回放中的示例。观测只包含对手当前上场的宝可梦。

  仅仅依靠强化学习能打赢人类吗?

  传统做法教 AI 玩游戏,通常会设计规则、模拟状态、设计算法。

  但这篇论文反其道而行之:直接喂数据,让它「模仿」人类怎么打。

  他们训练了多个大小不同的智能体,从 1500 万参数的小模型,到 2 亿参数的大模型。

  其中有的通过模仿学习训练(IL),有的则用离线强化学习(RL)进一步优化,还有的则加上「自我对战」的数据做微调。

  可以在 Pokémon Showdown 上观看各个模型的游戏重播。

  最强 AI 打上全球天梯前 10%

  说了这么多,这 AI 真的能打吗?

  研究者将多个版本的模型送上 Pokémon Showdown 的天梯服务器——这是全世界宝可梦高玩集中的地方。

  结果模型居然排进了全球活跃玩家的前 10%,并成功登上了排行榜。

  在图中展示了 Glicko-1 阶梯分数及其评分偏差。柱状图标签标注的是 GXE(胜率期望)统计数据。

  阶梯分位数(Ladder Percentiles),在 2025 年 2 月至 3 月期间下载的回放数据中,共识别出 14,022 个在第 1 到第 4 世代活跃的用户名。

  以第 1 世代(Gen1)为例,在这些用户名中,有5,095 个参与了 Gen1OU(标准对战规则),其中有2,661 个活跃度较高,达到了在最终结果统计时拥有有效 GXE(胜率期望)数据的标准。

  这可能是你第一次听说有人用 Transformer 打宝可梦,还打赢了人类。

  但从技术视角看,这背后是强化学习、模仿学习、大模型训练和数据重构的完整链路。

  它不只是一个「有趣的实验」,更像是一次对数据驱动游戏 AI 的深度演练。

  下一步,或许可以不是打游戏,而是让 AI 玩转更复杂的现实任务。

  此外,不同的训练策略以及大规模自我对战(self-play)技术,或许能够让智能体带来超越人类表现的突破。

  参考资料:

  https://x.com/yukez/status/1909993963848622206

  https://metamon.tech/

  https://arxiv.org/abs/2504.04395