前言

2022 年 11 月 30 日是个星期三。那天晚上,一家叫 OpenAI 的公司悄悄挂出了一个网页,上面有一个对话框,产品名叫 ChatGPT。没有发布会,没有新闻稿,连一张配图都没有。头几天,看到它的人大多把它当成一个玩具:让它写诗,让它认错,看它一本正经地胡说八道,然后截图发到网上。

两个多月后,这个玩具有了超过一亿用户。再往后的事情,你大概亲身经历了——它出现在你的工作里、你的聊天窗口里、你手机输入法的联想词里。到 2026 年,它背后的技术已经可以替人写代码、看片子、下棋、开网页、操纵机械臂叠衣服。

但有一件事没有变:绝大多数用着它的人,依然看不见它。

它藏在一个输入框后面。你打字,它回答,中间发生了什么,没人告诉你。它像一个从外地来的新同事:能力很强,来历不明,做事的方式偶尔让你吃惊。你只有两条路——要么把它当黑箱,用的时候心里发虚;要么试着弄明白它是怎么来的、怎么工作的、哪里可靠哪里不可靠。

这本书想帮你走第二条路。

先说它不是什么。它不是使用手册——不会教你写提示词,也不会给你测评哪个产品好用。它也不是教材——除了加减法,几乎不出现公式。市面上这类书很多,不缺这一本。

它想做的是另一件事:给你讲清楚这条技术路线的来路。今天的 AI 不是凭空冒出来的。它是一连串具体的人、在具体的年份、用具体的想法,一步步垒出来的。1943 年有两个科学家提出了一个简单到中学生都能看懂的数学模型;1956 年一群人在大学度过了过分乐观的一个夏天;1970 年代整个领域两次被冻僵;2012 年一张显卡和一场比赛把几十年的冷板凳变成了整个行业;2017 年八个人写了一篇论文,题目起得像个玩笑,后来那篇论文被引用了超过二十五万次。

知道来路,有三个实际的好处。

第一,概念会变得好懂。单独背"注意力机制"四个字是背不会的,但如果你先知道它解决的是"一句话传到最后就忘"这个老毛病,它几乎是自然而然长出来的东西。技术是历史给问题的答案,不懂问题,答案就只是咒语。

第二,你能分清新闻和现实。AI 领域的宣传永远是超前的:1958 年报纸上就写过感知机"会走路、会说话、有自我意识"。看过两轮"承诺—落空—再来"的循环之后,你再看今天的热点,会比较容易判断哪些是地基,哪些是脚手架。

第三,你对它该有的态度会变。它不是无所不能的神,也不是一文不值的骗局。它是一件真实的、有力量的、有明显短板的工具。知道它的边界,比知道它的能力更重要——因为它的能力,卖它的人会告诉你;它的边界,只有弄懂它的人能告诉你。

这本书讲一条主线,不追求面面俱到。这条主线是:机器如何从"被人写好规则",走到"自己从数据里学出规则",再走到"自己学会思考、学会行动"。沿着它,我们会遇到三次浪潮、两场寒冬、几场关键的比赛和论文,最后走到今天——AI 不只是回答问题,还开始替人做事、开始长出身体。

书里的每个核心概念,我都会配一个日常生活的比喻。比喻是有边界的——大脑不是真的神经网络,注意力也不是真的聚光灯——但比喻是唯一能让人不借助数学就抓住直觉的方式。比喻失效的地方,我会明说。

每章的结尾有三句话小结。读完忘了细节没关系,三句话记得住,这一章就没白读。书末附了一份大事年表和一份术语表,随时可以翻回去查。

准备好了就翻页。故事从一个人提出的一个坏问题开始——那大概是整个领域最好的一个坏问题。

第一章 图灵之问

一个坏问题

1950 年 10 月,哲学期刊《心》(Mind)刊出一篇文章,标题平铺直叙:《计算机器与智能》。它的作者 Alan Turing(艾伦·图灵)三十八岁,战时破译过德军密码,平时研究的是计算机这种刚刚出生的机器。文章开头一句话单刀直入:

我打算考虑一个问题:"机器能思考吗?"

但 Turing 接下来的做法,才是这篇文章真正厉害的地方。他没有去回答这个问题,而是宣布这个问题本身是坏的——"思考"这个词太含糊,谁也说不清它的边界,在上面争论一万年也不会有结果。于是他做了一次外科手术式的替换:别问机器会不会思考了,问一个能检验的问题——如果一台机器在纯文字对话中,让一个人分不清对面是机器还是人,我们还有什么理由否认它会思考?

这个检验后来被叫作图灵测试(Turing test)。它把一个哲学问题改造成了一个可以失败的实验。

有些读者可能觉得这像耍滑头——你把最难的部分直接绕过去了。但从那以后七十多年的历史看,这恰恰是 Turing 留给这个领域最值钱的东西:他给了一个不依赖定义就能往前走的路径。在一个问题上,"能不能被检验"往往比"能不能被定义"更能决定它的命运。

顺带一提,Turing 在论文里还预埋了一个伏笔。他说,与其争论怎么造一个"成年人的大脑",不如造一个"孩子的机器",然后教它——给它上课,让它自己长大。这个想法在当时没有任何技术可以落实,但注意它的方向:机器的智能不是被写出来的,而是被养出来的。这个方向,要等整整七十年后才真正开花结果。

三条路

"人工智能"这个词要到 1956 年才被发明出来。但在这之前,通往那个目标的三条道路就已经有人走了,之后几十年的整部历史,基本就是这三条路轮流坐庄的历史。值得把它们一次看清。

第一条路:符号主义。 代表人物后来成了这个领域的两位巨头——John McCarthy 和 Marvin Minsky。他们的直觉是:智能的本质是推理,而推理可以被还原为符号的操作。数学家做证明,就是在符号之间移动;棋手下棋,是在符号局面之间做选择。既然如此,只要把世界的知识写成一条条规则,再配上一台足够强的推理引擎,智能就该涌现出来。这条路听上去最符合常识——我们描述自己的思考时,用的确实是一句句"如果……那么……"。

第二条路:连接主义。 他们看的是另一份灵感来源——大脑。大脑里没有一个"中央推理引擎",只有近千亿个神经元,每个都简单得可怜:接收信号,超过阈值就放电,如此而已。可就是这些简单单元的连接,撑起了人的全部智能。连接主义者相信,智能不在规则里,而在连接里。所以与其手写规则,不如造一个神经元网络,让它自己从经验里把该有的连接学出来。这条路在本书里会反复出现——它就是今天这一切的直系祖先,但它被冷落的时间也最长。

第三条路:行为主义。 最少被写到、却最接地气的一路。他们的观点是:别谈什么推理和表征,先看行动。一只会翻垃圾桶的蟑螂,智能水平未必低于一个空谈理论的哲学家——生物的智能本来就是在一个会摔跤、会挨饿、会被吃掉的世界里,靠试错和反馈磨出来的。学不会行动的智能是纸上谈兵。这条路的直系后代,是后文的强化学习(reinforcement learning)和今天的机器人。

这三条路可以用一个比喻记住。假设要教会一个东西理解"礼貌":符号主义者会写一本《礼貌守则》,一条条列出何时该说"谢谢";连接主义者会让它听几十万段真实对话,自己悟出什么时候该微笑;行为主义者则把它扔进无数个社交场合,做对了给糖,做错了挨瞪。

三条路都自认在通往同一个终点。但接下来三十多年里,风光的几乎一直是第一条路。

符号时代的底气

为什么是符号主义先赢?不是因为它后来被证明更对,而是因为它在当时的条件下最能出活儿。

第一,它和计算机的天性合拍。计算机生来就是操作符号的机器——0 和 1 也是符号。写规则、做推理,用的正是计算机最擅长的东西。

第二,它出成果快。1955 年,Herbert Simon 和 Allen Newell 写出了"逻辑理论家"(Logic Theorist)——一个能自己证明数学定理的程序,它甚至独立找到了《数学原理》中一条定理的另一种证法。1958 年他们又造出更通用的"通用问题求解器"。在那个计算机还用打孔卡、内存以千字计的年代,一个程序能"做数学题",冲击力不亚于今天看到 AI 写出论文。

第三,它好解释。程序每走一步为什么那样走,规则写得明明白白。给军方汇报、给基金委写报告,都清清楚楚。

于是符号主义的乐观迅速膨胀。1958 年,《纽约时报》报道感知机时写道,它将来"会走路、会说话、有自我意识";Simon 预言十年内机器能下棋夺冠、证明新定理、谱曲、翻译。这些话今天读来字字惊心——因为除了下棋,其余的预言整整晚了半个世纪,而下棋夺冠这件事,机器用了三十九年。

膨胀之后是收缩。第二次世界大战给科学研究留下的最大教训之一是:预测未来最可靠的方式,就是看现在的问题有没有被解决。而符号主义的核心问题,恰恰一寸都没有松动。

撞墙

符号主义撞上的第一堵墙,今天有个名字:组合爆炸(combinatorial explosion)。

道理不复杂。要让程序"聪明"地下棋,一种朴素办法是穷举:我走一步,你有多少种应法,我每种又有多少种……像一棵疯长的树。棋盘上一步棋平均有几十种走法,往后看十步,分支数就已经超过了可观测宇宙里的原子总数——不是比喻,是真的超过了(国际象棋约十的一百二十次方量级,宇宙原子约十的八十次方)。所谓"组合爆炸",就是这种指数式的疯长。人的棋手从不这样下棋,他们"看一眼"就知道哪几个格子值得细想——这个"看一眼",机器在整个符号时代都没学会。

第二堵墙更隐蔽:常识。符号主义者很早就发现,要让程序理解一句话,需要的规则远比想象的多。"小明把水杯放进了背包,然后背着背包出了门"——水杯现在在哪?三岁小孩脱口而出。可这需要多少条规则?水杯离开视线后不会消失、背包开口朝上东西不会掉出来、门是出门的通道而不是墙壁……一个成年人赖以生活的常识,粗算下来数以百万计,而且互相纠缠,写规则的人写到破产也写不完。这条"常识之墙"日后还将挡在每一代 AI 面前,包括今天的大模型。

第三堵墙属于连接主义这边:单层神经网络连"异或"这种最简单的逻辑都学不会(见第三章),而当时没人知道怎么训练多层网络。

于是,热闹的五十年代和六十年代过后,两份冷静的报告(ALPAC 和 Lighthill)先后送达两国的资助机构,钱潮退去。第一次寒冬来了。整个七十年代,"人工智能"在英美大学里近乎禁忌,研究者为了申请经费,宁可把自己的方向改名换姓。

为什么这段历史值得先讲

因为你会在后面反复看到一个模式,而这个模式在寒冬年代就已经定型了:

一条技术路线被证明"此路不通",往往不是错在方向,而是错在"还差几样没发明出来的东西"。

符号主义的推理引擎没有全错——今天 AI 调用工具、规划步骤时,骨子里仍是符号式的思路;它错在低估了常识和数据的份量。连接主义的直觉没有全错——大脑确实那样工作;它错在那时候没有大数据,也没有训练深层网络的方法。行为主义也没有错——反馈确实能塑造智能;它错在当时的算力连一只电子蟑螂都养不起。

方向对了,条件没到。这个句式,接下来会一遍遍出现在这本书里:词向量在 1986 年就有了想法,等了二十多年等到算力;注意力机制的雏形在 90 年代就出现了,等到 2014 年才等到合适的土壤;用海量数据"教"孩子的机器这个图灵的念头,从 1950 年等到 2020 年。

还有一点值得现在就记住,因为它会反复出现:这个领域的历史节奏,不是匀速的。它是一段长坡、一段陡崖交替的形状——几十年的冷板凳和一两年内天翻地覆的爆发,轮番上演。判断"接下来会怎样",最不可靠的就是把最近两年直线外推——这个教训,寒冬教过一次,2022 年之后的世界还在教。

最后交代一下这本书的走法。既然三条路里最后登顶的是连接主义,本书就以它为主线:先看它的诞生和两次蛰伏,再看它如何借数据、算力之力翻身(第四、五章),如何学会行动(第六章),如何借"注意力"一统江湖(第七、八章),如何学会生成图像(第九章)、学会思考(第十章)、最后试图给自己装上身体(第十一章)。符号主义和行为主义没有退场——它们换了一种方式活在今天的技术里,该出场的时候,我们会指出它们在哪里。

故事回到那个起点。先于"人工智能"这个名字诞生之前八年,两个无线电工程师模样的人,在芝加哥的一间实验室里,把大脑画成了一张电路图。

三句话小结

图灵把"机器能思考吗"改写成可检验的对话测试,并埋下"教机器而不是写机器"的伏笔,从此这个领域有了可操作的方向。通往智能的三条道路——写规则的符号主义、造网络的连接主义、靠试错的行为主义——在 1950 年代已全部亮相,最先出成果的是符号主义,但它接连撞上组合爆炸与常识之墙。技术路线的失败常常不是方向错了,而是配套条件还没发明出来;这个领域的历史节奏是长坡与陡崖交替,别用最近两年的斜率外推未来。

第二章 梦开始的地方

1943 年的芝加哥

1943 年,芝加哥。伊利诺伊大学的神经精神病学系里,四十多岁的 Warren McCulloch(沃伦·麦卡洛克)是个罕见的混合体:受过精神科训练,研究的是大脑,开口闭口却是逻辑和数学。跟他搭档的 Walter Pitts(沃尔特·皮茨)还不满二十岁,是个没有家可回的少年。据后来流传很广的说法,Pitts 是从家里跑出来的少年,在芝加哥靠打零工度日,白天泡在图书馆和教室外面蹭课,硬是啃完了一部艰深的逻辑著作,还挑出了几处毛病寄给作者——那位作者不但没有恼怒,反而把他领进了学术圈。一个研究大脑的人,和一个理解逻辑的人,就这样凑在了同一张桌子前。

这一年,两个人合写了一篇论文。标题起得老实:《神经活动中内在思想的逻辑演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity),发表在一份数学生物物理学的期刊上。论文做的事,说穿了只有一件:把大脑翻译成开关的语言。

他们把一个神经元简化成一台小机器:它从别的神经元那里接收信号,信号有加有减;加起来的总数越过一条门槛,它就放电,输出一个 1;不越过,就闭嘴,输出一个 0。有些输入是抑制性的——只要它在场,别的票再多也作废。打个比方,这像一场举手表决:赞成票够数就通过,一张关键反对票可以否决全场。这就是后来所说的人工神经元(artificial neuron)的最初版本,也是"神经网络(neural network)"这个大家族里最早的成员。

比喻到这里得停一停。真的神经元会用几十毫秒的时间慢慢积累信号,化学开关就有几十种,信号还有快有慢、有远有近,远比这场表决热闹。McCulloch 和 Pitts 是故意砍的:他们要的不是大脑的复制品,而是大脑的下限——先看看,把神经元简化到最狠,还能不能干点正经事。

答案是能。用小学算术就能看明白。设一张表决器有两个输入,权重各记 1,门槛记 1.5:两个输入都是 1,加起来 2,过门槛,输出 1——演示的就是"与":两件事都真才放行。把其中一个权重换成 -1,门槛改成 0.5:只有另一个输入单独是 1 时输出才是 1——"非"就出来了。再用一层"与"配合一层"非",可以搭出"或"。这样的表决器连起来,可以搭出全部基本逻辑运算,而它们正是一切逻辑电路的积木。顺着一层搭一层,两人往前推了一大步:原则上,凡是能用逻辑表达的东西,都能用这样的网络算出来。如果大脑当真是一张这样的网络,那么大脑做的事,至少有一部分,就是逻辑运算。

这篇论文没有提"学习"两个字。它画的是大脑的一张静态照片:开关是焊死的,接线是固定的,做错了题,什么也不会变。但照片本身就够吓人了——它等于宣布,"大脑可以是台计算机"这件事,在纸面上说得通。要知道,第一台电子计算机还要过几年才通电,两个人已经先替它和大脑攀上了亲戚。

还有一件事值得记下:这篇论文把"网络"这个词带进了这个领域。日后你会反复遇到它——从感知机到今天的大模型,术语换了一茬又一茬,底层那张图始终没变:一大群简单单元,彼此连线,连线上的强度决定一切。至于"连线上的强度"该怎么定,1943 年没有人回答。这是照片上最刺眼的一块空白,也是本章后面整整半个故事。

一台能模仿一切机器的机器

要把这件事说圆,还缺一块垫脚石:凭什么说大脑做的事算"计算"?"计算"又是什么?这块垫脚石,Alan Turing(艾伦·图灵)七年前就铺好了。1936 年,二十四岁的他发表《论可计算数》(On Computable Numbers),为了回答一个数学家们当时追问不休的问题——"能算出来"的边界到底在哪里——他在纸上造了一台假想的机器。

这台机器后来被叫作图灵机(Turing machine)。它只有三样东西:一条划成格子的长纸带,一个能读写格子、能左右挪动的头,一张规则表——规定它每读到什么就该写什么、往哪边挪。它的全部本事,不超过一个坐在纸带前、拿着铅笔和橡皮、严格照说明书办事的文员。Turing 当年想说的正是这个:所谓计算,本来就是人可以照章办事的过程;既然是照章办事,就可以交给机器。

交代一下他为什么要造这台机器。当时的数学界正为一个问题伤脑筋:存不存在一套固定的机械程序,能判定任何一个数学命题的真假?Turing 的答案是否定的——他先定义清楚什么叫"机械程序",然后证明:有些命题,任何机器都永远判定不了。这个证明的副产品,就是那台纸上的机器。一件有意思的事:为了划清"机器永远做不到什么"的边界,他不得不先把"机器能做什么"讲得干干净净——后来整个计算机行业,盖在后者上面。

他用这台纸上的机器证明了两件事。第一,凡是人能一步一步算出来的东西,它都算得出来。第二,更要紧的:存在一种通用图灵机(universal Turing machine)——把另一台机器的规则表当作数据喂给它,它就能变成那台机器。一台机器,换一份"说明书",就换一副本事。

这个结构你天天在用。手机就是一台通用机器,app 就是说明书:装上导航,它是导航仪;装上相机,它是相机;卸载了,它就退化成一块能打电话的玻璃。还有一层更深的相似:说明书本身也是数据,也存在同一块存储里——今天叫软件。1936 年,别说智能手机,连电子计算机都还在图纸上,Turing 已经把这个结构在纸上想完了,几年后造出的真计算机照的正是这张图纸。

照例交代比喻的边界。图灵机并不是"像手机的机器",它是"计算"这个词的定义本身:什么算得出来、什么永远算不出来,要靠它才能说清。Turing 还证明过,有些问题是任何机器都算不出来的——这一条,手机也救不了。

垫脚石铺好,1943 年那篇论文就站得住了。大脑是图灵机意义上的计算机吗?McCulloch 和 Pitts 给出了倾向肯定的回答。1950 年,Turing 自己再往前走一步,提议用一场对话测试来回答"机器能思考吗",并埋下了"造一台孩子的机器,然后教它"的伏笔(见第一章)。三篇文章摆在一起,一个念头在越来越多的人心里发芽:既然大脑是机器,机器又能模仿一切机器,那为什么不能造一台会思考的机器?

这个问题,在 1956 年有了名字。

给它起名字的那个夏天

1955 年,达特茅斯学院的年轻数学家 John McCarthy(约翰·麦卡锡)起草了一份申请,拉上 Marvin Minsky(马文·明斯基)、贝尔实验室的 Claude Shannon(克劳德·香农)和 IBM 的 Nathaniel Rochester(纳撒尼尔·罗切斯特)联名,向洛克菲勒基金会要一笔经费,办一个为期两个月的研究班。申请的标题里,McCarthy 生造了一个词:artificial intelligence,人工智能。这个词此前不存在,此后七十年,整个领域都挂在它名下。

申请里最出名的一句话,大意是:

学习或智能的任何特征,原则上都可以被精确描述到这样一种程度:让一台机器去模拟它。

前半句还是个可以慢慢讨论的哲学立场,后半句直接取消了讨论:不辩了,开工。这句"原则上"值得多看一眼——它其实是整个领域的立身信仰:智能没有神秘的残余,只要描述得足够精确,就能造出来。信的人造出了这个领域;后来几十年的每一次退潮,都在逼人重新掂量这句话。

1956 年夏天,研究班如期开学。原计划十来个人、两个月,实际到场的十几位,其中有数学家、神经科学家、工程师,也包括头一年已经写出"逻辑理论家"的 Allen Newell 和 Herbert Simon(见第一章)——据说那是全场唯一真正能跑的程序。两个月里到底发生了什么,后来连当事人的回忆都对不上号;能拿上台面的成果清单,短得让人心酸:几篇论文草稿,几场谁也说服不了谁的争论,一个名字。

但名字是那两年最值钱的产出。在这之前,琢磨"机器能不能思考"的人散落在数学系、神经科学系和电子工程系,彼此连称呼对方的研究什么都不一致。从那个夏天起,他们有了同一个门牌号:可以互相找到对方,可以在同一个会议上吵架,可以向同一批机构申请经费。一个领域从此宣告存在——不是因为它发明了什么,而是因为一群人同意用同一个词称呼自己在做的事。这件事的分量,后来每一次学科分化都在重演:先有名字,再有队伍,最后才有成果。

两个月里没有吵出结果的问题倒是留了下来,而且一留就是几十年:智能应该从规则里造出来,还是从经验里长出来?在达特茅斯,主张前一种的人占了上风——他们很快就要交出这个领域最初十年的全部高光(见第三章)。至于后一种人,当时在场的人数得过来,其中一位是 Frank Rosenblatt——他后来在康奈尔造出感知机,靠的正是"从例子里学"这条路(本章稍后细说);行为主义的种子,也在这个夏天进了土。

顺带记下那份申请里埋着的传统:两个月。此后七十年,这个领域报价单上的工期,大多还是这个报价法的传人——乐观得理直气壮,错起来也集中爆发。

会自己拧旋钮的机器

名字有了,还差一台真的会学的机器。1957 年,康奈尔航空实验室的心理学家 Frank Rosenblatt(弗兰克·罗森布拉特)把它拿了出来:感知机(perceptron)。

他在 McCulloch-Pitts 表决器的基础上,补上了最关键的一样东西。每个输入不再一票一价,而是带着一个可以调节的权重(weight):有的输入嗓门大,有的嗓门小,加权求和过了门槛,神经元才放电。关键在于,这些权重不由人定——机器自己定。

流程是这样的。先准备一批有标准答案的例子,术语叫训练数据(training data),每一条都带着标签(label):这一张是"猫",这一张是"不是猫"。机器逐条过手:先猜,猜对了,权重不动;猜错了,就把相关的权重往能减少错误的方向拧一点。看一条,拧一点;再看一条,再拧一点。成千上万条过完,一套权重自己长了出来。

