首页 > 教程资讯 > 教程详情

tinyworldformer:在树莓派 Pico 2 W 上用两个神经网络生成并游玩游戏

AI 与前沿 老K说软件 2026-10-30
文章分享

GitHub 项目 tinyworldformer 将两个小型神经网络放进 Raspberry Pi Pico 2 W:一个根据当前画面和动作生成下一帧及奖励,另一个根据生成的画面选择动作。据项目作者介绍,这套系统让世界模型与玩家网络在微控制器上共同运行,游戏过程由模型持续生成,探索了小内存设备运行世界模型的可能性。

一个生成游戏,一个负责玩

据项目文档,世界模型采用 int8 量化的循环 Transformer,参数量为 2.6 万至 13.1 万;玩家网络则是具有两层隐藏层的 float32 MLP,参数量为 9000 至 1.6 万。世界模型重复使用同一个 Transformer 模块及其权重,Pico 上采用 2 次循环。

在芯片上,两个网络都不调用真实游戏:玩家只看模型生成的画面,世界模型接收玩家选择的动作。两者运行于 RP2350 的核心 1,核心 0 负责 USB 和显示。用户也可以通过按键接管,亲自游玩模型生成的「梦境」。

五款游戏,准确率有明确边界

项目包含 Breakout、Doom-lite、Flappy Bird、Pong 和 Pac-Man lite。其中,Doom-lite 是基于 8 × 8 迷宫、采用光线投射的第一人称游戏。

据发布方自测,在 2 次循环下,Flappy Bird 的「完全正确帧」比例为 100%,Breakout 为 99.99%,Pong 为 99.45%,Pac-Man lite 为 86.4%,Doom-lite 为 83.6%。

这一指标统计留出数据中,预测画面的每个格子都与真实游戏一致的比例,排除了随机事件紧接着发生后的帧。作者说明,Doom-lite 即使只有一个墙面着色像素出错,也会被计为整帧错误。

智能体也会利用模型漏洞

据作者介绍,训练先由智能体游玩真实游戏,每款游戏记录 100 万至 300 万步,再让世界模型学习预测下一帧。文档给出的常规训练流程为 3 万步,前 3000 至 4000 步使用浮点,随后启用 int8 量化感知训练;Pac-Man 配置则为 4 万步,包含 4000 步浮点预热。

仅靠记录数据上的准确率还不够。作者报告,只在「梦境」中训练的智能体曾在其中拿到 210 分,而真实游戏最高只有 56 分;同一智能体进入真实游戏后仅得 28 分。作者随后用该智能体重新采集真实游戏记录,并微调世界模型,每轮修正它发现的漏洞。

能装进内存,板上帧率仍待实测

据项目提供的固件统计,Breakout 占用 361 KB 闪存、299 KB RAM,最大的 Pac-Man 占用 600 KB 闪存、460 KB RAM;Pico 2 W 配备 4 MB 闪存和 520 KB SRAM。

性能数据需要区分运行平台:作者称,同一 Rust 代码在桌面 CPU 上生成一帧耗时为 0.7 ms(Flappy Bird)至 1.5 ms(Breakout),但尚未实测 Pico 本身的帧率。

来源