AI的哲學系思考—認知不變性與AI
美國的 DARPA(US Defense Advanced Research Projects Agency)曾經提出過第三波 AI 的概念,在其論述中,第三波 AI 里很重要的一部分就是達到通用人工智能。換句話說,當下的人工智能更多還是依賴于統計學信息,當傳入模型的數據分布發生變化時(任務變化),就很難達到理想的效果。傳統的 AI 中,大部分的 AI 算法都渴望找到一個生物學依據來進行對應,盡管有很多人質疑這種對應的必要性,而且就如飛機的發明一樣,其實飛機的飛行方式跟鳥類有很大不同,但在發現更好的算法之前,向人腦學習或許是更好地選擇。既然要向人腦學習,那么人類探索世界的過程就可以成為 AI 最好的老師,而哲學就是人類探索世界最神秘也最牢固的基石,很多學者也開始注意到哲學,除了將其作為虛無縹緲的 “底蘊” 外,他們也開始試著將哲學的思路真正融入到 AI 算法中來。
因此,本文也選擇了一個角度,從科學認知的不變性(Hard To Vary, HTV)入手,然后介紹 HTV 存在的必要性以及在廣義上如何基于內部可變性(internal variablity)和外部可變性(external variability)在 AI 中衡量并實現這種不變性,最后會介紹幾個剛剛提出的具體的實現認知不變性的標準。
什么是科學認知不變性(HTV)

