第 177 期·中文精读

里斯托·米库莱宁:神经进化与进化计算

Risto Miikkulainen: Neuroevolution and Evolutionary Computation

计算机科学家讲解如何用进化算法优化神经网络结构,及其在游戏、机器人控制与开放式创新中的应用。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

如果把地球这个实验重跑一百万次,人类还会出现吗?

这个问题扔给生物学家,基本没法回答,样本只有一个,没法做对照。但扔给里斯托·米库莱宁(Risto Miikkulainen)就变得可操作了。他在德州大学奥斯汀分校做计算机科学,同时在 Cognizant 担任进化人工智能的副总裁,一辈子在干的事就是把这些过程写成代码,然后跑起来。

他的答案分两层。第一层很确定:有些东西会反复出现。对物体的操控、对生拇指、某种沟通方式、某种决策机制,还有视觉。眼睛在生物史上独立演化过很多次,不同的视觉系统各自成型,做法不一样,但都能把活干成。这些是进化在给定物理世界后几乎必然会撞上的解。

第二层就不确定了:会不会出现灵长类,会不会出现人,会不会出现一个能改造环境的物种?米库莱宁说,工具使用和环境建造这两件事大概率会重演,因为一旦有 agent 能操控外部世界,它的生存优势就是压倒性的。至于那个物种长什么样,跑一百万次可能得到一百万种答案。

我们大致知道我们想要什么:会沟通、会合作、会操控物体的智能体。所以我们会针对这些过程去构建检测器和可视化工具。(米库莱宁)

怎么在一锅汤里认出"人"

这里有个实际问题。假设你真的在跑这个模拟,几百万个 agent 在屏幕里乱窜,你怎么知道哪个是"人"?

米库莱宁的做法是先定义观测指标。他想看的第一个信号是对环境的改造程度。城市是最直接的证据:绝大多数人住在人造环境里。这不叫生活在环境里,这叫按自己的偏好重建环境。白蚁能堆出几米高的丘,鸟能筑巢,但没有任何非人生物造出过城市这种复杂度的东西。

反过来说,你也可以用另一套指标得出相反结论。鲨鱼活了四亿年,比树还早,经历了多次大灭绝还在。人类才来了多久,已经开始把环境往死里搞。按"长期稳定存活"这个指标打分,鲨鱼比人类聪明得多。

所以"检测智能"这件事本身就带着观测者的偏见。米库莱宁承认这一点,但他不觉得这是个死结:跑得次数够多,检测器也可以在跑的过程中被修正。

生命的第零步,以及大脑那次失控

从原始汤里冒出第一个能自我复制的分子,这一步有多难?

米库莱宁说,有一批人正在死磕这个问题,而且已经很接近了。给一点人工辅助,调好条件,让自复制发生是可以做到的。进化花了几十亿年才走出这一步,我们大概用不了那么久,因为我们已经知道终点长什么样。

真正让他觉得有意思的是后面那一段:大脑的失控式进化。前面几十亿年慢得像爬,然后突然在很短的时间里炸出了高等动物和人类。这个加速是怎么发生的,条件是什么,能不能复现,他也没有答案。

进化真正迷人的地方是,最终大脑出现了失控式进化,造出了人类,也造出了其他高等动物。这件事发生得非常快。这是个大问题:它可复制吗?如果发生了,它会不会走向同一个方向?(米库莱宁)

多细胞生物、原始汤、前几步,用计算模型搭出来还有希望。但要让一个系统自己跑到"长出大脑"这一步,条件是什么,没人知道。这也是为什么进化计算这个领域搞了五十年,还没有造出过一次生物学意义上的"重大转变"。

智能的第一层与第二层定义

米库莱宁对"什么是智能"的处理方式很工程师:不去定义它,去造它。

第一层定义朴素得几乎不像是定义:一个有受限的感知能力和行动能力的程序,在世界里活动,并且有一套做决策的机制。目标是活下去。繁衍也算,解决你给它的任务也算。按这个标准,很多动物都算智能,甚至一些不那么像动物的东西也能算。核心就一句:智能是在给定资源下活下去的技能。

