張    江 北京師範大學系統科學學院教授

李嫣然 人工智慧演算法工程師(整理)

人開始關注大語言模型與通用人工智慧(AGI),以及大語言模型是否已經具有意識。眾所周知,想要探討“意識”是非常困難的,因為就連人類本身都很難定義自身的意識。儘管如此,關於“意識”的研究和思考卻從未停止。

於是,為了更好地探究意識與人工智慧的關係,本次讀書會中張江老師梳理了人類意識研究、意識理論與建模、自指與意識機器、以及自模擬意識機器等話題。在這次讀書會中,關於意識、自指、自編碼、分形、注意力機制、重整化甚至量子等方面的話題都有涉獵。本文為《“意識機器”初探》這期讀書會的筆記,同時補充了一定的背景知識。

引言

在開篇這裡,我們不妨思考這樣一個問題。我們該如何評估一個東西(比如大語言模型)是否具有“意識”?張江老師提出,有三個角度判斷一個東西是否有意識:

1. 從語言行為角度:像耳熟能詳的圖靈測試,就是從機器的行為來判斷它是否具有智慧。即在測試過程中,機器的行為是否已經與人無異。行為可以認為是某種宏觀層面的判斷方式。

2. 從實現意識硬體的物理現象的角度:我們也可以從實現意識的硬體——比如“腦”或“計算機”的物理現象層面來判斷一個東西是否具有意識。比如現在有許多科學家已經發現了一些人腦中出現“意識”的特徵,這些特徵可以定位到神經元活動等。還有如臨界相變等都可能與意識的物理機制有關。

3. 從實現意識軟體的功能結構角度:這第三種角度是張江老師自己思考提出的,他認為這第三個角度既不是物理的,也不是行為的,而是從軟體的構成與結構的角度來判斷。比如一個自指程式,它沒有外在物質身體,行為也很單調,但它很可能是具備意識的。 

進而,我們可以再思考第二個問題。意識有何用處?為什麼我們要研究意識?這裡可以從我們人類的思維模式來找到一些證據。人類的思維有一個很重要的特點是,會做高層次資訊的整合。在《思考,快與慢》這本書中,也提到人類的大腦有2個系統,一個是快系統(系統1),一個是慢系統(系統2)。粗淺地理解的話,快系統更偏直覺,慢系統更偏邏輯。 

那麼,為什麼邏輯思維一定要慢系統執行?為什麼在人類的進化和日常生活中,它一定要整合資訊?這是因為,世界本質上由很多並行的 agent 構成,這些並行的部分要形成一個整體(integration)的時候,就需要整合資訊了,這就是序列化,也就是“我”這個個體的形成。所以,世界有了“我”,也就從並行轉變為序列了。與此同時,“我”也必然需要與其它的整體傳輸資訊的方式,這便是語言的形成。

儘管這樣想很合理,但如果這樣想——假設意識是一種資訊整合的話——意識又彷彿是一種 bottleneck,語言是一種阻礙資訊高效交流的存在。如果人腦和人腦之間直接相連,會比人們用語言傳遞資訊更高效。所以我們可以再進一步想一想,“意識”是否真的只是為了我們處理世界中的各種資訊才形成的呢?

除了資訊傳遞和資訊處理,意識可能還有其它用處。如果我們能意識到“我”,我們就可以“自我反思”“自我改進”甚至“自我解釋”——這些對於生命都是很重要的。同樣,我列出來的這幾篇論文也都是目前關於大模型的最新改進方向的論文,它們的共同特點就是都存在著“自我”的字樣。

自我反思

Self-Refine: Iterative Refinement with Self-Feedback

https://arxiv.org/abs/2303.17651

Reflexion: an autonomous agent with dynamic memory and self-reflection

https://arxiv.org/abs/2303.11366

自我改進

Large Language Models Can Self-Improve

https://arxiv.org/abs/2210.11610

自我解釋

Self-explaining AI as an alternative to interpretable AI

https://arxiv.org/abs/2002.05149

特別值得一提的是這個“自我解釋”,它對於構建一個我們可信賴的AI系統至關重要,同時要想讓AI具備解釋能力,讓它瞭解因果推理也是很自然的,這是因為它不僅要做出預測、判斷和決策,還要能跟我們說出來,它為什麼這麼做——這就是“自我解釋”。儘管這種解釋並不一定是它對自己決策過程的真實反應,而完全可能是它自己編的一個故事,但是問題的關鍵在於它給出了一種解釋,這就讓我們人類對它會產生信賴感。這也是我們人類人際交往關係的存在基礎。

那麼語言和意識的關係究竟是什麼呢?縱觀歷史,人類大腦的前額葉在人類的進化過程中,是在不斷地增長的——就是因為人們總是使用語言。所以,從人和人溝通的角度,語言是非常重要的。同時,在人和人溝通的時候,其實我們是處於一個複雜的環境下的,比如博弈環境。只有在這樣的環境中,人才能反照自身,“他人是一面鏡子”。這樣的自我又是另一種自我。在複雜的博弈中,人們才能產生“我”的行動會對別人產生什麼樣的影響的推理。

例如,最近的MIT和Google聯合出品的論文就在嘗試用大模型搭建一個虛擬的“西部世界”,並探討AI自我反思和社會互動的能力。

論文題目:

Generative Agents: Interactive Simulacra of Human Behavior

論文連結:

https://arxiv.org/abs/2304.03442