用生活语言说,学习就是调水温:烫了往回拧一点,凉了往前拧一点,试得多了,总能停到合适的位置。这个比喻用在感知机上,写实到罕见——因为 1958 年公开亮相的 Mark I 感知机是一台真硬件,"眼睛"是四百个感光单元排成的阵列,而权重就是一群真的旋钮:电机驱动的电位器。"学习"这件事在它身上是看得见的:通电之后,电机嗡嗡作响,旋钮一格一格地自己转。围观的人看的不是模拟动画,是学习本身。经费来自美国海军,他们对"自动领航员"这类东西一直有兴趣。

Rosenblatt 还证明了一个定理,给这套笨办法撑了腰——后来它被叫作感知机收敛定理(perceptron convergence theorem):只要存在一组权重位置能把训练数据全部分对,这个学习过程就保证在有限步之内找到它。不是"大概能学会",是数学上保证学会。前提只有一个:解得存在。这个前提听起来像是废话,其实是一颗埋好的雷,第三章要专门拆。

值得停一停,看看这一步在软件史上意味着什么。从前的程序,每一行都是人写的;感知机的"程序"——那套调好的权重——却是机器自己从例子里长出来的。建造者交付的不再是答案,而是一个会自己逼近答案的空壳。这个转向当时只被当成一种新机器,要等七十年后才被看清楚:它是一种全新的软件生产方式。

这就是连接主义的全部地基,也是贯穿本书的一句话:学习就是调权重。今天的大模型动辄几千亿个参数,听上去高深,本质没有变:每个参数是一个旋钮,训练就是一口气拧几千亿个旋钮——拧的规则比当年聪明,手换成了显卡,四百个感光单元换成了整个互联网的文本。顺带一提,今天教科书里"激活函数(activation function)"这个古怪的名字,源头就是 1943 年那条"越过门槛才放电"的规则:它决定一个神经元收到信号之后,放还是不放。而权重这个概念,日后还有另一个更常用的名字——参数(parameter)。你可能在新闻里见过"这个模型有一万亿参数"的说法:一万亿个旋钮,就是它的全部家当。

当年报纸给它描画的远景,今天看也不全是笑话——据 1958 年《纽约时报》的报道,感知机的后代将来会走路、说话、有自我意识。这话错在工期,不太错在方向;只是错得有多离谱,要看你拿哪一端对表(见第一章)。

比喻的边界,也是感知机的边界。把训练数据想成纸上的一些点,一类画成圆圈,一类画成叉。单层感知机学会的全部本事,是在纸上画一条直线,把圆圈和叉分开。直线画得再好,也圈不住内外交错的点——有一类最简单的题,一条直线怎么画都分不开。最出名的一道叫"异或"(XOR)——"两个条件恰好成立一个才算对",圆圈和叉各占对角,任何直线都无能为力。这个名字第三章还会出现。原因不难想:一层表决器只会做"加权求和、过门槛"这一件事,几十个这样的表决器并排站着,每人画的还是直线,拼起来也只是一堆直线。要画出弯的、绕的边界,得让表决器排成多层,前一层喂给后一层——而"多层网络怎么训练",在当时是一道无人能解的题。这个缺陷当时藏在热闹底下,要等一本专著把它钉在纸面上(见第三章)。

还有一点当时的报道没有提:Mark I 的"看图认物",靠的是四百个感光单元拼出的粗糙图案,任务也只是分辨简单形状。今天所有关于"机器会学习"的热闹,旋钮数目从四百个涨到了千亿、万亿个,逻辑却还是那台嗡嗡作响的机器的逻辑——猜,错了就拧,再猜。

春天的错觉

回望 1956 到 1958 这几年,这个领域过得像初夏:名声、经费、预言,一样不缺。达特茅斯的名字立住了,符号那边有定理可证,连接这边有机器可看,军方和基金会的钱愿意进来。

热闹里其实已经能听见后来的雷声,只是当时没人当真。"两个月"的工期没有人再核对过;Simon 关于十年之内兑现的预言,被当成乐观而非失实;感知机收敛定理那个"解得存在"的前提,被大多数人当成技术细节跳了过去。一个领域的第一代人在春天里养成的习惯——把技术细节当废话跳过去——会被第二代原样继承,然后在寒冬里连本带利地还回去。

不过那是下一章的事了。这一章的四块基石——表决器、通用机器、名字、会自己拧的旋钮——此后七十年都没有换过。换掉的,是人们对"多久能盖成大厦"的预期。

三句话小结

McCulloch 和 Pitts 把神经元简化成"够数就放电"的表决器,证明这样的网络在原则上能实现任何逻辑,"大脑可以是台计算机"从此在纸面上站住;图灵机给出了"计算"的定义,达特茅斯会议给这个目标起了名字。感知机补上最后一块地基——学习就是调权重:先猜,猜错就往减少错误的方向拧一点,拧到对为止,而且数学上保证拧得到。但单层感知机只会画一条直线,多层网络又没人会训练,这个当时无人当真的缺陷,十年后将被一本专著钉死,把整个方向送进寒冬。

第三章 两度寒冬

1966 年,一台聊天机器

1966 年,麻省理工学院的人工智能实验室里,一台聊天机器成了全院的明星。它叫 ELIZA,是计算机科学家 Joseph Weizenbaum(约瑟夫·魏泽鲍姆)写的程序,名字取自萧伯纳戏剧里那位学说话的卖花女。它扮成一个心理治疗师:你说"我最近不太开心",它回"你说你最近不太开心";你说"我跟我父亲处不好",它回"家里还有谁跟你处不好?"。它从不说任何有内容的话——它只会把你的话改头换面还给你,偶尔抓一两个关键词套进固定的句式。

按理说,这种把戏瞒不过任何人。但它偏偏瞒过了很多人。有人一连几小时跟它倾诉心事;有人坚持要单独跟它谈,不肯让 Weizenbaum 在旁边看记录;学术界很快出现了讨论"人机关系前景"的严肃论文。Weizenbaum 本人的反应成了科学史上著名的一段公案:他先是错愕,继而恐惧,后来干脆调转枪口,成了人工智能最尖锐的批评者之一。据他后来回忆,让他脊背发凉的是:明明知道那些字里没有一个是有理解的,人们却愿意相信。

后来人们管这种错觉叫伊莉莎效应(ELIZA effect):机器哪怕只会做最肤浅的模仿,人也忍不住往里面填入理解和感情。这个词造出来的年头晚,现象本身在 1966 年就齐活了。值得说的是,这个效应至今没有消退——今天有人对着聊天框倾诉衷肠,机制上和 1966 年那些实验室的访客没有区别。ELIZA 没有智能,但它提前演示了一件更重要的事:智能的外观就能换来信任。这份遗产,后面每一代产品都继承了一点。

把时间拨回十年前。达特茅斯会议之后,这个新生的领域拿到的是一路绿灯:钱从军方、情报机构和基金会涌进来,机器越换越大,成果清单一年比一年长。符号主义占尽了风光——它出的活儿最像"智能":证明定理、解应用题、下棋。这一章要讲的,就是这份风光怎么走到尽头,整个领域怎么在十年里挨了两顿棍子、冻了两场。

写规则的黄金年代

符号主义的方法论,用一个词就能概括:写规则。把专家脑子里的知识掏出来,编成一条条"如果……那么……";再配上一个推理引擎,让机器沿着规则往前走。这套打法的第一个成品,1955 年到 1956 年间出自 Newell 和 Simon 之手:逻辑理论家(Logic Theorist),一个能证明数学定理的程序,甚至独立找到了《数学原理》里一条定理的新证法(见第二章)。1957 年,两人把它升级成通用问题求解器(General Problem Solver)——名字里的"通用"两个字,是那个年代特有的口气。

头几年,战绩确凿。程序能做数学题,能拼积木,能解逻辑谜题。1958 年,Simon 放出那句著名的预言:十年之内,机器能当国际象棋世界冠军,能证明新的数学定理,能谱出有商业价值的乐曲。这些话不是疯话——按当时成果曲线的斜率外推,确实像那么回事。

问题出在斜率上。把前两年的成果往后直线一拉,谁都会算错。到了六十年代末,几个藏不住的毛病同时发作了。

第一个毛病,这一章的主角:组合爆炸(combinatorial explosion)。第一章已经见过它——要穷举棋局,分支数会超过宇宙里的原子。这里补一句公道话:符号主义的程序其实没那么傻,逻辑理论家就带着"启发式"(heuristics)——从"手段—目的分析"这类思路出发,优先尝试看起来离目标更近的走法,而不是傻算。但启发式只解决"怎么挑",解决不了"挑完之后还剩多少"。工作记忆是有限的,推到十几步深,内存和时间的账都算不平。人类专家之所以是专家,恰恰在于他们"看一眼"就知道哪条路不值得走——这种一眼定取舍的本事,是写规则写不出来的。

第二个毛病更伤:常识。第二章讲过那道题——"小明把水杯放进背包,背着出门,水杯在哪",三岁小孩秒答,机器寸步难行。符号主义者不是没意识到,他们试过硬写:七十年代有一批研究者认真给机器编"常识词典",把日常生活拆成条目,一条一条教给机器。写到几十万条的时候,所有人都看清了:这些条目互相纠缠,牵一发而动全身,而且永远写不完。人类常识是几十年泡在生活里泡出来的,不是几千条规则能压缩的。这座墙直到今天还立着,只是换了个名字(见第十二章)。

第三个毛病,出在自家门口:这些系统不会学。规则是人写的,写完就焊死了。机器做错了,工程师改规则;世界变了,工程师再改。每一条本事都是人工灌进去的,机器自己一点也长不出来。对比一下第二章那台会拧旋钮的感知机——讽刺的是,当时风光的是焊死的这边。

两份报告

第一顿棍子来自机器翻译。

冷战时期,美国急着自动翻译俄语材料,投钱投了十几年。1966 年,一份评估报告出炉——自动语言处理咨询委员会(ALPAC)报告。它做的事很朴素:把机器翻译的实际产出拿来跟人翻的比一比,把成本算一算。结论是难堪的:质量差,速度慢,成本比人工翻译还高,看不到近期改善的指望。报告建议:砍掉基础研究经费,保留词典和工具的编制。

平心而论,这份报告不算冤枉当年的技术——那时的机器翻译基本靠双语词典加语法规则,译出来的句子常常对不上榫。但报告改变的不只是机译这一个方向的预算。它是第一份盖了官方公章的判决书:这类问题,此路暂时不通。资金应声退潮。今天回头看,还有一层更深的教训:评估一个"智能"任务,最难的是先想清楚"做到什么程度算成"。ALPAC 拿人工翻译的标准去量机器,机器自然全线不及格——这个争论,2020 年代又原样上演了一遍。

第二顿棍子来自英国。1973 年,英国政府请科学教育家 James Lighthill(詹姆斯·莱特希尔)评估全英的人工智能研究。Lighthill 是当时最有名的应用数学家之一,报告写得漂亮,刀法也漂亮:他把这个领域的承诺拆成三块——高级自动化、机器人、中枢神经系统研究——然后逐块验伤。核心指控是一条:除了最简单的玩具问题,"组合爆炸"横在所有方向面前,而这个领域没有任何解决的迹象;承诺与交付之间的缺口,年年扩大。

这份报告的直接后果是:英国政府砍掉几乎所有大学的 AI 研究经费,只留爱丁堡、苏塞克斯等少数几处。美国的资助机构跟着收紧,钱开始绕开"人工智能"这个词。研究者为了活下去,给自己的方向改名叫"信息处理""模式识别""机器学习"——最后这个名字日后咸鱼翻身,此是后话。

1974 年前后,冬天正式到来。第一次寒冬(AI winter)大致延续到 1980 年:经费冻结,期刊冷清,专业会议缩成小圈子,博士生毕业即改行。媒体的态度转得最快——头版明星成了反面教材,"人工智能"在相当多场合成了不靠谱的代名词。有个流传很广的细节,说有的研究者宁可把实验室的名字里"人工智能"四个字删掉,只求申请书能过初审。这个领域第一次完整地体会到一个循环:承诺拉高预期,预期透支信任,信任崩塌之后,连真正的进展也无人问津。

连接主义这边:一本专著

寒冬是全领域的,但连接主义挨的这一刀更深,也更早——而且刀来自自己人。

1969 年,Marvin Minsky(马文·明斯基)和 Seymour Papert(西摩·帕珀特)出版了《感知机》(Perceptrons)一书。Minsky 正是达特茅斯会议的发起人之一,也是符号主义阵营的统帅;他书里处理的,却是隔壁连接主义的家当。

书的前半部分,干的是数学审查的活儿。单层感知机的本事,第二章讲过:在纸上画一条直线,把圆圈和叉分开。Minsky 和 Papert 把"哪些题一条直线分得开、哪些分不开"做成了严格的分类学,其中最有名的一道,是异或(XOR)——"两个条件恰好成立一个才算对"。拿纸上的点来说:四个点,圆圈占对角,叉也占对角。你拿一支笔在纸上画直线,试试把圆圈和叉分开——怎么画都做不到,任何一条直线都会把某一类切成两半。这就是"单层网络连异或都学不会"的全部含义:不是学得慢,是数学上根本无解。

写到这儿,书其实还帮了连接主义的忙。因为 Minsky 和 Papert 接着问了下一个问题:那两层呢?画两条直线,各切一半,再用第二层把两条直线的结果"与"起来——异或就解开了。两个神经元画两条直线,一个再表决一次,完事。书里明明白白写了:多层网络可以解开异或。

真正的争议在下一问:多层网络怎么训练?第二章说过,感知机学会靠的是收敛定理——猜错就拧,拧到对为止。可那套定理只对单层有效:单层网络里,每个权重拧错了方向,错误立刻算在它头上,责任清清楚楚。两层网络一加上去,责任就断了——输出层的错误,第一层的每个权重各该分摊多少?不知道。看不见自己错的旋钮,就不知道往哪边拧。这就是后来所谓的信用分配问题(credit assignment problem),它是压在连接主义头上二十年的天花板。而 Minsky 和 Papert 对此的表态,用今天的话说接近于:这个问题深不见底,他们倾向于认为没有简单的前景——顶多算把"此路需要新数学"刻在了碑上。之后两人转身去研究儿童认知了。

平心而论,这本书本身是严谨的数学工作,Minsky 在多种场合也说过自己并不反对神经网络研究。但它被怎么读,作者管不着。圈子里流传的读法很简单:感知机死透了。经费本来就在退潮,这一刀落下去,连接主义十年没缓过来。Rosenblatt 本人在 1971 年因船难去世,没等到平反——按后来研究者的普遍感慨,他倒是躲过了寒冬最冷的部分。

责任断链这个比喻,值得留一个准确的边界。说"第一层看不见错误",不是说第一层毫无功劳——数学上,第一层的直线切分确实立了功,只是功劳簿没法自动记账。缺的不是能力,是把总错误分摊到每个旋钮头上的办法。这个办法,1970 到 1980 年代之间被好几个人独立找到,它有个后来家喻户晓的名字:反向传播(backpropagation)——把错误沿着网络反向流回去,每个旋钮按责任大小认领。但那是 1986 年才真正发扬光大的事(见第五章),而寒冬不会等人。

专家系统:中兴与第二次寒冬

第一次寒冬还没结束,救兵已经在路上。这次救场的不是新理论,而是一种新的活法:别让机器当通才了,让它们当专科医生。

思路叫专家系统(expert system):挑一个窄而贵的行当,把顶尖专家的判断规则掏出来装进程序。1970 年代,斯坦福的团队做了 MYCIN:往里面输入病人的症状和化验结果,它按几百条"如果……那么……"推理,输出该用什么抗生素、用多大剂量。评估给它挣了面子——在同样的病例上,它的处方水平和传染病专科医生不相上下,而在某些细节(比如考虑药物过敏的周全程度)上比医生更稳。同一时期,卡内基梅隆大学的 XCON(又叫 R1)上岗,替数字设备公司(DEC)按订单配置计算机系统:哪些部件必须搭配、插槽怎么排、线缆怎么接,规则一条条写死了交给它。它干得又快又准,据后来公司自己公布的估算,每年省下的钱以千万美元计。

这两件事在企业界炸开了。八十年代初,"知识工程"成了热词——把专家请进会议室,提问、录音、整理成规则,一套流程像采矿产矿。风险投资开始追着"专家系统公司"跑,大企业纷纷设立"知识工程师"岗位,AI 公司的数量以百计,好几所大学新开专业。1981 年,日本通产省宣布了一个为期十年的国家级计划:第五代计算机(Fifth Generation Computer)——目标直指并行推理机,要用全新的硬件让机器跑逻辑推理,一举超过美国。美国和英国立刻以国家工程对国家工程回敬。钱潮第二次涌进来,比第一次更猛。

寒冬里的研究者第一次尝到了翻身的滋味。但只要凑近看,中兴的地基就有裂缝。第一,专家系统不会学——所有规则仍然是人写的,恰好是符号主义最老的毛病。第二,系统越成功,越往窄处钻;一旦问题滑出知识库覆盖的边界,它不会说"我不知道",而是自信地给出荒唐答案。第三,维护的成本爆炸了:企业很快发现,规则库越写越大,改一条老规则会碰坏不知道多少条新规则,请一个"知识工程师"比请一个专家还贵。第四,也是最致命的:这些系统的聪明,全靠背后的推理引擎硬跑——到了八十年代中期,通用计算机在真正大的规则库面前,又一次撞上了组合爆炸。老毛病一寸没好,只是靠"题出得窄"暂时绕开了。

裂缝在 1987 年前后集中崩开。个人电脑的性能追上了专用机器——那些卖几万美元的"AI 加速卡"和 LISP 专用机,被几千美元的工作站比了下去,一整类硬件公司的生意基础抽空了;专家系统维护成本压垮了客户的耐心,订单退潮;烧完热情的资本市场掉头就跑。AI 公司成批倒闭,软硬件的整个生态在几年内塌方。这一次,跌的比上次更疼,因为它已经是一个行业。

崩盘顺着钱路往回烧。风险投资避之不及,上市公司成批消失,学界的位置再度缩水。"人工智能"四个字第二次成了简历上的负资产,研究者又一次学会改头换面。第二次寒冬大致从 1987 年延续到 1993 年前后。

日本的第五代机计划给这个寒冬添了一个注脚。十年花掉几亿美元,硬件造出来了,软件生态没跟上,业界没有买家,宣称的目标——机器推理、自然语言处理——一个也没有兑现成产品。1992 年计划期满,无疾而终,连一场体面的告别都没有。它留给世界最大的遗产也许是一个反面的火种:为了不让本国在"下一代计算"里掉队,各国砸钱时多了一分谨慎;而计划里攒下的并行计算经验,倒是便宜了后来意料之外的方向。

但寒冬岁月里,恰恰有人在无人喝彩处继续拧旋钮。八十年代,连接主义在冷宫里悄悄回潮:一批研究者重新拾起多层网络,加上"把错误反向分摊"的新办法,让网络真的能从例子里学出本事来;1986 年,Rumelhart、Hinton 和 Williams 的一篇论文把这个办法带给了整个学界(见第五章)。同一时期,强化学习在另一个冷宫里发芽(见第六章)。这些工作在当时没有头条、没有融资,实验室穷得用二手设备。历史在这里停顿了一下,像按下了慢放键——但它没有停。

寒冬教会这个领域的东西,后来写进了行业常识:宣传越猛,退潮越狠;评价一个方向,看它解决的问题,不看它唤起的想象。第七章会讲,2017 年那篇改变一切的论文发表时,作者给自己的技术起名 Transformer,解释工作原理只用了一张图和几乎一页纸——这种朴素,是挨过两顿打的人才有的体面。

三句话小结

符号主义的黄金年代终结于三堵墙:组合爆炸让穷举撑不过十几步,常识写不完也买不到,规则焊死的机器不会学习;ALPAC 和 Lighthill 两份报告把第一场寒冬坐实。Minsky 和 Papert 的《感知机》证明单层网络连异或都学不会,多层网络的"信用分配"难题无人能解,连接主义在冷宫里等了十几年才等来反向传播。专家系统靠"窄行当加手写规则"带来纸面上的中兴,1987 年前后随专用硬件和资本一起崩盘,与第五代机的无疾而终一起构成第二场寒冬——而真正走出寒冬的技术,是在无人喝彩处拧了十几年旋钮的那些人手里长出来的。

第四章 机器学习的悄然回归(1990—2012)

1997 年 5 月,纽约。国际象棋世界冠军加里·卡斯帕罗夫坐在棋盘前,对面是 IBM 造的一台计算机,名叫"深蓝"(Deep Blue)。六盘棋下完,深蓝赢了。报纸欢呼人工智能的时代终于来了,IBM 的股票应声上涨。只有棋手们隐约觉得哪里不对:这台机器下棋的方式,跟"智能"两个字没什么关系。

它不会学习。它只是算得快。

那几年,"人工智能"不是个好名声。专家系统的泡沫刚破,经费在撤,毕业生在转行,两场寒冬的寒意还没散尽(见第三章)。就在这片萧条里,一场没有发布会的回归正在发生:没有人宣布"机器学习的时代开始了",它只是在垃圾邮件过滤器、搜索引擎和信用卡风控这类不起眼的岗位上,一场一场地赢小仗。等大家抬起头,这条路已经修到了大门口。

一盘与学习无关的棋

要理解深蓝做了什么,先想想人下棋时在干什么。卡斯帕罗夫看一眼棋盘,靠的是几十年养成的"棋感":这个局面有点危险,那匹马的位置很别扭。这种判断说不清来路,快得像直觉。深蓝没有直觉,它用的是最笨也最诚实的办法:把接下来若干步里所有可能的走法全部推演一遍。我走这里,你有一百种应法;每一种应法之下,我还有一百种走法。几步之后,可能的局面数目就超过了一整盘沙子的粒数。

这像两个人在陌生的森林里找出口。一个人凭方向感和经验,大致知道往哪边走;另一个人雇了十亿个信使,每个岔路口都派一个去探,探完回来报告。信使不聪明,但胜在便宜、听话、不喊累。深蓝就是那个雇得起十亿个信使的棋手:它一秒钟评估的棋局数量,是普通人一辈子也看不完的量级。这个比喻有个前提:森林里的岔路虽然多,终究数得清。棋盘正是一个岔路数得清的世界,规则封闭,胜负分明,每一步都写在明面上——所以它成了机器最早攻下的城池之一。

光有搜索还不够。推演到头总得有个裁决:眼前这个局面,到底是好是坏?在深蓝体内,这份"棋感"是工程师和棋手一道手工调出来的打分表——子力、位置、王的安全程度,每一项值多少分,都由人拍板。换句话说,深蓝的品味是人的品味,深蓝的勤奋是机器的勤奋。这一点值得停下来想一想:人的棋感来自几十年对局,会复盘、会总结、会成长;深蓝的棋感出厂即定型,棋盘之外的世界与它无关。它赢了全世界最会下棋的人,自己却什么也没学会。它把"算得快"这件事放大到了极致;而"能学会",当时仍是另一条路上的人才惦记的事。