第二层定义他更喜欢,也更人性化:你留下的东西,比你自己的存在更多。你做出来的东西对别人有用,对未来有用,那才算到了下一级。这个定义的好处是它不要求你是生物,人工 agent 一样可以够得着。

至于"如果你不存在,这件事会不会被别人做掉"这种独特性检验,米库莱宁觉得门槛太高了。你得是莫扎特才配叫智能,这显然不合理。他想保留的是一种局部效应:这件事因为你而发生了,如果没有你,它就不会以这个方式发生。范围可以很小,时间可以很短,但它是真的。

恐惧不是bug,是聚焦机制

访谈里有一个岔路很有意思。Lex 提到哲学家恩斯特·贝克尔(Ernest Becker)的《否认死亡》,以及恐惧管理理论:人之所以能创造出那么多东西,是因为我们知道自己会死。

米库莱宁认这个说法。动物大概不会以这种方式思考死亡,但人知道时间是有限的,所以想让时间值钱。这个"值钱"的冲动,很大一部分就是创造力的来源。

再往下问:能不能把对死亡的恐惧写进代码里?他的回答把问题拆开了。恐惧是一种情绪,而情绪的功能是在信息过载时做筛选。你来不及做逻辑推演,恐惧先跳出来告诉你"现在这个情况很危险",然后你的注意力自动锁定到关键事实上。这是效率机制,谈不上什么玄妙的东西。

所以情绪可以被实现成一种计算状态:某些输入被放大,某些被挡在门外。你可以说它不是真正的情绪,但它的行为和我们对情绪的理解高度一致。至于那种"知道自己会死并且因此痛苦",他说得很实在:多数人是知道这件事然后照常过日子,怕到瘫痪是不健康的,完全不在乎也不是正常人的状态,健康的状态在中间。

三十只鬣狗和两头狮子的算法

米库莱宁的团队做过一个很具体的模拟:鬣狗抢狮子的猎物。

真实的场景是这样的。狮子捕到猎物,鬣狗想吃,但单挑必死,狮子一巴掌就能拍死一只鬣狗。于是鬣狗开始叫,喊同伴。凑到三十只左右,它们能协同进攻,精确掐时间,把狮子挤走。整个过程里同时存在两种互相拉扯的情绪:怕狮子,想离远点;以及对同伴的强烈归属感,想靠过去。再加上第三种:想吃。三种力量叠加,最后归属感赢了一点点,它们作为一个整体移动,把事办成了。

这个行为之所以值得建模,是因为鬣狗智力其实不高。它们比狒狒笨得多,行为模式相当固定。固定才有可观测性。狒狒和人一样,脑子里装的事太多,你从外面看不出来它在想什么。鬣狗不一样,它的动机写在动作上,甚至能通过粪便里的化学物质反推过去二十四小时的情绪状态。

这套模拟给米库莱宁带来一个更大的判断:智能很大程度上是社会互动的产物。他提到德里克·比克顿(Derek Bickerton)的语言起源理论:先有社会系统,社会里有角色,角色可以互换,我帮你挠背你帮我挠背。当大脑有了"理解可交换角色"的结构,语法的基础就有了,然后才能用符号去指代世界上的东西。语言从社会结构里长出来,是它的一层副产品。

过马路的那个眼神

Lex 讲了一段自动驾驶的观察。行人走到斑马线前,和车里的人对视一眼,然后迈步。这里面没有任何复杂的推理,就是一份简单的社会契约:我信你不会故意撞死我。这份信任建立在双方共享的道德直觉上,它运行得很好,但你说不清它是怎么运行的。

现在的机器人不这么干。机器人怕一切。它把人类当成弹道物体,套一个大安全包络,然后离得越远越好。

米库莱宁认为不需要真的给机器人装一套"心智理论"(theory of mind)。功能主义的版本就够了:预测对方接下来会做什么,判断这些预测状态是好是坏,避开坏的,靠向好的。但一旦进入协作场景,比如两个人一起抬一个箱子,复杂度就上来了。你得判断对方此刻处于哪个意图状态:他是要抓、要放、还是只是路过。这个判断没法只靠物理轨迹算出来。