雖然近一年,也有不少新的人工智慧領域的論文,嘗試給大語言模型加了一些模組,讓它可以進行自我提升、自我精煉、自我反思和自我解釋等。但這些論文基本都只是加了個反饋迴路——依然還不能被稱為是自指機器。至少,從上面的分析角度來看,人工智慧在和人類的互動中,需要反觀自身,而這個自身並不是現有的論文已實現的那種樣子,因而這個方向還充滿著機遇。

 儘管如此,大語言模型出現之後,有越來越多的研究開始關注基於 LLM 實現更多”自我“的東西了,這是非常令人期待和興奮的。 

人類意識研究

從引言部分可以瞭解到,研究意識是很重要的。那麼歷史上,都有哪些意識研究呢?這部分的內容涵蓋了大量歷史上的實驗。

在《What is consciousness, and could machines have it?》這篇論文研究中,作者提到,意識至少有3重含義:

1. C0,無意識加工和意識狀態。即,什麼工作在什麼條件下,必須有意識參與?作者做了很多實驗,來驗證無意識加工的存在。這個領域的研究相對成熟。

2. C1,總體可用性。即資訊整合、同一性。這一方面的內容與“整合資訊理論”的理論相關,主要研究了資訊整合是如何發生的,以及如何定量衡量。

3. C2,自我監控——即自我意識的核心。 非常多大家都很熟悉的經典實驗,可以證明人類的意識與看見其實是很不同的,比如 Dan Simons & Christopher Chabris 的“黑猩猩”實驗和“注意瞬脫”實驗。

論文題目:

Gorillas in Our Midst: Sustained Inattentional Blindness for Dynamic Events

論文連結:

https://journals.sagepub.com/doi/10.1068/p281059

注意瞬脫實驗(attentional wink),可直譯為“大腦眨眼”。這個實驗要求被試報告螢幕上出現的字母。隨著接續字母的間隔時間變短,被試會“看不見”第二個字母,會認為沒有第二個字母——原因就是他的注意力都放在了第一個字母。但如果我們重新把間隔時間變長的話,被試又可以“看到”到兩個字母了。這些實驗就都在說明:人們的大腦會有意識的不同狀態,於是就有了無意識和有意識的狀態的劃分。

這裡的棋盤格實驗在劃分的基礎上又進了一步,它驗證了我們的大腦在沒有意識覺察的前提下,就已經在進行資訊的處理和加工了。比如棋盤上的A, B兩個字母,實際上都是同樣灰度亮度的,可是我們人第一反應總是以為A, B不同色——這是因為我們的大腦在沒有意識的情況下,已經做了一些邏輯處理的加工——認為B在陰影裡,所以B的顏色更深。後來的各種各樣的實驗發現,我們大腦參與的無意識加工,有非常非常多。比如簡單的邏輯計算、甚至決策判斷。

還有一些實驗告訴我們,我們甚至可以在“無意識加工”的基礎上,分成兩個自我。就像“裂腦人”這種疾病。左腦的語言能力甚至會“編故事”來解釋意識的左右區分,左右甚至可以相對獨立地進行決策。

另外一個有趣的實驗,更貼近我們的生活。如果我們讓同一個被試,把手浸泡在冰水裡,但兩次測試浸泡不同時間長度。且第二次浸泡時間長的時候,實驗人員會在實驗快結束的時候偷偷把水進行加溫,但被試並不知道。做完兩次實驗後,實驗人員問被試更願意重複做哪次實驗。80%的被試願意再做第二個實驗,但實際上第二個實驗浸泡時間更長,90s。這個實驗告訴我們,大腦的“意識”或者說“感受”並不完全相等。有一個大腦對於快到結束部分的體驗更在意。

意識是“自由”的嗎?

如果剛才這些實驗都比較定性,那麼這裡想分享一個經典的定量實驗。這是一個從60年代就有人開始嘗試,而在80年代成為一個經典的實驗,關注的是人類是如何做決策的,人類是否有自由意志,人類做決策是瞬間的,還是在意識深處有一些訊號已經知道我們要做決策了。在實驗中,被試是一群大學生,他們被要求在觀察到特定的訊號後按下手裡的按鈕。

 在這個實驗裡,研究者們在大學生的腦波訊號中發現,在按下按鈕前500ms,就已經產生腦電波訊號了。說明無意識很早就在決策前參與了。更有趣的是,如果讓大學生們自我陳述,他們是何時在頭腦中產生按按鈕的決定的,這個時間往往會比500ms靠後一些,但也會比按鈕的動作時間靠前。這個實驗就非常貼合那個詞“起心動念”,先有的是“無意識”的一個訊號RP,然後才有了意識W,最後做出動作是M。

這個實驗首先告訴我們,當我們做決策的時候,也是先有無意識參與的,然後才是意識和行動。同時,這個實驗還從一定程度上挑戰了所謂的“自由意志”的存在,這是因為,在我們意識頭腦中產生按按鈕的前期將近500毫秒,就已經由我們的“身體”產生了要做的決定,而我們的意識參與進來的時候,本質上只不過是對這種“身體決定”的一種認知和解讀。不過,關於自由意志這一點,還存在著相當大的爭議。意識與自由意志的問題,我們後面也會討論。

物理世界中可能看到“意識”嗎?

那麼,從物理世界的角度,有可能定位看見意識嗎?在之前推薦的書《腦與意識》中,作者做了很多實驗,用各種手段,在大腦中定位意識神經元。

實驗發現,達到作者認為的“意識通達”這個狀態,是需要一個過程的。以視覺任務舉例,在360-500ms的時候(這個時間長度和Libet的實驗時間長度相當),小規模放電就會發生在“無意識區域”。隨後,小規模放電一點點滲透到腦的核心區域(一般認為是前額葉、頂葉、顳葉等區域)——即“意識”的腦區。進入這些意識腦區後,放電會變得非常劇烈,同時會引發放電的雪崩,然後就會有各種區域的一系列的啟用,並且這些各種區域的雪崩效果會持續相對長的時間。這個過程有一個典型的特徵,即“全域性性”——空間的全域性性,和時間的高延遲性。換句話說,這種“意識”活動的時間尺度和空間尺度都非常強。而且後面的研究也認為,時間的相關性非常長。這和物理中的相變也有密切關係。這些內容,在書中也有介紹。

