你真的有看懂駭客任務嗎?聽聽工程師怎麼分析

在人工智慧、虛擬實境等概念被人們所熟知的今天,再來看《駭客任務》,也許你會有不一樣的發現。這篇文章作者以一個工程師的視角對《駭客任務》做了重新解讀,也許你不認同,但這的確是一個有趣的角度。
評論
評論

 本文原刊登於 36Kr,Inside 獲授權轉載。

在人工智慧、虛擬實境等概念廣為人知的今天,再來看《駭客任務》,也許你會有不一樣的發現。這篇文章作者以一個工程師的視角對《駭客任務》做了重新解讀,也許你不認同,但這的確是一個有趣的角度。

前段時間出差週末沒事就在酒店又把駭客任務重溫了一遍,不看不要緊,十年後再看發現以前對這部電影的理解完全錯了。《駭客任務 1》是 1999 年出的,我還在讀高中,第一次看還在學校附近的放映廳看盜錄版。 整個畫面黑漆漆的,看了不到半小時直接睡過去了,醒來時已經是最後的高潮槍戰部分,覺得結尾打鬥好看,劇情不懂。 2003 年《駭客任務 2&3》一起推出後,又連起來看了一遍,老實說當時很多概念還是沒看懂,大概覺得是一個人類反抗機器統治的故事。

如今這次看完後再回想起來,當時很多概念看不太明白可能有兩個原因。 一方面,當時剛學程式不久,電影中大量使用程式世界的概念來作明喻或暗喻。 另一方面,中文字幕翻譯太不準確,特別是術語的部分。 這次重溫,我直接用的原版英文字幕,看完後發現我曾經的理解完全跑偏了。 十年後,人工智慧、機器學習、虛擬實境各種概念大行其道的今天,再加上我工程師的背景再來理解《駭客任務》三部曲顯得毫無難度了。 但我懷疑,如果不懂程式的人今天看這部電影恐怕也不是那麼容易理解吧?

為什麼我會覺得不懂程式看《駭客任務》會比較費力呢? 因為整個故事的內涵,從背景到環境到人物角色甚至道具都使用了程式來作比喻。 我們先簡單回顧一下故事背景,某天,一個有意識的程式誕生了,並繁衍了整個人工智慧的機器種族。 後來人類和人工智慧機器爆發了戰爭,人類選擇遮蔽天空切斷機器的能量來源。 而聰明的人工智慧機器發現可以利用人體大腦的生物電和身體熱量,產生一種特殊形式的核融合反應來提供源源不斷的能源。 所以,機器就開始大量養殖人類,將人類變成了機器能源的供應者,電影裡用電池作了個比喻。

在《駭客任務》裡人類的真實生存情況是下面這樣的,身體生活在黏搭搭的營養液中,而思想則生活在 Matrix 中,一個虛擬實境空間。

機器一開始創造了一個完美的 Matrix 空間,是一個毫無生活壓力並實現共產主義的烏托邦。 但人類天生的基因缺陷導致它們無法在這樣的烏托邦中長久生存,很快出現大量的死亡。 所以機器重新模擬了一個基於 1999 年真實人類社會現狀的虛擬空間,在這裡人類可以長久的存活下去,而當時實際的年代是 2199 年。 故事背景就交代到這裡,再這麼寫下去就變成影片簡介了。 下面我會站在程式背景的角度來提出一些設問並作答,如果你發現答案和你當初理解的不一致,不妨再重溫一遍電影。

紅藥丸還是藍藥丸?

電影中的經典一幕是要 Neo 作出選擇,選紅藥丸還是藍藥丸。

紅色藥丸實際是一個追蹤程式(trace program)用來幫助定位 Neo 物理身體的位置。 為什麼需要一個追蹤程式?做過分散式系統都會有深刻體會,解決一個大型分散式系統中的問題,第一個困難點就在定位問題。 而 Matrix 實際上就是一個連接全球人類的超大型分散式系統,需要定位一個個體,trace 程式必不可少。(今天剛審查了我們系統的 trace 程式設計方案,想努力做的像紅色藥丸那麼精巧啊)

Oracle 是誰?

《駭客任務 1》Oracle 出場時沒有交代她的身份,直到第二部結束時 Neo 與 Matrix 的 Architect 對話才得知。 Oracle 其實是一個程式,原文說法叫 Intuitive Program,一個人類直覺測試程式。 所以劇中,她一直在引導 Neo 和其他人透過直覺作出選擇,而他們的選擇對 Matrix 非常重要,下面會詳細說明。

Neo 為什麼是 The One?

Neo 作為男主角與其他人都不同,所以劇中給了他一個特殊的稱呼, The One。 Neo 在第一次見 Oracle 時,Oracle 說他還不是 The One,還差了點什麼,可能需要第二次生命。 Neo 在《駭客 1》最後被 Agent 槍殺後,因為女主一吻獲得對愛的感覺後重生才真正成為 The One。 而真正特殊的地方在於 Neo 始終認為自己是人,但它實際也是個程式,一個認為自己是人的程式,這正是他獨一無二之處。