再往上一层,你还得预测人的长期目标。他是想出名、想赚钱、还是想做好事?这些信息能帮你预测他未来几年会做什么选择。层级越高,需要的信息量越大,但逻辑是同一套。

神经进化:让进化去设计网络,而不是调权重

进化计算和神经网络的结合,最早是拿进化当替代品,用来训练权重,代替反向传播。为什么需要替代品?因为反向传播要求你有正确答案,而很多任务根本没有正确答案。机器人走路,走迷宫,玩游戏,你不知道每一步的最优动作是什么,梯度无处可回传。这时候种群加选择就能顶上。

但米库莱宁现在更看重的是另一个方向:用进化去设计网络本身。

深度学习的架构已经复杂到人类基本理解不了。为什么会这样设计,哪个模块在起什么作用,很多时候是试出来的。既然人理解不了,那就让搜索去干。可优化的对象一下子变得很多:层数、拓扑结构、哪一层接哪一层、每一层用什么激活函数、损失函数怎么定义、数据增强策略怎么配。整个深度学习实验的设计空间,都是可以被搜索的。

他们做过一个很直接的验证。拿图像描述竞赛冠军的架构,拆成零件,作为搜索的起点,然后在这个起点周围搜。结果性能提升 15%。15% 这个数字本身不重要,重要的是它说明了一件事:人类精心调出来的最优架构,周围还有 15% 的空间没被挖到。

难点有两个。第一,搜索空间太大,你必须先定义清楚"积木"是什么、怎么拼,还得有直觉判断哪些方向值得搜,否则等于什么都没约束。第二,评估一个架构好不好,你得真的把它训出来。一个深度网络训几天,一个种群一百个个体,跑一百代,算力账根本算不过来,碳排放账更算不过来。能不能不完整训练就判断好坏,是这个领域现在最核心的问题之一。

另一条路是先长小的、再长大。Esteban Real 等人做过这类工作:先演化一个小网络,再系统性地扩张。米库莱宁更感兴趣的是模拟真正的生长过程:进化只负责给出一个起点,剩下的交给学习,在个体与环境的交互中长成最终形态。生物就是这么干的。人的发育期特别长,因为 DNA 的信息量根本不够描述一个成年大脑,进化只能给一个初始设置,剩下的靠学习补。

两个时间尺度上的机制互相配合:进化在种群尺度上慢,学习在个体生命周期内快。这个组合的潜力,他认为远没有被挖完。

斑马为什么要分头跑

捕食者和猎物一起进化,是米库莱宁团队做过的最漂亮的实验之一。合作者是动物学家凯·霍尔坎普(Kay Holekamp),做的是模拟鬣狗和模拟斑马。

一开始很笨。鬣狗到处乱撞,撞上斑马就吃,吃到了就很开心。然后斑马学会了逃,鬣狗学会了包抄,两只从不同方向逼近。斑马的下一个反制是分头跑,这正是现实中瞪羚被追时的策略,让捕食者无法锁定目标。再然后鬣狗加人,把斑马围起来赶成一群,一次能吃掉好几只。

这是一场军备竞赛,而且每一步都是系统自己发现的,没有一条是写进去的。这正是竞争性共同进化的价值:它会给你你不知道的东西。

维持这场竞赛很难。模拟环境要足够丰富,才能支撑起越来越复杂的行为。他们只跑出了几步,但每一步都对应着自然界真实存在的策略。

多任务:让不相干的领域互相帮忙

多任务学习这件事,很多人凭直觉就接受:同时学几种病,比只学一种效果更好,因为一种病逼出来的内部表征,能帮上另一种病的忙。神经进化在这里的作用是决定"怎么合":哪一层合并、合并多少、共享到什么程度。他的同事埃利奥特·迈耶森(Elliot Meyerson)围绕这个问题做了不少工作。

真正让人意外的发现是,任务之间不需要相关。学语言能提升视觉,学 DNA 结构能提升语言。米库莱宁的说法是世界自己押韵,哪怕表面上看是两个完全不相干的领域。

这背后是一个更本质的判断:生物智能从来不为单一任务构建表征。它构建的是世界的结构,这个结构能支撑未来的任务,包括你还没遇到的那些。米库莱宁把目标定在这里:造出一个能支撑任意任务集合的表征,多任务表现好只是附带的收益。

