# 里斯託·米庫萊寧：神經進化與進化計算

> 電腦科學家講解如何用進化演算法最佳化神經網路結構，及其在遊戲、機器人控制與開放式創新中的應用。

- 原標題：#177 – Risto Miikkulainen: Neuroevolution and Evolutionary Computation
- 期數：第 177 期
- 釋出日期：2021-04-19
- 嘉賓 / 主題：里斯託·米庫萊寧
- 網頁版：https://lex.qiaomu.ai/tw/ep/risto-miikkulainen/
- 官方頁面：https://lexfridman.com/risto-miikkulainen/
- 精讀字數：約 11925 字（閱讀約 26 分鐘）

> 本文為 lex.qiaomu.ai 基於原始訪談的 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 結構能提升語言。世界的結構是押韻的，跨界的收益往往不在你預期的地方出現。
- **探索要深，不要廣而淺。**選幾件事鑽到自己判斷"能拿的都拿到了"再換。這個判斷本身才是探索的成果。
- **先探索，後承諾，別搞反。**沒有做過功課就定方向，等於在一個沒搜尋過的空間裡做區域性最優。年輕人最該乾的事是擴大搜尋範圍，不必急著鎖定。
- **給自己找一個能沉幾十年的題目。**探索結束後必須有一個東西讓你停下來。找到它之後，之前所有的經歷都會變成這個題目的資源。
- **想一想自己留下的痕跡。**不必是莫扎特。標準很低：這件事因為你而發生了，如果沒有你，它不會以這個方式發生。範圍可以很小，但它得是真的。