於是,這本書的作者,認為意識訊號有4個特徵:

1. 超過閾值時,訊號會大大增強,然後“雪崩”擴散。

2. 腦電上,會呈現出一種P3波(書中有圖),是一種很規則的波形,相對區域性的一種波形,會在刺激的1/3s後出現。認為P3波是一種界定有無意識的時間特徵。

3. 後期會出現高頻振盪,和gamma波的發生(人類清醒時的波形)有關係。

4. 遠距離腦區會同步交換資訊。

意識理論與建模

隨著大語言模型的出現和告訴發展,與大語言模型息息相關的“意識”領域研究可能也已經進入了突破的邊緣。在意識研究領域,有幾個代表理論:

1. 全域性工作空間,Global Workspace Theory

2. 資訊整合論,Integrated Information Theory

3. 一階/高階理論,First-Order / Higher-Order Theories

首先來說全域性工作空間理論(global workspace theory)。這個理論認為,人類的大腦實際上有一堆小程式,類似於APP。這些小程式平時不需要意識參與,自動就能完成一系列的工作。而意識是什麼呢?全域性工作空間理論認為,意識就好像一個舞臺,在特殊的場合/刺激下,意識會讓這些小程式載入到全域性的意識系統裡去,進入到舞臺的中央。

這樣的話,在這個空間裡,就可以做很多複雜的資訊處理,如邏輯推理、決策規劃等。這些是需要全腦參與的。不僅如此,意識還能反過來給這些小程式去發放訊號,同時發給小程式,這樣能讓人快速產生行動。 

 

現在科學家們已經找到了很多證據,證明在大腦裡,有很多跨腦區的長程連線,這些連線都可以認為是某種全域性啟用的物理基礎。2017年,《Neuroscience》上有一個報導,科學家們發現了“巨大神經細胞”(Giant Neuron)。如下圖,一個顏色是一個神經元,有很多突觸,這些突觸很長,基本達到了“腦”的尺度。這也成為了“全域性工作空間理論”的一個物理證據。

第二個重要的理論是“整合資訊理論”(Integrated Information Theory)。這個理論的觀點是從5個現象學公理出發,定量刻畫了什麼樣的網路會具備意識。其中,我認為這個理論最重要的有兩條,分別是:

(1)該理論認為整合是非常重要的,有整有分。因為腦是並行的分散式的系統,而神經元又要被整合成一個整體;

(2)因果力,該理論認為被整合後的神經元要展現出“因果力量”(causal power)。

如果與全域性工作空間理論相比,整合資訊理論中認為的因果力其實就發生在全域性工作空間中的中心區域(舞臺),認為這些中心區域需要有這種因果力量,使得其能給其它神經元施加。這個理論思想和因果湧現也非常有關,而且這個理論甚至可以定量地、定義“意識度” φ。

如上圖,假設我們有一個分散式網路系統,裡面只涵蓋2個單元。那麼所謂的整合資訊理論裡的大φ,刻畫的是這2個單元作為部分或整體(2單元的系統)如何發生因果聯絡(見右側網路)——我們會發現,其能產生16種因果作用的可能性。在右側網路上,每一個節點上的標識,箭頭前是 t 時刻,箭頭後是 t+1 時刻。這個網路刻畫的是,t 時刻的某個區域性或整體會對 t+1 時刻的另一部分的區域性或整體產生的影響。這個因果力之所以重要,是因為它能實現的不僅僅是2個單元之間的相互作用,也有2個單元作為整體對一個單元獨自產生的作用——這就是“向下因果”。系統的因果作用不僅僅是體現在個體和個體之間,也展現在整體對個體上。

 “向下因果”是因果湧現領域中重要的概念。在集智的因果湧現讀書會里,我們關注到,在複雜系統裡,存在多個層級和多種尺度,這不僅可能表現為不同層級和尺度下存在不同的因果關係,甚至有可能存在跨層級的因果聯絡。事實上,有大量的例子能夠讓我們找到這種跨層級的因果關係。

為了體會向下因果,我們不妨做出這樣一個動作,即用自己的手拍打自己的身體,當我們做這個動作的時候,仍舊可以從兩個層次觀察:在微觀層面,這個動作無疑會造成手臂、身體上大量細胞死亡;而從“我”這個整體的人層面看,這些細胞無疑是被“我”制約的。弔詭的是,“我”是由大量的細胞構成的一個系統,假使按常規的因果論(還原論),“我”這個人體的特性是由細胞所決定的,正如“我”會害怕火,是因為細胞害怕火,細胞一被火燒,就會死亡。可是,人們卻可以為自己的理想信念做出犧牲,甚至不惜讓自己的細胞乃至於全部都被火燒死。顯然,這超越了常規的從微觀到宏觀的因果論,而是從宏觀到微觀的因果倒置。 

這些例子都符合物理化學的基本規律,然而這些解釋卻顯得冗餘且沒有觸及到更重要的本質:人可以為了理想信念而犧牲;螞蟻可以為了整個蟻群而犧牲;“我”存在自由意志,所以可以拍打自己。這些都是因為有一個更高層級的整體,這個整體可以作為一個獨立的主體發出“因果之力”,使得因果箭頭從整體指向個體:我希望拍打手臂,所以產生了動作,細胞也隨動作而死亡。而整合資訊理論中最重要的第二個觀點就是在強調這種“因果力”,causal power。