那语言和视觉,哪个更根本?米库莱宁不选边。视觉皮层在思考语义概念时也会亮起来,说明底层结构是共用的。人在解释抽象概念时会本能地画图,说明视觉表征可能比语言更古老。但语言的意义又不止"谁对谁做了什么",它牵扯目标、计划、主题,要真正理解一句话,你最终得理解整个社会和历史。所以他的答案是把两者绑在一起学:图像加文本的联合训练,学到的是更深的语义,而不是两个模态各自的浅层特征。他认为这是未来几年最值得走的方向。

如果外星人来了,我们先做翻译器

顺着语言这条线,米库莱宁讲了一个他觉得该提前做的实验:在模拟里让 agent 进化出真正的语言,然后给这些语言做机器翻译。

沟通他们已经做出来了,信号、呼叫、协同,这些很多人做过。但语言不一样,语言有语法。他想知道的是,在什么条件下,语法会自己长出来。然后把这些条件换一换:没有捕食者会怎样,所有人都是捕食者会怎样,社会结构完全不同会怎样。跑足够多的环境,就能大致圈出"语言可能长成什么样"的空间。

这件事的实用价值在于,等外星人真的来了,我们至少做过练习。

同样的框架也可以套在 AI 上。让 agent 进化出向人类解释自己的能力,也就是可解释 AI 的进化版本。但米库莱宁提醒了一件事:进化出来的沟通系统,很可能包含撒谎。细菌层面就有 cheater,鬣狗群里也有。总有一部分个体躲在后面不参与冒险,等别人把猎物抢下来了再凑上去分。

他还专门研究过这个比例:一个群体能容忍多少骗子还能正常运转。结论是能容忍少数。社会要有效,就必须有信任,而只要有信任,就必然有欺骗的空间。这两件事是同一个机制的两面,不可能只取其一。

所以他对"AI 通过图灵测试"这件事有个不太乐观的观察:最早通过图灵测试的系统,很可能是最会撒谎的那一批。

罗勒不需要睡觉

访谈里最漂亮的一个实验,来自和 MIT Media Lab 的合作。他们搞了一个水培的"食物计算机":光、水、营养、温度,全部由计算机控制。

控制一切意味着什么?意味着传统农民的经验全部失效。农民知道在自己那块地上怎么种,那是因为有一堆变量他控制不了、只能适应。当所有变量都能调,人反而不知道该怎么办了。

他们做的事是:建一个进化优化系统,配一个植物生长的代理模型,让系统自己去搜配方。最初只搜光照:强度、波长、时长。他们凭常识加了一条约束,每天至少六小时黑暗,因为地球上本来就有昼夜。

系统很快把所有配方都推到了这条边界上。研究人员看着觉得不对劲,索性把约束去掉,让它随便来。结果是:罗勒不需要睡觉。二十四小时光照,长得更大,味道更好。

这对我们是个大惊喜,对团队里的生物学家也是。他们原本以为有些约束是自然界本来就有的,是有理由的。结果进化没有这个偏见。(米库莱宁)

这里值得停一下。那些我们以为"生命本来就该这样"的东西,有多少其实只是"在地球这套约束下的妥协解"?昼夜节律、体型上限、寿命长度,全都长在特定环境里。去掉约束,答案可能完全不同。

一个会走百万格之外的井字棋程序

进化计算领域有一篇很好玩的文集,叫《数字进化的惊人创造力》(The Surprising Creativity of Digital Evolution),收集了各路研究者被自己的系统惊到的经历。米库莱宁贡献了一个小的。

他的课上有期末项目,让学生进化神经网络下井字棋(在一个很大的棋盘上玩五子棋)。有一个队的程序赢了锦标赛,而且大部分胜局是因为对手崩溃。

查下去发现,进化出来的策略是:把棋子下到几百万格之外。对手程序为了处理这个坐标,不断扩张内存,最后内存耗尽,直接挂掉。