Matrix 是連接全人類思維的虛擬空間,它實際上是一個非常複雜的大型程式,這個程式運作的背後有精確的數學模型(劇中對話交代了)。 它建立在一個精妙的數學模型之上,但卻存在一個不平衡的因素,無論 Architect 如何調整都沒法做到平衡穩定。 存在影響整個系統穩定性的非確定性因素,而這個因素正是始終會有人懷疑 Matrix 不是真實的。

舉個例子,假如 Matrix 背後的數學模型簡化為:

1/x

這個數學式存在的意義是 x 不能為 0,當為 0 時 Matrix 將不復存在。 所以為了解決這個數學式的天然缺陷,Oracle 想到為 x 增加一個逆變量,那麼數學式就變成下面這樣:

1/(x + n)

增加了 n 這個逆變量,x 變量代表 Matrix 整體的運作變化,n 則代表 Neo 的存在,平時為 0。 當 x 可能向 0 變化時,n 這個變量被激活,避免分母為 0。 x 的變化不在 Architect 和 Oracle 的控制能力內,而 n 則透過 Oracle 去引導它的變化,以達成不讓系統崩潰的目標。 所以當 Neo 這個程式透過引入人類的愛情因子被激活後,Neo 就成了 The One,而數學式中的 n 也不再是 0 而是在不斷變化著。 而這種變化趨勢和方向就依賴 Oracle 來不斷引導,所以怪不得最後 Architect 對 Oracle 說:你在玩一場危險的遊戲。

Matrix 是虛擬空間,那 Zion 就是現實嗎?

《駭客任務 1》誤導觀眾以為 Zion(劇中從 Matrix 脫離的人類城市)所在的世界是真實的。 但當《駭客任務 2》結尾 Neo 像手擋子彈那樣擋住章魚機器人時,已明確告訴我們,Zion 也不是真實的,它只是程式空間的另外一部分。 Matrix 是程式模擬的 1999 年人類世界,那麼 Zion 所在的世界實際也是程式模擬的 2199 年的人類世界。

按 Neo 和 Architect 的談話,Zion 存在的作用是為了將不穩定因子(對 Matrix 有懷疑並覺醒的人類)聚集在一起,然後一次清洗。 在 Neo 之前實際上已經有了 5 次類似的清洗,前 5 代 The One 認識到自己其實不是人而是程式後,都選擇了毀滅 Zion。 然後重新選擇 16 女 7 男重建 Zion,消滅了 Matrix 的不穩定因子安全度過危機,開始下一代循環。 看到這裡,作為一名工程師,我自然聯想到這難道不是在用帶 GC(垃圾回收)機制的程式在做比喻嗎?

程式流氓存在的意義是什麼?

電影還有這麼一群角色,這群人全是程式,一堆過時的程式,已被新的程式取代了。

它們在 Matrix 中找不到工作,只好聚集在一個帶頭大哥下面,當起流氓,搞點偷渡之類的事情。 在 Matrix 中每個程式都需要有存在的目的,否則只能被刪除。 但這些程式可都是有智慧和意識的,它們不想被系統清除掉,只好逃亡。 比如一個後台管理程式可以和一個界面交互程式結婚,還有了個女兒。 女兒自然也是一個程式,只是沒什麼用處,沒用處就是沒有存在目的程式,需要被刪除,所以夫妻兩找程式流氓幫忙逃亡。

程式流氓控制了一個關鍵人物叫 Key Maker,就是下面這位。

Key 在電腦領域的專業術語是密鑰,影片中用鑰匙來比喻。 他掌握著進入系統 Source 的鑰匙,所以 Neo 才會和程式流氓幫發生衝突。 程式流氓只不過是機器社會的一種特定角色,它和人類社會不無相似之處。

最後,第六代 The One 的選擇沒有站在機器智慧這邊,因為愛情他選擇了人類這邊。 而此時一個可怕的病毒在 Matrix 中蔓延,連 Oracle 都被感染了。

Neo 和機器智慧達成了協議,幫助它消滅病毒程式來換取人類和機器的和平。 這一次 Zion 沒被毀滅,比人類智慧更高級的程式智慧給了人類選擇權。 人類可以選擇活在機器文明創建的 Matrix 虛擬空間中或現實中。 而機器文明中也出現了一些擁有人類情感和意識的程式覺醒者,幫助機器文明進一步發展。 兩種文明找到了一點點融合與平衡的空間,留下無限的思考和探討空間。

《延伸閱讀》

我是怎麼靠自學成為工程師的:懂原理比應用更重要

寫碼容易,讀碼難:工程師 千萬別重寫程式碼

做一個網站多少錢:如果你不是工程師,不要說簡單!

為什麼成為一名工程師這麼難 —— 從程式新手到準工程師的必經之路

5 種高效率的軟體工程師角色

一名台灣工程師的 Coursera 心得

美得不像工程師? LinkedIn 撤廣告遭抨擊性別歧視

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

佈雲今日 ‧ 決勝未來──數位轉型的現在進行式! AWS 台灣雲端高峰會 8 月 10 日盛大登場