論文題目:

Beyond integrated information: A taxonomy of information dynamics phenomena

論文連結:

https://arxiv.org/abs/1909.02297

有了這種可以從整體指向個體和個體之間相互作用的因果力,就可以使資訊產生“協同作用”。比如 Y = A XOR B,就是這樣一種有協同作用的系統,因為要確定Y的取值,你必須同時知道A和B的狀態取值,單獨知道了一個,對Y的預測仍舊毫無作用,我說A與B的協同(整體),對Y有影響,而不是A或B對Y有影響。這樣的話,對於一個有 n 個單元的系統,所有可能的組合態至少是 2^n 種,每種組合態就可以對下一個時刻的某種組合態產生影響。這就是資訊整合論的因果力,causal power。
一階/高階意識理論涉及到了意識的層次、自指等問題,這個我們後面專門討論。

還有非常多的意識理論,有興趣的讀者可以參考之前的一篇綜述文章《意識理論綜述:眾多競爭的意識理論如何相互關聯?》。

論文題目:

Theories of consciousness

論文連結:

https://www.nature.com/articles/s41583-022-00587-4

意識的實現

說完理論,說說意識的實現。有一對圖靈獎獲得者夫婦(Lenore Bluma和Manuel Blum),在PNAS上發了一篇“論文筆記”,提出了一個“意識圖靈機”模型——一個可計算的意識架構。

論文題目:

A theory of consciousness from a theoretical computer science perspective: Insights from the Conscious Turing Machine

論文連結:

https://www.pnas.org/doi/10.1073/pnas.2115934119

可以認為,意識圖靈機就是把“全域性工作空間理論”的架構給鋪墊出來了,一堆小程式在底下可以做各種分散式任務,然後有一個全域性空間。重點是,意識圖靈機實現了一些資訊上行和下行的機制。

由上圖可知,意識圖靈機中的“上行”機制存在於它的一個 up-tree 的架構,使得下方的“小程式“可以用一種自競爭的方式在啟用之後,形成一個適當地往上進入到意識過程。

具體來講,小程式都有一個強度數值,然後在上行的時候,系統就用一種強度求和並歸一化的方式來模仿每一個小程式啟用的機率,並透過隨機取樣來實現上行的啟用機制。

一旦進入意識狀態,全域性工作空間就可以工作了——意識被啟用了,於是開始下行 down-tree 機制,這種資訊傳遞就是一種快速的廣播,讓資訊廣播到每個小程式,並檢測可以處理資訊的小程式。

這個架構非常像“遺傳演算法分類器系統”裡的“白板機制”——很多小程式都競爭往白板上寫,寫的內容所有小程式都能看到,並爭相啟用。這個意識圖靈機的機制和白板機制非常像。重要的是,這裡還有個 learning 學習的過程。雖然所有程式都被啟用了,但不是所有程式都能處理這些資訊。一旦有些小程式能成功處理資訊,比如有2個小程式一起成功處理了某個資訊/某個任務,這個系統就會加強這2個小程式的連線。而且這個學習,是用 Hebb 學習率原理來學習的,而不是梯度反傳——這點很重要。這樣使得在未來再啟用的時候,這2個小程式的地位就和其它小程式不一樣了。

上面這個意識圖靈機和全域性空間理論很好地模擬了注意瞬脫的問題。但也遺留了一些問題。比如:規劃、想象、自我意識、自由意志等。

世界模型

為了繼續探索規劃和想象這個方向,LSTM 之父,在2012年的時候,提出了一種叫做 World Models(世界模型)的強化學習框架。其認為強化學習主體,應該內嵌一個虛擬世界,即 world model。在研究中,他用大量的實驗證明了,內嵌了虛擬世界的模型能在相對小樣本的資料上更加充分地學習——因為 Agent 可以 dreaming。

世界模型相關論文

World Models

https://arxiv.org/abs/1803.10122

Dream to Control: Learning Behaviors by Latent Imagination

https://arxiv.org/abs/1912.01603

Mastering Diverse Domains through World Models

https://arxiv.org/abs/2301.04104

具體來看,世界模型就是一個 RNN,它的輸入主要包括了兩組元素,一組是被編碼的世界狀態,另一個是自身在 t-1 的行動,這個RNN的目的就是預測下一步的 state/reward/action。有了這樣一個世界模型,強化學習 Agent 在學習的時候就能帶來很多收益。一方面在訓練的時候,我們可以刻意地去訓練這個世界模型(監督學習機制)。另一方面,它可以 dreaming——而這就是為什麼世界模型能在相對小樣本的資料上更加充分地學習的原因。

dreaming 的過程是,把不太完備的世界模型,單獨拿出來做訓練,透過一些假想的 action,即可以自己生成虛擬的 action。同時,從某個 t 時刻開始,讓 world model 這個真實世界的模擬器,來生成下一個時刻的 action/state和reward,再拿這些 dreaming 的資料訓練強化學習主體的執行部分。這樣就可以在 dreaming 過程中最佳化目標函式,讓 reward 達到最大。這樣就大大增加了訓練樣本,減少了訓練時間。同時,這裡的 CMA-ES 是一個規劃演算法。從而可以用規劃演算法最佳化目標。即,有了世界模型就有了一個模擬器,Agent就可以設定一個未來目標,在模擬的World Model中找到實現這個目標的規劃路徑,從而產生一步步的action。

包括自我的世界模型

論文題目:

Separating the World and Ego Models for Self-Driving

論文連結:

https://arxiv.org/abs/2204.07184

