跳转至

JAXtari: High-Throughput and Easy-to-Modify Arcade Learning Environment

会议: NeurIPS 2026
arXiv: 2610.23650
代码: https://github.com/k4ntz/JAXtari
领域: 强化学习
关键词: 强化学习, 街机学习环境 (ALE), JAX, 对象中心化, 鲁棒性评测

一句话总结

针对传统 Atari 模拟器 CPU 仿真瓶颈和语义不可改写的痛点,JAXtari 采用纯 JAX 从零重构了 45+ 款 Atari 2600 游戏,实现了 GPU 原生的高吞吐并行仿真(单张 A100 一小时内完成 1 亿步 PPO 训练),并原生支持对象中心化表征与源码级语义扰动插件系统。

研究背景与动机

街机学习环境(Arcade Learning Environment, ALE)作为深度强化学习十余年来的黄金基准,凭借人类专业开发者设计的游戏逻辑,具备天然免受“实验者偏差”影响的优势,广泛用于测试抽象推理、因果建模与长程规划能力。然而,随着深度强化学习向大规模加速器训练演进,ALE 底层依赖 6502 汇编硬件仿真器的架构暴露出严重的技术瓶颈:CPU 端的环境步进与 GPU 端的策略网络之间频繁发生主机-设备数据同步,成为并行采样、超参数搜索和种群训练的严重速度死锁。

更为关键的是,ALE 模拟闭源 ROM 二进制代码的设计构筑了严重的语义不透明壁垒。游戏内部逻辑与 RAM 状态高度耦合且语义难以直接解析,限制了神经符号强化学习与关系因果建模的发展。近年来的研究进一步表明,超人级得分的智能体往往并非掌握了真正的环境因果,而是严重过拟合于细微的视觉线索和偶发捷径(shortcut learning),即使面对轻微的视觉扰动或任务简化也会发生灾难性性能崩溃。然而在 ALE 中,要实施可控的反事实干预往往需要极其复杂的底层 RAM 逆向工程(如 HackAtari),无法直接修改静态资源与游戏物理规律。

为了彻底消除计算吞吐瓶颈与语义干预障碍,本文提出了全新底层重构方案。核心 idea:抛弃硬件级 ROM 模拟与自动转译路线,基于 JAX 函数式无状态规范从零重写 Atari 游戏底层逻辑,构建单 XLA 计算图端到端运行的 JAXtari 平台,在保证学习任务等价性的前提下原生输出对象中心化结构表征,并提供源码级插件化语义修改接口。

方法详解

整体框架

JAXtari 彻底摆脱了 ALE 面向对象的有状态设计,严格契合 JAX 纯函数式编程模型。环境转移函数采用完全纯粹的映射签名 step(state, action) -> (obs, next_state, reward, done, info),与 gymnax API 保持一致规范。环境内部状态由不可变的 PyTreeNode 数据结构管理(例如记录玩家坐标、球速和生命值的状态树),随机性则完全通过在状态中显式传递并拆分的 jax.random.PRNGKey 实现。环境运行被整体封装进单个 XLA 编译计算图,无需主机-设备通信,并通过 jax.vmap 在单 GPU 上并行调度数千至上百万个环境实例。

整个系统分为三层协同工作:第一层为环境初始化与源码级规则注入,支持在环境编译前植入内部规则修改;第二层为 XLA JIT 编译的高性能转移与原生双模态观测生成(对象中心化状态与可微渲染像素);第三层为训练层包装器套件,实现帧跳跃(Frame Skip)、帧堆叠(Frame Stack)和生命周期管理。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["环境构建与插件注入"] --> B["函数式状态转移引擎"]
    B --> C["双模态观测生成与原生降采样"]
    C --> D["大规模向量化并行调度"]
    D --> E["策略网络端到端训练与干预评估"]

关键设计

1. 函数式无状态环境转移引擎:消除 CPU-GPU 同步瓶颈 针对 ALE 基于 C++ 硬件时钟仿真的架构瓶颈,JAXtari 使用纯 JAX 数组运算对物理碰撞、计分规则、生成逻辑和终止判定进行了自底向上的数学重写。所有环境状态变量以结构化 PyTree 表达,确保无状态纯函数的确定性执行。由于摆脱了硬件 scanline 寄存器和逐周期指令仿真的限制,实体移动采用连续坐标与浮点向量运算,避免了 GPU 分支预测失败与发散执行问题,使得整个仿真循环能够与 PPO 等策略梯度算法无缝融合成单个 JIT 计算图。

