好奇心:那台让你非知道不可的机器 书架

第 10 章 / 共 12 章

第十章 · 把好奇写进代码

前九章一直在讲人的好奇心。这一章故意拐进一个看似很远的地方:机器学习。因为当工程师想把「好奇」写进代码时,含糊的说法会被迫变硬——你不能对程序说「去探索有意思的东西」,程序会反问:什么叫有意思?怎么计分?什么时候该停?机器里的好奇心很简陋,却把骨架露了出来。

没有好奇的机器,会卡死在迷宫里

想象一个游戏角色被丢进迷宫:找到出口 +100 分,撞墙 -1 分,原地不动 0 分。传统的强化学习,大白话说,就是让机器在不断试错中学会「怎样做能拿到更多分数」——没人教它规则,全靠奖励和惩罚修正行为。问题在于:如果出口很远,机器乱走几万步都碰不到它,看到的世界几乎全是 0 和 -1。它没有理由往任何方向多走一步,干脆原地打转。

于是工程师引入了内在动机:机器不只为了外界给的分数行动,也为了某些「内部觉得值得」的东西行动——看到没见过的状态给一点分,猜错了也给一点分。这不是作弊,这非常像人:小孩拆闹钟不是因为里面藏了糖,程序员追一个线上 bug 到凌晨也不全是冲着绩效,而是「这个现象不应该发生,我非弄懂不可」。

外部奖励太稀疏时,探索会死在半路上。好奇心的作用,就是在终点奖品出现之前,先给探索过程本身一点燃料。

预测误差:机器版的「咦?」

最经典的一种做法,是给机器装两个脑袋:一个负责行动,一个负责预测「我这么做了,下一秒会看到什么」。每走一步,先猜,再看结果——猜错的幅度就是奖励。世界符合预期,没分;世界偏离预期,给分。于是机器会主动去找那些能让自己模型出错的地方:碰碰没碰过的门,按按没按过的钮。

这正是第二章那台预测机器的代码版:机器不需要人预先列出「什么值得好奇」,它只维护一个世界模型,然后把模型的裂缝当成路标——裂缝越大,越值得走过去看一眼。

但机器会钻空子:随机电视陷阱

只奖励「猜错」马上会出事。研究者真的观察到了这一幕:给机器面前放一台播放随机噪声的电视,屏幕每一帧都乱变、永远猜不准、误差永远很高——机器就站在电视前看个没完。对程序来说那是金矿,对任务来说那只是噪声。这个画面是不是有点眼熟?一个人刷信息流刷到凌晨三点,掉的正是同一个坑。

修补办法是奖励学习进步而不是奖励惊讶:不是「我猜错了」给分,而是「我比刚才更会猜了」给分。随机电视让你一直猜错,却不会让你变得更懂;一个真正可学的谜题,开始总错,渐渐能对。有价值的好奇,追逐的不是惊讶,而是能被消化的惊讶。这也让第七章的倒 U 形从比喻变成了工程约束:完全可预测的地方没有信息,完全随机的地方没有规律,好奇最该待的地方在中间。

逛街与买菜

强化学习里还有一对老概念:探索利用——试没试过的路,还是走已知有收益的路。大白话说,一个逛街,一个买菜。只利用,机器会很快锁死在一条「还凑合」的路上;只探索,它什么都看、什么结果也不拿。好奇心不是无目的的漫游,而是在「继续收获」和「扩大地图」之间动态调节。人也一样:只学立刻有用的东西,知识地图会越来越窄;永远追新、不开花结果,那不是好奇,是逃避交付。

教机器好奇,教到最后会发现其实是在定义三件事:什么算缺口(没见过、猜错了、还是正在学会)、什么算值得(缺口背后有结构,还是只是噪声)、什么时候收手(探索到哪一步,该回到正事)。这三问也正是人要问自己的。下一章,我们把这套东西从实验室拿回日常生活:一个成年人已经哑火的好奇心,到底能不能养回来?

好奇心:那台让你非知道不可的机器 · 王建硕
费曼式写法 · 由多个 AI 代理撰写与互相审校