然而,世界模型的系列工作雖然很好,但很重要的遺憾是——世界模型裡依然沒有自我(self)。雖然它可以把 action 重新餵給自己,但這只是一個行動,並不完全是“反思”——當我們在“意識”領域提及“反思”的時候,更多的時候,反思指的是一種心理狀態。對比人類自身,我們人類建模的 world model 裡是包括了 self 的,而現有的 world model  研究並不包含自身。另一個遺憾是,世界模型系列的 dreaming 做夢的過程,是非自主的。agent 會刻意地把“打遊戲”和做夢之間做了區分,但人類是任意時刻都可以切換甚至同時做這兩點。

那麼回顧剛才提到的這些意識理論和意識實現框架,我們不妨思考:一個真正理想化的意識建模是什麼樣呢?我們可以得出如下4個設想:
1. 意識建模至少要有系統1和系統2——這點和全域性工作空間理論一樣。
2. 更重要的是這個系統2,要有因果力。為了實現這點,系統2很可能是全連線的網路。
3. 同時,這個意識建模必須要像 world model 一樣要能想象和執行規劃。
4. 最最重要的就是要把 self 放進去。 
  

自指與意識機器

有了一些意識建模的設想,我們不妨進一步深入討論,是否有可能實現一個具備自我意識的機器呢?這個問題的答案很可能是有的,而且這種意識機器,很可能是自指意識機器。

這裡出現了兩個概念,一個是自我意識,一個是自指意識,區別是什麼?自我意識是指具備對自我進行反思、推理、想象等思維活動的意識系統,比如我們人腦。而自指意識,是指透過我即將講述的自指原理實現的具備自我反思、推理、想象等活動的意識系統。其中,後者會顯然包含前者,因為後者透過自指技術實現的對自我的反思,是一種完美的對映,即透過特殊的技術實現的在空間和時間兩個維度中的“完美”自我對映,而前者極有可能是不完美的自我對映。其次,後者可以被看作是自我意識的一個規範性理論,一個理論原型,而現實的自我意識系統則可能是一種不完美的實現。

要理解真實自我意識系統和理論上的自指意識系統的區別,我們不妨以馮·諾依曼的自複製自動機研究做一個類比。我們知道,在馮·諾伊曼提出自複製自動機後沒幾年,人們就發現了生命透過DNA進行自複製的工作原理,並同時發現生命基於 DNA 的自複製原理像極了馮·諾伊曼的自複製機器的原理,比如DNA就可以對應到馮·諾伊曼機器中的長長紙帶,而蛋白質合成過程就對應了通用構造器(Universal Constructor)根據紙帶構造機器的過程。但DNA合成蛋白質的過程很可能並不滿足馮諾伊曼所說的通用構造性,即不見得所有的生命體都可以透過DNA構造出來(如RNA生命)。另外,細胞在複製的過程中也無法保持一模一樣,但是馮諾伊曼的機器卻可以。所以孕育了生命的 DNA-蛋白質系統並不一定是完美自指的,但很可能是一種非常接近完美自指的系統。

即便如此,我們依然認為討論自指意識機器的實現對於我們理解“意識”,以及理解 GPT 是否具備意識是有幫助的。為什麼會這樣說呢?誠如開篇提到的,現在許多為大語言模型加上“反思”模組的工作,都還是有侷限的。其侷限性在於,這種方式實現的“反思”都是不完備“自我”的。因為所有的反思都不等於“我”,一定是有資訊損失的。那麼,有人可能會問,人類大腦裡的 world model 就沒有資訊損失嗎?當我們閉眼想象某個事物的時候,你會發現它很模糊,這個經驗直接告訴我們人類大腦中的資訊表徵過程顯然是有損失的,但這是對外界事物的表徵過程。而張江老師認為,意識中的“自我”,即我對自我的表徵,是一個沒有資訊損失的對映——這有可能可以基於我們對當下自我認知的這種自明性。所以,如果想實現一個更好的意識建模,我們就要建模無損的自我——這就讓我們提出自指意識機器。

其實,在圖靈機的發展階段,就有了自指意識機器。自指的理論,是建造在“圖靈機”上的。圖靈機是一種理論上的計算機模型,其上有一條長長的紙帶,可以認為是它的工作空間/記憶空間,也可以認為是它運作過程的工作/記憶儲存裝置。圖靈機會根據自己的程式來一步步在紙帶上工作,同時,所有給圖靈的程式都是寫死的。

圖靈機可以做計算:在初始時刻,紙帶有一串資訊,t步之後,紙帶讀出的資訊就是計算的結果。這樣就有了一個 Y = f(X) 的對映,f就是一個可計算函式。所有能用數學做建模的系統,都可以用圖靈機做模擬——這也就是圖靈完備性。

所有圖靈機的家族有多大呢?其實,自然數的個數和所有的圖靈機的個數(紙帶無窮長,程式表也可以很長)是一樣多的,是阿列夫數 ℵ。值得注意的是,在所有圖靈機的集合裡,有一個另類的點——通用圖靈機(Universal Turing Machine,UTM)。它的特別之處在於,這個 UTM 可以在不改變自身程式的情況下,透過改變紙帶的內容,來可以模擬圖靈機集合中的所有圖靈機,包括它自身——通用圖靈機。通用圖靈機能做到這點,使用的方式就是,把其它圖靈機的程式寫到 UTM 的紙帶上——即把某個圖靈機進行 encoding。這樣有了原始碼和資料,UTM 就像編譯器,就可以模擬這臺圖靈機了。