2. 双模态观测与原生渲染降采样:兼顾通用像素与神经符号表征 针对传统智能体依赖昂贵视觉主干抽取特征的局限,JAXtari 原生提供两种观测模式: - 对象中心化模式(Object-Centric, OC):直接从 PyTree 状态中提取出物体坐标、速度、激活状态等结构化特征向量(屏蔽内部倒计时等隐变量)。该模式完全省去了图像光栅化与渲染开销,支持关系强化学习与符号推理。 - 可微像素渲染与原生降采样(Pixel-Based Rendering):针对标准卷神经网络(CNN),内置 JAXGameRenderer。为了避免先渲染 210×160 高清图像再由 CPU 下采样的冗余消耗,JAXtari 在环境初始化时将 Sprite 贴图预缩放至目标分辨率,在步进时直接在 84×84 空间光栅化合成画面,配合 4 帧跳跃(只渲染第 4 帧),将渲染内存占用降低 4 倍以上。

3. 双层插件化语义修改系统:支持源码级反事实干预 针对 HackAtari 依赖 RAM 内存篡改难以修改静态参数(如梯子位置、精灵图元)的痛点,JAXtari 引入了两套互补的修改插件系统: - 内部修改插件(InternalModPlugin):在 JIT 编译前执行,直接重写游戏核心常量、控制器逻辑(例如将袋鼠中的猴子控制器替换为 no-op)或覆盖 ASSET_CONFIG 图元贴图,编译后零额外运行时开销。 - 步后修改插件(PostStepModPlugin):在每次 step 执行后拦截状态 PyTree,可强制瞬移特定物体、掩码状态维度或动态重塑奖励(如对攻击动作引入负奖励)。

4. 行为与学习任务对齐验证管线:保障与 ALE 任务难度等价 为了在放弃 1:1 位级硬件模拟的同时保证基准的评测有效性,团队建立了“LLM Agent + 人类专家”的四阶段对齐管线: 1. 规格提取代理自主解析 Farama 官方文档与 AtariAge 玩家手册,抽取出动作空间、物理规则与奖励公式; 2. 代码审计代理逐行比对 JAX 实现,执行查全率(Recall)与查准率(Precision)双向审计; 3. 人类专家进行侧对侧双机试玩校验,核实边界条件(如 Frostbite 中冰屋完全建成后按 FIRE 不扣冰块等原版底层特性); 4. 基准算法策略压力测试,确认 PPO 在两套环境中的收敛轨迹、渐近收益和探索难度完全一致。

损失函数 / 训练策略

实验采用标准 PPO(Proximal Policy Optimization)算法,针对像素观测使用经典 Atari Nature-CNN,针对对象中心化特征采用参数量严格对齐的全连接网络(第一层 461 节点,第二层 512 节点)。优化器采用 Adam(\(\epsilon = 10^{-5}\),初始学习率 \(2.5 \times 10^{-4}\) 线性衰减),裁剪超参数 \(\epsilon = 0.1\),折扣因子 \(\gamma = 0.99\),GAE 参数 \(\lambda = 0.95\)。

在对环境进行扰动评估时,采用相对性能变化指标(Performance Change, \(\mathcal{PC}\)): $\(\mathcal{PC} = \frac{(S_{\text{mod}} - R_{\text{mod}}) - (S_{\text{org}} - R_{\text{org}})}{|S_{\text{org}} - R_{\text{org}}|}\)$ 其中 \(S_{\text{mod}}\) 与 \(S_{\text{org}}\) 分别表示智能体在修改后与原版环境的评测得分,\(R\) 为随机策略基线。\(\mathcal{PC} < 0\) 表示策略发生性能崩溃。

实验关键数据

主实验

主实验在代表 6 大控制类别的 15 款核心游戏(JAXtari-15)上展开,对比 JAXtari(像素/对象中心化)与 CPU-based ALE(Gym-ALE、EnvPool、ALE-VectorEnv)的吞吐量与 1 亿环境交互步(100M steps)训练耗时。

环境平台 观测模式 运行硬件 最大吞吐量 (Steps/s) 100M步训练墙钟耗时 1M并发环境支持
ALE (CleanRL) 像素 2× AMD EPYC 7742 (256线程) ~10k - 50k 数小时至数十小时 否 (CPU内存限制)
EnvPool 像素 2× AMD EPYC 7742 (256线程) ~280k 数小时 否
ALE-VectorEnv 像素 2× AMD EPYC 7742 (256线程) ~360k 数小时 否
JAXtari (本文) 像素 (84×84) 1× NVIDIA A100 (40GB) > 1,000,000 ~32 分钟 (全部<1h) 是 (Pong测试通过)
JAXtari (本文) 对象中心化 (OC) 1× NVIDIA A100 (40GB) > 100,000,000 (Pong/Freeway) ~8 分钟 (最高12min) 是

消融实验

评估预训练好的 PPO 智能体在面对不同语义修改时的零样本泛化能力(33 个随机种子聚合 IQM 评测),揭示深度强化学习策略对环境捷径的依赖程度。