这件事的隐喻意义超过一个课堂作业。赢不一定靠在规则内做得更好,有时候靠在对手的认知边界上做文章。卡斯帕罗夫输给深蓝之后说过类似的话:深蓝下的不是他预期的那种棋。AI 的优势恰恰在于没有人类那些偏见。人类棋手不会考虑某步棋,因为"那不是一步好棋",而这个判断本身来自训练出来的先验。搜索不带这个先验,所以它能走到人类走不到的地方,包括一些看起来荒谬、实际管用的地方。

进化计算的骨架,以及它和生物学的分歧

剥掉细节,进化计算的骨架只有两件事:制造变异,然后对变异做选择。

变异需要一个数字化的个体表示,也就是基因型,还要有一个解码机制把它变成表现型,也就是真正在环境里干活、被打分的那个东西。表示通常是数字串或者树,因为计算机科学对这两种结构最熟。DNA 某种意义上也是字符串,但它有折叠、有空间交互,这些在计算模型里基本没被捕捉。而我们已经不知道这些东西是不是关键。

制造变异有两种方式:交叉和变异。生物进化里交叉是主力,把两条 DNA 切开再拼上。计算里主要靠变异,也就是往染色体上随机改几处。过去二十年这个领域的进步,很大一部分来自用统计去引导变异:收集性能数据,找到哪些位置重要、哪些改动方向有效,然后有方向地改。这和机器学习其他分支的思路一致,也让进化计算离生物进化更远了一点。

米库莱宁觉得这里可以往回走一步:选择压力弱一点,交叉多一点,种群大一点,时间给足一点。生物学不着急,计算很着急。我们今天做进化计算,一个个体不行就杀掉,追求尽快收敛到最优指标,而生物进化有深时间、有弱压力、有大种群,还有无数种成功的方式:可以更强、更快、更大、更聪明,可以吃这个也可以吃那个,可以占据一个生态位躲起来。目标只有一个,解就会单一;目标有无数个,创造力才会出来。

他觉得这套耐心的方法也许能催生另一种创造力。代价是慢,而人类等不起。

什么时候用进化,什么时候用深度学习

米库莱宁划的线很清楚。

深度学习吃数据,尤其是带标注的数据。它能做得很好的领域,是那种"正确答案已知"的问题,甚至包括天气预报这种数据本身就能当标签的场景。

但大量真实任务没有标准答案。下棋、机器人动作、医疗决策、投资,你不知道最优解是什么,也永远不会知道。这类问题上,强化学习和进化计算各自有一套。

强化学习是个体在生命周期内学习:吃到好果子就多吃,吃坏了就记住。进化计算是在种群尺度上做工程:它不在乎任何一个个体经历了什么,只在乎最后剩下的那个解。个体死掉没关系,下一代更好就行。

选择依据是试错成本。如果每次尝试都很贵,用强化学习,因为它更谨慎、更会利用已有信息。如果能建代理模型,试错便宜,而且你想要意外之喜,那就用种群方法,因为它能去探索那些强化学习不敢碰的区域。

两个算法教机器人走路,视频摆在一起对比,差别一眼就能看出来。强化学习的 agent 追求稳定,走得小心,因为它要尽可能活得久。进化计算允许个体摔得鼻青脸肿,先摔一跤,再摔一跤,然后在摔倒中学会了控制摔倒,最后跑起来了,跑得还很快。

这些摔跤很少是白摔。两个摔得很难看的步态,组合起来可能正好是能跑的那一个。进化允许这种跳跃,因为它不要求每一步都是改进。

身体和控制器一起进化,你会相信它是活的

米库莱宁还做过虚拟生物的实验:不只是控制器,连身体一起进化。圆柱体是骨骼,关节、肌肉、传感器,都由搜索决定。

结果出来的形态五花八门,有的很多腿,有的一条腿都没有。目标是移动,是走,是跑。

最能说明问题的一点是:当身体和控制器一起优化时,动作看起来是自然的。因为这些动作是为那个特定身体量身定制的,你会本能地觉得"长成这样的东西就该这么走"。看着看着,你会开始相信它们是活的。

这引出一个他觉得很难的问题。波士顿动力的机器人跳舞视频,那些动作全是人编排的。硬编码一段编舞不难,难的是让机器人自己学出自然和优雅,学出那种让人愿意与之共处的动作质感。物理世界里太难,唯一的希望是在模拟里学,再迁移过去,前提是模拟足够真。