有了圖靈機的概念,就可以瞭解自指了。“自指”是一個規範理論,可以定義“自我”,可以分辨(tell)一個“他物”是否有自我。能實現這一點的原因在於,“自指”技術可以構造出一個數學上的不動點,使得它能在一步迭代過程中無損地得到新“我”。關於自指,這裡推薦有興趣的讀者去閱讀《哥德爾、埃舍爾、巴赫——集異璧之大成》這本經典之作,另外還給大家推薦一本相對專業,同時又沒那麼晦澀難懂的書《Computability》這本書,既深入又易懂,入門級著作。

 N.J. Cutland: computability: an introduction of recursive function theory, 1980

歷史上,人們曾根據自指構造出羅素悖論和哥德爾定理中的關鍵命題,並引發了第三次數學危機。

而馮·諾依曼設計的這臺自複製機器,卻讓自指具備了“建構”能自複製的生命的本領。後來的人,在現代的計算機裡,實現了這個馮·諾依曼設計的機器。透過這個影片,你可以看到一個完整的機器自複製的過程,先複製紙帶的內容,再開始構造機器。

John von Neumann: Theory of Self-reproducing Automata, 1965

自指本身是一種語言中的現象,但後來數學家們把它變成了一種數學或程式設計的技巧。這裡的關鍵,就是如何繞開無窮的遞迴,而實現完美的自指。原本,我們想實現一個如下圖的“自列印”程式,即自己列印自己原始碼的程式,是不可能的。因為這裡面存在著無窮遞迴。

但後來數學家們借鑑了哲學家Quine的想法,巧妙地破解了這種不可能性。

破解的奧秘就在於,我們不能靜態地寫一個自列印程式,而必須透過在一個外部環境(通常就是作業系統)中執行程式,在過程中展開這個程式,然後當你比較它列印出來的東西和它自己的原始碼的時候,你會發現它們是一模一樣的。

那麼,要實現這種自列印程式,需要什麼樣的邏輯結構呢?我們可以參考右側的圖,它展示了 Quine 程式的邏輯結構。第一部分,相當於做了一個“虛擬部分的相”(黃框),另一部分則是實相(綠框)。最重要的 ,透過觀察我們可以看到,這裡的虛相和實相幾乎是相同的,就像一個程式照鏡子一樣。

順便提一下,這一點也是前面提到的透過“功能結構”或“軟體”來區分意識/非意識的關鍵所在——你只要在系統的功能層面區分出虛擬的相和真實的體,便能夠判斷自我意識/非意識。

那麼,馮·諾伊曼構造的自複製自動機,也是遵循類似的原理的,實現自複製的關鍵就是——在時間上展開。

以下面的例子為說明,要想從時間展開的角度實現自複製,第一步,我們需要先把圖紙複製一份(就像影印機所做的一樣)。第二步,我們需要藉助一種通用構造器,使得原始的機器在圖紙上進行加工操作,構造出一臺新的機器。再次強調一下,想要實現自複製,有兩個關鍵點:

1. 有一個執行環境:U

2. 在時間中完成展開

有了 Quine 的技巧後,我們還能做出一大類和自我有關係的程式——甚至可以認為 Quine 就是“自我”的遺傳編碼。

第二遞迴定理

為了實現自指意識機器,不可忽視的還有 Kleene 早在30年代就提出的一個定理——Kleene 第二遞迴定理。

Kleene 第二遞迴定理,即,對於任意可計算的功能f(比如列印字串),總能找到一個特殊的原始碼/程式n,執行這個程式的程式碼,就等價於拿著它自己的原始碼執行 f 這個操作(即列印出自己的原始碼)。要想理解 Kleene 第二遞迴定理,可以把大φ 認為是作業系統或編譯器,下標n就是原始碼。原始碼要根據 f 構造出來。這裡的關鍵是f可以是任意的可計算函式,所以不僅僅是列印,什麼構造、思考、模擬、推理,甚至強化學習等等,都是可以的。

根據這個定理,我們可以推出:只要“修正”、“提高”、“解釋”、“反省”等過程是圖靈可計算的,那麼根據這個定理,總能找到這個特殊的原始碼,和這些特殊的原始碼f耦合在一起,就能構造出“修正自我”、“提高自我”、“解釋自我”的程式——執行以後的效果等價於拿著自己的原始碼執行f這個操作。

這個定理是極其讓人興奮的。因為如果我們能獲得自己的原始碼,從某種程度上我們就是“神”了——因為這樣就可以基於原始碼完成自更新(自修改原始碼)——而第二遞迴定理告訴我們,這種程式是存在的!

不僅如此,第二遞迴定理還有更深層次的寓意。讓我們回憶一下馮·諾依曼的理論——他不僅是一個偉大的數學家,也是一個偉大的複雜科學理論先驅。他的著作 “Theory of Self-Reproducing Automata” 對於複雜性和生命的重要問題曾有過許多討論。馮·諾依曼提出,所有已知的複雜系統,存在一個明確的分水嶺,分水嶺的左邊,大部分是人造系統,比如當時的計算機、汽車、廠房等等;分水嶺的右邊,大部分是諸如人的大腦、細胞、生命、生態系統等大自然形成的系統。在分水嶺左邊的系統,隨著時間的變化會不斷降級,比如我們需要經常保養汽車,否則就會出各種問題;與此相反,在分水嶺右邊的系統,不僅不會隨著時間的變化而降級,反倒能夠不斷進化,特別站在生態系統角度看,其中的物種能生生不息,並且似乎變得越來越高階。

簡單來說,馮·諾依曼告訴我們,自然系統之所以可以不斷升級,就是因為達爾文式的進化——即基因突變,得到新的生命個體——有可能比原始生命個體更優——不斷持續下去——就有可能產生一個類“熵減”的過程——形成秩序的增加。而有了第二遞迴定理後,我們就可以實現這件事了!