圖 1:David Deutsch 在其 TED Talk 中提出了 HTV 的必要性 [4]
簡單來說,科學認知不變性的意思就是我們提出的理論應該是不易變化的。下面是 Wiki 對于 HTV 相對完整的定義:
Theorists should seek explanations that are hard to vary. By that expression, the author intended to state that a hard-to-vary explanation provides specific details that fit together so tightly that it is impossible to change any detail without affecting the whole theory.
(如果學者們想要確定一個理論,那么這個理論最好是具有不變性的(難以被撼動,也就是 hard to vary)。這樣的理論應該是這樣的:所有的細節都很清晰而且相互緊密聯系,如果你想推出這個理論的結果,你只有這一條路可以走,替換這條路(本理論)中的任何細節都會讓這個理論不再成立。)[5]
基于這個角度來看,神話就是人類在認知世界時的一個極端的反面例子了(至少目前看來)。舉個例子,在古希臘神話中。季節是這么來的:冥界之神哈迪斯(Hades)綁架了春天之神珀爾塞福涅(Persephone),并強迫她結婚。結婚后哈迪斯放走了春天之神,但是要求她定期回來。因此很神奇的,每年她真的就就會被迫回到冥界。而她的母親,大地女神得墨忒耳 (Demeter) 悲傷不已,使大地變得寒冷而貧瘠,也就變成了人間的冬天。先不說這之中的不變性是否存在,就只說其內在邏輯,如果冬天是因得墨忒耳的悲傷而造成的,那么它必須同時發生在地球上的所有地方。所以如果古希臘人知道澳大利亞在得墨忒爾最悲傷的時候是最熱的...... 他們就會知道他們的理論是錯誤的。
除了事實給這個故事帶來的矛盾之外,四季的解釋還可以由其他各種各樣的故事來代替,比如說在新的故事里強迫春天之神回去的理由不是那一紙婚約,而是為了復仇,因為這里的珀爾塞福涅沒有被釋放,但是她逃跑了。從此之后,每年春天她會回來用她的春天之力向哈迪斯復仇——她用春天的空氣給它的領地降溫,這些熱量散發到地面,創造了我們的夏天。這和最初的神話解釋了相同的現象,同樣是跟現實相符的。然而,它對現實的斷言,在許多方面是相反的。這是可能的,因為原始神話的細節與季節無關,除了通過神話本身。
如果上面的故事太長太難理解,那么就再舉個更簡潔的例子,過去的神話中,下雨是龍王控制的,還有雷公電母負責雷電,這種故事都是很容易變的,只要改個人就行了,比如雷公改成雷神,就可以實現完全相同的結果,只不過內在的解釋卻全然不同,分別代表著中國古代神話和漫威。
這就是為什么 HTV 會被提出來,如果現在的科學也像這類故事一樣內在邏輯其實很容易被篡改,然后還能達到完全相同的結果,那將會是很恐怖的,這也解釋了為什么當下的 AI 黑盒模型很難被除 AI 從業者之外的人信任。那么為了實現不變性,這些神話里缺了什么?回到開始對于季節的解釋上,它們缺失的一個關鍵元素是該理論內部演繹邏輯所產生的約束?,F代科學對季節的解釋就是一個很好的例子,因為它涉及到太陽光線和地軸傾斜的一系列緊密的幾何推導。盡管它也有一些自由的參數,如傾斜的角度等,但大多數的解釋都來源于于不能改變的幾何推論。當然,這類約束存在的前提是我們要建立的知識的一致性。
HTV 能做什么
現在的 AI 行業其實正在蓬勃發展,有幾家公司已經推出了全自動駕駛汽車,而谷歌的 Duplex 系統憑借其能夠進行自然語言對話的能力贏得了很多受眾。而最近的 GPT3 模型已經證明能夠編寫非常令人信服的故事,并在測試期間甚至可以執行語料外的任務(論文中的零樣本學習部分)。然而,仍有許多人工智能無法做到的事情。今天的人工智能系統缺乏人類水平的常識理解,在機器人操作物體方面很笨拙,在任意推理方面也很差。另一個問題是,如今的人工智能無法從人類這樣的少數例子中學習,需要大量數據來進行訓練。然而,最重要的是,今天的人工智能系統都很狹窄,也就是 DARPA 提到的 Narrow AI——它們只能在訓練數據分布的范圍內執行它們被訓練完成的任務。只要今天的人工智能系統被要求在訓練數據分布之外工作,它們通常就會失敗。
換句話說,當前的 AI 更注重歸納(Induction)出來的結果。但是矛盾點就在這里,如果 AI 真的要向人腦學習,那學者們就很難繞開波普爾(Popperian)提出的認知論,而在這個認知論中,他反對歸納法,認為歸納法不是科學知識增長和發展所必需的。而目前的很多機器學習甚至很多科學研究,其實本質上都相當于貝葉斯歸納法,而且當下一個很流行的觀點就是,所有的人工智能系統都是近似的索羅門諾夫歸納法(Solomonoff induction)。
就像某辯論節目中說的那樣,哲學更多是用來證偽,而不是用來證實。而 AI 正是在為了幾乎為了幾乎不可能的 “證實” 在努力。簡單來說,AI 希望能夠產生理論,而且理論完全準確。但這顯然是不可能的。在波普爾看來,理論向來都是為了解決問題而出現的“大膽猜想”,而不是直接從經驗中學來的。舉個例子,星星其實也是一個個太陽,只不過他們比太陽離我們更遠,這是阿納薩哥拉斯(Anaxagoras)在公元前 450 年首次提出的大膽猜想。盡管人工智能研究人員對如何產生這樣的猜測非常感興趣,但波普爾并不太關心如何產生猜測,相反,他認為這是一個心理學家需要回答的問題。畢竟,一個猜想的真實性與它的來源無關。雖然經驗能夠并且確實告訴我們哪些猜想應該保留,哪些應該拋棄,特別是以經驗檢驗的形式,但在波普爾看來,經驗總是帶有理論色彩的。換句話說,不可能像弗朗西斯 · 培根所說的那樣,以一種完全客觀的方式進行觀察。
對波普爾來說,理論和觀測哪個先出現的問題很像先有雞還是先有蛋的問題??茖W理論是建立在觀察的基礎上的,但從某種程度上說,這些觀察又是由之前的科學理論提供的,這樣不斷追溯我們甚至可以追溯到史前科學的神話中。因此,盡管理論的實證檢驗在證明某些理論是錯誤的同時保留其他理論方面發揮著作用,但波普爾認為,從根本上說,所有的理論都來源于 “內部”,而不是來自外部的印象。如果可證偽性是一個理論是否科學的關鍵,那么建立在神話之上的理論,能夠對神、魔鬼和鬼魂的行為做出可證偽的預測,就應該被認為是科學的嗎?波普爾通過他的“可證偽性的程度” 概念,在一定程度上解決了將這些明顯不科學的理論從科學領域中移除的任務,但這一原則的有效性我們依然不清楚。
于是 HTV 的存在就很有必要了,因為它好像可以用于作為區分科學理論和不科學理論的替代標準。對應的,AI 既然聲稱自己的模型要成為智能,那么 HTV 也可以用來證明 AI 模型輸出的有效性。
AI 與 HTV 的關系
通常來說,HTV 可以這么解釋:對應一個特定的理論,有多少個等價的解釋存在。例如,在機器學習的環境中,HTV 原理可以分別應用于各種類型的模型架構,每一種都有固定數量的參數。有更多參數的模型能夠表達更大的函數類,因此更容易變化。
從表面上看,HTV 原理似乎與經典統計中的偏 - 方差權衡(bias-variance trade-off)的其中一方面有關,即參數過多的模型更容易對其訓練數據進行過擬合,導致對測試數據的泛化能力較差。然而,回想一下,我們感興趣的是外推(分布外的模型能力),而不是訓練分布范圍內的經典泛化。偏差 - 方差權衡只針對分布中的泛化,因此與 HTV 原理是基本不相干的。而且在機器學習中,隨著更多的參數添加到模型中,偏見 - 方差權衡已經被證明會失效——如超過某個閾值,導致 “雙下降” 曲線的發生[6]。因此目前來說,更多的參數總是有幫助的,而不會有壞處。所以,偏差 - 方差權衡本身的存在也變得值得懷疑了。如何區分適用偏差 - 方差權衡的模型和不適用偏差 - 方差權衡的模型仍然是一個正在進行的研究領域。同時,過度擬合的問題通??梢杂酶蟮臄祿瘉硌a償。因此,大型模型在本質上并不是不好的,這取決于可用數據的數量。
因此,其實 HTV 與奧卡姆剃刀(Occam’s razor)原則似乎更接近。簡單來說,這個原則所表達的意思就是模型(參數)越簡單越好,簡單的模型可以完成的事情沒必要用復雜的東西來完成。Kolmogorov complexity 可以很好地衡量這一原則(具體在 AI 中如何應用會在后面說)。
如果字符串 s 的描述 d(s)具有最小長度 (即使用最小比特數),則稱為 s 的最小描述,d(s) 的長度 (即最小描述中的比特數) 為 s 的 Kolmogorov 復雜度,寫成 K(s)。而最短描述的長度取決于描述語言的選擇; 但是改變語言的影響是有限度的(這個結果被稱為不變性定理)。這在 AI 中,這種簡單性的衡量可以有有兩種方式:
- 一是利用所有已有的解釋框架,或者看這個訓練好的模型有多復雜。Hochreiter 和 Schmidhuber 發現,在參數空間的損失函數表面上存在平面極小值的深度學習模型更易于推廣。這一點很好解釋,平面極小值表示該模型擁有較低復雜度(更易于壓縮)。但是,最近發現了與以下觀點相反的例子:損失函數曲率較低的深度學習模型具有更高的通用性。如果結合 Popper 的觀點,這種利用具有較低曲率的函數比具有較高曲率的函數 “更簡單” 等觀點來證明簡單性是不對的,Popper 認為,通過簡單性來進行函數排序的做法是出于美學或實踐考慮,但并沒有在任何深層次的認知原理中建立良好的基礎。
- 衡量簡單性的另一種方法是查看模型中自由參數的數量。這項措施似乎更符合 Deutsch 的可變性概念。帶有更多自由參數的模型(或使用 Occam 的語言 “實體”)更具可變性,因為可以輕松地調整參數以適合不同的數據。Deutsch 卻反駁了這一觀點 - 實體較少的模型可變性較小,他說:“有很多簡單的解釋都是高度可變的,例如'Demeter did it'。” 看起來 Deutsch 正在研究的是理論上的各種約束,包括內部和外部,以及參數的微小變化改變模型預測的程度。弗朗索瓦 · 喬列(Fran Ocois Chollet)辯稱,奧卡姆(Occam)的剃刀與推斷是對立的。例如,如果模型是在訓練數據上取得良好性能的最簡單方法,那么在新情況下就不太可能取得良好的效果。Chollet 認為模型應該包含 “外部” 信息,以便能夠進行推斷。
怎樣衡量 AI 模型的 HTV 性
要衡量 AI 模型的 HTV 性,就要先明確 HTV 性在 AI 模型中的表現形式是什么。深度學習在工業界應用的常見問題就是極其不穩定,就比如圖像識別領域,照明條件、圖像分辨率、圖像的呈現形式等等等等,都有可能成為深度學習模型的攔路虎。另外一個比較出名的例子就是 DeepMind 為了電腦游戲《星際爭霸》而開發的 AlphaStar 系統了。對于給定的地圖和角色,模型可以輕松戰敗人類,但這種能力不能泛化到其他的角色和地圖中,必須分別重新訓練。這些問題都在向我們說明,AI 模型很難在訓練數據的分布外完成其任務,也就是很難完成條件跟訓練時不同的任務。而 HTV 則指引我們,一個好的模型,應該在一個新的場景下以最小的代價最高程度地完成新的任務。
因此對應于訓練好的模型,[1]中定義了兩個概念:
- 內部靈活性(internal variability):一個模型 / 理論在多大程度上可以內部改變,同時仍然產生相同的預測。很明顯這個越小越好,如果以上面的神話為例,神話的內部靈活性顯然極大;
- 外部靈活性(external variability):為了適應新的數據,模型必須改變多少。很顯然,這個條件是越小越好,也就是說以最低的代價完成新任務。
對應于這兩個性質,如果能夠很好地衡量 AI 模型中這兩個性質的實現程度,那么就能更好的達到所謂的通用人工智能(Artificial General Intelligence, AGI)。本小節的剩下內容會分開介紹這兩個性質在 AI 中對應什么,以及一些概念上對這些性質進行衡量的方式。
內部靈活性
內部靈活性的定義是一個模型 / 理論在多大程度上可以內部改變,同時仍然產生相同的預測??紤]一個基于輸入變量 x 預測輸出 y 的常見問題??茖W家首先會引入與現有系統相關的先驗知識,并且通常會引入先驗已知的科學定律。然后,利用這些先驗知識,他們將為該關系派生或猜測一種功能形式,使其適合數據,并查看其工作情況。重要的是,該功能保持相對簡單,因此仍然可以理解 - 除了準確預測之外,還存在理解的隱含需求。相比之下,在機器學習中,從業人員僅關注預測準確性,因此可以接受大的黑匣子功能。Leo Brieman 指出,使用大型多參數函數(例如神經網絡)時會出現一個奇怪的事實–大量模型在任何數據集 {x,y} 上都可能具有相等的誤差(損失)[8]。每當數據嘈雜時都是如此,就像在任何實際應用程序中一樣。他稱這是羅生門效應,是在一部日本電影中,四個人都目睹了一個人死亡的事件。在法庭上,他們都報告看到相同的事實,但是對于所發生的事情,他們的解釋截然不同。在神經網絡中也可以發現這種有趣的現象——用不同的隨機初始化訓練的深度神經網絡可以達到相同的精度,但內部工作方式不同(例如,使用不同的功能),這是一個未被充分認識的事實。測量深度學習模型的羅生門集的大小,相當于確定等價最小值的數量。這是一個水平集問題,據我們所知,在這一領域還沒有做太多的研究,并且沒有簡便的方法來計算此集合的大小。
外部靈活性
那么怎么實現分布外的預測能力呢,那模型需要更勇敢的向外進行推理,也就是外斷(Extrapolation)。為了衡量外斷的能力,也有了外部靈活性的概念。為了衡量外部靈活性,我們可以再次假設我們正在為一個簡單的函數 y = f(x)建模,并試圖將它擬合到一個數據集 {(x, y)}。為了測量外部可變性,我們希望直觀的知道我們需要改變多少 f(x) 來使模型適應數據集的變化。我們可以通過考慮兩種截然不同的預測模型來進一步了解這一點——k 最近鄰和基于物理的模擬來計算核塌超新星中作為其質量函數的最大壓力。第一種模型可以靈活地適用于任何函數 y = f(x),而第二種模型則是為特定用途量身定制的。另一個高度靈活模型的例子是基于優化器的神經網絡(在給定數據集的情況下做出預測,神經網絡得先在數據上擬合)。
為了進行量化,我們必須有一種方法來量化模型中的變化,以適應新的數據集。算法信息理論可以幫助解決這兩個問題。給定一個圖靈機和數據集 D1, D1 中的算法信息,也稱為 Kolmogorov 復雜度,是用我們選擇的特定圖靈機復制 D1 的最短程序的比特串 s1 的長度。記為 H(D1) = length(s1)?,F在假設我們有一個在不同數據集 DAI 上訓練過的人工智能算法 sAI,我們希望測量它需要改變多少才能在 D2 上工作得最優。s1 與 sAI 之間的相對算法信息,記為 H(s1|sAI)是給定 sAI 復制 s1 的最短的改變算法的長度。因此,它是一種使 sAI 在 D2 上發揮最優作用所需的變化量的測量方法。不幸的是,這種復雜性是無法計算的。然而,我們可以利用這個復雜性的近似值,而不是試圖找到復制 D2 的最優程序。我們指定一個精度邊際(盡可能多地列舉所有可能性),然后,在我們設定的范圍內尋找重現 D2 所需的 sAI 長度的最小變化。注意,我們不關心 sAI 有多大,只關心它需要改變多少來適應新的數據 DAI。因此,這種 “HTV” 性的概念與 “奧卡姆剃刀” 是不同的。我們還沒有指定如何設置 DAI (AI 設計的初始數據集)和 D2。顯然,這些數據集不能隨機生成。無免費午餐定理說明所有算法在對每個可能的問題平均時都是等價的。因此,當試圖從一個隨機選擇的數據集推斷到另一個數據集時,所有算法都將處于平等的基礎上。我們所處的情況與 Chollet 試圖嚴格定義智力時所面臨的情況非常相似。Chollet 的解決方案是將問題空間限制為一組人類可以解決的問題。喬列指出,自然世界符合一系列非?;镜南闰?,如客體性(存在不同的對象)、基本物理學、主體性(存在有目標的主體)、數字和算術、基本幾何和拓撲。我們同樣可以斷言 D1 和 D2 的生成必須符合一組先驗規則。或者更簡單一點,我們可以說 D1 和 D2 是由物理現象產生的。這充分限制了問題 / 數據空間,使外推變得可行。
如何讓模型學習到 HTV 解