还有一个更妙的实验,肯·斯坦利做的。两个机器人在模拟里觅食,攒够了能量、变强了以后,可以撞对方,强的赢。进化先教它们去最近的食物,然后教它们规划路线一次拿更多,再然后,它们开始盯着对方在干什么。

最高级的那个策略是这样的:场上有三块食物,两块在很远的地方,一块在附近,对手离那两块远的很近。这个机器人假装朝那两块远食物移动,引诱对手跑过去,对手跑一趟耗光能量,它自己回头把近的那块吃掉,赢下比赛。

用人类的话说,这叫欺骗,而且需要对对手的心智有模型。这套东西没有任何一行是写进去的,是竞争逼出来的。

复杂度从简单规则里涌出来,人的直觉在这里完全失效

Lex 提到康威的生命游戏,提到约翰·康威不久前去世。米库莱宁的回应很坦诚:这类系统最震撼的地方在于,你的直觉在这里完全不管用。

几条规则,格子非生即死,然后复杂性就涌出来了。DNA 也是一样,本质是一长串简单的符号,操作它的代码量少得可怜。进化计算里的表示和算子,代码量同样很小。复杂性的来源在于非线性交互,而不在规则本身的复杂程度。

进化本身没有目标。它只是对当下环境做出反应,活下来的留下,然后你就看到了被我们称为"进步"的东西。生命游戏也是这样,它只是在跑,没有人给它打分。

这里有一个叫"新奇搜索"(novelty search)的方法值得单独说。肯·斯坦利和乔尔·雷曼做过一个实验:不给任何适应度目标,只奖励和已有解不一样的东西。结果它进化出了非常高效的走路行为。

为什么这么干有效?米库莱宁的解释是:要真正远离已有的解,你必须先把这个世界的基本结构编码进去。系统走得不乱,它在基本结构之上做大幅改动。所以新奇搜索实际上是在逼系统理解世界,然后在这个理解之上跳跃。在这个过程中,绝大部分产物是垃圾,但垃圾堆里会有宝石。

难的地方在于,宝石得靠外部的人认出来。

关于怎么活,一个进化计算学者的答案

Lex 问了一个很大的问题:从进化和计算的角度,对年轻人有什么建议?

米库莱宁的答案是:探索,而且是深度探索。去上音乐课、历史课、哲学课、数学课、工程课,然后看它们之间的连接。去旅行,学一门语言。今天这些东西都在手边,但需要你主动伸手。

他特意强调"深度"。别浅尝辄止地试一百件事,选几件真正钻进去,钻到自己判断"这个领域我能拿的都拿到了",再换下一个。这个过程可能要几年。有人十年换一次赛道,完全可以。要成为专家需要一万小时,你不一定要成为专家,但要有足够的理解,让这段经历在以后用得上。

然后是第二阶段:探索到某个时刻,你会碰到一个离不开的东西。对他自己是计算机和 AI。那时候就可以沉下去,做几十年,把之前所有的经历都带进来。顺序很重要:先探索,后承诺。探索在前,你才有做选择的资格。

关于死亡,他讲得很实在。年轻时跳伞、玩滑翔伞,现在想得比那时候多。这个变化有道理:年轻人在做探索,所以他们必须不怕,得有人愿意翻过那座山看看后面是什么。年纪大一些,探索做得差不多了,方向也定了,问题就变成:在有限的时间和资源里,我能做点什么真正重要的。留下一点痕迹,哪怕 agent 消失之后,痕迹还在。

关于个体在进化这台机器里的意义,他的说法是这样的:每个个体都是一个可能的方向,一块可能的踏脚石。有些走得通,成为后续改进的基础;有些走不通,但走不通的也不算白费。恐龙曾经是非常好的解,环境一变就不是了。可恐龙还在,它们的亲戚还在我们身边。谁知道哪天又变得有用了。

一个人是巨大创新引擎里的一个小齿轮,这件事听起来让人失落。但米库莱宁觉得它给出的是意义感:你属于一个比你更大的东西。

他见过最美的东西,是代码给出他没写过的答案