如何實現呢?只要在自複製的過程中,去干擾圖紙/原始碼,即對圖紙做一個變異——讓原始碼上附加一個新的東西——得到一個新的圖紙(把下圖中的大小兩個圖紙合在一起)。然後,讓通用構造器在構造過程中,用新的圖紙——相當於實現了一定意義上的自我修改——也就得到了一個新的物種——可以進一步迭代。

這一定理配合馮·諾依曼對於複雜系統的理解有著很深的隱喻。馮·諾依曼判斷,在複雜系統中存在一個複雜度閾值,如果系統的複雜度沒有超過閾值,那麼系統便會在熱力學第二定律的作用下不斷降級,以至於最後瓦解,相反,一旦超過這一閾值,系統便彷彿能夠超越熱力學第二定律,得以不斷升級並進化。那麼,這個閾值是什麼?就是自複製!在自複製機器出現之前,所有形成的生命都是不斷降級的過程——只有跨過這一點——才能形成不斷進化的生物——所以,複雜的閾值與 Kleene 第二定律是非常相關的。

自我反省機器

Kleene 第二定律引發的思考有幾點很重要:

1. 相當一部分研究自我意識的人都認為不可能實現完美自省——但機器可以實現完備的自指,也就可以實現完備的自省——只要透過 Quine 的技巧和第二遞迴定律(在證明第二遞迴定理的證明過程中,本質上也用到了Quine)。Quine 操作就有點像“機器自我說話”——說出來的話也是自身。都是透過時間展開得到的。

2. 機器和描述都不是完備的。但把它們合在一起的時候,把它們交給 OS/自然,靠自然的運作,t->t+1,就能實現完備的自指了。這個過程中,一定要做到虛擬和真實的儘可能相似,同時要讓它們二者配合在一起運作,雖然它們兩者都有一些缺陷,但最後讓自然運作去彌合二者,這才能實現自複製。

3. 機器和描述互為映象——這和分形也有關係,比如馮·諾依曼的自列印結構。

第二點的含義還可以引申到人類追求宇宙真理的過程。人類靠意識能否完美認知宇宙真理?這有可能是不可能的,因為所謂的認知真理,其實就是在用我們人腦來裝下宇宙永珍,而宇宙包含了我,而我無法裝下我,這存在著無窮遞迴。而有了自指技術,其實人並不需要完美認知宇宙,認知到一定程度就可以了,然後人只要把自己的認知結果——有可能就是一個人工智慧機器,與人合在一起形成一個整體,然後,把剩下的留給自然——謀事在人,成事在天,於是人-機構成的整體就能完美地模擬宇宙運轉了。

有了這些理論後,就不難理解自指意識了。在《Computatbility》這本書裡就討論了“自我反省機器“,self introspection 的可能性。透過第二遞迴定律,我們就可以構造出來這種機器。值得注意的是,這個自我反省機器必須得有一個引數 t,即運作t步,這樣圖靈機才能可停機——才能實現可計算的函式,才能使用 Quine。

同時,自我反省機器也是一個自我模擬的程式。因為 U 是一個通用模擬器,也很容易構造出自我修改程式。這個 V 就是在一定條件下修改另一個程式的原始碼。

雖然我們從更好的意識建模延伸到了自指意識機器、自我反省機器的構建,但之前這些討論都是有缺陷的——因為自我反省機器要執行 t 步(模擬 t 步),但 t 和 U 的執行步數 T 不同,即這個自我反省機器並不是實時的機器。雖然我們實現了自我反省機器,但這裡的實現只考慮了功能的等價,不考慮中間步驟的等價。

可我們都知道,意識是實時的,所以有可能構造一個實時的等價自我機器嗎?這是有可能的,因為作業系統是一個實時系統。配合 Quine 技巧,有可能構造出實時自模擬的程式。

當然,透過自指實現的自我意識,也存在一定的問題:

非同步自省模型

剛才也提到了,也許完美的自指自模擬模型並不一定是自然所必須的。我們是否還有其它途徑去簡化自省機器呢?

這裡,張江老師分享了《機器意識》這本書,是廈門大學周昌樂老師寫的。周老師做了很多意識機器的研究。其中,周老師有個“非同步自省模型”(Asynchronous Introspection Theory)。如下圖,大盒子可以看作是人腦,人腦裡有個小機器人R,可以理解為R就是注意力,這個注意力可以關注若干個東西(小機器人的面前有3塊螢幕)。每個螢幕背後連線著不同的東西,比如M2連線語音,M1連線攝像頭。其中,最特殊的一塊螢幕是M0,M0連線的是C0攝像頭——而C0在拍攝整個R觀察各個螢幕的畫面。這個M0很關鍵,就相當於是一個反省的過程。

論文題目:

Asynchronous Introspection Theory: The Underpinnings of Phenomenal Consciousness in Temporal Illusion

論文連結:

https://link.springer.com/article/10.1007/s11023-016-9409-y

這個理論的有趣之處在於,它提出了”非同步性“這個概念。假設這個R,每一時刻只能關注到一個螢幕——這是非常關鍵的假設。即,小機器人R看M1螢幕的時候,看不見M0螢幕,每一時刻只能關注到一個東西。當這個系統在兩個螢幕之間切換的過程還有一定的延遲性時,機器人R就可能看到“自己”,從而產生對自我的認知。

周老師他們描述了一個過程。如上圖,小機器人的每一個時刻觀測記為一個記憶體。S1記憶體:比如在 T1 時刻,小機器人“我”透過 M1 看到了紅色 S2記憶體:T2時刻,小機器人切換到了M0螢幕,由於M0=C0+機器人自己,且有一定延遲,這個T2時刻,猛一下轉到了M0螢幕,就會看到T1時刻的自己(延遲畫面)。就會看到了自己的”相“,即,R的相R’在觀看M1的相M1’。S3記憶體:T3時刻,沒有切換螢幕,繼續盯著M0看,這時候看到了T2時刻的自己,即,自己在盯著M0螢幕看——且是一個二階表徵,R’,M0′, R”, M1”。虛擬世界中的虛擬世界。S4記憶體:這個過程如果始終盯著M0看到,就會產生一連串高階感知。

