卡帕西中文站 / 文章导读 / 从像素玩转 Pong

深度强化学习:从像素玩转 Pong——以及对 RL 最清醒的泼冷水

原文发表:2016-05 · 导读更新:2026-08
这是导读,不是翻译。目标是让你 5 分钟拿到文章的思想地图;值得的话,带着地图去读 英文原文 →

一句话

130 行 numpy 代码、不依赖任何框架,从原始游戏像素训练出一个会打乒乓的 AI——这是全网最好的策略梯度(Policy Gradients)入门。但这篇文章真正的含金量在后半部分:在 RL 最火的年头,卡帕西把它的暴力本质和样本低效讲得明明白白,这些判断十年后几乎全部应验。

文章讲了什么

前半是教程。任务设定极简:输入 210×160 的游戏画面(预处理成前后帧的差值以捕捉运动),一个两层全连接网络(约 200 个隐藏单元)输出「上移」的概率,按概率采样动作。难点在于信用分配:赢一分的奖励要归功于此前上千个动作里的哪几个?策略梯度的答案朴素到令人发笑——把赢的整局里所有动作都「鼓励」,输的整局里所有动作都「打压」,用他自己的话说就是 guess-and-check:先瞎猜,猜中了就加大概率。数学上这等于把 RL 变成一种带权重的监督学习:用采样出的动作当假标签,用最终胜负当损失的缩放系数。他在 MacBook 上训了三个晚上、约 8000 个回合,这个小网络就打赢了游戏内置 AI。权重可视化还显示神经元自发学出了「球沿特定轨迹运动」的检测器。

后半是批判。他系统对比了这个算法和人类学 Pong 的差距:人类自带物理直觉和任务理解,能看一眼就懂「球要接住」,还能在脑中推演后果、从单个样本学习;算法却需要几十万局的随机试错,靠碰巧撞上奖励再放大。他也公平地列出算法的优势:把像素全部打乱它照学不误,人类则会当场崩溃——两者根本不是同一种学习。对于奖励稀疏的游戏(如 Montezuma's Revenge),这种「靠碰运气发现钥匙有用」的机制近乎绝望。他还给出了策略梯度更严肃的用途——训练带不可微组件的网络(硬注意力、离散内存),并给出实践忠告:先试更笨的基线(如交叉熵方法),需要稳定性再上 TRPO,别把 RL 当万能锤子——先用玩具枪,打不动再抬火箭筒。

"It shouldn't work, but amusingly we live in a universe where it does." ——Andrej Karpathy,2016 · 原文 →

写作背景

2016 年是深度强化学习的高光时刻:DeepMind 的 DQN 刚玩转 Atari,AlphaGo 三个月前刚击败李世石,舆论普遍认为 RL 是通往通用智能的正道。卡帕西这篇文章一边给出当时最平易近人的技术讲解(把神秘的 RL 拆成 130 行裸代码),一边逆着风向指出:这些成就的底色是海量算力下的暴力搜索,而不是人类式的理解。这种「一边教你、一边告诉你它的局限」的写法,是他所有文章里科学品味最外露的一篇。

十年后再看

他的悲观和乐观各中了一半。悲观应验:纯 RL 从零学习始终没有成为主流路径,游戏之外的落地寥寥。乐观也应验:他在文末推崇的「先监督模仿、再 RL 精修」的 AlphaGo 式混合范式,恰好就是今天 LLM 的配方——先预训练模仿人类文本,再用 RLHF 微调。更妙的是,本文批判的「把整局所有动作一起奖励」的粗糙信用分配,正是他 2024 年在「RLHF 只是勉强算 RL」中继续开火的对象——十年过去,他对 RL 的怀疑一脉相承,而且仍然站得住。文中「人类靠先验知识和抽象模型学习」的段落,也预演了他后来「动物 vs 幽灵」的智能观:我们造出的不是从零试错的动物,而是模仿人类数据的「幽灵」。

对你意味着什么

  1. 想搞懂 RL 基础的人,这仍是 2026 年的最佳第一课:先读它再看 PPO/GRPO 论文,你会发现现代方法只是在这 130 行的骨架上打补丁。数学推导段可以慢读,代码务必亲手跑一遍。
  2. 做 agent 的人,重点读后半的批判:奖励稀疏、信用分配、靠采样撞答案——这些正是今天训练和评估 agent 时的核心痛点,他的分析框架可以直接拿来用。
  3. 别神化也别轻视 RL:它在「奖励可验证」的场景(代码、数学)正卷土重来。理解它为什么在别处失灵,比会调库重要得多。

延伸阅读