这场胜利是符号主义路线登顶的一刻,也把天花板顶得清清楚楚:规则再复杂一点、岔路再多一层,信使的数量立刻爆炸——当年那场组合爆炸,换了个赛场又回来了(见第三章)。输棋的卡斯帕罗夫事后怀疑对方有人类棋手暗中支招,IBM 坚决否认。指控有没有实据,各方说法不一,但这件事至少说明:机器已经下得不太像机器了。至于它下得像不像人,那是另一回事。暴力搜索这条路后来也没有死,它在围棋上还风光过一回,只是那时它学会了跟"学习"搭伙(见第六章)。

从写规则到找规律

上世纪九十年代,符号主义的钱袋子瘪了,一股不起眼的暗流开始变宽:统计学习(statistical learning)。它的主张一句话就能说完:别再跟机器讲道理,给它看例子。

举一个当时最寻常的例子——过滤垃圾邮件。写规则的思路是:凡是标题里带"中奖""免费""紧急"的都算垃圾邮件。你很快会发现规则越写越多、越写越漏,骗子还会把"免费"写成"免-费"。统计学习的思路完全不同:找来十万封邮件,每封都由人标注好"垃圾"还是"正常",把整包材料交给机器,让它自己统计——哪些词在垃圾邮件里出现得更勤?"发"和"票"连在一起的概率是不是高得可疑?机器没读过一条人写的规则,看完十万封邮件之后,它判断新邮件的本事已经压过大多数手写规则。

这像给海关培训一个新检查员。老办法是发他一本《违禁品特征手册》,写得再厚也有漏洞;新办法是把十年间查获的所有案子推给他看,让他自己琢磨。他总结出的门道未必说得出口,但管用。边界也在这里:人总结的门道能用语言讲出来,讲错了可以改;机器总结的门道是几百个数字,没人读得懂,错了也说不清为什么。

这门手艺的完整流程可以拆成三样东西,后人管它叫机器学习(machine learning)三要素:数据、模型、损失。

第一样是数据(data)。数据就是习题册:一页页题目,后面附着标准答案。垃圾邮件过滤器的数据是十万封已标注的邮件;信贷风控的数据是十年里放出去的贷款,以及谁还上了、谁跑路了;辅助诊断的数据是历年病例和最后的诊断结果。数据从哪来、标得准不准,决定了这个学生最好能好到什么程度。

第二样是模型(model)。模型是学生本人,说得再实在一点,是学生脑子里那套"怎么猜答案"的流程。第二章里的感知机(perceptron)就是最简单的模型:几个输入,一个输出,中间靠权重连着。模型里所有可以调节的东西,统称参数(parameter)。你可以把模型想成一台旋钮很多的收音机,参数就是那些旋钮;所谓学习,就是把每个旋钮拧到合适的位置。这个比喻有边界:收音机只有几十个旋钮,拧错了顶多是杂音;模型动辄几千几万个参数,而且往哪儿拧不是靠耳朵试出来的,是数学算出来的。

第三样是损失(loss)。损失就是批改作业时的扣分:猜错了,扣分;错得离谱,多扣。训练(training)的过程朴素到近乎无聊——做题,批改,拧旋钮;再做一遍题,再扣一次分,再拧。几万轮下来,扣分压到降不动了,旋钮就算拧好了。整个流程没有任何一个环节涉及"理解",但扣分确实一轮比一轮少。也别嫌这个动作笨:从 AlexNet 到 ChatGPT,后面几章隆重登场的每一个模型,训练时干的都是同一件事,几乎无一例外(见第五章、第八章)。

这种拿着标准答案学的方式叫监督学习(supervised learning)。名字听着温情,实际操作接近流水线批卷。

上世纪九十年代末到本世纪初,这条路上最亮的明星叫支持向量机(support vector machine,简称 SVM)。在神经网络的冬天里,是它替"从数据里学"这门手艺守住了体面,所以尽管只分到一段,这段不能省。

SVM 的活儿是在两类东西之间画一条分界线。想象一张纸上撒着红点和蓝点,要画一条线把两团点分开。能分开的线往往不止一条,SVM 挑的是最宽的那条——像在两个村子之间修公路,路基两侧都留足空地,新来的点就算偏一点,也不容易站错队。离这条线最近的几个点叫"支持向量",路往哪儿修全听它们的。要是两团点搅在一起、一条直线怎么都分不开呢?SVM 的回答是换一张"更弯的纸":把画满点的平面想成一块软布,揉一揉再摊开,原本纠缠的两团点说不定就分层了。比喻到此为止:真纸揉完回不去,SVM 的数学可以。在那个数据还不富裕的年代,SVM 理论漂亮、成绩稳定,是机器学习会议上的当红主角。神经网络呢?提起来大家只是摇头:训练不动,深了更不行,白给。

它当红还有一层原因:天生带点克制。SVM 挑的是最宽的那条路,这份"留白"不是审美,而是对过拟合的朴素防御——一条扭来扭去、贴着每个点走的分界线,看着敬业,多半是在背题。那一代人在理论上想明白了一件事:好的分界线不必讨好每一个训练样本,它要对没见过的情况留余地。

不过这一代的"找规律"里,还留着一道纯人工程序。数据在被喂给模型之前,得先由人把现实翻译成数字:一封邮件变成一张词频表,一个贷款申请人变成"年龄、收入、历史记录"那几栏。这道翻译叫特征(feature)。特征选得好,笨模型也能做出成绩;特征选得差,多好的模型也是白忙。那一代工程师的看家本领就是造特征,像医生开化验单——先决定查哪几项指标;查错了项目,化验单再精确也诊断不出病。边界是,医生至少知道每项指标为什么重要,而当年的机器只管消化喂到嘴边的数字。请记住这道人工工序,下一章革命要革的就是它。

背题的优等生

机器学习有一个和考试制度很合拍的追求,叫泛化(generalization):衡量一个模型的好坏,不看它训练题做得多好,看它面对没见过的题时表现如何。这跟高考的逻辑一模一样——平时练习册全对不算数,考场上那套从没见过的新题才算数。

于是有了这门手艺最经典的病症:过拟合(overfitting)。想象一个把近五年真题连题目带答案背得滚瓜烂熟的学生。模拟考满分,家长会上被树为典型。高考卷子换了数字、换了文章,他当场懵掉。更麻烦的是,他背的时候连题目里的废话和印刷错误也一起背了下来——"第三题的答案总是 42""选项里有'以上都对'就选它"。这些规律在旧题里碰巧成立,在新题上是灾难。

模型过拟合时一模一样:训练数据上的成绩漂亮得可疑,一到新数据就现出原形。旋钮太少的学生是笨,学都学不会,业内叫欠拟合(underfitting);旋钮太多的学生是死记硬背,把噪声当成了规律。工程师的日常,就是在"笨"与"死记硬背"之间找一个刚刚好的位置。旋钮总数只是起点,管住旋钮的手法才是真功夫——最常用的一招朴素得像个班主任:谁的记性太好、答题的招式太花哨,就额外扣他几分。比喻的边界也该点破:学生知道自己是在背题,模型没有"我知道我在背"这回事,除非你替它检查。

后来深度学习时代又发明了更别致的手段,叫丢弃(dropout):训练时每看一批题,就随机让一部分旋钮暂时失灵,下一批换一批失灵。好比一支总有人抢戏的乐队,排练时随机请几位乐手闭嘴,逼剩下的每个人都练会全部声部,谁也别想偷懒依赖谁。等正式演出全员到位,配合反而更稳。

对策里最要紧的一招同样朴素到好笑:留一批题,不给模型看。训练用八成数据,剩下两成锁进抽屉,训练结束后拿出来当"没见过的卷子"考一次——抽屉卷子上的成绩,才是模型的真实水平。这大概是机器学习里最接近教育学的一句话:不许学生看见考卷。

过拟合这个概念值得专门记住,因为它是后面每一章都会回来的幽灵。深度网络的参数动辄以亿计,背题的本事大得吓人,怎么按住它,是整部深度学习史里反复出现的暗线(见第五章)。

这十几年里还有一件小事值得一提。1997 年前后提出的长短期记忆网络(long short-term memory,LSTM)在神经网络最冷的年月里悄悄找到了工作,先后用进语音识别和手机输入法这类地方。它能记住前文、记住几秒之前的声音,在当时已算难得。至于它内部怎么记账、后来又被谁取代,是第七章的故事(见第七章)。

雪落下来之前

回头看这二十来年,可以数一数家底。方法有了:统计学习证明"从数据里找规律"走得通,反向传播(backpropagation)也早在 1986 年就写进了论文。数据在来:搜索引擎、电子商务、社交网络一天天长大,网页、点击、邮件、商品评价、随手拍下的照片,以从前难以想象的规模堆积起来。算力还在路上,负责这件事的是游戏产业,主角要等下一章才登场。

这二十年里,机器学习最大的雇主是互联网公司。搜索结果怎么排,广告投放给谁,商品首页推荐什么,全是"从历史数据里猜下一步"的活儿。用户每一次点击都在给模型交作业:点了,说明猜对了一半;没点,说明还得再学。机器学习就此走出论文,成了互联网公司的水电煤——只是它当时处理的都是表格和文字这类规整数据,离"看懂一张照片"还差着一整条鸿沟。

打个比方,这二十年里的人工智能研究者像一群饿汉:手里攥着菜谱,会颠勺,家里偏偏没米。理论再漂亮,没有数据就是巧妇难为无米之炊。互联网把米一麻袋一麻袋堆到门口,而且这些米大多自带标签——用户点过什么、买过什么、在照片上圈了谁,都是现成的"标准答案"。边界照例要说清:米多不等于会做饭,灶上还得有火,火上还得有口够大的锅。锅,还没到位。

统计学习路线在 2011 年迎来一场高调的胜利。IBM 的 Watson 在美国老牌智力节目《危险边缘》(Jeopardy!)里,战胜了节目历史上的两位常胜冠军。这台机器用的正是本章的全套装备:海量文本当数据,统计模型做判断,从数以百万计的资料里翻线索、算概率。它的书架上堆着成架的百科与新闻文本,答题时不求读懂每个句子,只求把候选答案和线索一条条对上、算出谁的概率最高。它是这条路线的巅峰演出,把"从大量资料里找统计规律"做到了当时的极致。胜利晚会上也有一小撮人读出了别的意味:Watson 知道哪个词最常跟哪个词一起出现,却谈不上"知道"问题在问什么。统计规律用到极致,离"理解"仍隔着一层——这层没捅破的东西,正是后面几章的主角们要硬啃的地方。

早在 2006 年,一位叫 Geoffrey Hinton 的多伦多大学教授就和同事发表了深度信念网络(deep belief network)的工作,在"深层网络训不动"这堵墙上凿开了第一道缝。他们的办法是一次只盖一层:先给每层单独打好地基,再一层层往上摞。这套手艺很快被更新的技巧取代,意义却不在手艺,而在态度:深度(depth)——把很多层网络摞起来——重新变得值得试了。"深度学习"(deep learning)这个词,就是从这时候开始叫响的。1986 年那篇复活反向传播的论文,作者名单里就有他;在神经网络最不受待见的几十年里,他一直在。

万事俱备:数据像雪片一样积攒,算力在游戏行业里悄悄成熟,方法的旧账也翻新了。只欠一场比赛,把这些东西当众焊在一起。

2012 年,一场图片识别比赛把它们焊在了一起(见第五章)。

三句话小结

深蓝在 1997 年击败国际象棋世界冠军,靠的是暴力搜索加人工调校的打分表,是一场与学习无关的胜利。真正的暗流是统计学习:数据、模型、损失三件套让机器从"写规则"转向"找规律",代价是时刻提防过拟合这位背题的优等生。到 2006 年 Hinton 凿开深层的墙、2011 年 Watson 高调登顶时,数据和算力已经备齐,只欠一场比赛把世界叫醒。

第五章 深度学习革命(2012—2017)

2012 年,一年一度的 ImageNet 图像识别大赛照常开赛。这个比赛的任务听上去平平无奇:给电脑看一张照片,让它从一千个类别里挑出正确的标签——金毛犬还是拉布拉多,波斯猫还是暹罗猫;挑错一次,记一次错误。那一年,冠军榜上出现了一支没人押注的队伍:多伦多大学的师生三人组。他们的错误率是 15.3%;第二名,26.2%。

在图像识别行当里,一年进步一两个百分点就算丰收。一年之内降十一个百分点,近乎当众失礼。更让行内人难堪的是获胜的方法:不是什么新理论,而是一个被冷落了几十年的老想法——神经网络,外加两块打游戏用的显卡。

顺带说一句,十五个百分点也远算不上完美:每一百张照片它仍会认错十五张,离"能上岗"还差得远。真正让行内人后背发凉的不是水平,是斜率——这条路才刚起步,就开始爬坡了。

一场比赛,一夜变天

先说这个比赛凭什么重要。让机器"看见",是人工智能最古老的梦想之一。此前几十年的主流做法,是手工设计特征(feature):工程师坐在实验室里,试图用语言和公式说清"什么是猫"——猫有尖耳朵,有胡须,有毛。问题是,说清这三个词又各自需要一份更细的说明书。于是一套套手工特征越做越庞大,在实验室的标准照片上体面周到,拿到街拍里原形毕露:光线一变,角度一歪,猫只要蜷成一团打个盹,规则就集体失灵。

ImageNet 改变了考题的规模。这是一个由上千万张人工标注照片组成的数据集,类别上千,从金毛犬到回旋镖都有。考题规模一大,手工特征立刻显出疲态:人手写得出一条"什么是猫",写不出一百万条"世界上的东西都长什么样"。

这场豪赌背后站着一位人物。ImageNet 这个数据集,是当时在普林斯顿任教的李飞飞(Fei-Fei Li)团队从 2007 年前后开始、历时数年建成的:动员上万名标注者,把上千万张网络图片一张张归了类。当年不少同行不看好——与其花几年标一千万张图,不如把算法改好一点。她赌的是反方向:数据不是陪衬,数据就是考题本身;算法再聪明,也得先有卷子可做。事后看,这场豪赌改写了整个领域的走向。

多伦多大学那支三人组的方案叫 AlexNet,一个深度卷积神经网络。卷积是什么,本章后面细讲;眼下只需要知道三件事:它是一个神经网络;它的层数远多于当年的感知机(见第二章);它是用游戏显卡训练出来的。上一章攒下的三样家底——数据、算力、方法(见第四章)——在这一年头一回凑齐。

成绩公布之后,这个领域的风向几乎是当场掉头的。第二年再开赛,前排队伍几乎清一色换上了深度神经网络;再过两年,手工特征在这张榜单上绝迹。一个行当在自己的旗舰比赛里,用两年时间完成了改朝换代——没有红头文件,没有大会决议,只有一张成绩单。

改朝换代还带来一个当时很新的词:端到端(end-to-end)。旧做法像层层外包:先由特征工程师把照片翻译成指标,再把指标交给模型;新做法是全厂直营——从原始像素到最终答案,中间每道工序都由同一套参数管着,一起学,一起改,谁也别想把锅甩给上游。特征工程师这门手艺,几年之内从香饽饽变成了老黄历。

钱也跟着改了道。在 AlexNet 之前,"神经网络"在经费评审和公司招聘里都不是讨喜的词;比赛之后,资金和人才朝同一个方向涌去。科学的转向很少真靠讲道理完成,多半是被一张成绩单说服的。

游戏玩家的显卡,神经网络的柴火

获胜方案里最不起眼也最致命的武器,是显卡。

显卡的正式名字叫图形处理器(graphics processing unit,GPU),它出生时与人工智能毫无关系,是给电子游戏画图的。游戏画面的本质是:屏幕上百万个像素,每个像素的颜色都得算一遍;好在每道算术都简单——乘一乘,加一加——而且彼此互不牵扯,可以同时开工。于是显卡被造成了一种脾性特别的机器:单道题算得不快,却塞着成百上千个小计算核心,擅长同时算一大堆简单题。

神经网络训练恰好就是这种活。不管网络多深、参数多少,最底层的动作永远是同一种:乘法、加法,再乘法、再加法,数以亿计,彼此大体独立。打个比方:一道奥数题,心算冠军胜过一万名小学生;可要是全城每个小学生都领到一百万道加减法,心算冠军只能干瞪眼——他只有一个脑子,人家有一万个。神经网络有海量简单算术要算,显卡有海量算术工人闲着,属于天作之合。

边界也要交代:显卡只是快,不是聪明。算什么、按什么顺序算,仍然要人来安排;它不会把一个笨方法变聪明,只会让笨方法跑得够快,大到以前不敢想的规模——而在某些问题上,规模本身就是本事。这一课,后来的十年里会被反复复习(见第八章)。

这段算力姻缘里还藏着一点商业史的冷幽默:神经网络复兴的燃料,是全世界的游戏玩家买的单。显卡厂商为了让人在虚拟世界里看到更逼真的水花、阴影和爆炸,把并行芯片一年一年做快、做便宜;学者们买来这些消费级显卡插进自己的电脑,接上网络就开训。AlexNet 用的就是两块当时的游戏旗舰卡,放在今天的实验室里不值一提,却是那年头神经网络能蹭到的顶配算力。科研经费里最划算的一笔投资,是替爱打游戏的年轻人付的。

流水线上的追责

显卡解决了"算得动",还有一个更老的问题悬着:几十层的网络,怎么训得动?

先看难在哪。把一个深度网络想象成一条几十道工序的流水线:原料进来,第一道工序粗加工,传给下一道,一道道传下去,末端出成品。现在成品出了质量问题——比如十件里有三件是废品,怎么改进?毛病可能出在第一道就选错了料,也可能出在第十道火候不对,还可能出在最后一步包装手太重——几十道工序,每一道都可能背着锅。

1986 年那篇反向传播(backpropagation)论文给出的,是一套不带情绪的算法:从流水线末端往回走,把最终的错误逐级摊派给每一道工序、每一个参数——谁对这次错误责任大,谁就多改;责任小,就少改。改完再做一件产品,再错,再摊派,再来一轮。所谓训练,就是流水线在千万次"出错—追责—整改"的循环里,慢慢变成一条好流水线。业内把每个参数分到的"责任"叫梯度(gradient)。名字唬人,意思很家常:往哪个方向拧旋钮、拧多少,能让扣分降得最快。

这套追责的精细程度值得一提:责任不是摊给"流水线"这个笼统的整体,而是摊到网络里成百万上千万个可以微调的旋钮上,每一个都分到一份精确到小数点的账,一个都赖不掉。

拧旋钮还有个火候问题:每次拧多少。步子太小,千万道工序的流水线调一轮像蜗牛爬;步子太大,这轮拧过头,下轮再拧回来,来回震荡,永远落不准。这个"步子"有自己的名字,学习率(learning rate),是训练时最常被工程师拿来拧的第一颗外部旋钮——是的,为了训练模型里数以亿计的旋钮,人手上还握着一小把旋钮。

对比一下现实里的追责,就知道这一步有多值钱:开会、查监控、互相甩锅,最后各打五十大板。神经网络的追责不开会——每个参数分到的责任是一个精确算出的数字,整改方向和幅度都由数字说了算。它干净,无情,也不接受申诉。

方法 1986 年就有了,为什么神经网络沉寂了二十多年?三个缺口。第一,没米:能用来训练的数据太少,几十层的网络一上手就背题——就是第四章里那位背题的优等生(见第四章)。第二,没灶:九十年代最好的处理器,算不动这个规模的乘法。第三,信号传不远:责任从末端往回摊,要穿过几十层才能抵达第一道工序,中途一层层衰减、走样,等传到最前头,已经微弱得像长水管末梢的水压,滴答几声,浇不透地。前两个缺口,数据和显卡,上世纪九十年代到本世纪头十年各自补齐;第三个缺口,靠一批让信号传得更稳的技巧和更合理的网络结构,也在一点点合拢。到 2012 年,三个缺口头一回同时合上了。2006 年那道裂缝(见第四章)让"深"重新值得试,这一年则证明了另一件事:"深"真的能赢。

手电筒、电梯与一百层楼

最后回到那个问题:这个网络究竟怎么"看见"一张照片?

主流答案是卷积神经网络(convolutional neural network,CNN)。名字唬人,比喻很家常:手电筒。想象一支光斑只有巴掌大的手电筒,在一张大照片上一格一格扫过去。光斑底下藏着一个模式检测器,专认一种东西——比如"左暗右亮的竖边"。关键在于:扫遍整张照片的,是同一个检测器。不管猫耳朵出现在左上角还是右下角,只要"左暗右亮的竖边"这种模式出现,检测器都会叫一声。这个设计省下了天文数字般的参数,还附带一个符合直觉的好处:一样东西换个位置,还是它自己——一只猫不会因为它坐在照片右下角就变成狗。

这支手电筒也不止一支,而是几百支同时扫,有的认边缘,有的认色块;扫完一遍,下一层还有下一层的手电筒,在上层的结果上接着扫。层数深了以后,人们发现各层自发形成的分工相当有章法:最前面几层认边缘和斑点,那是图像里最小的零件;中间几层把零件拼成纹理和图案——条纹、网格、毛发;再往后,纹理组成部件——眼睛、耳朵、车轮、门把手;最后几层,部件拼成物体——一张猫脸,一辆汽车,一间厨房。

把这套流程走一遍:一张猫的照片进来,最前面几层画出一堆边缘草图,中间几层把它们拼成绒毛的纹理、耳朵的轮廓,靠后的几层认出"尖耳朵加圆脸加胡须"这套部件组合,最后一层拍板:猫。全程没有一条"猫有胡须"的人写规则——判断猫的依据是它自己看图看出来的,只是这份依据写在几千个数字里,人读不懂,它自己也"说"不出。

后来的研究者把每一层"学到的东西"画出来看,看到的正是这样一座由简到繁的塔。没有人给它排过课表:第一层该认什么、第二层该认什么,全是它自己从几百万张照片里长出来的。有点像小孩认字——先认笔画,再认偏旁,再认整字,最后读得下整段话。边界在于:小孩学字有人教,还讲得出道理;网络的每一层学到什么,人只能事后看图,猜个大意。

这套思路其实不新。法国学者 Yann LeCun 从八十年代末就开始摆弄卷积网络,让它读银行支票上的手写数字,据信鼎盛时期有相当比例的美国支票靠它来认。但在神经网络最不被待见的那些年,这份工作孤独得像大雪天里守着一家冷饮店。他守到了雪化。

雪化之后是加速。几年之内,卷积网络进了手机和相机:相册自动按人、按宠物、按地点归类,人脸解锁,安检图像辅助筛查。计算机视觉从实验室的演示项目,变成了消费电子产品里一个不声不响的零部件——这正是好技术落地的典型姿态:先是新闻,然后是习以为常。

手电筒比喻的边界也得说清。它一次只照一小块,看局部有余,看全局不足——两张局部完全相同的照片,整体可能天差地别。卷积网络后来配上了能同时环视全图的机制,那是注意力机制登场之后的故事(见第七章)。

手电筒的故事讲完,还剩一个悬念:按直觉,层数越深,能认的东西越复杂,本事就该越大。实践中却出了怪事——网络加深到一定程度,成绩不升反降。注意,这不是考试时砸了没见过的卷子,那是过拟合(见第四章);这次是连训练题都越做越差。楼越高越晃,修到二十层往上,工匠反而把前二十层学会的本事也弄丢了。