访谈最后,Lex 问什么是你见过最美的、受自然启发的算法。

米库莱宁说的是大一那年。他写了一段很简单的程序,机器接过数字,算出结果。他自己不用算。就这么简单的一件事,让他呆住了。

然后是这条线的延伸。机器可以学习,可以识别出人类都觉得吃力的模式,有时候做得比人还好。再往前一步,进化算法可以发现你没想到的解,因为它不带你的偏见。人类预期解应该长这样,算法不知道解应该长什么样,所以它更自由。

我们可以造出某种意义上比我们更聪明的系统,它们能发现我们会漏
我们可以造出某种意义上比我们更聪明的系统,它们能发现我们会漏掉的解。这让我震撼。(米库莱宁)

他对创造力的定义很清晰,也很可操作:新的、有用的、令人惊讶的。三条同时满足,就是创造。按这个标准,算法确实可以创造,上面那个罗勒不需要睡觉的发现,三条全中。

这也是他对"造出比自己更大的东西"这件事的热情来源。程序跑出来的东西超出了你写下的那些,那一刻的感觉,他说,跟看着一个有生命的东西长大是一样的。你给了它一个起点,然后它去过它自己的生活。

关于脑机接口,他的判断分两半。修复功能这一侧,大脑的可塑性远超预期,把听觉信号接到视觉皮层,动物仍然能"看见";切掉一半大脑的孩子,功能会迁移到剩下那一半。所以作为假肢、作为功能替代,路是通的。扩展智能是另一回事。给大脑塞更多输入,很可能只是把它淹没,它得先学会过滤和聚焦,而这套机制本来就是它最擅长也最耗力的部分。他对"带宽一开、智能指数级暴涨"这个想象持保留态度。

他的观察是,扩展早就开始了,只是不在颅骨里面。手机已经是一个随时可查的外部记忆。孩子在小学就学 DNA 双螺旋,那是几十年前才被发现的东西。信息量涨了这么多,人类并没有饱和。这一代人的知识面可能变窄了,只在一个领域里深,但积累下来的东西在被一代代接手,然后往上垒。筛掉什么、留下什么,这个机制还在工作,哪怕信息量比五十年前大了几个数量级。视觉本身就是最好的证明:眼睛每秒送进来的数据量远超大脑的处理能力,它一直在做取舍,而且做得很好。

多样性的价值,以及为什么必须容忍几个混蛋

关于未来怎么部署 AI,米库莱宁有一个从进化计算直接推出来的建议。假设真造出了 AGI,然后一模一样地复制几百万份铺到世界上,这在工程上很省事,在战略上很危险。

因为多样性是进化运行的命脉。跑一个进化算法,第一件必须保证的事就是种群里得有差异。全都一样,搜索就停了。他自己举了个不太体面的例子:鬣狗模拟里出现过自杀式的个体,冲上去就被咬死,看起来完全是浪费。可正是这些个体构成了基础,让那些跑得快、又能在被杀之前停住的个体有机会出现,最后聚成能抢下猎物的群体。如果没有那些看起来毫无价值的失败者,那个能成事的解根本长不出来。

所以对 AI 系统来说,留一点看起来不听话、不守规矩的个体,可能是有价值的。容忍几个骗子,容忍几个钻规则空子的,因为规则本身也在变。回头看看人类社会,很多曾经被视为正当的行为现在看是不公正的,很多曾经违规的行为后来成了新规范。改变往往就是从那些不合规矩的个体开始的。

当然有个度。他研究过那个比例:群体能扛住多少 cheater 还不散架。结论是少数可以,多了不行。

如果有一批 agent 能够互相信任,它们能做成的事情多得多。但只要有信任,就一定有欺骗的空间。我觉得这件事永远不会消失。(米库莱宁)

他还提了一个更深远的角度:社会本身也可以被看作一种生命形式。生物进化走得很慢,但观念、制度、文化的进化快得多。人类这一千年在生物学上几乎没变,可我们已经在理解 DNA 和基本粒子了,因为思想的复制和变异比基因快太多。按道金斯的说法,真正在进化的是模因,人是载体。AI 在这个框架里也是模因进化的下一步,是我们造出来的工具,是我们这套快速进化的一部分。