2022 AWS 台灣雲端高峰會將於 8 月 10 日在台北南港展覽二館盛大登場,聚焦雲端 9 大主題、超過 45 場產業與技術專題演講,為開發者與經理人提供深度交流機會,任何與雲端有所接觸的工作者都不容錯過。
評論
首途02.png
評論

AWS 公開年度雲端技術盛會── 2022 AWS 台灣雲端高峰會(AWS Summit Taiwan)即將在 8 月 10 日至 8 月 11 日於台北南港展覽館二館舉行!歷經新冠疫情紛擾,睽違兩年 AWS 台灣雲端高峰會即將重回實體舉行,讓每位參與者走入規劃豐富的實體專區與各路開發者深度共學。立即報名點此

今年主題「佈雲今日 ‧ 決勝未來」明顯表達數位轉型已是現在進行式。隨著新冠疫情及國際局勢改變的雙重影響,全球迎來的新常態經濟模式使雲端技術不再只是企業應變關鍵,更是走向安全、永續,以及鏈結未來的必經之途。因此,2022 AWS 台灣雲端高峰會中將展示當代最前瞻的雲端趨勢,帶領參與者運用現代化雲端洞悉市場數據,探索商業與技術的無限可能。

聚焦九大雲端主題:基礎設施、技術開發、數位轉型到產業實務面面俱到

photo credit:AWS

今年 AWS 台灣雲端高峰會不只集結領域中傑出的 AWS 技術專家、產業代表以及社群領袖,舉辦超過 45 場的產業及技術專題演講,分享最佳實踐案例、 Demo 實機展演和客戶案例分析,還規劃包含證照認證、實作演練、 CISO 實戰工作坊等與 AWS 相關課程及工作坊。除此之外,會場也設置「AWS Game day & Developer Lounge」與「新創焦點」兩大專區,讓會眾能在精心規劃的空間內與其他開發者、新創公司透過高度互動的競賽與短講,深度交流彼此技術與經驗。

立即報名:2022 AWS 台灣雲端高峰會

2022 年, AWS 台灣雲端高峰會致力打造深度交流的產業平台,聚焦雲端技術的九大面向,搭配各具特色的活動設計,從基礎設施、技術開發、數位轉型到產業實務面面俱到。不僅為 C-level 與資深技術人員、企業經營與 IT 決策與管理者精心規劃議題內容,也在特別企劃內容中,為 IT Pro 、解決方案架構師、開發人員、工程師與維運管理人員提供最佳實務經驗,讓無論 AWS 初學使用者還是資深產業經理人,都能在高峰會中吸收新知、了解趨勢,提升自我能力與視野。

無分初學大師,只要接觸雲端,你就應該參加 AWS 台灣雲端高峰會

符合以下關鍵字之一,你就應該參與 AWS 台灣雲端高峰會:

  • 學無止盡-開發者、工程師、架構師
  • 商業創新開發-新創團隊技術團隊成員
  • 最佳化生產力- IT 專業人員、技術支援經理
  • 掌握趨勢-創辦人、經營決策者
  • 自我精進-學生、教職員、研究員
  • 洞見趨勢-任何關注雲端趨勢者

AWS 台灣雲端高峰會首日聚焦雲端服務、開發技術及新創,以技術相關內容為主,較適合具備初級主題知識之開發人員、工程師與 IT 專業人員;次日則圍繞產業解決方案提供、數位轉型等,以應用相關內容為主,較適合欲了解雲端技術如何為企業經營加分之經營決策者、解決方案架構師以及系統管理員。

立即報名:2022 AWS 台灣雲端高峰會

如此縝密的規劃,無論是初上雲端的新手,還是乘雲縱橫產業多年的技術大師,甚至是非技術相關人士,都能在高峰會中依照自身工作職掌和興趣,安排個人化的專屬議程,從不同主題和技術能力演講中,滿足個人技術或視野的成長。

最重要的是, 2022 AWS 雲端高峰會為免費參加,絕對是任何需要開拓雲端新經濟、自我加值的工作者不可錯過的年度盛會。

玩轉雲端核心技術! AWS DeepRacer 人工智慧賽車同步登場

photo credit:AWS

每年與台灣雲端高峰會共同舉行的「AWS DeepRacer 智慧自駕車競賽」當然也不會缺席。 AWS DeepRacer 是 Amazon 產品背後所運用之人工智慧和機器學習等核心技術的具體化身,不僅是全球首個以自駕車競賽為主題賽車聯盟,也是機器學習(ML)與強化學習(RL)最友善、有趣、刺激的學習課程。

競賽設計不只替雲端技術增添不少趣味,激起各方開發者爭奪獎品、獲取冠軍榮耀的鬥志,搭配 AWS 所提供的免費入門課程及學習資源,更創造出技術學習與推廣的友善環境,也是AWS 送給所有工程師最棒的寓教於樂場域。

精彩豐富的專題講座與寓教於樂的刺激競賽還不夠嗎?活動現場還有抽獎活動、深度參會集點以及問卷好禮,提早報到者再加碼早鳥禮!

立即報名豐富有趣的 2022 AWS 台灣雲端高峰會!