Computer program that learns to play classic NES games
从这部视频出发 主题阅读 · 1
机器学习为什么越努力追分,结果反而越奇怪?→字幕解读
Tom7 介绍其用 NES 内存状态自动玩游戏的实验:先记录人工游玩时逐帧的 RAM,再从内存字节中学习按字典序递增的进度指标;程序随后只看内存并搜索能让指标上升的按键序列。为避免纯贪心导致乱按,他加入对随机未来输入序列的规划。方法在以向右推进为主要目标的平台游戏中效果较好,也会利用游戏漏洞;作者展示其在吃豆人、泡泡龙和俄罗斯方块等不同结构游戏中的表现差异,并指出规划视野有限。
自动字幕 · 引文按字幕原文展示,可点时间戳回看片段。
内容要点
- 方法从人工游戏轨迹中学习 RAM 字节的字典序指标,将其作为自动搜索按键的目标函数。
- 候选按键规划会测试多种短操作和随机未来序列,以更长远的指标变化选择行动。
- 有明显空间推进梯度的横版游戏较适合该方法;需要更长远策略或目标不单调的游戏会暴露局限。
视频章节 6
- 从 NES 内存自动玩游戏
- 用字典序识别游戏进度
- 搜索按键与改进规划
- 训练数据与目标函数
- 修复漏洞后的马力欧表现
- 跨游戏结果与方法边界
具体观点与证据 3
PlayFun从人类示范的RAM变化学习进度指标,再搜索让内存字节序上升的输入,不依赖画面识别。
这是特定NES模拟器与内存表示下的方法。
It's just looking at RAMs and it's trying to find sequences of inputs相对随机未来输入序列进行短序列规划,比逐帧贪心更容易形成跨越障碍的连贯动作。
仍是有限规划视野,未解决长期战略。
keep track of a bunch of random future inputs that we might execute俄罗斯方块展示短视优化的失败:堆叠得分诱导坏布局,最后暂停游戏来避免立即失败。
不能把暂停当作系统理解胜负或通用智能的证据。
playing Tetris well requires some thinking ahead, and this algorithm does not think very far ahead.补充字幕原文 2
作者以调侃语气概括方案:用简单的数学代理目标直接驱动游戏搜索。
this is a really simple, mathematically elegant and stupid technique作者将俄罗斯方块表现不佳归因于算法前瞻深度不足,说明目标代理和搜索视野限制了可处理任务。
this algorithm does not think very far ahead解读边界
进度代理指标来自 RAM 字节的递增规律,依赖游戏内部状态与目标结构;作者展示的效果跨游戏差异很大,且有限的前瞻规划不适合需要深远策略的任务。
相关视频与证据 2
受限表示对照游戏智能的失败可以来自输入和目标的限制
盲棋只给占位掩码,因此相同输入可能对应不同真实棋盘;PlayFun用示范RAM构造上升指标并短视搜索,俄罗斯方块中堆叠小得分反而导向失败。两例说明评估行为前需要检查表示丢失了什么、指标奖励了什么。
30 Weird Chess Algorithms: Elo World ↗
位图歧义使棋盘恢复不可能总正确。
the representation is ambiguous and of course when it gets it wrong▶ 31:51–32:17 · 观看片段Computer program that learns to play classic NES games
短期得分优化会在俄罗斯方块产生坏策略。
playing Tetris well requires some thinking ahead, and this algorithm does not think very far ahead.适用边界 一端是不可辨识输入,一端是目标和规划视野,两者不是相同故障,也不能由此否定更完整的学习系统。
不同搜索策略不同代理暴露不同限制:结构演化与搜索视野
MarI/O 从基础网络演化神经元和连接结构;NES 视频指出俄罗斯方块代理因前瞻不足而受限。并读可区分结构如何形成与决策向前看多远这两类问题。
MarI/O - Machine Learning for Video Games ↗
MarI/O 从基础网络结构开始演化连接。
without presupposing the best structure for the neurons and their connections▶ 4:58–5:06 · 观看片段Computer program that learns to play classic NES games
NES 视频指出其俄罗斯方块算法的前瞻深度不足。
this algorithm does not think very far ahead适用边界 两种方法针对不同游戏与状态编码;NES 方法依赖目标指标对进度有用,并明确在需要更长远规划的情形下受限。