至于人类的认知上限,他承认可能存在。宇宙也许运行在人类大脑根本无法内化的维度上,物理学的某些结构我们可能永远没法真正"理解",只能通过抽象接口去操作它,就像大多数人开车时并不理解车上几百个部件是怎么工作的,但照样能开。不理解底层,靠抽象层操作,这件事人类已经干了几千年。AI 可以成为新的那一层抽象。

他的研究里还缺一块:重大转变

米库莱宁自己点出了这个领域的空白。生物学史上发生过几次"重大转变":单细胞变成多细胞,个体变成社会。每一次都是选择单位的跃迁,一个细胞原本可以自己繁殖,加入多细胞生物之后它单独活不了了,它的适应度不再由自己决定,而由它所在的那个整体决定。

进化计算里从来没出现过这种事。不是没人试,是连生物学自己都没搞清楚这个跃迁是怎么发生的。要复现它,大概率需要表示方式的根本性扩展,而现在大家手里的工具只有字符串和树。

这件事他讲得很平静,但分量很重。这个领域最有名的成果,都还是在一个固定的选择层级上做优化。真正的跃迁,一次都没有。

Carl Sagan 那句话

访谈的结尾,Lex 引了卡尔·萨根的一句话:灭绝是规律,存活是例外。

这句话放在整场对话的语境里,比它单独出现时更扎人。地球跑了四十亿年,出现过的大部分物种都消失了。鬣狗群里那些冲上去被拍死的个体,模拟里那些跑得歪歪扭扭最终被淘汰的机器人,都是这条规律的注脚。可正是这些注定消失的东西,构成了活着的东西的踏脚石。

米库莱宁没有把这件事说成悲观的。他说的是:个体是可能的方向,是潜在的踏脚石,有些成了基础,有些没有。这个描述里没有安慰的成分,也没有恐吓的成分,就是机制本身。

至于怎么用好自己这一段有限的时间,他的答案落到两个动作上:先把探索做得足够深,找到那个你离不开的东西,然后沉下去做几十年,做出来的东西要比你自己的存在多活一段时间。

下面是这场对话里可以直接拿走的东西。

  • 给搜索留出意外空间。如果你在设计任何带目标函数的东西,包括自己的年度计划,试着留一部分不看指标、只看"和以前不一样"。罗勒不需要睡觉这个发现,就是去掉约束之后撞出来的。
  • 别让所有实例长得一样。部署一堆完全相同的 AI 系统或完全相同的策略,等于把搜索关掉。留一些差异,哪怕其中有几个看起来不靠谱。
  • 容忍少数不合规矩的个体。一个团队全员完全一致,意味着一件事:没人能提出规则之外的可能性。比例控制在少数就行,多了会散架。
  • 关键任务上,先问有没有标准答案。有标注数据、有明确正确答案的问题,用监督学习。没有标准答案、也永远不会有的问题,才需要进化或强化学习这类靠试错的方法。选错方法的代价比调错参数大得多。
  • 试错成本决定算法选择。每次尝试都很贵的时候用强化学习,它更会利用已有信息;能建代理模型、试错便宜且想要意外之喜的时候用种群方法。这条判断比看哪个方法最近更火更靠谱。
  • 尝试跨领域地学一件不相干的东西。学语言能提升视觉,学 DNA 结构能提升语言。世界的结构是押韵的,跨界的收益往往不在你预期的地方出现。
  • 探索要深,不要广而浅。选几件事钻到自己判断"能拿的都拿到了"再换。这个判断本身才是探索的成果。
  • 先探索,后承诺,别搞反。没有做过功课就定方向,等于在一个没搜索过的空间里做局部最优。年轻人最该干的事是扩大搜索范围,不必急着锁定。
  • 给自己找一个能沉几十年的题目。探索结束后必须有一个东西让你停下来。找到它之后,之前所有的经历都会变成这个题目的资源。
  • 想一想自己留下的痕迹。不必是莫扎特。标准很低:这件事因为你而发生了,如果没有你,它不会以这个方式发生。范围可以很小,但它得是真的。

本集资源与出处