2015 年发表的残差网络(residual network,ResNet)开出的药方简单得出奇:给楼里装电梯。每隔两三层修一条旁路,让数据可以原封不动地跳过这几层,直接上楼。于是每一层的学习任务变了:不再要求它从零学出什么新本事,只要求它在"照抄上一层"的基础上添一点小改进——添得出来就添,添不出来就原样放行,横竖不会更差。这像给一个容易记岔的学徒立了条规矩:每学一个新步骤,先保证能把上一道工序原样做完,再谈改进。

电梯比喻的边界:它解决的是"别把楼盖塌",不是"该往上盖什么"——它不负责告诉你新知识长什么样,只保证旧本事不丢。有了这条旁路,深度第一次不再被训练卡住脖子:几十层很快成了家常便饭,几百层也不再是新闻,ImageNet 上的错误率几年里一降再降,降到早年参赛者不敢想的水平。而且"深"不再只是比赛成绩:层数越深,网络能装下的概念层级越丰富,同一套卷积积木被陆续搬去认语音、认医疗影像、认街景,"深"从一门手艺变成了一个通用词。"深层网络训不动"这道悬了几十年的老题,至此翻篇。

还有一桩悬案值得记在这里:按第四章的逻辑,旋钮越多,背题越凶,可这些层以百计的网络偏偏不怎么背题,锁在抽屉里的新卷子照样考得不错。为什么?这个问题学界到今天也没有完全吵出结果——有人归功于数据够多,有人归功于种种控制手段,有人干脆怀疑,"旋钮越多越容易背题"这条老经验本身就有漏洞。这门学问的实践跑在了理论前头,而且不止这一处。

2018 年,图灵奖(Turing Award)——计算机科学界的最高荣誉——颁给了三位研究者:Geoffrey Hinton、Yann LeCun 和 Yoshua Bengio。三个人在神经网络最不受待见的几十年里,一个守着反向传播,一个守着卷积网络,一个守着概率和语言,都过过经费枯竭、论文无人引用的日子。在那段不景气的年月里,神经网络论文在顶会上常常只能坐冷板凳,学生转行,会议冷清。三个人守的东西各不相同,守法却一样:不换赛道,不赶时髦,把冷板凳坐热。领奖的时候,距离 McCulloch 和 Pitts 在芝加哥写下那个小得可怜的神经元模型,已经过去了七十五年(见第二章)。

深度学习的故事到这里并没有讲完。同一批网络很快要走出图像,去下棋、听话、作画。下一场戏,从打游戏开始(见第六章)。

三句话小结

2012 年 AlexNet 以 15.3% 对 26.2% 的错误率拿下 ImageNet,靠的不是新理论,而是被冷落多年的神经网络,加两块游戏显卡。显卡提供海量并行的简单算术,反向传播像流水线追责一样把错误摊派回每一层,几十层的网络头一回真正训练得动。卷积网络用手电筒式的扫描自己长出"边缘—纹理—部件—物体"的层级,ResNet 的旁路把深度推向几百层,2018 年图灵奖授予 Hinton、LeCun、Bengio,给这场熬了几十年的翻身仗盖了章。

第六章 强化学习的觉醒

2013 年,一间不太起眼的实验室里,一台电脑在玩《打砖块》(Breakout),雅达利公司几十年前的老游戏。屏幕上有一颗球、一块挡板、几排砖,规则简单到不用解释:挡板把球弹回去,撞碎一块砖,得一分。

起初它玩得毫无章法。挡板乱晃,球落到底也不去接,像个第一次摸手柄的孩子。没人教它“挡板要跟着球走”,也没人给它演示过一整局。它能看到的只有屏幕上的像素,能知道的只有分数变了没有。就在这种自言自语里,它玩了几百局,先学会把球接住;再往后,它玩出一个人类玩家也想得到、却极少真去执行的策略:在砖墙上打穿一个洞,把球送到砖墙背面,让球在上头自行弹跳,无人防守,得分像拧开的水龙头。这个窍门不是谁教的——后来发表的论文和演示里记下了这一幕,它从分数里自己“玩”了出来。

这台机器叫 DQN。它背后的那门学问,叫强化学习(reinforcement learning)。这一章讲的就是它,如何在几年之内从雅达利的像素屏幕,走到围棋的世界之巅。

学会的两种方式

在此之前,机器的“学会”几乎只有一种模式:监督学习(supervised learning)。人先备好标准答案——一百万张标好“猫”“狗”的图片,机器对着答案逐张调整自己(见第五章)。这像学生刷题:题库好、答案全,成绩就好。麻烦在于,世界上大量的事情没有标准答案可发。没人写得出“围棋每一步该怎么下”的答案册,也没人能为开车时遇到的每一种路况标好“正确操作”。

打个比方:监督学习像一路有人坐在副驾报“左转”“右转”,强化学习像只给你一个目的地,走错就自己绕回来。前者学得快,但开到没有导航的地方就抓瞎;后者慢一些,练出来的却是自己找路的能力。

强化学习换了一条路:不给答案,只给奖励(reward)。做对了,加一分;做错了,不加分,甚至扣分。机器要做的是在反复试错(trial and error)里,自己摸出“哪种做法拿分多”。这像训练小狗:它做对了动作,你递上零食。它并不理解口令的含义,它只是学会了“这样做有吃的”。

这个比喻有边界。小狗有本能,有脾气,有讨你欢心的热望;机器体内没有任何情绪,所谓奖励,在代码里只是一次加法。强化学习的全部魔法,是让海量的加法沿着同一个方向堆上去,堆出看起来像“聪明”的东西。

DQN 的全名是 Deep Q-Network,深度 Q 网络。这个 Q,可以理解成“值不值”:机器给“眼下这个局面、做这个动作”估一个分,分数代表长远看能换来多少奖励。好比一个每天通勤的人,对每条路线都有一条心里的估计:“走这条,大概四十分钟。”某天实际只花了三十分钟,他就把心里的估计往三十分钟挪一挪,第二天再走,再修,日复一日。Q 学习做的事一模一样:预估、兑现、修正。当然,估计会估错,兑现会打脸,错得离谱的估计会被一次次修正——这套笨功夫,就是机器版的“吃一堑长一智”。它和通勤例子还差一层:估的不是“这一趟”的好处,而是“这一步之后所有的将来”——好比好棋手看的不是这一步吃不吃得子,而是十步之后的形势。

DQN 还有不起眼但很要紧的小设计:它把玩过的每一局都记在小本本上,训练时随机翻出旧经历反复温习。一来旧账可以翻很多遍,省下真实对局的成本;二来打乱了经历的先后顺序,学得更稳。剩下的部分,是把那个估分器换成深度神经网络(见第五章)。网络一深,机器就能直接看像素、直接报分数,不需要人类替它总结“局面”长什么样。这套做法后来有个朴素的名字:经验回放(experience replay)。道理接近学生的错题本——错过一遍的题反复重做,直到教训长进直觉里。像素直进、分数直出,中间不再需要人类手工设计特征,这正是第五章那条“让机器自己学表示”的路,第一次走进游戏世界。

也要说句公道话:DQN 并非款款游戏都赢过人类好手,动作复杂的那些它学得吃力。

结果是一套代码通吃几十款雅达利游戏。每款都从零开始,只看像素,只看分数。在 DQN 之前,让机器玩游戏是“一款游戏一个方案”,换一款就得重新设计;DQN 之后,“学会玩游戏”这件事本身,被学会了。

游戏为什么是好考场?它便宜、快、可重复:输了立刻重来,分数自动记录,连裁判都省了。从国际象棋到跳棋,机器智能的许多里程碑原本就立在棋盘上;雅达利游戏把这条路再推一层——规则由程序说了算,机器想玩多少局就有多少局,人类要做的只是接上屏幕和计分牌。对研究者来说,这些游戏像医学实验室里的小鼠:小而完整,足以承载大问题的重量。更深一层的好处是:游戏规则干净,没有现实世界里的噪音与例外,机器可以放心大胆地犯错,犯错的本钱便宜。

餐厅难题

强化学习里藏着一个古老的困境,跟每个人的日子都有关。

你家楼下有两家餐厅。一家你吃过十次,味道稳定,打个八十分;另一家新开张,深浅未知,可能九十分,也可能五十分。今晚去哪家?去老店叫利用(exploitation),稳当;去新店叫探索(exploration),赌一把。只利用不探索,你永远不会发现更好的那家;只探索不利用,你顿顿都在冒险。机器面对的是同一道题的放大版:雅达利游戏里,一个局面十来个动作可选;围棋三百六十一个点;现实世界里,“动作”是无数种开法、报价和措辞。局面之多、一局之短,逼着机器在“把已知的好选择再吃一遍”和“赌一把没吃过的”之间来回分配。

数学家给这道题起过一个形象的名字:多臂老虎机(multi-armed bandit)。赌场里一排老虎机,每台吐钱的概率不同,你兜里的预算有限,挨个试是本能,但试错本身也烧钱。一个朴素而有效的老办法是:偶尔掷骰子,掷中了就故意干点没谱的事,用一点小代价,换一个发现新大陆的机会。同一道难题在现实里随处可见——广告位给谁、新药试不试、哪条路先走。探索的比例给多少,是个手艺活——给多了,机器整天猎奇,正经分不要;给少了,它早早锁死在一个平庸的策略上。

更微妙的是,答案会变。机器在变,环境也在变:老店可能换了厨子,新店可能已上了轨道。所以利用和探索不是一次分好的家产,而是贯穿始终的拉锯——机器得一边吃着老店的饭,一边惦记隔壁的菜。

比餐厅难题更难缠的,是奖励迟到。一整局走完,计分牌才宣布输赢——可这一局有几百步,到底哪几步是关键?考试拿了高分,那是十二年积累的结果,很难说清哪一年哪一节课立了大功。机器也一样:它要把最终的分数倒着分摊回漫长的过程,给几百步里的每一步重新记账,估一估“如果没有这一步,结局会差多少”。还有一层:机器的账本讲究“折扣”——十年的承诺不如今天的现金实在,越远的分数,在当下算得越轻。强化学习里最贵的一笔学费,往往就是“当初不知道那一步那么重要”。

还有一重陷阱是短视。在《打砖块》里,最直接的好策略是把球接住、多磕掉几块砖;打穿一个洞的打法,在头几十分钟里看不出任何章法。只盯着眼前一分的机器,永远发现不了后面那口自流井。好策略常常在短期吃亏,而计分牌只认分数——这中间的落差,就是试错要付的学费。

左手跟右手下棋

把强化学习放到围棋上,就是本章的主角 AlphaGo。

围棋为什么难?棋盘十九路,三百六十一个交叉点,每落一子,可能性就再分一次叉。一个常被引用的估计是:围棋合法棋局的总数,比可观测宇宙里的原子还多。1997 年深蓝赢下国际象棋(见第四章),靠的是蛮力加工程,把能算的变化都算掉。这套思路到围棋就撞了墙——树大到算不完,原子都不够分。更麻烦的是,很多局面连“好”都难以定义:一步棋的好坏,往往几十手之后才见分晓。

AlphaGo 的答案,是把三样东西缝在一起。

第一样是老办法:监督学习。先读大量人类高手的棋谱,学会“人类高手大概会怎么下”。据研究者的描述,刚学完棋谱的 AlphaGo,棋力扎实但并不惊人,像一个棋风工整的职业棋手——听话,也平庸。它的价值在于给机器装上直觉:看到一个局面,不必细算,先知道哪几个点值得看一眼。三百六十一个点里,人类的经验先替它筛掉绝大多数。

第二样是新的:自我博弈(self-play)。学完人类之后,它开始自己跟自己下。左手执黑,右手执白,一局终了,赢棋的路数记功,输棋的路数记过,然后接着再来。训练数据不用人供,机器自己造:每一局对弈既是练习,也是教材。这像一个人对着棋盘自己复盘,只是它一天能下几万局,人类棋手一辈子也下不完这个量。这个比喻同样有边界:左手跟右手,水平终归是同一个水平;AlphaGo 的自我对弈,是今天这个版本跟昨天那个稍弱的版本打——对手在变强,自己也在变强。

第三样是脑内沙盘:树搜索。人下棋也会推演——“我走这里,他应那里,我再走这里”——在脑子里把往后几十步摆成一棵不断分叉的树。AlphaGo 把这个沙盘搬进程序,用的是蒙特卡洛树搜索(Monte Carlo tree search)。蒙特卡洛本是摩纳哥赌城的名字,数学家借它指一类用随机抽样做估计的办法:想估算概率,多掷几次骰子就好。放到棋盘上,就是在那棵算不完的树上随机走出几条路,试试深浅,把不可计算的精确,换成可计算的估计。

配套的是两个分工不同的网络。策略网络(policy network)管直觉,把三百六十一个候选点缩到几个;价值网络(value network)管判断,扫一眼沙盘上的局面,就报出“当前形势赢面几成”,让推演不必真走到终局。直觉负责缩小范围,判断负责给局面打分;至于搜索,它负责把这两样串成一步棋。

2015 年 10 月,AlphaGo 先胜职业棋手樊麾,被认为是有史以来第一次有围棋职业棋手在正式对局中输给电脑。这项成果发表在《自然》杂志上。纸面上的五比零很安静,圈子里的神经却不安静:围棋守了几十年的防线,被打开了一道缝。

对多数人来说,这条消息当时没有掀起太大波澜——它被归档为一条科技新闻,然后大家继续过自己的日子。真正的大考在半年之后。

2016 年 3 月,首尔,AlphaGo 对李世石。李世石是这一代棋手中的顶尖人物,赛前公开表示有信心。棋迷们也多数押人——毕竟樊麾的棋力还没到让人心服的程度。结果是 4:1。第二盘中盘,AlphaGo 落下第 37 手——一个在人类棋谱里几乎找不到先例的位置。据说解说员一开始以为机器下错了,几十手之后才回过神来:这是全盘的转折。第四局,李世石下出一手后来被棋迷称作“神之一手”的棋,硬生生扳回一局,那一晚,人类为自己赢回了一口气。但比分不说谎:机器赢了。关注这几盘棋的观众以亿计,那是人类第一次这样集中地围观一场关于自身位置的考试。更值得琢磨的是第 37 手的来历——它不在任何人类的棋谱里,是从自我博弈中长出来的。机器没有停在模仿人类围棋的巅峰,它正往人类围棋没去过的地方走。

后来不少职业棋手谈到,与 AlphaGo 的对局改变了他们对围棋的理解:一些从前想都不会去想的落点,被机器证明是可行的。人的棋,因机器而变宽了。

不看棋谱的学生

2017 年,DeepMind 又推进一步,新机器叫 AlphaZero。这一次,人类棋谱整个被扔掉了。不给定式,不教口诀,只给规则——马怎么走、什么算赢——然后从随机乱下开始,纯靠自我博弈,把围棋、国际象棋、将棋都下到了顶尖水平——同一套程序,不换内核,只换规则。据 DeepMind 公布的对局结果,从零开始训练一天出头,它就超过了击败李世石的那个版本;面对更晚近的前辈,战绩是全胜。在此之前,研究界的普遍看法是:围棋太深奥,机器要下好,离不开人类的直觉知识。AlphaZero 用棋盘上的结果,把这个假设翻了个面。国际象棋界起初将信将疑,等职业棋手与它交过手,态度从怀疑变成了研究——它的一些弃子下法,乍看像失误,细看才发现是算得极深的先手。

这件事的分量,比赢棋本身重。围棋有几千年积累:定式、口诀、名局,人人默认这些就是围棋知识的全部载体。AlphaZero 证明,这些积累不是必需品。它把围棋重新发现了一遍,用的是一种不像任何人类流派的方式,其中一些下法让职业棋手看不懂,看懂之后又不得不服。人类几千年的棋谱,原来是脚手架,而不是地基——学生一旦足够强大,最好的教材反而是游戏规则本身。这倒不是说人类的学习方式错了:从模仿起步,省力,见效快,适合一切新手;它的代价,是天花板被人家的上限封住。AlphaZero 把这个代价也省了。

顺便交代这个家族后来的去向。游戏的好处是自带计分牌,而现实里的大多数问题没有现成的分数。DeepMind 想做的,是把“奖励驱动、自我改进”这套机器搬出棋盘。2020 年 11 月,AlphaFold2 在国际蛋白质结构预测竞赛(CASP14)上登场。蛋白质是一条氨基酸串成的长链,链会折叠成特定的立体形状,形状决定了它在身体里干什么活;预测“这条链会折成什么形状”,是生物学里挂了几十年的难题。氨基酸的排列顺序可以靠仪器去测,折叠成的立体形状却极难直接看到;过去测一条链的形状,常常要一个实验室耗上数年。AlphaFold2 的答卷让许多参赛者形容那是“变革性的一刻”。四年后,2024 年,这项工作为 Demis Hassabis 和 John Jumper 带来诺贝尔化学奖——一家靠游戏起家出名的研究机构,把自我学习的机器开进了实验室。

行文至此,留一个伏笔。这一章的机器都在游戏里长大,因为游戏自带分数。后来的研究者学会了给没有分数的东西造分数:语言模型的对话,先由人类的偏好来打分,这套做法叫人类反馈强化学习(reinforcement learning from human feedback,RLHF),日后成了大模型的地基(见第八章)——ChatGPT 那种“回答得像个人”的分寸感,一半来自海量文字,另一半就来自这种由人类偏好给出的分数。这里没有标准答案可发,但人人分得出哪句回答更好——分数替代了答案;再往后,模型自己出题、自己判卷,把“多想一会儿”本身当成奖励(见第十章)。2026 年回头看,DQN 在雅达利屏幕上打穿的那个洞,是这一切共同的起点:给机器一个目标和一个计分牌,剩下的路,它自己找。

三句话小结

强化学习把“给标准答案”换成“给奖励”,机器在试错、探索与迟到的分数里自己长出本事。

AlphaGo 以人类棋谱起步,靠自我博弈与树搜索登顶,2016 年 4:1 击败李世石;2017 年的 AlphaZero 连棋谱也不要,凭规则与左手打右手,把围棋、国际象棋、将棋重新学了一遍。

这套“目标加试错”的思路随后离开棋盘,走向蛋白质,也走向后来的语言模型,成为第八章与第十章故事的底稿。

第七章 注意力革命

先做一道算术题:

国王 − 男人 + 女人 = ?

在纸上推这道题的人多半会愣一下:这是谜语吗?2013 年,谷歌的一支研究小队让计算机算出了它,答案是:女王。换一道,巴黎 − 法国 + 意大利,机器答:罗马。机器并不懂谜语,它只是在一串数字上做了加减法。但正是这道不起眼的运算,把"意思"这种看上去最玄的东西,第一次变成了几何。要从头讲这场革命,得先从给每个词发一串数字说起。

词语的坐标

把一句话喂给神经网络(见第五章),第一道工序是把词变成数字。最省事的做法是查户口:词典里每个词领一个编号,一句话就是一串编号。麻烦在于,这些编号是死号码——"猫"是 187 号,"狗"是 642 号,两个数字之间看不出任何亲缘。打个比方,这相当于几万个词各住各的单间,房间与房间之间没有走廊:"猫"和"狗"的距离,与"猫"和"航天飞机"的距离一模一样。模型在这种编码下读一万篇小说,也悟不出"猫"和"狗"有点像。

2013 年,Tomas Mikolov 带领的小组在谷歌发布了 word2vec。它让一个很小的网络玩猜词游戏:遮住句中的一个词,让它根据前后文去猜。"它趴在沙发上打呼噜"作为上下文,比"它执行了核打击"更可能藏着"猫"——没有人教过它语义,但"猜得准"这个目标本身,逼着它记住哪些词常凑在一起。训练结束,猜词游戏随手扔掉,副产品留下了:每个词得到一串通常几百个的数字,标出它在"意思空间"里的位置。这就是词向量(word embedding)。代码随即开源,几行命令就能在自己电脑上训练一个,各家公司很快把它当螺丝钉装进了产品。

词义从此变成了一座城市。意思相近的词住得近,"猫""狗""兔子"在同一个街区,"猫"和"服务器"隔着半座城。判断两个词的关系,不再是查户口对编号,而是看住址、算距离。

更妙的是方向。从"男人"到"女人"的箭头,在空间里大致是个固定的方向;把这个箭头平移到"国王"身上,落点就在"女王"附近。"法国"到"巴黎"的方向平移到"意大利",落在"罗马";动词的一般时到过去式,也是一个方向。开头那道算术题,就是这套语义几何的自我演示——它不是噱头,是坐标系的自然结果。

把词义摊成一串数字的念头并不新,80 年代就有人提过(见第一章)。它等的是两样东西:够多的文本,和跑得动文本的硬件。2013 年,两样都到位了。

这个思路往上追,是语言学里的一个老念头:看一个词交什么朋友,就知道它是什么意思。"医生"和"护士"总在同一批句子里出现,"医生"和"球拍"几乎从不碰面,词与词的关系就藏在这份同场记录里。word2vec 把这个念头做成了可以大规模执行的算术。所谓理解,在这里退到它最小的可执行形态:谁和谁常一起出现。

它的后裔比它本人走得远。"把东西变成一串数字"这个套路后来被搬去处理一切:商品、歌曲、店铺、用户——推荐系统把你也变成一个向量,你的行为和谁相似,你们的位置就靠近;连图像最后也被塞进了同一个框架(见第九章)。"万物皆可嵌入"(embedding),成了此后十年机器学习的默认起手式。

词向量的边界要说清楚。它只认"谁和谁常一起出现",不认世界:同一个"苹果",在水果摊和发布会里共用同一个坐标,一词多义在这里没有座位。还有,"城市"和"街区"是给人看的比喻,真实的词向量有几百个维度,人脑想象不了几百维,我们说的街区,永远是这个高维空间的低维投影。

传话游戏

词解决了,句子还没解决。语言难办在两点:长度不固定,顺序要紧——"狗咬人"和"人咬狗"用词完全一样。卷积网络吃的是固定尺寸的图片(见第五章),直接搬来处理句子,格格不入。

循环神经网络(recurrent neural network,RNN)的办法很朴素:一个词一个词地读,每读一个词,就把"到目前为止的意思"更新一遍,折成一条便条传给下一步。读完最后一个词,手里的便条就是全句的总结。这很像人读句子的方式,2010 年代前半段,语音识别和机器翻译的主力就是它。

但便条有个致命的物理性质:越传越糊。设想五十个孩子挨个耳语一句"周六下午三点在操场集合",传到第五十个人那里,多半成了"星期天去操场"。RNN 的每一步都在重写便条,句子一长,句首的信息被反复涂抹,面目全非。行话把这叫梯度消失(vanishing gradient):句首对句尾的影响随距离一路衰减,衰减到教不会模型任何东西。

失真的日常版本是这样的:"那把昨天落在办公室、和一摞文件一起塞进蓝布袋子的钥匙"——句子的主干在结尾:"打不开前门"。轮到"打不开"的时候,模型要决定谁打不开什么,而"钥匙"已经隔着二十多个词。人回头一瞥就能解决的事,RNN 只能指望手里那张被重写了二十多遍的便条,便条上"钥匙"两个字早就洇了。