- 論文地址:https://arxiv.org/pdf/2009.00329.pdf
- Code: https://github.com/gibipara92/learning-explanations-hard-to-vary
前面較為表面地論述了 HTV 與 AI 的關系,為了讓 HTV 真正對 AI 算法產生效果,還有很多細節需要確定,比如說 HTV 可以解決 AI 的具體什么問題,怎么解決等等。LEARNING EXPLANATIONS THAT ARE HARD TO VARY 給出了一個很好地嘗試,它首先清楚地定義了在 AI 中 HTV 可以幫助解決的問題(如圖 2 所示):

圖 2:HTV 對應 AI 中的問題 [7]
這個問題簡單來說就是當數據分布變化時,最優解可能會發生變化,從而也就失去了不變性。為了驗證這一點,作者特意生成了兩組數據,然后按照傳統的訓練方法在不同的初始化參數(白色圓圈)下獲得了兩個局部最優解(星星),但是當這兩組數據分開訓練的時候,由于生成數據的特殊性,兩組數據的損失曲面會在一條線(左下的圖是一條豎線,右下圖是一條橫線)上達到最小值,那么這一條線上的所有點都是局部最優解,會產生很多很多個局部最優解,這種情況下基本就很難在找到最上面圖右上角的那個最優解了,除非初始化的參數正好讓他們得到了 (0.8,0.8) 這個最優解(概率幾乎為 0,相當于 1/*∞*)。
在這個例子里,顯然下面兩張圖中左下角的解符合 HTV 的原則,而其他的解都極其易于變化,而當數據變多時,這些極易變化的解大多數都不在有用了。作者也用了一個更加現實主義的例子解釋了 HTV 在 AI 中到底需要實現什么效果(如圖 3 所示):

圖 3:HTV 可以解決什么[7]
圖 3 展示了兩種筆記,左邊那種筆記很難用再其他的棋譜上(如果棋譜尺寸變化,就不再有用了),但是右圖的筆記是可以的。比如如果有第三本棋譜,棋譜的大小比例跟圖 3 中的棋譜完全不同,這時出現了跟左圖中類似的場景,用箭頭就很可能會出錯。想象一個比圖 3 大一倍的棋譜,那箭頭指向的位置可能正好比原來少一半的格子,而用符號描述的方法就不存在這種問題。
上面的例子也從側面論證了 HTV 的重要性,圖示類的筆記很容易改變,如果箭頭彎一下或者棋譜變一下都會產生問題,而用文字的表述時,想要表達每一步棋的方法是確定的,也就更易于廣泛地推廣到更多的棋譜。因此,作者希望找到類似于右圖的筆記作為最優解。
為了解決這個問題,作者提出了一種 AND mask,這種 mask 不是 mask 輸入,而是對梯度進行 mask。作者先把數據分成多份,每一份被認定為一個環境中產生的數據(類似于平時訓練時的 batch),在正常的訓練中,我們會對每個 batch 進行類似于 average 的操作,這樣就會導致圖 4 所示的問題,Batch A 和 Batch B 的梯度方向完全不一致,但最終他們的影響都被保留了。

圖 4:非一致性[7]
為了確認哪些梯度要被 mask,對于每個環境(batch)下得到的參數θ,作者在參數θ的情況下對每個環境(下式中的 e,也就是 batch)的損失函數進行比較從而得到這個參數 ILC(Invariant Learning Consistency, 學習的一致性)。簡單來說,就是只保留那些被更多數據認可的梯度方向,作者提到的 geometric average 也是為了表達這個意思。

除了前面提到的具體解決方案(AND mask)外,文中也提綱挈領的提出了幾個導致訓練結果不能 HTV 的常見問題(有些其實已經被解決了):
- 沒找到最優解就停止了訓練。既然沒找到最優解,那么更別說找到 HTV 解了。
- 梯度聚合方式。如果在訓練的時候,信號是獨立學習的(batch),那么這些信號的聚合方式就很重要了,合理的聚合方式才能保證所有信息不被丟失。如前文(圖 4)所示,我們常用的 average 在很多情況下會丟失重要的信息,比如圖 4 中向左的信息就被丟失了,如果更多的 batch 希望向左,但是值卻很小,那么 average 下還是向右,但是更 general 的方案顯然是向左。
最后作者在自己生成的數據上驗證了自己的想法,也在 CIFAR 10 上確定了自己的方式有一定的優勢,雖然所有的實驗對比都是在一定的限制下的,但是本文提出的思路,以及將 HTV 嵌入到 AI 中的思路,都很值得學習。
總結
對于 HTV 性,如果將來可以將這一性質定量的加入到模型的損失函數中去,那么可以預見的,AGI 將離人類更進一步。當然,本文全篇的假設還是基于如果 AI 的學習對象還是人腦,如果 AI 研究過程中能夠發現一些跟人腦功能無關,但是依舊有效的算法,也未嘗不可。總而言之,為了實現 DARPA 所說的第三波 AI 甚至更高級的 AI,我們需要發現一種更綜合的 loss 來完成我們預期的任務。