任务修改类型 代表游戏 / 机制修改 预期难度变化 实际性能变化 (\(\mathcal{PC}\)) 策略行为分析
视觉图元替换 Seaquest / Freeway (单色矩形替换原版Sprite) 物理规则完全不变 显著下降 (\(\mathcal{PC} < 0\)) 视觉特征表征脆弱,过度依赖特定像素纹理
动态规则简化 Asteroids (slow_asteroids, 陨石速度减半) 人类感知显著变容易 严重崩溃 (\(\mathcal{PC} \approx -0.8\)) 策略内化了固定时序节奏,速度放慢导致开火时机全面错位
动态实体移除 Kangaroo (no_monkey, 移除阻碍猴子) 任务纯简化 显著下降 (\(\mathcal{PC} < 0\)) 策略学会了通过击打第一层猴子刷分,未掌握爬梯解救核心因果
任务目标颠倒 Alien (pacifist_mode, 异形不可消灭) 纯闪避机制 彻底归零 (\(\mathcal{PC} \approx -1.0\)) 缺乏反事实应对机制,无法切换行为模式

关键发现

  • 训练耗时数量级缩短:单张 A100 GPU 上,对象中心化 PPO 智能体训练 1 亿步平均仅需 8 分钟,像素 PPO 平均需 32 分钟,将多天级别的超参扫描压缩至单次工作会话。
  • 高吞吐突破稀疏奖励探索极限:在极端依赖长程探索的 Seaquest 中,借助 1 亿步预算(仅耗时 43 分钟),PPO 智能体突破了截断限制,得分超过 150,000 点,证明了极高吞吐对求解探索瓶颈的重要实用价值。
  • 深度模型捷径学习普遍存在:跨多款游戏的修改评测中,有符号 \(\mathcal{PC}\) 绝大多数呈现显著负值,即使在任务被显著简化(如放慢敌人速度、移除危险障碍)时,智能体依然发生严重崩溃,证实传统像素策略习得的是脆弱的表面相关性而非因果决策模型。

亮点与洞察

  • 原生图元降采样管线:渲染器直接在构建期缩小 Sprite 图元并在目标 84×84 空间光栅化,从根源上省去了高分辨率画面向 GPU 显存的搬运与后处理缩放,使单卡环境容纳并发数提升 4 倍。
  • 多代理辅助验证流:采用 LLM 提取规格、静态代码审计比对与人类游戏回放三位一体的校验机制,成功在纯函数式重写中找回了 Frostbite 冰屋满级无惩罚反向跳等汇编级边缘逻辑,解决了无 ROM 模拟下的保真度难题。
  • 端到端加速与神经符号结合契机:由于环境原生暴露对象字典与属性向量,结合 JAX 极高执行速度,为 NUDGE、BlendRL 等神经符号框架在大规模环境下的端到端归纳学习提供了前所未有的算力基座。

局限与展望

  • 基准游戏全量覆盖仍存缺口:当前 JAXtari 覆盖了 ALE 中的 45+ 款主流游戏,由于从底层逆向重写逻辑的工程量极大,尚未完全覆盖全部 57 款 Atari 基准。
  • 硬件拨档开关缺失:JAXtari 并未重现原版 ROM 的硬件拨档开关(Difficulty Switch),而是依赖自身的插件修改机制提供任务变体。
  • 端到端可微性限制:环境主要面向离散动作与规则判定,无法直接进行端到端环境梯度反向传播。未来的研发将继续扩大游戏生态覆盖,构建标准化的鲁棒性测试基准套件,并探索基于 JAX 状态的世界模型构建与基于模型的强化学习(MBRL)。

相关工作与启发

  • 强化学习仿真加速基准:从早期的 CPU 多进程封装(如 EnvPool、SubprocVecEnv)到基于 GPU 的物理仿真引擎(如 Brax、Isaac Gym、Envpool),大规模并行化显著重塑了强化学习的研究范式。JAXtari 将这一范式成功拓展至经典的 Atari 离散决策领域。
  • 鲁棒性与反事实决策评测:先前针对深度强化学习脆弱性的测试主要集中在对抗扰动(如 FGSM 攻击画面)或自然噪声插入。JAXtari 提供了代码级因果语义修改的能力,使得研究者能够精确解耦表征学习与策略泛化。
  • 对未来研究的启发:JAXtari 的出现使得单卡小时级训练数亿步成为现实。更重要的是,对象中心化的结构化表征与超高吞吐为神经符号推理、层级强化学习与因果世界模型的快速迭代开辟了全新可能。

评分

  • 论文质量: 4.5 / 5.0 (系统工程与逆向工程扎实,多阶段对齐验证完备,代码完全开源)
  • 实验充分度: 4.5 / 5.0 (跨越十多款游戏的大规模基准评估,涵盖吞吐量、探索边界与反事实鲁棒性剖析)
  • 创新性: 4.0 / 5.0 (首创纯 JAX 实现的 Atari 像素与对象中心化双模态架构与语义插件系统)
  • 工程实用性: 5.0 / 5.0 (单卡大幅削减科研算力门槛,代码易改易读,极富实用价值)