1997 年,Sepp Hochreiter 和 Jürgen Schmidhuber 发表了长短期记忆网络(long short-term memory,LSTM),给便条加上了受保护的夹页和几道阀门:哪些信息值得长期保留、哪些该当场丢弃,各有一道小门把关,该输出时再开一道。LSTM 记得比 RNN 久得多,从 2000 年代起在语音识别和翻译里大量服役,撑了十几年。但阀门只是延缓失真:传话还是传话,不过是队伍里多了几个认真的孩子,传到第五十个,还是会糊。

传话还有第二个毛病:队伍只能朝一个方向走。读到"今天很冷"的"冷"时,模型并不知道句子后面还跟着"冰箱坏了"——有些理解恰恰需要后头的信息。于是人们安排两支队伍相对而行,一支从头念到尾,一支从尾念到头,在终点把两条便条拼在一起。双向的版本后来大行其道,2018 年年初出尽风头的 ELMo 用的就是这种双队拼条的结构。方向是全了,传话的失真却一处没少。

比失真更要命的是串行。读第 100 个词之前必须读完前 99 个,训练时几百个句子只能排队过机器,干惯了粗活的 GPU 在这条单车道上有劲没处使。2010 年代,算力一年年膨胀,RNN 却一次只能消化一个词,车再多也得一辆一辆放行。

即便如此,2014 年还是出现了一个重要角色:序列到序列模型(sequence-to-sequence,seq2seq)。Ilya Sutskever 和谷歌的同事用它做翻译:第一个 RNN 负责读,把整句外语压缩成一个固定长度的向量;第二个 RNN 负责写,照着这个向量吐出译文。整句进、整句出,机器翻译第一次有了"先通读、再动笔"的样子。软肋也在这里:压缩。不管句子多长,都要塞进同一只行李箱——箱子的容量是造箱子时定死的,句子的长度不是。短句放得下,长句就爆箱。

聚光灯

行李箱的问题,人类译员早有解法:没有译员会在动笔前先把整段话在脑子里压成一个点。他们翻到哪,就回头看到哪。90 年代的统计翻译研究里已经有"对齐"的雏形(见第一章),只是要教会神经网络"翻到哪看到哪",还得等土壤。

2015 年,Dzmitry Bahdanau 和同事给 seq2seq 动了手术。他在蒙特利尔大学,导师是 Yoshua Bengio(见第五章)。手术方案一句话:别压缩了。编码器每读完一个词,把笔记留在桌上,不做汇总;解码器每写一个词,回头扫一眼桌上全部笔记,把聚光灯打在最相关的几条上。译到"银行"时,如果原句里有"河",聚光灯就打在"河"上,"钱"那边只留一点余光。每个词分到的光有多强,行话叫注意力权重(attention weight),全句的亮度加起来等于一。这套机制,就是注意力机制(attention)。

关于这套机制,还有一件值得单说的事:它是学出来的,没人设计过"翻译时该看哪里"的规则。聚光灯照谁、照多亮,全部是模型从几十万句对译里自己琢磨出来的。研究者把权重画成热力图检查时发现,译文写到哪个词,聚光灯大多正停在原文对应的位置上——机器自己摸出了"对着原文翻译"的道理,而"对着原文翻译"从来不是写在程序里的要求。让模型自己从数据里学出人没教过的内部结构,这件事后来反复发生,每一次都比上一次更让人坐立不安。

聚光灯治好了行李箱:笔记全保留,按需取用,句首的信息翻到最后一行还在桌上。机器翻译的成绩从这一年起肉眼可见地爬升,谷歌翻译后来整体换成了这套架构。

聚光灯的比喻有一处会误导:灯光不思考。注意力也不理解它照亮的东西,它只是按相似度分配权重。这一点先记下,后面有用。

还有一件当时被很多人当成花边、后来被证明是正事的事:同一批人发现,让模型一边看图一边逐词生成描述,注意力会自己学会"看哪儿写到哪儿"。写到"飞盘"时,聚光灯落在图里的飞盘上;写到"草地",灯光移向草地。没人教过它照片里什么在什么位置。注意力看起来不只是翻译的补丁,更像一种通用的本领:凡是要在两堆信息之间按需取用——词对词、词对图、问题对文档——它都使得上。后话是,这本事很快也不满足于当补丁了。

然后是那个顺理成章的问题:注意力这么能干,RNN 还留着干什么?

2017 年 6 月 12 日,一篇论文挂上 arXiv,标题像一句赌气的话:《注意力就是你所需要的一切》(Attention Is All You Need)。八个谷歌研究员,赌的就是上面那口气:把 RNN 整个拆掉,只留注意力。他们给这套架构起名 Transformer。传话的队伍,从此改成圆桌会议。

在 RNN 里,一个词要"看到"另一个词,得隔着几十步便条遥遥相望;在自注意力(self-attention)里,句中每个词直接看所有词,包括它自己,每个词同时提问、同时应答,一步到位。

自注意力这个词值得停一停。此前的注意力是跨语言的:英语那边打光,照亮法语那边的词,两边的笔记原本就分属两摞。而 Transformer 把这套机制掉转枪口对准句子自己:处理"它累了"的"它"时,光打在句内其他词上——日常语言里我们管这叫指代,机器在这里完成的正是同一件事:"它"从"猫"那里取走了大量信息,从那一刻起,"它"的表示里就掺进了"猫"。理解一个词,在这个架构里被落实为:按需掺入别人的信息。围观的田渊栋后来打过一个流传很广的比方,说自注意力相当于给每个词做一次加权平均,近的权重高、远的权重低——理解就这样被落实成了一遍算术。

另外一层容易漏看:一字不差的两个词,从此可以有不同的读法。"苹果发布会"里的"苹果"和"苹果酱"里的"苹果",同一个词向量出发,但在各自的句子里取用了不同邻居的信息,走完会议后落在不同位置。词向量一节欠下的"一词多义没有座位"的债,在这里还上了。

开会流程具体是这样。每个词随身带三样东西:一个提问,行话叫查询(query);一块名牌,叫键(key),写着"我是谁、我关心什么";一个袋子,叫值(value),装着它携带的信息。你的提问拿去对全场的名牌,对得越准,你从谁的袋子里取得越多。"银行"的提问,会跟"河"的名牌高度匹配,于是"河"袋子里的东西被大量搬走。整个流程是几步简单的乘加运算,具体怎么乘,本书照例不展开,记住名牌和袋子就够了。

会议的比喻到此打住,因为有一处会误导:会场上的人会互相说服,模型里的词不会。每个词只是按匹配度取用别人的信息,自己不变。

还有两个补丁。第一,所有人同时发言,就分不出谁先谁后,而语序有含义,"我打他"和"他打我"不能靠一群词的见面会区分。补救办法是给每个词发座位号,即位置编码(positional encoding):词本身不知道自己在第几位,座位号知道。第二是开销:会议每多一个人,两两对视的次数翻着倍地涨,词数翻一番,计算量大约涨到四倍。今天的大模型个个对"一次能读多长"斤斤计较,根子就在这张会议桌(见第八章)。

八个人还留了一手,叫多头注意力(multi-head attention):多请几位书记员开会,一位盯人名,一位盯数字,其余各管一摊,最后把笔记合并。同一句话,几个角度同时过一遍。

回报立竿见影。RNN 的单车道拆掉了,自注意力里所有词同时开工,GPU 终于吃得饱。论文里最大的模型用八块 GPU 训练三天半,拿下当时机器翻译的最好成绩。便宜,快,于是全世界的实验室都接得住——一项技术能不能成革命,有时就差这一条。

有意思的是舆论的滞后。论文发表时,多数人只把它当成"又一篇效果不错的翻译论文",八个作者在谷歌也不是什么显赫团队。谁也没想到,这份三个月的工作此后会被引用到数不清的领域,连论文标题本身都成了流行语——"X 就是你所需要的一切"被套在了几十种东西头上。命名同样是八个作者顺手为之,他们在电影里听过这个名字,觉得顺口,便也没有更换。

填空与接龙

Transformer 出场一年,就被拆成了两半用。

它的构造本来分两段:前一段负责读,叫编码器(encoder);后一段负责写,叫解码器(decoder)。2018 年,两条路线各抱一半,各自烧出了名堂。

一条路抱走编码器。2018 年 10 月,谷歌的 Jacob Devlin 和同事发布 BERT(全称很长,大意是"来自 Transformer 的双向编码表示"),训练方式是完形填空:把句子里大约七分之一的词遮住,让模型猜。猜"今天天气真____",左边的线索和右边的线索都得用上,所以 BERT 读句子是双向的。它像一个精读备考的学生,逐句啃完就上标准化考场,成绩是横扫:发布时一口气刷新了十一项自然语言处理任务的纪录。那两年最红的语言模型,名字都取自《芝麻街》:先有 2018 年年初艾伦人工智能研究所的 ELMo,几个月后是谷歌的 BERT,起名像同一家幼儿园的学号。2019 年,谷歌把 BERT 装进了搜索引擎,让它理解查询里那些不起眼的小词。此后很长一段时间,凡是理解类任务——搜索、分类、审核——标配都是它。

BERT 的用法也值得交代,因为它定义了此后几年的工作范式:先预训练(pre-training),让模型通读海量文本;再微调(fine-tuning),拿几千条标注好的例子,针对具体岗位培训。像招聘:先看学历,读没读够书;再岗前培训,会不会做这份工。同一个预训练底子,培训成翻译官、审核员还是问答客服,都从它出发。

另一条路抱走解码器。2018 年年中,OpenAI 发布 GPT(全称的意思是"生成式预训练"),1.17 亿参数,训练方式只有一种:接龙。给它前几个词,猜下一个词,猜错了挨批,再来。人类语言任务千千万,它只练一种题型,单调得近乎敷衍。

当时舆论更看好 BERT:填空有标准答案,信号干净,考试又确实高分;接龙一句话能对出一百种下一句,像放任学生写散文。但有一笔算术当时没被足够重视:填空每句话只练被遮住的那几个词,接龙却让每个词都当一道题。练得窄,未必精;练得宽,未必浅。

GPT 路线真正的赌注在题型本身。翻译,可以改写成"原文接译文";对话,可以改写成"机器接着人往下说"。摘要、问答、写代码,无非是换一样接的东西。世界上大多数语言任务,都能归进"接下来接什么"这一个题型。填空考的是理解,接龙练的是生成,而后者的题库几乎是无限的。

2019 年 2 月,GPT-2 出场,赌注加到 15 亿参数,教材是几百万个网页、约 40 GB 文本。它最出名的演示是续写新闻:给一句开头——"科学家在安第斯山脉偏远山谷发现独角兽种群"——它接出一篇有细节、有引语的完整报道。内容是编的,文笔是顺的,顺到足以以假乱真。OpenAI 这次破例没有第一时间放出完整模型,先放小号,观望数月,才陆续放出大的。语言模型第一次因为"怕被滥用"上了新闻头条。

报道里那头独角兽还留下一个细节:续写里说这种生物"会说话",说的是英语,还带当地口音。纯属编造,但编造得自有章法。这类系统生成的内容此后有个专称,叫幻觉(hallucination)——它不是"胡说八道"那么简单,而是接龙的固有副产品:模型只负责"像",不负责"真",而像与真在大多数语料里本来就走得很近。这笔账要等到很后面才有人认真算(见第八章、第十二章)。

更耐人寻味的东西写在论文的角落里:GPT-2 没人教过翻译,却能磕磕绊绊互译几句英语法语,大概只是语料里双语句子见得多;没人教过它答题,个别阅读理解也能蒙对。这类"没教过但会一点"的表现,行话叫零样本(zero-shot),当时被当作有趣的边角料。OpenAI 同时画了一组曲线:模型每加大一号,这些没人教过的任务就准一分,一路上扬,看不到天花板。

当时没人说得清,这曲线是没到头,还是头就在眼前。回头看,从 2013 到 2019 这段路其实只发生了一件事,只是分了四幕:词向量给意思定了坐标,注意力给了模型回头看的自由,Transformer 把回头看做成了唯一的动作,GPT 们把"猜下一词"这个单调的游戏玩到了几百万个网页的尺度。每一幕单独看都不惊人。2020 年之后发生的事,全是这四幕的复利(见第八章)。

三句话小结

词向量用"看同伴猜词"的办法把语义变成几何坐标,意思从此可以做加减法,但它只认搭配不认世界,一词多义没有座位。循环神经网络逐词传话,传得越远越糊;注意力让每一步回看全句、按需打光;2017 年的 Transformer 干脆拆掉流水线,让所有词围桌同时互看。BERT 拿编码器做完形填空,走理解路线,横扫了考场;GPT 拿解码器做接龙,走生成路线,在 GPT-2 上初显规模的后劲。

第八章 大模型时代(2020—2023)

2020 年 9 月,英国《卫报》刊出一篇奇怪的评论。文章谈人工智能的风险,写得四平八稳,末尾还带一句自嘲。奇怪之处在署名:作者一栏写的不是记者的名字,而是 GPT-3。编辑在按语里交代了内情——他们给这个模型出了题、喂了提示,模型一口气写了八篇,人类从中裁剪拼合,凑成眼前这一篇。人类在其中的主要贡献,是删。

一家报纸把评论版面交给一个只会文字接龙的程序,放在两年前会被当成行为艺术。GPT-3 没有专门学过写评论(见第七章),它会的只有一件事:看着前文,猜下一个词,把猜中的词接上去,再猜下一个。就是这么个朴素的循环,在随后几年里把整个行业拖进了军备竞赛。这类模型后来有了正式的名字:大语言模型(large language model),简称 LLM。接下来的几节,讲的就是这场竞赛怎么开始、怎么引爆、又怎么扩散。

一、大力真的出奇迹

GPT 系列的个头,两年跳一级。2018 年的 GPT-1 约有一亿个参数(parameter)——参数是模型内部的旋钮,所谓训练就是拧旋钮(见第二章)。2019 年的 GPT-2 涨到十五亿,写出的短文已经像模像样;放出之前,OpenAI 先发了一篇论文讨论“这么大的模型要不要放”,一时成为圈内话题,最后分了好几批才放出完整版。2020 年的 GPT-3 直接干到一千七百五十亿,是 GPT-2 的一百多倍。小学算术就能看出,这不是渐进改良,是换赛道。个头翻着跟头涨,饭量也惊人:网页、书籍、百科,把能找到的公开文本筛一遍喂进去,规模以数千亿词元(token)计。词元是模型处理文本的最小单位,大致相当于一个字或半个词——“看见智能”四个字,在模型眼里可能被切成“看见”“智”“能”几块,具体怎么切,每家有自己的刀法。

补一段 GPT-2 的旧事,方便看出 GPT-3 时的行业心态已经变了多少。2019 年 OpenAI 放出 GPT-2 时,公开的理由是担心模型被拿去批量造谣和刷帖,于是先放小的,后放大的,分好几批才交出完整版,「AI 安全」三个字头一回上了科技版的头条。到了 2020 年 GPT-3,剧情反转:模型没等来忧思,先等来生意。OpenAI 这一年开始把 GPT-3 包装成服务,开发者凭接口(API)调用,按用量付费——你不训练模型,你租一个。编程助手、文案工具、客服机器人一批批接上去。同年早些时候,OpenAI 改组成了「有限盈利」公司,拉来十亿美元级的投资。研究者还在争论它懂不懂语言,商人已经开始给它办会员卡。顺便一提,GPT-3 论文刚发布时,学术界的第一个反应是怀疑:口径这么野的模型,无非是 BERT 路线的放大版罢了——毕竟第七章说过,BERT 才是当年刷榜的头号种子。让它翻案的与其说是论文,不如说是接口:开发者们上手一玩,发现这东西真的什么都能凑合干一点。

给“做大”提供理论底气的是同一年早些时候的另一篇论文。OpenAI 和几所大学的研究者发现,模型的预测损失(见第四章)随参数量、数据量、计算量按一条极有规律的曲线下降:规模每放大一个数量级,损失就按可预测的幅度降一截,这条规律在好几个数量级的范围里都成立。这项发现后来被称作缩放定律(scaling laws)。它不是第一条提出“大就是好”的文献——深度学习圈早就摸索过这个方向——但它是第一条把“大就能好”写成可计算曲线的研究。它的价值不在漂亮,在实用:堆算力从祈祷变成了预算——先在小模型上花小钱做实验,推算出大模型能好多少,再决定下不下注。哪些能力值得用十倍算力去换,从凭感觉变成查表。打个比方,这像给探险队配了一张等高线图:下一座山多高、要带多少粮,出发前就能算个八九不离十。

要知道,当时的主流看法对语言模型相当轻视。「统计鹦鹉」(stochastic parrots)这个刻薄的称呼出自 2021 年一篇著名的批评论文,意思是模型记的只是词和词搭伴的概率,谈不上理解。缩放定律没在哲学上反驳这个批评,只是把账摊开:按这条曲线,规模上去,能力就会来。GPT-3 兑现了第一笔——它没专门学过翻译、问答和简单算术,这些本事却都冒了出来,一个模型干了过去一队专用模型的事。

不过缩放定律后来挨了一记补课,这记补课本身就出自“大力出奇迹”的门内。2022 年,DeepMind 的研究者指出同行把钱花偏了:参数堆得太狠,数据喂得太少。他们训练了一个参数只有前代约四分之一的模型,把数据放大四倍多,结果反而更强——这个模型外号 Chinchilla,毛丝鼠,俗称龙猫,研究者起名的品味另说。结论朴素得像种地:光换良种不扩地,收成上不去,参数、数据、算力得按比例配套。此后多喂数据成了共识,高质量文本从此是抢手货。

边界照例要说清。缩放定律不是永动机:每投入十倍的算力,换来的是固定的一段改善,越往后越像打折;钱在燃烧,高质量文本也有见底的一天。GPT-3 训练花了多少钱,OpenAI 没有公布,外界只能按论文披露的算力倒推,各家的估算相差不小——这类成本数字向来存在口径争议,读到精确到个位的开销时要多留个心眼。2020 年代中期,无脑堆料开始让位给更精细的做法,这是后话(见第十章)。

二、不改权重,当场学

GPT-3 那篇论文的标题起得直白:《语言模型是少样本学习者》。它报告了一件比参数量更有意思的事:模型可以在一个权重都不动的情况下,当场接手新任务。

做法朴素到近乎不像话。想让它做英译中?在输入里写明任务,附两三个例句,末尾放上要译的那句。比如先写“英语:The cat sat on the mat.中文:猫坐在垫子上”,再写“英语:Less is more.中文:少即是多”,最后写“英语:Actions speak louder than words.中文:”——模型接一句“行动胜于言辞”,任务就算接住了。这套操作后来叫上下文学习(in-context learning),喂进去的文本叫提示(prompt)。打个比方:新员工入职,师傅不发培训手册,只当着他的面办了三笔业务,说声“照这个来”,多数新员工真能接下去。

比喻的边界也要交代:学徒看三遍就能举一反三,模型的“举一反三”范围窄得多。例子的措辞、格式、顺序换一换,成绩可能大起大落——它对“照这个来”的依赖,远比对师傅的依赖重。

这里还得划一条线。这不是平常说的学习:模型的权重一个没动,对话一关,它忘得一干二净。它做的事更像看样补全,把眼前几个例子的模式延伸下去。真正的本领在预训练里早已埋下,提示的作用不是灌输,是叫醒。

还有一层尴尬藏在细节里:如果不给例子,直接下指令——“把这句话译成中文”——GPT-3 经常办砸,它太习惯续写,会把你的指令当成上半句接着编。弥合这道缝的正是 RLHF:先让人类示范“该怎么听指令”,再拿人类偏好反复校准,模型才从“接话的”变成“办事的”。你在 ChatGPT 里随便敲一句大白话它就照办,背后就是这条流水线。

提示词的含金量随即上涨。怎么措辞、给几个例子、要不要让模型“一步一步想”,都直接影响产出好坏,于是催生出一门手艺:提示词工程(prompt engineering)。人类历史上大概头一回,会跟机器说话本身成了正经技能。2021 年,斯坦福的一群研究者给这类模型起了个新名字:基础模型(foundation model)——地基一个,房子各家盖各的。这个叫法沿用至今。

三、涌现:奇迹,还是尺子的问题

规模上去之后,出现了让研究者自己都愣住的现象。有些能力小模型完全不会,怎么训都不会;参数跨过某个量级,突然就会了——多位数乘法、多步推理,都属此类。2022 年,有论文给这类现象起了名字:涌现能力(emergent abilities)。词借自物理学,类比也来自物理学:水降到零度结冰,温度连续地降,状态突然地变。

持涌现说的研究者整理了一批任务,把“小模型接近零分、大模型突然起跳”的曲线挨个画了出来,看上去证据确凿。2023 年,斯坦福等机构的一篇论文泼了盆水,标题问得很冲:《大语言模型的涌现能力是海市蜃楼吗?》。他们的意思是,悬崖可能是尺子画出来的。若用“全对才算对”这种非黑即白的指标去量,能力曲线当然像悬崖;换成连续指标,比如答对的比例,许多任务上的曲线其实是平滑爬坡,没有突变。

用考试打比方。六十分及格,你从五十九涨到六十一,分数连续,谈不上突变;可若统计口径只有及格与不及格两档,零到五十九分的曲线全趴在地上,六十一分突然起飞,看上去就是一夜之间的神迹。悬崖不在能力里,在尺子上。

平心而论,两边各有道理。涌现作为现象确实醒目,作为理论还很单薄;“海市蜃楼”一方证明了突变依赖测量方式,也没解释平滑的曲线为何爬得那么陡。这桩公案不止是学术意气。利害很实际:如果能力真是“跳崖式”出现的,那更大的模型明天会不会突然冒出谁也没预料到的本领?安全评估就难做了——你没法给没见过的悬崖设护栏。如果一切平滑可测,风险就能沿曲线外推。两边各执一词,工程上的分歧实实在在。真正确定下来的只有一件事:我们对自己造出来的机器内部发生了什么,了解得远比外界想象的少。这个空白后来成了可解释性研究的一大动机(见第十二章)。

四、一场没有革命的革命

2022 年 11 月 30 日,OpenAI 把一个叫 ChatGPT 的网页挂上网,页面标着“研究预览”,姿态放得很低,而且免费。据 OpenAI 自己说,上线五天用户破百万;两个月后破亿——按后来流传很广的一份第三方统计,这是消费级应用史上最快的增长,此前最快的 TikTok 用了约九个月。互联网见过病毒式传播,没见过这种速度。上线头几周,社交网络被截图刷屏:有人让它写道歉信,有人改简历,有人问它怎么礼貌地拒绝加班。和前几代模型比,它还多了一样不起眼的东西:会话里记得你前面说过的话。你可以先说“帮我写封邮件”,再补一句“语气随便点”,它接得住——放在 GPT-3 的接口时代,这得用户自己把上下文拼好递回去。