遺憾的是,在周老師的這個理論框架裡,機器人R是由系統外部的一個人控制的(控制何時換螢幕)。使得這個系統依然不是完全自主的。那麼,有沒有可能改變這一切呢?讓R自主決定呢?張江老師提出了一個改進的辦法:非同步自省模型+world model,並用注意力來實現 dynamic attention。

有了動態注意力,每一次迭代就實現了對自我的模擬。注意力機制可以分配注意力到 z(外部世界輸入的內容),或者到自我身上。這2者之間有了一個 trade-off。這就可以模擬意識的相關機制。當把注意力放在自我的身上,就是在我自我意識的自我反省了。

自由意志

文章寫到這裡,再多說一些大家都感興趣的話題,比如自由意志。在自指框架下,自由意志的問題就很有趣。而這也和因果湧現有關。

如上圖,當我們照鏡子的時候,鏡子裡的相是因?還是鏡子外的我是因?假設鏡子裡的相是想象的,就有可能做出超過鏡子外的我的行動(因為我們可以想象未來)。那麼系統2的虛相就有可能指導系統1的大腦、身體來運作——就有了一個從內而外的因果箭頭。但這個箭頭也是虛假的,因為 Quine 自模擬。這時其實是分不清孰因孰果。 在電影《駭客帝國》(The Matrix)裡,有一個經典鏡頭便表現了這種因果關係:

ORACLE: I’d ask you to sit down, but you’re not going to anyway. And don’t worry about the vase.先知:我就不請你坐了,反正你也不會坐。你別擔心那花瓶。

NEO: What vase?尼奧:什麼花瓶?

He turns to look around and his elbow knocks a VASE from the table. It breaks against the linoleum floor.他一轉身,碰倒桌上的花瓶,掉地上碎了。

ORACLE: That vase.先知:就那花瓶。

Neo: Shit, I’m sorry.尼奧:見鬼!對不起。

She pulls out a tray of chocolate chip cookies and turns. She is an older woman, wearing big oven mitts, comfortable slacks and a print blouse. She looks like someone’s grandma.她取出餅乾,轉過身來。穿著、樣子、動靜,看上去就像一位鄰家奶奶。

ORACLE: I said don’t worry about it. I’ll get one of my kids to fix it.先知:我說沒關係,我會叫那些孩子來還原它的。

Neo: How did you know…?尼奧:你怎麼知道會……?

She sets the cookie tray on a wooden hot pad.她將餅乾放一木盤上。

ORACLE: What’s really going to bake your noodle later on is, would you still have broken it if I hadn’t said anything.先知:讓你覺得更困惑的是,我不說,你還會不會打破那花瓶。

正常情況下,因果序列表現為,先知對Neo說,不用擔心花瓶,Neo聽見後便轉身,結果打碎了花瓶。不過,這裡面存在一條奇妙的因果箭頭:實際上,Neo頭腦中還存在一個想象世界, 當先知與Neo說完話後,Neo便想象到花瓶碎掉的場景,或者說是一種預期,對未來的預期顯然還未發生,正是這一預期使得Neo轉身,花瓶便被Neo打碎,於是,預期便得以自我實現(Self-fulfilling Prophecy)。似乎,這裡面存在一種從未來指向現在的因果箭頭,當然,在這個例子中,這是因為人腦存在一個想象世界,不過,這種現象會在很多存在生命的個體中發生,比如蟲子會在自己的控制下爬向食物,這裡面,正是未來的預期,或者說目的,驅使了蟲子的行動。

在自指程式下,只要能做到內外一致,就可以做到因果箭頭的”顛倒“——實現自由意志。

好了,關於意識的現象和理論部分我們就全部介紹完了,下面,還可以延展討論幾個問題:

如何讓ChatGPT具有意識?

要回答這個問題,首先就要回答:如果不做任何改進,現有的 ChatGPT 等大語言模型具有意識嗎?我們可以從3個層面來評估這個問題。

1. 宏觀層面——行為層面。許多意識相關的理論及證據都已經表明,從行為層面判斷是否具有意識是很不可靠的——例如ChatGPT不可能照鏡子,就無法透過是否能識別出鏡子裡的自己而判斷是否有意識。

2. 微觀層面——物理層面。比如,大語言模型在執行的過程中,其神經網路內部是否有大尺度的全聯通網路啟用——尤其在執行復雜任務上,是否存在系統2的工作痕跡。這一點,似乎是可以被驗證的。

3. 功能層面——及 GPT 裡面有沒有虛擬層呢?假設有,這些虛擬層在映照自我嗎?如何映照自我的呢?至少要區分虛擬層和真實層,然後還要區分出這兩者之間複雜的編碼關係。

那麼,如果 ChatGPT 等大語言模型還沒有意識。如何讓它具有意識?至少從本文中提到的許多理論和思考可以看到,未來值得做的至少有兩個方向:

1. 讓 GPT 等 LLM 和全域性工作空間(意識圖靈機)發生耦合。透過系統2,讓它做更復雜的任務。

2. 世界模型+動態注意力。讓GPT替代世界模型(有整個網際網路的知識),可以把 GPT 當成世界模擬器。那麼再加上對自我的感知,就可能出現自我修正等功能。

“自我”就是“意識”皇冠上的明珠。

來自: 集智俱樂部