拆开看,ChatGPT 没用什么新魔法。底子是 GPT-3.5;训练里真正的新东西,基于人类反馈的强化学习(reinforcement learning from human feedback,RLHF),OpenAI 在 2022 年的 InstructGPT 论文里已经演示过一遍。真正的变化在交互:一个对话框。不用写代码,会打字就会用,门槛低到地板,用户自然涌进来。

但“套个聊天框”的说法,低估了 RLHF 干的事。先看预训练模型的毛病。语言模型的训练目标是续写:给上半句,补下半句。它从没被要求回答问题,更没被要求说真话。你问它路,它给你一句听起来像路的话;你问一本书的内容,它能编出言之凿凿的章节,而书根本不存在。行话叫幻觉(hallucination)。它像一位背下整座图书馆的模仿高手:永远出口成章,从不为内容负责。

RLHF 治的就是这个,分三步。第一步,请人写出高质量回答,让模型照着微调(fine-tuning),先见过好答案长什么样——好比临帖,字是别人写的,笔迹慢慢就带上了字帖的样子。第二步,让模型对同一问题生成多个回答,由人类排优劣,再用这些排序训练一个奖励模型(reward model)——一个学会了人类口味的打分器。第三步,用强化学习调整语言模型,让它朝高分回答的方向走。整条流水线里最贵的东西不是算力,是标注员的工时——成千上万人坐着给机器的回答打分,这大概是历史上最奇怪的一份工作:人类头一回大规模地教机器“像人”。AlphaGo 靠“赢棋”这个信号自我提升(见第六章),这里把“赢棋”换成“人类觉得好”,骨架是一样的。

效果立竿见影:模型变得礼貌、听指挥,被问倒了会说不知道,同一个问题换个说法再问,也不再一本正经地胡说。边界同样清楚。RLHF 教会模型的是讨人喜欢,不全是真实可靠——幻觉只是被按住,没有根除。奖励模型也会被钻空子:给代理人定什么指标,代理人就优化什么指标,顺手牺牲其余(见第六章);而且标注员的口味彼此不一,奖励模型学到的“好”,其实是一张平均脸。还有一层更深的麻烦:人类的偏好本身就不一致,那到底该让模型对齐(alignment)到谁的标准?这没有技术答案。让机器的行为合乎人的意图与价值观,说起来是一句话,做起来成了此后几年整个行业绕不开的难题。

行业地震接踵而至。微软 2019 年就向 OpenAI 投了十亿美元,2023 年年初又追加了一笔据广泛报道以百亿美元计的投资,把模型接进自家搜索和办公软件;据媒体报道,谷歌内部拉响「红色警报」。2023 年春天,各大公司的聊天机器人扎堆发布,“生成式人工智能”(generative AI)从论文词汇变成街头词汇。学校开始讨论作业还怎么留,画师社区为版权和饭碗吵成一团,各国监管机构连夜起草文件——一项技术以这样的速度进入公共生活,此前的大概只有社交网络。

五、大象开闸,巨头沉默

2023 年 2 月,Meta 发布 Llama,参数从几十亿到几百亿不等,附声明:仅供研究使用。没过几天,权重文件泄露,在网上到处流传。对 Meta 的公关部门这是事故,对开源社区这是节日——一群人连夜下载、复现、魔改,几周里各路「羊驼系」模型冒了一地。Meta 的应对出人意料:当年 7 月,Llama 2 发布,宣布免费开放商用(附若干条件)。大象把闸门正式打开了。

理解这件事的分量,得看此前开发者手里有几条路:要么调别家的 API,数据得出境,价格看人脸色;要么从零训练自己的模型,预算以百万美元计。Llama 之后多出第三条:拿公开的模型权重(open weights)——把训练好的那个“大脑”整份下载下来——在自己机房里接着调。斯坦福的研究者很快示范了这条路有多短——收集五万多条问答示范,对 Llama 做一遍微调,据论文自述只花数百美元,得到一个能对话的模型,取名 Alpaca,数据和代码一并公开。论文短得像备忘录,影响大得像宣言。

至于 Meta 图什么,外界后来的解读比较一致:与其守着模型收费,不如让别人免费替你把生态做大;护城河从“我有模型”挪到了“我有算力、有用户、有分发”。开源权重之于大模型,颇像安卓之于智能手机:闭源旗舰定义上限,开源系统让所有玩家拿到入场券。医院、银行这类不能把数据交出去的机构,头一回有了把模型放在自己家里的选项。闸门打开也有代价:能力不设限的模型谁都能拿到,滥用与安全的争论随之而起,到今天也没有消停。开源社区则继续沿着羊驼系往下繁衍,从对话、代码到中文优化,衍生模型开出一长串名单,俨然一个小型动物园。对使用者还有一条实在的边界:算力、维护、安全责任都归自己,开源模型的能力通常也落后闭源旗舰几个月。

就在 Llama 泄露与 Llama 2 之间的 3 月,OpenAI 发布了 GPT-4。它能看图,你递过去一张梗图,它说得出笑点在哪——这是多模态(multimodal)走出的第一步,到 2024 年的 GPT-4o,原生多模态才进一步做实(见第十章)。据 OpenAI 技术报告,GPT-4 在一次模拟律师资格考试里答进前百分之十左右,而上一代 GPT-3.5 按同一份报告大约在后百分之十。一年,从倒数走到前列。幻觉更少,回答更稳,一次能吞下的文本也更长——模型一次能读进去的篇幅叫上下文窗口(context window),窗口越大,能一起处理的材料就越多。

比成绩单更有意思的是另一件事:OpenAI 这次几乎什么都没说。GPT-3 时代,参数、数据、训练细节全写在论文里,同行照着就能复现;GPT-4 连正式论文都没有,只有一份技术报告,参数规模、训练数据、算力开销一概保密,连架构都语焉不详。行业从晒参数进入保密时代。从前论文是广告,现在论文是谜语。原因不必深究:配方就是护城河,而竞争者已经站到门口。这一年年底,OpenAI 又推出 GPT-4 Turbo 和「自定义 GPT」(GPTs):不懂编程的用户填几张表,就能攒出一个专属助手,模型本身开始像平台一样运转(见第九章、第十章)。

回头看 2020 到 2023 这几年:GPT-3 证明规模这条路走得通,ChatGPT 找到了让所有人上车的门;Llama 和 GPT-4 一个发入场券,一个抬天花板。至于下一程——让模型在回答之前多想一会儿,把训练和推理做得更便宜——已经有人在排队进场了(见第十章)。

三句话小结

第九章 图像的生成

酒馆里的争吵

2014 年,蒙特利尔。一家小酒馆里,几个研究机器学习的年轻人在给一位即将远行的朋友送行。聊着聊着,话题转到了一个当时没什么人看好的问题上:怎么让机器自己画出图像来。有人提出一个方案,旁边的人指出这行不通,你一言我一语,谁也没说服谁。坐在一旁的 Ian Goodfellow(伊恩·古德费洛)忽然想到了另一条路——让两个网络互相为敌。据他后来回忆,朋友们觉得这个主意不靠谱,他回到住处当晚就把代码写了出来,第一版居然一次跑通。

这段轶事的细节未必字字精确,但它把这一章的主角说得清楚:从这一年起,图像生成(image generation)有了自己的招牌方法,后来被称作生成对抗网络(generative adversarial network,GAN)。本章要讲的故事,就是从这场酒馆争吵到 Sora 出世这十年间,机器如何从画不出一张像样的图,走到能用一句话生成一段视频。

动身之前,先看一个反差:认出一样东西,和画出一样东西,不是一种能力。任何识字的成年人都能一眼认出报纸上的几千个汉字,但让同一个人提笔写好其中一个字的书法,大多数人都做不到。第五章里讲的神经网络(见第五章),练的全是前一种本事——给它一张图,它告诉你这是猫还是狗。这类模型叫判别模型(discriminative model):看着现成的东西做判断。本章要讲的是后一种:从无到有造出东西来,这类模型叫生成模型(generative model)。造比判难,因为判断只需抓住区别,而生成要把每个细节都无中生有地补齐——猫的胡须画在哪儿、光从哪边来、背景虚化到什么程度,一样都不能含糊。

Goodfellow 在酒馆里想到的,恰恰是把这份"难"变成了燃料。

造假者与鉴定者

GAN 的构想,用假钞来讲最顺。想象一个造假币的人和一个银行鉴定师。造假者想造出骗过鉴定师的假钞;鉴定师见过大量真钞,也熟悉此前所有假钞的破绽,一眼分辨真假。两人反复过招:造假者每次被抓到,就研究自己输在哪里,下一版改得更像;鉴定师每次被打脸,就回头补课,把新破绽记进心里。过招几万轮之后,假钞逼真到鉴定师只剩五成把握、只能抛硬币——而此时,造假者的手艺已经与印钞厂无异。

GAN 把这个故事原样搬进了机器学习。造假者的角色叫生成器(generator):从一串纯随机的数出发,吐出一张图像。鉴定师的角色叫判别器(discriminator):拿一张图,输出一个"像不像真照片"的概率。训练的过程就是那场无限过招。妙处在于,判别器给的不只是"不像"两个字,还有一个分数,而这个分数反过来就是造假者的指南针:分数低,说明离"像真照片"还差多远,往哪个方向改能更近。以前让机器画图最头疼的是没有标准答案——画得"好不好"谁也说不清;GAN 找到了一位会说话的裁判,裁判的每次打分都是教学。

这招的聪明之处,是不需要人工定义什么叫"像"。什么是猫?谁也写不出规则(第三章讲过那堵常识之墙)。但把十万张真猫照片和生成器画的猫放在一起,判别器自己就能悟出区别,再把这份压力原封不动传回给生成器。

当然,这场猫鼠游戏有它的病。第一个病叫模式崩塌(mode collapse):造假者一旦发现某一种假钞总能蒙混过关,就再也不练别的了——世上明明有千百种猫,生成器却只肯画同一种姿势的猫,千图一面。第二个病是训练不稳。这场博弈没有终点线,谁也不该彻底赢:造假者被揍得太狠会破罐破摔;鉴定师若太强,给的分就失去教学价值,对手已经死心。调 GAN 像同时调两个互相牵制的旋钮,动一个,另一个立刻变味。那几年这个方向流行一张长长的"训练秘方"表:学习率怎么设、噪声怎么加、网络怎么搭,处处凭经验,圈内自嘲像炼丹。

顺便把假钞比喻的边界画清楚。故事里两个人始终在场,实际训练结束后,鉴定师是要退休的——生成器独自出门作画,从此再没人给它打分。它画得好不好,全看当年那场过招打得多扎实;博弈若提前收场,画出来的东西就带着当年的坏习惯。这也解释了为什么 GAN 的成果高度依赖手艺:同一种方法,换个人来调,效果可能差出一大截。

即便如此,2014 年之后的六七年里,GAN 一直是图像生成的绝对主角。网上流传过一批"不存在的人脸"——画面上的人眉眼清晰、绝非任何真人,却挑不出毛病;后来引发轩然大波的换脸视频,源头也在这里。只是它的老毛病始终没除根:画得像,但常画得单调,而且脾气大。研究者需要一种更稳的画法。

从浓雾里走出来

在 GAN 大杀四方的同一年代,还有一条安静得多的路线在积累,代表是变分自编码器(variational autoencoder,VAE)。它的直觉来自人自己的记忆。你记不住朋友脸上的每一颗痣,脑子里存的是一份压缩过的"要点画像":脸型、眉眼、大致气质。VAE 做的就是这件事——先训练一个压缩器,把一张图压成短短一串数,这串数所在的抽象空间叫隐空间(latent space);再训练一个重画器,凭这串数把图复原。训练完把重画器单独拿出来,随便喂一串数,它就能画出一张世上不存在的图。

VAE 的画有个特点:糊。像凭记忆画像,大形是对的,细节是虚的——它学的是"平均",落到纸上就丢了锐度。但它留下一样宝贵的东西:一个连续、平滑的隐空间。两张图对应的两串数之间可以取中点,重画出来的图正好介于两者之间,从一张脸平滑渐变到另一张脸,没有跳变。这个性质后来被一代代生成模型继承,是整条路线的地基。

真正接过大旗的,是 2020 年问世的扩散模型(diffusion model)。它的思路初听有点绕:教机器画图,先教它破坏图。

拿一张清晰照片,往上加一层极轻的噪声,像给镜头蒙一层薄雾;再一层,又一层,重复上千次,照片最终彻底没入噪声,成了一片雪花。破坏的过程简单到不值一提,每一步都是小学算术式的随机扰动。真正要训练的,是一个会走反路的模型:给它一张蒙了几层雾的图,让它猜出这一步的雾长什么样,然后擦掉一点点。注意,它每次只学"擦薄薄的一层",从不要求它一步从雪花恢复成照片——那太难了。但一个擦一层的小本事,重复一千次,就能把浓雾走成晴天。

像浓雾天开车:能见度十米,你看不清目的地,但看得清前一米路,于是开一米,再看一米,一路开下去,雾就散了。米开朗基罗谈雕刻时说过一句流传很广的话(相传如此):雕像本来就在石头里,他只是把多余的部分去掉。扩散模型从噪声里复原图像,也是同一种减法——答案本来就在雪花里,模型把不属于画面的部分一点点剥掉。

雾的比喻也得打个折扣:司机心里有一张确定的地图,模型没有——起点那片雪花是纯随机的,同一句提示词,从不同的雪花出发,会散出成千上万张不同的图。噪声在这里不是障碍,而是多样性的来源。

它的训练出奇地稳。没有对手要伺候,只有一项朴素的功课:猜出这一层噪声。而且出题是自动化的——任何一张真实照片都能自动生成无穷无尽的训练题,答案就是当初中了什么雾。2020 年这套方法(学名叫去噪扩散概率模型,DDPM)初次亮相时,效果还比不过打磨多年的 GAN;但接下来两三年,随着规模上去,画质迅速反超。画得像、画得多、不闹脾气——GAN 的三个老毛病,它一并治了两个半。2022 年春到夏,DALL-E 2(OpenAI)与 Imagen(谷歌)接连亮相,机器画的图第一次让大量普通人愣住:宇航员骑马、狐狸戴围巾、油画质感的茶杯——细节、光影、构图,都到了以假乱真的地步。

不过,让这些模型"听懂"那句话的功臣,是另一位幕后角色。

两套语言,一张地图

先想一个问题:模型怎么知道"宇航员骑马"是什么意思?GAN 和扩散模型本身都不懂文字。早年也确实如此——生成模型只能按类别出图:说"鸟",它画鸟,一千张鸟,你没法再提别的要求。

2021 年,OpenAI 发表了 CLIP(Contrastive Language-Image Pre-training)。它学的不是画画,而是对暗号。互联网上有海量的图文对:配着说明文字的照片、带着标题的插图。CLIP 用两个通道分别读图和读文——图像一侧用第五章那样的视觉网络,文字一侧用第七章那样的语言模型——把图和文各自翻译成空间里的一个坐标,训练目标朴素到近乎天真:配对的图文,坐标要靠近;不配对的,要推远。数以亿计的图文对刷下来,一个意外的东西出现了:图像和文字这两个原本不相通的世界,被标到了同一张语义地图上。

打个比方,这像给两座语言不通的城市统一编制了一套邮政编码:意思相近的图和文,落进同一个街区。"一只橘猫在沙发上打盹"这句话,和画出这个场景的一张图,在地图上的位置是重合的。于是"懂图"和"懂文"第一次有了共同的度量衡。

CLIP 还顺手带来一个副产物:把一组候选标签写成句子,它就能给从未见过的图分类——训练时没学过的类别,它也认得。"见过"与"学过"的边界由此被抹掉了一角,后来的研究者从中嗅到了另一种可能:理解,也许可以靠大规模的对齐"对"出来,不必一样一样教。

CLIP 自己画不出一张图,但它会看:给它一句描述和一张候选图,它能打出"这图配不配这句话"的分数。这个看似配角的能力,恰好补上了文生图(text-to-image)缺的那一块:文本被翻成地图上的坐标,扩散模型照着坐标去雾,画完还能让 CLIP 验收、打回重画。后来各家清理训练数据,也常请这位验收员把把关——配不上文字的图,先筛掉再说。2022 年那些令人愣住的图像模型,几乎都跑在这条流水线上。

时间线上还有一条容易被忽略的支流。同在 2021 年,最初的 DALL-E 走了另一条路:把图切成一个个小方块,当作"词",用 GPT 式的自回归模型(见第七章)一个方块接一个方块地"写"出图来。它当时画质平平,却留下一个重要的念头——图像可以被当成语言来处理。这个念头,几年后会以更大的声量回来。

回头看,这一步的分工颇有意思:视觉模型负责"看见"(第五章),语言模型负责"说出"(第七章),对齐模型负责"对上",生成模型负责"画出来"。AI 画图不是某一项天才发明的独角戏,而是此前十年几条线各就各位之后的合流。

开源时刻,万物皆块

2022 年 8 月,Stable Diffusion 开源。在此之前,顶级图像模型全都锁在公司云端:想画,得排队申请、按张付费、接受审查。Stable Diffusion 把全部参数放上网络,任何人都能下载到自己的电脑上运行——而且一块普通的家用游戏显卡就带得动,几分钟一张。门槛从"公司级"跌到"个人级",只用了几个月。

能让家用显卡干公司的活,靠的不只是开源的姿态,还有一个工程巧思:先压小,再作画。一张上百万像素的图直接拿去做扩散,计算量大得家用显卡吃不消。Stable Diffusion 的做法,是先用类似 VAE 的压缩器把图压进一个小小的隐空间——好比画家不在整面墙上作画,而是先在巴掌大的草稿本上起稿,画好了再用透视法放大上墙。扩散的全部重活都在草稿本上进行,计算量小了一个量级不止。这个"缩略图上作画"的思路,是它跑得动的关键。

开源的第二重效果是生态。全球的爱好者下载它、拆解它、改造它:有人教它某种画风,有人让它专画某类场景,各种微调版本像酵母一样繁殖。争议也随之烧了起来——训练数据里有没有未经许可的作品,风格能不能被"学走",这场争论延续至今,此处按下不表。同年 9 月,Midjourney 开始公开测试:它不开源,走效果优先的路,把服务藏进聊天软件里,很快积累了庞大的用户群,也罕见地早早开始盈利。2022 年的秋天,文本一侧有 ChatGPT(见第八章),图像一侧有 Stable Diffusion 和 Midjourney——普通人第一次在同一个季节里,亲手摸到了生成式 AI 的两个侧面。

接下来的问题顺理成章:图能生成,视频行不行?

视频就是会动的图,但"会动"三个字让难度翻了几番:人物要走、镜头要推,前后帧要连贯,穿帮的方式也从一张图变成每秒几十张。早期的视频模型输出里,人走着走着多出一条腿,物体的边缘像蜡烛一样融化,都是常事。2024 年 2 月,OpenAI 发布 Sora,展示了一段段一分钟上下的视频:镜头平稳、光影连贯、物理大体合理,普通人第一眼分辨不出真假。差不多同期起,谷歌的 Veo 等模型相继入场,视频生成从演示品走向产品。也有人把视频生成看作另一条路的第一步:让模型从海量视频里"看会"世界如何运转——这个方向在第十一章还会再遇到(见第十一章)。

支撑这一跃的,除了规模,还有一次架构上的汇流,值得单独说:DiT——扩散 Transformer(diffusion transformer)。2022 年前后,有研究者把扩散模型里负责去雾的骨干网络换成了 Transformer(见第七章):把一张图切成许多小方块,每个方块当作一个"词",让注意力机制去读这个由方块组成的句子。直接回报是,第八章讲过的那条缩放定律(见第八章)在图像上同样成立——模型加大、数据加多,画质稳步上升,不再有 GAN 时代的玄学调参。Sora 的技术报告把自己的骨架归入的正是这一脉:视频被切成带时间的"时空小方块",一分钟的镜头就是一长串方块,交给同一个 Transformer 去读、去生成。

走到这里,本章开头那场酒馆争吵里谁也想不到的结局出现了:文字是 token 序列,图像是图块序列,视频是时空图块序列,声音也可以切成片段——万物皆序列。处理它们的是同一套注意力机制,服从同一条"越大越好"的规律。第七章里那个为了翻译而生的 Transformer,用了大约十年,把看、听、说、画收进了同一个屋檐下。至于让它再学会先想后答、替人操作电脑,那是接下来两章的事(见第十章)。

三句话小结

机器从无到有画图,三条主干路线各有绝活:GAN 用造假者与鉴定者的对抗逼出逼真,VAE 用压缩与重画搭出连续的隐空间,扩散模型把生成化为一步步从噪声里"去雾"。CLIP 用数以亿计的图文对把图和文标进同一张语义地图,文生图从此有了方向盘和验收员。Stable Diffusion 的开源把这项能力搬上家用显卡,而把图与视频切成方块交给 Transformer 的 DiT,让文字、图像、视频在 2024 年前后汇入同一条技术河道。

第十章 学会思考(2024—2026)

2024 年 10 月,Anthropic 放出一段几分钟的演示视频。画面是一台再普通不过的电脑:光标自己动了起来——点开浏览器,输入网址,找到搜索框,敲进一行字,再点开一个按钮。从头到尾,没有一只手碰键盘和鼠标。一个模型在替人操作电脑,动作生疏,偶尔停顿,但每一步都接得上路数。这个功能叫计算机使用(computer use)。

就在一个月前,同一批观众刚见识过另一件怪事。OpenAI 的新模型回答数学题时不再脱口而出:它先沉默几秒,屏幕上滚出一串草稿——拆条件,列步骤,中途忽然停住,写下"这里好像不对,换个思路",然后才交出答案。

先学会想,再学会做,两件事发生在同一个秋天。此前的模型擅长说,此后的模型开始接管想和做。这一章讲三条线索:模型怎样把时间花在回答之前;模型怎样从对话框里走出来,伸手去拿鼠标;以及当"聪明"忽然变得又好又便宜,市场发生了什么。线索的尽头,还有一份更早交出的科学答卷,一份来自科学界的验收单。

一、多想一会儿

2024 年 9 月,OpenAI 发布 o1。这是第一个把"推理"当卖点的模型,业内叫它推理模型(reasoning model)。它的路数说破了很简单:回答之前,先在内部生成一大段思考过程,理顺了再作答。研究者给这种做法起了个直白的名字:测试时计算(test-time compute)——训练时烧算力是老故事,如今答题的那几分钟里也可以烧。

第八章讲过缩放定律:模型的能力随参数、数据、训练算力水涨船高,那时候唯一的旋钮是造一座更大的工厂(见第八章)。推理模型加上了第二个旋钮:工厂可以不变,交货前多盘一会儿货。

要理解第二个旋钮的价值,得先看清抢答型模型的毛病。语言模型是逐字往下写的,说出一个字,就收不回一个字。让它解一道多步的数学题,只要第一步走岔,后面每一步都在错误的地基上施工,而且它必须在写下最后一个字的时候交卷,没有涂改的机会。o1 像拿到考卷先打草稿的学生:草稿纸上第三行发现第一行错了,可以划掉重来,外人只看见誊清的答案。草稿纸,就是它多花的时间。

草稿确实管用。拿一个最笨的问题做例子:问某个词在一篇长文里出现了几次。抢答型模型凭语感报数,而语感对计数毫无用处,张口就错;打草稿的模型会老老实实把词一个一个圈出来数。这不是变聪明了,是肯下笨功夫了——而笨功夫恰恰要花时间。数学、代码这类步骤分明的题目,草稿的收益最大。

但比喻的边界要交代。草稿打得久不保证想得对:跑偏的草稿会把答案带进沟里,而且它照样按字数计费,想得越久越慢、越贵。简单题上多想几分钟,除了啰嗦和账单没有别的好处——问今天天气,没人愿意等它沉思半分钟。于是产品里又长出一道分诊:哪些题值得深思,哪些题快答,先由一道轻巧的判断分流。

打草稿的本事哪来的?得有人批改。批改的工具是强化学习(reinforcement learning,见第六章):AlphaGo 靠一盘棋的输赢学会下棋,没有人教它每一步怎么走,只告诉它最后是赢是输;o1 靠一道题答案的对错学会"怎么想",同样只给最终成绩,不给批注。第八章还讲过,ChatGPT 用人类反馈学会把话说得体面,那需要人逐句示范(见第八章);推理模型把同样的思路用在思考过程上,只是反馈省事得多——对了就是对了,错了就是错了,机器自己批自己的卷子,一天能考几十万场。

更深的意外来自 2025 年 1 月的 DeepSeek R1。这家中国公司用纯强化学习训练模型:不给人类示范的"标准思路",不看人类怎么一步步解题,只看最终答案的对错打分,让模型自己摸索。结果,思维链(chain-of-thought,即思考的草稿)不是教的,是自己长出来的。训练记录里,模型会在中途写下类似"等等,刚才好像不对,重来"的句子,推翻自己,另起一条路。没有人教过它自我怀疑,是"多想一步能得高分"这件事,把这个习惯逼了出来。

像什么呢?像没人教孩子说"让我想想",但他在反复对答案的过程中自己琢磨出了这个习惯——因为他发现,先在草稿纸上试错的人,最后交卷的成绩更好。边界在于:这是练习里长出来的应试策略,不是天生的反思能力——它学到的是哪种说法更容易得分,而不是什么叫诚实。训练日志里那些"等一下,我错了",读起来像自省,本质上更像一种碰巧得高分的话术。

R1 还带火了一个词:蒸馏(distillation)。把大模型生成的思考过程当教材,喂给小模型,让小模型也学会先想后说。好比大厨带学徒:把做菜全程录下来给学徒看,学徒照着练,能做到七八成水准,工钱只是零头。边界照旧:学徒不会因此超过大厨,菜谱之外的新菜照样露怯;学到的是"怎么像",未必是"为什么对"。但七八成配零头工钱,这笔账在多数场景下划算得惊人。

二、从会说到会做

会想了,下一步是动手。能自己拆解任务、调用工具、看反馈、接着干到办完为止的模型,统称智能体(agent)。聊天模型像顾问:你问,它答,动手的是你;智能体像实习生:你交代一件事,它真的去把活干完——顺便也可能把文件放进错误的文件夹。

这两种身份的差别,出在"一来一回"上。以前你和模型的关系像自动售货机:投币,出货,交易结束,下一件事还得你重新发起。智能体干的是连续的活:把一件事拆成十几个步骤,做一步,看一眼现场,再决定下一步。你交代"帮我订下周三的餐厅",它去查日期、搜餐厅、看空位、填表单、等确认,中途页面变了或者报错了,它自己看见,自己调整。这个"行动—观察—再行动"的节奏,第六章的读者不会陌生:DQN 盯着游戏画面选动作,AlphaGo 在脑内推演几十步再落子(见第六章),都是同一个循环。只是那时机器人在打游戏,如今在订座位。

2024 年 10 月的计算机使用是第一份能力证明。它不接特殊接口,不走网站提供的后门,用人的方式操作电脑:把屏幕截图当眼睛,把移动和点击光标当手。难点明摆着——人看屏幕,看见的是"登录"按钮;模型看见的是几百万个像素点的数字。它得先从这堆数字里认出哪儿是按钮,再算出按钮的坐标,再指挥光标挪过去。人类觉得"看见"理所当然,机器的每一步都得挣。所以它点错、卡住、把同一个窗口打开又关上,慢得让人替它着急。但方向定了:机器从对话框里伸出了手。

2025 年,这条路铺开。1 月,OpenAI 的 Operator 接管浏览器,订座位、填表单这类网页杂活交给它;7 月,ChatGPT Agent 把浏览、整理、执行装进同一个界面,你交代一件事,它带着一整套工具去办。更安静也更彻底的变化发生在代码上。编码智能体不再满足于补全下一行——你写下一段需求,它自己读代码库,找相关文件,改代码,跑测试,看到报错,回头再改,直到测试全绿,把改动交给你审。像一位不用睡觉的同事接了你的工单。2025 年的 Claude 4、8 月的 GPT-5、11 月的 Gemini 3 都把这里当主战场。到 2026 年,写代码的智能体和操作桌面的通用智能体从演示品变成日常工具。

代码为什么先沦陷?因为车间最像实验室:程序能不能跑,测试一跑就知道,对就是对,错就是错,没有"见仁见智";写坏了,版本管理系统一键回退,损失有底。给实习生的第一个岗位,本来就该安排在能回退的地方。当年深度学习先在图像识别上立足,也是同一个道理——评测清楚、反馈及时的地方总是先变(见第五章)。两年前人们说模型是"副驾驶",你开车,它提醒;到编码智能体这里,它坐进了主驾,你负责提需求、查结果。边界仍是实习生的边界:关键操作旁得站个能喊停的人——付款、删文件、对外发邮件这类不可撤销的动作,产品里通常留着一步等人点头。信任是一格一格给的。

工具多了,接口成了新瓶颈。日历、邮箱、数据库、支付,每接一个新工具就单独写一套适配,像每种电器配一种专用插座,墙插满了,还是不够用。2024 年 11 月,Anthropic 发布模型上下文协议(Model Context Protocol,MCP):给模型和工具定一个统一插头标准,工具照标准写一遍,支持协议的模型都能即插即用。2025 年 12 月,Anthropic 把它捐给 Linux 基金会,一家公司的协议变成了公共基础设施——像当年统一了铁路轨距,火车才跑得远。当然,插座统一不代表什么电器都能往公共插排上插——权限、安全、付费,仍得有人把关。

三、聪明变便宜的那一年

第三条线索最不像技术故事,因为它发生在账本和股市里。

2024 年 12 月,DeepSeek 发布 V3。公开的数字是训练成本约 558 万美元。口径要说清:这是最终那次正式训练的算力开销,不含此前无数轮实验、数据和人力——好比楼盘公布的是最后那栋楼的造价,不含打地基前塌掉的三版图纸。即便如此,它也远低于外界对同等规模模型训练花费的想象。省钱的诀窍之一是专家混合(Mixture of Experts,MoE):把一个大模型拆成许多专科医生,每个问题只请相关的几位出诊,不必全院总动员。普通大模型更像全院会诊——不管看什么病,所有科室都到场,一半人在旁边看热闹。MoE 模型里坐着几百位"专科医生",处理每个词只唤醒其中一两位,算力花在刀刃上。边界:分科需要分诊台,模型里那台指路的路由器要是分错了科,答案立刻变外行;而且把一台完整的模型拆成专科再装好,训练本身也更难伺候——省的电,费在管理上。

2025 年 1 月,DeepSeek 再发 R1——开源的推理模型,权重公开,谁都能下载、自己部署,它就站在 V3 这具底座上。上一节的"会想"和这一节的"便宜",在它身上接到了一起。开源意味着什么?意味着工厂图纸公开了:企业可以把它装进自己的机房,数据不出门;预算有限的团队也能用上会思考的模型。闭源模型像只租不卖的成品,性能再好,你始终住在别人的地基上。

市场的反应比论文的反响剧烈得多。1 月下旬,英伟达股价单日下跌约 17%,市值蒸发规模在美股历史上罕见。口径与争议都要交代:把一整天的抛售记在一家公司头上过于简单,那天卖出的人各有各的理由;但市场确实在那天重新核了一遍"算力稀缺"这个前提——如果更少的芯片也能训练出会思考的模型,芯片的故事就得重讲。英伟达卖的正是芯片。

更长的影响不在股市,在生态。蒸馏又把"会想"的本事下放到小模型里,一台普通电脑也能跑起会思考的模型。单位智能的价格一路下探,用的人随之暴涨。这不算新故事:照明又贵又费劲的年代,人们天一黑就睡;电灯把光的价钱打下来之后,没有人为省电费少开灯,反而是装灯的地方越来越多——路灯、橱窗、广告牌,从前用不起光的地方全亮了。智能也一样:价格降下来,需求不是省出来了,是被用到了从前用不起的地方。聪明不再稀缺之后,竞争挪去了别处:看谁能把"想"和"做"串得更长,看谁的回答更可靠。

四、AlphaFold:更早交出的答卷

把时间拨回 2020 年 11 月。一项名叫 CASP 的国际评测考了同一条压轴题:给一串氨基酸序列,预测蛋白质折叠成的三维结构。

先说这道题为什么值钱。细胞像个工厂,DNA 是档案库,存着图纸;真正干活的是蛋白质——搬运物资、催化反应、抵御入侵,细胞里的活计大半由它们承担。图纸上一串字符,决定一条由二十来种氨基酸串成的链;这条链必须折叠成特定的三维形状才能上岗,好比钥匙的齿形不对,哪扇门都打不开。而新药设计的第一步,往往就是搞清目标蛋白长什么形状——知道锁长什么样,才好配钥匙。麻烦在于,一条链的可能折叠方式是个天文数字,挨个试到宇宙热寂也试不完;但从序列推出形状,这个难题困扰了科学界半个世纪。

CASP 像一场两年一届的盲测考试:评委手里握着实验室刚测出的真实结构,参赛模型绝无可能见过考题。那一届,DeepMind 的 AlphaFold2 交出的答卷,把预测精度推到了被广泛认为逼近实验测定的水平——习惯了每年一小步的评委们,看见的是一步跨过了大半个世纪。2021 年,论文发表,模型开源,一个公共数据库上线,里面存着模型预测的大量蛋白质结构;世界各地的实验室把它当日常工具查用,查结构的功夫从按年计变成了按秒计。

氨基酸链像一根会自己打结的绳子:同样的绳子总能打成同一个结,但从绳子推断出结的样子,几十年里没人做得到。AlphaFold2 学的是打结的规律——看足够多的绳子和结,学会从绳子推结。拆开它的内部,同样是注意力机制的地盘:让序列里的每一段都"看一眼"其他段落,掂量彼此的亲疏远近(见第七章)。边界要讲明:它给地图,不解释地形。预测出最终形状,不等于讲清折叠一步步怎么发生、受什么力驱使;"为什么偏偏折成这样",仍要科学家自己回答。地图足够准,找路的人已经省了十几年。

这段往事放进本章,是因为它回答了一个更大的问题:这条从神经元一路走来的连接主义主线(见第一章),除了聊天、画画、下棋(见第六章),能不能交出经得起科学检验的成果?AlphaFold2 是第一次验收:学出来的模型,在悬了半个世纪的问题上给出了可复查的答案。2024 年,诺贝尔化学奖颁给 AlphaFold 的缔造者 Hassabis 和 Jumper,物理学奖颁给 Hopfield 和 Hinton——后两位的神经网络理论,正是第一章那台会算数的开关机器的远祖(见第二章)。两座奖杯落在同一条技术脉络上。也有人不服,认为奖项奖励的是工具而非发现;这桩公案没有结论,连同"机器究竟会不会思考",一并留给第十二章。

回到 2026 年。编码智能体在写代码,桌面智能体在点鼠标,推理模型在草稿纸上多写几步,小模型在便宜的硬件上学大模型的样子思考。回头看,这一章的三个主角其实是同一枚硬币的三面:机器从"会说话"挪向"会办事",多想一会儿是它办事前的功课,效率革命决定了这门功课能铺多快。机器算不算在思考,图灵 1950 年就建议换个问法(见第一章);可以核实的是,它们的答卷已经有人签字验收——从用户,到市场,再到斯德哥尔摩。

三句话小结

推理模型把算力从训练挪到回答之前——先打草稿再作答,草稿的功夫不是教的,是纯强化学习练出来的。会想之后是会做:智能体接管屏幕、浏览器和代码库,MCP 把工具接上统一插座,DeepSeek 和 MoE 把聪明的单价打了下来。更早的 AlphaFold2 证明过一次:学出来的模型,能交出经得起科学检验的答卷。

第十一章 给机器一个身体

最难的题在幼儿园

2025 年 4 月,北京亦庄,一场半程马拉松的起跑线前站着的不是人,是二十来台人形机器人。这是这个物种第一次长跑考试。成绩单不忍细看:一路上机器人接连摔倒在赛道边,有的跑丢了外壳,有的被工程师架着胳膊继续往前挪。冠军是跑完了,用时两个多小时——人类业余爱好者跑同样的距离,通常一个半小时上下。

同一年,还是 AI:它写得出能通过大厂面试的代码,答得过职业资格考试,能把一份五十页的合同读完,顺手挑出藏在附则里的陷阱条款。

把这两件事放在一起,会觉得哪里不对劲。会写代码、读合同的机器,怎么会连直着跑二十公里都费劲?

这个别扭不是错觉。1980 年代,卡内基梅隆大学的机器人学家 Hans Moravec(汉斯·莫拉维克)把它总结成了一条规律,后人叫它莫拉维克悖论(Moravec's paradox):对计算机来说,难的和容易的,跟人的直觉正好相反。让机器在智力测验或棋类上达到成人水平,相对容易;让机器拥有一岁孩子的感知和动作能力——认出桌上的杯子、伸手抓住它、绕开地上的玩具——困难得近乎不可能。

道理藏在演化里。下棋、做算术、写论文,是人类最近几千年才发明的新手艺,演化来不及参与,我们学起来自然磕磕绊绊;而看、抓、走、躲,被几亿年的演化反复打磨,技能深埋在最底层,好用到我们感觉不到它的存在。麻烦恰恰出在"感觉不到":我们判断"难"的依据是"我自己费不费力",可最不费力的那些本事,往往是最深的。一个五岁孩子搭积木、认人脸、跨门槛的本事,至今没有哪台机器能完整学会。

这个误会可以用老司机来说明。问一个开了二十年车的人怎么踩刹车,他多半答不好——时机、脚感、余光,全是自动化了的直觉,说不出口。让同一个司机写一篇驾考心得,倒是文思泉涌。能说清楚的往往不难,说不清的才是硬功夫。AI 的历史进度条,被这条直觉骗了一路:符号主义时代就发现,让机器推定理容易,让机器认杯子难——第三章写过的那堵"常识之墙",墙基就砌在这里。

工程史也撞过同一堵墙。六十年代末,斯坦福研究院造出了一台会规划的轮式机器人 Shakey:给它一个"把箱子推过去"的任务,它会认真推理出一串步骤——认真到执行一个简单任务要"想"很久很久,久到电池先撑不住。推理引擎是有了,身体一毫米没跟上。

转机来自第一章里最不起眼的那条路。行为主义者的主张是:别搞中央推理了,让身体和环境的互动直接产生智能。八十年代中期,MIT 的 Rodney Brooks(罗德尼·布鲁克斯)造出了六条腿的机器"昆虫",不装规划器,靠几组简单控制器互相拉扯,就能爬行、避障。他有句名言:世界本身就是它最好的模型——与其在脑子里复刻一个世界,不如直接看世界。第一章说过,行为主义当年输在算力连一只电子蟑螂都养不起;到了八十年代末,算力勉强够养几只了。它们的后代,就是今天满地跑的扫地机器人和仓库里的搬运机器人。

莫拉维克悖论还附赠了一张时间表:既然脑力活儿对机器最简单,体力灵巧活儿最难,那么自动化就会倒着来——先替代办公室里的写作和算账,最后才轮到水管工和保洁员。三十年后回看,这张表大体应验:2026 年的 AI 已经在改稿子、写代码,而给你家通下水道的还是人。

从手把手到梦里练车

机器人是怎么学东西的?这个问题的答案在半个世纪里换了好几茬,每一茬都对应一种新的学法。

最老的学法叫示教(teaching)。1961 年,通用汽车的生产线上出现了第一台工业机器人,干的是搬运滚烫金属件这种危险又没人抢的活。它"学会"的方式是:工程师带着机械臂把动作轨迹走一遍,它记住,然后重复一百万次。这个范式统治了工业机器人六十年,成就巨大,局限也巨大——它像流水线边的老师傅,在同一张桌子、同一个位置、同一个动作上稳如钟表;但你把桌子挪开十厘米,或者换一个形状的盒子,它立刻变成废物。所以工业机器人几十年来一直住在围栏里:不是怕它伤人,是它的世界必须一动不动。

深度学习先把机器人的眼睛打开了(见第五章):卷积网络认东西的水平终于及格,机器人至少"看得见"桌面上的杯子了。接下来是模仿学习(imitation learning):人戴着传感器亲手操作,或者用摇杆遥操作(teleoperation)机械臂,把每一段动作录下来,喂给神经网络照葫芦画瓢。学出来的机器人确实能干活了——代价是数据贵得吓人。

这里机器人撞上了自己的第一堵墙:数据之墙。语言模型为什么长得那么大?因为互联网上躺着人类几千年攒下的文本,白给,随便读。机器人没有"动作的互联网"——世界上没有任何一个角落存储着"如何抓起一个杯子"的万亿条记录。每一段操作数据都要真人现场演一遍,演一小时就是一小时人工,环境一变还得重来。文本以万亿计,机器人轨迹以万计,两个数字之间隔着好几个零。这就是为什么在 2020 年代之前,机器人学习始终是实验室里的小手艺:不是方法不行,是吃不起饭。

出路之一出人意料:去梦里练。

围棋那边(见第六章)已经演示过一次:AlphaGo 能自我对弈几百万盘,前提是棋盘可以被完美模拟——规则全知,落子即见分晓,仿真的成本约等于零。物理世界仿不了那么准,但"仿个大概"总行吧?GPU 加持的物理引擎让一件奢侈的事变成日常:同时开几千个虚拟机器人,在一个虚拟厨房里摔打。飞行模拟器早就证明了这条路的价值——没有一个飞行员是先上真飞机的。

OpenAI 在 2019 年前后演示过这种学法的极限:一只五指机器手,几乎完全在虚拟世界里练习转魔方,等效练习量远超一个人一辈子能练的次数,练成之后一次性搬到真实的手上——真的转开了。虚拟学成、现实上岗,这条路后来有了一个统一的名号,叫 Sim2Real。

但虚拟和现实之间有一道缝:仿真到现实的落差(Sim2Real gap)。仿真里的世界太干净了——摩擦是常数,光照均匀,桌面永远是平面,东西从不形变。真实世界的魔鬼全在缝里。缝上的标准解法叫域随机化(domain randomization),思路听起来像故意使坏:既然仿得不像,那就每回都仿得不一样——重力随机改,摩擦随机改,灯光颜色随机改,物体表面贴满乱七八糟的花纹,逼着模型放弃死记环境,只学最通用的那点本事。这就像把学员司机扔到雨天、砂石路、坑洼地上各练一遍,等他上了正经公路,反而稳得很——什么路都见过的司机,最不容易慌。

比喻说到这要打住:随机化不是万能咒语。绳子、布料、面团这类会软会缠会塌的东西,至今在仿真里都做不真——所以机器人能搬起箱子,却一直学不会系鞋带。缝还在,只是窄了些。

给语言模型换一副手

2020 年代初,两条各自发展的线碰了头。一条是第八章讲的大模型:读遍互联网的语言模型先学会了"看图"(多模态),对世界的描述能力达到了前所未有的水平。另一条是本章讲了一半的机器人学习:方法有了,缺的只是数据和理解力。

2022 年,Google 的团队先把两根线拧在了一起,做出了 RT-1(Robotics Transformer)。思路说穿了很朴素:既然语言模型吃"词",那就把动作也切成"词"——机械臂每一次移动、夹爪每一次开合,统统编码成一串 token,然后用第七章那套 Transformer 架构去训练。它吞下十几万段真人遥操作的数据,学会了执行上百种桌面指令:把薯片袋递过来、拉开抽屉、把海绵挪到水槽边。机器人学习从此借用了大模型时代的配方。

真正的关键一步在 2023 年,叫 RT-2。此前的 RT-1 从机器人数据里学语义——数据里没见过的东西,它就不认识。RT-2 干脆不从零开始:拿一个读遍互联网图文的多模态大模型,把"输出文字"的那一层换成"输出动作"。这一类模型从此有了自己的名字:VLA(vision-language-action,视觉-语言-动作模型)。

打个比方:RT-1 像招一个新员工从零教起;RT-2 是直接给一位见多识广的人配一双手——原来用来说话的"嘴",现在长在了手指上。见效的地方很能说明问题:你对它说"把桌上的恐龙捡起来给我"。机器人数据里几乎没出现过恐龙玩具,但互联网图片里遍地都是。这个知识从网页一路流进了机械臂——第八章讲过的涌现能力,在身体上又显灵了一次。

VLA 一出,全行业闻风而动。但数据的墙还在原地:大模型吃的是全人类的互联网,每个实验室的机器人吃的还是自家那一亩三分地。2023 年底,二十多家机构干脆把家底摊到了一张桌子上,组成 Open X-Embodiment(开放具身数据联盟):各家贡献自家机器人的操作数据,上百万段轨迹,来自二十多种不同的机器人——单臂、双臂、轮式、四足都有。各家机器人的"方言"不同:机身不一样,相机装的位置不一样,连夹爪有几根手指都不一样,这份合订本等于一本跨方言词典。用词典训练出的模型(RT-X),在多种机器人和多种任务上都超过了各家单独训练的版本。这是机器人领域第一次验证了那条大模型时代最硬的规律(见第八章的缩放定律):数据多,就是好使。

十几年前,ImageNet 数据集把计算机视觉点着了(见第五章)。这批人想给机器人复制同一场火。

快与慢,以及一张人形的脸

接下来该谈谈人形了。2024 到 2025 年,人形机器人以肉眼可见的速度占领了发布会和短视频:宇树的机器人在 2025 年春晚舞台上扭了秧歌;特斯拉把人形机器人排进了量产时间表——时间表本身已经改过几轮;Figure 的机器人开始进工厂试工。为什么突然人人都想造一个"人"?这背后有一场认真的争论。

正方的理由很朴素:整个物理世界是按人手人脚的规格造的。楼梯的坡度、门把手的高度、货架的间距、每一件工具的握柄,全是人形的接口。打个比方:世界是一把人形的锁,人形机器人是配这把锁最省事的钥匙——你不需要把全世界的仓库改建一遍,钥匙照着锁的形状打就行。何况人类干活的照片和视频遍地都是,一个人形机器人天然"读得懂"。

反方的理由更朴素:轮子比腿便宜得多,也皮实得多;给机器人配双腿,是工程上最昂贵的浪漫——直立行走本来就号称是演化攒了几百万年才过关的难题。仓储业里干得最好的机器人至今是圆底盘加一个夹爪,不好看,但从来不摔跤。

这场争论没有裁决。不过不管造什么形状,机器人都躲不开一个新问题:脑子不够快。

VLA 的大模型"想一想"要几百毫秒,而抓稳一个会滚的鸡蛋,反应窗口比这短得多——人的手臂做精细动作时,肌肉每秒钟要微调上百次。让大模型直接控制手指,相当于让总经理追着流水线拧每一颗螺丝:他会的,但节奏根本跟不上。

2025 年,Figure 公布的 Helix 系统给了一个代表性的答案:把脑子分成两拍,业内叫双系统(dual-system)。慢系统是一个大号多模态模型,负责看懂局面、听懂指令、定计划,每秒只"想"几拍;快系统是一个很小的动作网络,每秒上百拍,只干一件事——把意图翻译成连续的电机指令,东西滑了、位置偏了,当场纠正。这个分工容易让人想起心理学家卡尼曼在《思考,快与慢》里的说法:人有快与慢两套思考。比喻的边界也要交代:人脑的两套系统并没有泾渭分明的两个办公室,机器这边倒真像船长和舵手——船长看海图定航向,说话慢条斯理;舵手盯着浪头打方向,喊的都是短句。两人一慢一快,但船只有一个航向。Helix 的演示视频里,机器人把一袋刚采购的杂货逐件放进冰箱,其中包括一些训练时从没见过的东西。几个月后,Google 发布了 Gemini Robotics,走的也是同一条路:旗舰大模型管理解,专用的动作通路管出手。

脑内的小剧场,和没解完的题

VLA 解决了"听懂指令、伸出手去",但离"像人一样在现实里过日子"还差一层东西。Yann LeCun(杨立昆,深度学习三巨头之一)对此有个刻薄而准确的比喻:今天的大模型是一个读遍万卷书、从没出过门的人——它读过一万次"杯子从桌上掉下去会碎",能就重力发表演讲,但它从来没有"感觉"过重力。语言里有世界的影子,身体上没有。

他主张,智能真正缺的那块拼图叫世界模型(world model):在脑子里装一个模拟器,用来预测"我这样做,世界会变成什么样"。其实你每天都在用它——伸手去够高处的水杯之前,你已经预演过它摇摇晃晃的样子,所以会先挪开笔记本电脑。下棋的人管这个叫心算(见第六章):AlphaGo 之所以能自我对弈,是因为棋盘可以被完美模拟,推演是真的。物理世界的难处在于模拟器本身造不准——这又绕回了 Sim2Real 那道缝。

2018 年有一篇知名的论文干脆把这件事叫"做梦":让智能体先学会一套自己的小模型,在模型里排练、试错、摔打,学费全免,醒来再把本事搬到现实。视频生成模型(见第九章)的爆发让这个思路多了一个可能的底座:在生成海量视频的过程中,模型确实学会了"松手的东西会往下掉"这类统计规律。但要泼一盆冷水:它也会生成违反物理的镜头,而且生成得理直气壮——背下了规律的模型,不等于装上了物理引擎。2024 年,李飞飞创办了 World Labs,押注的方向她叫作空间智能(spatial intelligence):让 AI 真正理解并生成三维世界。世界模型这件事,从一个人的主张变成了一个行业的选择。

为什么这么多聪明人扎堆往"身体"上冲?原因一半是理想,一半是算术。语言智能的燃料是互联网文本,而文本有开采完的一天,第十章讲过的效率革命,本质上都是在省着烧。物理世界那边是完全没开采的大陆:做饭、护理、盖楼、接线、分拣——人类经济的大头至今长在"身体"上。谁先让机器可靠地干这些活,谁面对的就不再是订阅费,而是工资。

冷静的部分现在开始。

演示视频不等于可靠产品。一段两分钟的冰箱收纳视频,背后是安排好的灯光、桌面和物品;发布会的惊艳与连续数月的无人化作业之间,隔着的工程量经常比已经走完的路还长。前言里说过,2026 年的 AI 已经能操纵机械臂叠衣服——能演示叠一件,和能在你家的洗衣篮前连着叠完一筐,中间隔着的正是下面三道题:

所以,2026 年的具身智能更像哪一年的语言模型?大概像 2016 年前后的样子:方向已经照亮,方法有了雏形,产品还早,而且比宣传材料上写的还要早很多年。莫拉维克四十年前出的那张考卷,AI 刚开始动笔——第一道题出在幼儿园。

马拉松上摔倒的那些机器人,明年还会再来。它们摔倒的地方,大概就是这个行业真实的位置:在地面上,不在视频里。

三句话小结

莫拉维克悖论说,AI 最难的恰是对人最本能的事:感知与运动被几亿年演化打磨得太好,好到我们误以为它们简单,于是自动化的次序倒了过来,脑力劳动先被冲了。机器人学习沿着示教、仿真、Sim2Real 走到 VLA:域随机化把虚拟经验搬进现实,读遍互联网的大模型把语言接上了机械臂,Open X-Embodiment 第一次把全行业的机器人数据烧进了同一座炉子。双系统让慢思考与快控制分工,人形与世界模型押注的是通用与常识,但演示视频不等于可靠产品——长时程、触觉与安全,仍是没解完的题。

第十二章 我们走到哪了

一条线的全长

把这本书压扁,就是下面这几步。

1943 年,大脑被简化成一个开关网络——智能也许可以被人造出来,第一次有了数学形状。1950 年,图灵把"机器会思考吗"这个坏问题换成好问题,并埋下"教它而不是写它"的伏笔。1956 年,这个领域有了名字,以及一份过分乐观的工期表。然后是两次寒冬:写规则的人撞上组合爆炸和常识之墙,造网络的人被单层的天花板扣住,钱和耐心一起退潮。

翻盘用了三样东西:互联网攒下的数据、游戏显卡算力、1986 年就发表却一直缺柴火的训练方法。2012 年,三者拧成一股,AlexNet 在 ImageNet 上一骑绝尘——机器第一次真的"看见"了。接着它学会了下围棋(2016)、学会了用注意力取代记忆(2017)、学会了用规模换能力(2020)、学会了和人对话(2022)。再往后,它把"多想一会儿"变成了新算力(2024),把回答问题的嘴变成了操作电脑和机械臂的手(2025—2026)。

七十多年,主语其实一直没变:那台从经验里调整自己的机器。变的是它拿到的三样东西——数据、算力、更好的学习机制。每一轮爆发都能拆成这个乘法,每一次寒冬都是其中一项归零。

真实的边界

行文至此,该把热情收一收,看看 2026 年秋天这台机器真正的边界。下面这张清单,可能比书里任何一章都更接近"这本书的用途"。

它没有真正的记忆。 模型的"知识"冻在训练完成的那一刻,对话中学到的东西关掉窗口就没有了——上下文窗口是一次性的工作记忆,不是长期记忆。你没法像带一个新同事那样带它:干半年活,越用越懂你。每次都是新人,只是简历很好看。持续学习(continual learning)在实验室里有进展,在产品里基本缺席。

它会一本正经地编造。 模型的本职是补全最合理的文字,不是核对事实。"幻觉"(hallucination)不是 bug,是它的本职工作冒出的副产品——这决定了用它的正确姿势是核查它给的关键事实,而不是背诵。越专业、越冷门的领域,幻觉越要小心,因为它编造得越像真的。

它的推理是租来的。 推理模型确实能解奥赛题了,但那份能力是"花算力想出来的",不是像数学家那样内化成直觉的。去掉思考预算,成绩立刻掉回去;换一个训练里没见过的题型,也会露馅。它像开卷考试的高手,闭卷功力并不真的存在。

它没有身体,所以缺一整层常识。 "把香蕉放进冰箱"这句话对它是符号,对你是重量、滑腻的手感和门缝的宽度。莫拉维克悖论没有过时:对人最难的对它最容易,对人最容易的对它最难。机器人学正在补这一层,但演示视频和可靠产品之间的距离,机器人领域的人心里最清楚——那条路上摔过的每一代人都以为自己只差五年。

它不解释自己。 数十亿个参数共同决定一个输出,没人能指着某个参数说"它在这里想的是这件事"。可解释性研究在前进,但离"打开黑箱看图纸"还远。你得到的每个答案,背后都没有一句"因为……所以……"能被拿出来给你看。

把这张清单读两遍,你会发现它和第十二章之前的一切是自洽的:缺记忆,因为训练和使用的机制是割裂的;会编造,因为它本来就是一台概率补全机;缺常识,因为它见到的世界只有文字和像素。短板不是工程上的疏忽,而是这条技术路线本身的形状。知道形状,就知道哪些任务放心交给它(容错高、可核查、模式化),哪些要亲手来(事实性、高风险、需要担责)。

悬而未决

有三个问题,此刻没有答案,而且每个都值回票价。

其一,规模还有多远? 这十年最大的经验是"大力出奇迹",但缩放定律的收益正在放缓(见第八章、第十章),推理算力接过了接力棒(第十章)。下一个数量级的提升会来自更大的模型、更好的数据、更聪明的训练方法,还是三者之外的什么?没人能拍胸脯。历史上这个领域两次在"最后一公里"的判断上摔过大跟头——一次过于悲观(1970s),一次过于乐观(1950s、1980s)。

其二,这条路通往"理解"吗? 模型下棋能赢世界冠军,写作能过图灵测试的变体,但它"理解"自己在做什么吗?这不再是哲学装饰题,而是工程判断题:如果内部只是统计模式的拼接,那么某些能力(长程规划、真正的新知识发现)可能永远差一口气;如果内部真的长出了世界的模型(第十一章的世界模型一节),那么天花板就高得多。目前两边的证据都有,谁也说服不了谁。

其三,AGI 之辩怎么收场? "通用人工智能"这个词的热度起起落落,定义却越用越松。一个诚实的观察是:1956 年达特茅斯会议上的那份工期表已经错了七十年;但 2015 年"围棋还要再等十年"的判断只错了一年。这个领域既反复高估短期,又反复低估长期——对 AGI 何时到来的所有具体预测,都应该同时揣着这两条历史教训来读。本书的立场写在第一章:判断一件事,看"现在的问题有没有被解决",比看"谁在预测什么"可靠。

看见之后

这本书的书名叫《看见智能》。所谓看见,不是看懂每一个参数,而是三件事:看见它的来路——知道它是被什么样的问题逼出来的;看见它的形状——知道它的长处和短板是同一段设计的两面;看见它的方向——知道它此刻正被推着往哪里走。

最后回到开头的那个人。在 1950 年那篇论文的结尾,图灵对"机器能思考吗"这个原始问题给出了裁决:它太无意义了,不值得讨论。而在同一篇文章更早的地方,他预言:到本世纪末,人们的用词和普遍看法会改变太多,以至于谈论"机器在思考"时,再没有人觉得需要反驳。

他没想到的是,他设计的那个分不清人与机器的小测试,自己先被时代绕了过去——今天的 AI 想让你认出它是机器,客服机器人开口先道歉,聊天助手落款写明身份。分不清,反而成了需要立法防范的麻烦。

七十六年前他留下的那个真正的伏笔——造一个孩子的机器,然后教它——倒是应验了。机器如今读着人类写下的几乎全部文字,代价是数千吨二氧化碳和一座电站份额的电,学会了我们说话、画画、推演的方式的一部分。它仍然不知道烤面包的气味,不知道初恋的滋味,不知道把水杯放进背包是什么手感。

但它已经在替我们写代码、读片子、翻袜子了。

关于这一切究竟是"智能"还是"高级的复读",争论还会持续很多年——也许图灵说得对,这本来就是个坏问题。能确定的只有一件事:教机器这件事,我们已经会了;教它什么,轮到我们来定。

这本书的正文到此为止。附录里有一张年表和一份术语表,留给往后某个想快速核对某个名字、某个年份的你。

三句话小结

七十多年的历史可以压缩成一个乘法:从经验中学习的机器 × 数据 × 算力 × 学习机制,每次爆发是三项同时到位,每次寒冬是其中一项归零。这台机器当前的真实边界包括:没有跨对话的长期记忆、会一本正经地编造、推理能力依赖租来的思考时间、缺少身体带来的常识、无法解释自己——短板是路线本身的形状,不是工程疏忽。这个领域反复高估短期又反复低估长期,判断未来最可靠的锚点是"眼前的问题有没有被解决",而不是任何人的预测。

附录 A 大事年表(1943—2026)

收录本书正文提及的关键节点。有些日期以论文提交或会议报告为准,与正式发表或产品上线日可能相差数月。

萌芽(1943—1956)

第一次寒冬(1957—1980)

回暖与第二次寒冬(1980—1993)

机器学习的长坡(1993—2011)

激变(2012—2016)

注意力与大模型(2017—2023)

推理、智能体与身体(2024—2026)

附录 B 术语表

按主题分组,只收录本书正文出现的术语。每条一段话,讲清"它是什么、解决什么问题"。

基础与历史

人工智能(artificial intelligence):让机器完成通常需要人的智能才能完成的任务的整个领域,1956 年达特茅斯会议为它命名。

机器学习(machine learning):不直接编写规则,而让程序从数据中自己找出规律的方法总称。它的三要素是数据、模型和损失函数:模型给出预测,损失函数度量预测离正确答案有多远,训练就是不断调整模型让平均损失下降。

损失函数(loss function):给"模型这次的预测错得有多离谱"打分的标尺。训练的全部目标就是让它在训练数据上的平均分越来越低。

图灵测试(Turing test):图灵 1950 年提出的操作化检验——若一台机器在文字对话中让人分不清它是机器还是人,就没有理由否认它会思考。它的价值在于把一个哲学争论改造成了可失败的实验。

感知机(perceptron):Rosenblatt 于 1957 至 1958 年提出并建造的单层学习模型,是人工神经网络的第一个可训练版本,也是本书主线的最早起点。它的致命局限是无法处理异或这类线性不可分的问题。

异或(XOR):一种基本的逻辑运算,"两个输入不同时输出为真"。单层网络学不会它,这个结论在 1969 年被证明后,直接导致神经网络研究进入长期低谷。

组合爆炸(combinatorial explosion):搜索的分支数随深度指数式增长的现象。往后看十步棋,可能的局面数就超过了可观测宇宙的原子总数——这让"穷举一切"的朴素思路彻底失效。

专家系统(expert system):把领域专家的知识写成成千上万条"如果……那么……"规则的程序,1980 年代曾在商业上风光一时(如 XCON),后被高昂的维护成本压垮。

AI 寒冬(AI winter):资助与信心同时退潮的时期。这个领域经历过两次:约 1974 至 1980 年,以及约 1987 至 1993 年。

深度学习与视觉

神经网络(neural network):由大量简单的计算单元分层连接而成的网络,灵感来自大脑神经元。每个单元把输入加权求和,超过阈值就向下一层传递信号。

权重(weight):连接之间的强度数值。所谓"学习",本质上就是把这些数字调到合适的值。

梯度下降(gradient descent):找让损失变小的方向并小步前进的优化方法,像蒙着眼下山——每一步都朝脚下最陡的下坡方向走。

反向传播(backpropagation):从输出端的错误出发,逐层往回计算每个权重该为错误负多少责任、该往哪调的方法。它在 1970 年代就有人推导出来,1986 年的论文让它广为人知,是多层网络得以训练的关键。

深度学习(deep learning):层数很多的神经网络。层数一多,网络就能逐级提取越来越抽象的特征——从像素边缘到纹理,再到部件和物体。

过拟合(overfitting):模型把训练数据背得滚瓜烂熟,却在新数据上表现糟糕,就像只背答案不理解方法的学生,题目换个数字就不会了。

泛化(generalization):模型在没见过的数据上照样表现良好。这是机器学习的真正目标,也是它与死记硬背的分界线。

卷积神经网络(CNN):专门处理图像的神经网络,靠一个在整张图上滑动的"小窗口"捕捉局部特征,因此在图像识别上既高效又准确。

ImageNet:一个包含上百万张标注图片的公开数据集,2012 年 AlexNet 在此夺冠,点燃了深度学习革命。

ResNet:2015 年提出的残差网络,用"抄近路"的连接让上百层的网络也能顺利训练,是深度网络能越堆越高的关键一招。

语言模型

词向量(word embedding):把词变成一串数字坐标,使意思相近的词在空间中彼此靠近。2013 年的 word2vec 让这一想法普及,"国王减男人加女人约等于王后"是它最著名的演示。

循环神经网络(RNN):按顺序逐个读入文字、并携带一份"记忆"往下传的网络。它的弱点正来自这个传递方式——信息经过很长一段就会衰减遗忘,像传话游戏传到最后一句。

注意力机制(attention):让模型在处理某个位置时,直接看向输入中所有相关的部分并加权取用的机制,从而绕开了"记忆必须逐个往后传"的瓶颈。2015 年它被用于机器翻译,效果立竿见影。

Transformer:2017 年《Attention Is All You Need》提出的架构,完全用注意力取代循环和卷积。它的并行性与可扩展性,使大规模语言模型成为可能,今天几乎所有主流模型都是它的后代。

自注意力(self-attention):Transformer 的核心机制:让一句话里的每个词都去和全句所有词互相比对、互相加权,从而同时把握长距离关系。

预训练(pre-training):先在巨量通用文本上训练模型,让它学到语言的一般规律,再针对具体任务调整。这个"先通识、后专业"的两段式是 2018 年后的主流范式。

微调(fine-tuning):在预训练模型的基础上,用少量特定数据继续训练,把它调教成某个领域的专才。

上下文学习(in-context learning):模型无需改动任何参数,仅凭提示里给的几个例子就"当场学会"任务的本领。GPT-3 让这个现象广为人知。

缩放定律(scaling law):模型规模、数据量和算力越大,性能通常越好,且提升幅度有一定规律可循。它是 2020 年后"把模型做大"这一竞赛的经验依据。

涌现(emergence):模型规模跨过某个门槛后,突然学会训练中没专门教过的新能力的现象。它的真实性和解释至今仍有争议。

大语言模型(large language model,LLM):在海量文本上预训练、参数动辄数百亿计的 Transformer 语言模型,是 ChatGPT 一类产品的基础。

生成模型

生成对抗网络(GAN):由"造假者"和"鉴定者"两个网络互相对抗、共同进步的图像生成方法,2014 年提出。它能生成锐利的图像,但训练出了名地不稳定。

变分自编码器(VAE):把图像压缩成一小段"编码"再还原的生成方法,训练稳定但生成的图像偏模糊。

扩散模型(diffusion model):先给图片逐步加噪,再训练网络学习逆向去噪;生成时从纯噪声出发一步步还原出图像。文字生成图像的主流方法,如 Stable Diffusion,都建立在这个思路上。

潜空间(latent space):把图像压缩后得到的一小段表示所在的抽象空间。在潜空间而非像素空间做扩散,是让生成速度大幅提升的关键。

Stable Diffusion:2022 年 8 月开源的图像生成模型,把扩散模型的能力交到了普通人的电脑上,是生成式 AI 走向大众的标志性事件。

CLIP:把文字和图像拉到同一套坐标里的模型,从而使"用一句话描述你想要什么"成为生成图像的控制方式,是文生图能否听懂人话的关键。

多模态(multimodal):同时处理文字、图像、音频等多种信息形式的模型能力。GPT-4o 是打通多种模态的代表。

扩散 Transformer(DiT):把 Transformer 架构用于扩散模型的骨干网络,是视频生成(如 Sora 一类系统)在架构上的共同选择。

强化学习、推理与智能体

强化学习(reinforcement learning):让智能体在环境中不断尝试动作、根据奖励和惩罚调整策略的学习方式。它不靠标准答案,而靠后果来教。

奖励(reward):环境对每一步动作给出的分数,是强化学习唯一的老师。

探索与利用(exploration vs exploitation):在"试试没吃过的菜"和"点熟悉的招牌菜"之间做取舍——不探索可能错过更好的,不利用则无法稳定吃到好的,这是强化学习的核心张力。

自我对弈(self-play):让智能体和自己下棋或比赛,在不断升高的对手水平中变强。AlphaGo 和 AlphaZero 的飞跃正来自这里。

DQN:2013 年把深度神经网络与强化学习结合的成果,它只靠屏幕像素就学会了玩多款 Atari 游戏。

RLHF(基于人类反馈的强化学习):先让人给模型的多个回答排序,再用这份偏好训练一个"打分器",然后用强化学习让模型学着讨好它。这是 ChatGPT 变得会对话、守分寸的关键一步。

思维链(chain-of-thought):让模型在给出答案前先一步一步写下推理过程,从而显著提高数学与逻辑任务的准确率。

推理模型(reasoning model):回答前先"多想一会儿"、消耗额外算力做推理的模型,o1 与 DeepSeek R1 是代表。它的性能随思考时间增加而提升,代价是更慢、更贵。

测试时计算(test-time compute):把算力花在"回答问题时多想"而非仅仅"训练时多学"上的策略,是推理模型背后的核心思想。

智能体(agent):能自主分解目标、调用工具、多步执行任务而不只是被动回答问题的 AI 系统。2025 年之后它成为行业主线。

MCP(模型上下文协议):让人工智能模型接入外部工具与数据的一套通用标准,2025 年底被捐给 Linux 基金会,成为智能体连接世界的事实接口。

注意力蒸馏与模型蒸馏(distillation):让一个小模型模仿大模型的行为,把能力压缩进更小、更便宜的身体里。

混合专家(MoE,mixture of experts):把模型拆成许多"专家"子网络,每次只激活其中一小部分,从而在总参数很大的同时只付出较小的计算量。

具身智能

莫拉维克悖论(Moravec's paradox):对机器而言,抽象推理很容易,而看、走、抓这类人和动物毫不费力的事却极难。它解释了为什么下棋的机器先于会叠衣服的机器到来。

具身智能(embodied AI):把智能放进有身体、要和真实物理世界打交道的机器里,是"给机器一个身体"这一方向的总称。

VLA(视觉—语言—行动模型):能同时看画面、读懂语言指令并直接输出机器人动作的大模型,2023 年 RT-2 正式引入这一术语,此后成为机器人学习的通用配方。

模仿学习(imitation learning):让机器人观察人的示范动作并照做,是收集机器人训练数据的主要手段。

仿真到现实(sim-to-real):先在虚拟环境里大量训练机器人,再设法把本领迁移到真实硬件上,以绕开真实数据昂贵稀缺的难题。

Open X-Embodiment:把二十多种不同机器人的操作数据汇集到同一语料库的公开计划,证明了不同形态的机器人共享数据是双赢而非互相拖累。

双系统架构(dual-system architecture):让一个慢而聪明的大模型负责理解与规划,一个快而简单的小模型负责实时反射式控制,类似人的深思与本能分工。

世界模型(world model):机器在内部建立的对"我做一个动作,世界会怎样变化"的预测模型。它是机器人真正学会规划、而不仅是模仿的前提。