假如我們有無限的資源,例如有無窮多的數據,無窮大的算力,無窮大的模型,完美的優化演算法與泛化表現,請問由此得到的預訓練模型是否可以用來解決一切問題?
這是大家都非常關心的問題,但已有的機器學習理論卻無法回答。它與表達能力理論無關,因為模型無窮大,表達能力自然無窮大。它與最佳化、泛化理論也無關,因為我們假設演算法的最佳化、泛化表現完美。換句話說,之前理論研究的問題在這裡不存在了!
今天,我要跟大家介紹一下我在ICML'2023發表的論文On the Power of Foundation Models,從範疇論的角度給出一個答案。
倘若不是數學專業的同學,對範疇論可能比較陌生。範疇論被稱為是數學的數學,為現代數學提供了一套基礎語言。現代幾乎所有的數學領域都是用範疇論的語言描述的,例如代數拓樸、代數幾何、代數圖論等等。範疇論是一門研究結構與關係的學問,它可以看作是集合論的一種自然延伸:在集合論中,一個集合包含了若干個不同的元素;在範疇論中,我們不僅記錄了元素,也記錄了元素與元素之間的關係。
Martin Kuppe曾經畫了一幅數學地圖,把範疇論放到了地圖的頂端,照耀著數學各個領域:
關於範疇論的介紹網路上有很多,我們這裡簡單講幾個基本概念:
過去十多年,人們圍繞著監督學習框架進行了大量的研究,得到了許多優美的結論。但是,這個框架也限制了人們對AI演算法的認識,讓理解預訓練大模型變得極為困難。例如,現有的泛化理論很難用來解釋模型的跨模態學習能力。
我們能不能透過取樣函子的輸入輸出數據,學到這個函子?
注意到,在這個過程中我們沒有考慮兩個範疇 X,Y 內部的結構。實際上,監督學習並沒有對範疇內部的結構有任何假設,所以可以認為在兩個範疇內部,任何兩個對象之間都沒有關係。因此,我們完全可以把 X 和 Y 看作是兩個集合。這時候,泛化理論著名的no free lunch定理告訴我們,假如沒有額外假設,那麼學好從 X 到 Y 的函子這件事情是不可能的(除非有海量樣本)。
乍看之下,這個新視角毫無用處。給範疇加約束也好,給函子加約束也好,似乎沒什麼本質差異。實際上,新視角更像是傳統框架的閹割版本:它甚至沒有提及監督學習中極為重要的損失函數的概念,也就無法用於分析訓練演算法的收斂或泛化性質。那我們該如何理解這個新視角呢?
我想,範疇論提供了一個鳥瞰視角。它本身不會也不應該取代原有的更具體的監督學習框架,或用來產生更好的監督學習演算法。相反,監督學習框架是它的“子模組”,是解決特定問題時可以採用的工具。因此,範疇論不會在乎損失函數或最佳化過程——這些更像是演算法的實作細節。它更關注範疇與函子的結構,並且嘗試理解某個函子是否可學習。這些問題在傳統監督式學習框架中極為困難,但是在範疇視角下變得簡單。
下面我們先明確在預訓練任務下範疇的定義。實際上,倘若我們沒有設計任何預訓練任務,那麼範疇中的對象之間就沒有關係;但是設計了預訓練任務之後,我們就將人類的先驗知識以任務的方式,給範疇注入了結構。 而這些結構就成為了大模型擁有的知識。
具體來說:
換句話說,當我們在一個資料集上定義了預訓練任務之後,我們就定義了一個包含對應關係結構的範疇。預訓練任務的學習目標,就是讓模型把這個範疇學好。具體來說,我們來看看理想模型的概念。
在這裡,「資料無關」表示 是在看到資料之前就預先定義的;但下標 f則表示可以透過黑盒呼叫的方式使用f 和 這兩個函數。換句話說, 是一個「簡單」的函數,但可以藉助模型 f 的能力來表示更複雜的關係。這一點可能不太好理解,我們用壓縮演算法來打個比方。壓縮演算法本身可能是資料相關的,例如它可能是針對資料分佈進行了特殊最佳化。然而,作為一個數據無關的函數 ,它無法存取數據分佈,但可以調用壓縮演算法來解壓縮數據,因為「調用壓縮演算法」這一操作是數據無關的。
針對不同的預訓練任務,我們可以定義不同的 :
因此,我們可以這麼說:預訓練學習的過程,就是在尋找理想模型f 的過程。
可是,即使 是確定的,根據定義,理想模型也不唯一。理論上說,模型 f 可能具有超級智能,即使在不學習 C 中資料的前提下也能做任何事情。在這種情況下,我們無法對 f 的能力給予有意義的論點。因此,我們應該看看問題的另一面:
給定由預訓練任務定義的範疇 C ,對於任何一個理想的 f ,它能解決哪些任務?
這是我們在本文一開始就想回答的核心問題。我們先介紹一個重要概念。
#很容易證明, 是能力最弱的理想模型,因為給定其他理想模型f , 中的所有關係也包含在f 中。同時,它也是沒有其他額外假設前提之下,預訓練模型學習的最終目標。因此,為了回答我們的核心問題,我們以下專門考慮 。
能否解決某個任務 T ?要回答這個問題,我們先介紹範疇論中最重要的一個定理。
#即, 可以用這兩個表徵計算出T(X) 。然而,注意到任務提示P 必須透過 而非 發送,這表示我們會得到 (P) 而非T 作為 的輸入。這引出了範疇論中另一個重要的定義。
基於這個定義,我們可以得到以下定理(證明略去)。
#值得一提的是,有些提示調優演算法的提示不一定是在範疇C 中的對象,可能是特徵空間中的表徵。這種方法有可能支援比可表任務更複雜的任務,但增強效果取決於特徵空間的表達能力。下面我們提供定理1的一個簡單推論。
推論1. 對於預測影像旋轉角度的預訓練任務[4],提示調優無法解決分割或分類等複雜的下游任務。
證明:預測影像旋轉角度的預訓練任務會將給定影像旋轉四個不同的角度:0°, 90°, 180°, 和 270°,並讓模型進行預測。因此,這個預訓練任務定義的範疇將每個物件放入一個包含4個元素的群組中。顯然,像分割或分類這樣的任務不能由這樣簡單的物件表出。
推論1有點反直覺,因為原文提到[4],使用此方法得到的模型可以部分解決分類或分割等下游任務。然而,在我們的定義中,解決任務意味著模型應該為每個輸入產生正確的輸出,因此部分正確並不被視為成功。這也與我們文章開頭提到的問題相符:在無限資源的支援下,預測影像旋轉角度的預訓練任務能否用於解決複雜的下游任務?推論1給了否定的答案。
提示調優的能力有限,那麼微調演算法呢?基於米田函子擴展定理(參見 [5]中的命題2.7.1),我們可以得到以下定理。
定理2考慮的下游任務是基於 C 的結構,而不是資料集中的資料內容。因此,先前提到的預測旋轉圖片角度的預訓練任務定義的範疇仍然具有非常簡單的群體結構。但是根據定理2,我們可以用它來解決更多樣化的任務。例如,我們可以將所有物件映射到同一個輸出,這是無法透過提示調優來實現的。定理2明確了預訓練任務的重要性,因為更好的預訓練任務將創造出更強大的範疇 C ,從而進一步提高了模型的微調潛力。
對於定理2有兩個常見的誤解。首先,即使範疇C 包含了大量信息,定理2只提供了一個粗糙的上界,說 記錄了C 中所有的信息,有潛力解決任何任務,而沒有說任何微調算法都可以達到這個目的。其次,定理2乍看像是過參數化理論。然而,它們分析的是自監督學習的不同步驟。過參數化分析的是預訓練步驟,說的是在某些假設下,只要模型夠大且學習率夠小,對於預訓練任務,最佳化和泛化誤差就會非常小。而定理2分析的則是預訓練後的微調步驟,說該步驟有很大潛力。
監督學習與自監督學習。從機器學習的角度來看,自監督學習仍然是一種監督學習,只是獲取標籤的方式更巧妙一些而已。但從範疇論的角度來看,自監督學習定義了範疇內部的結構,而監督學習定義了範疇之間的關係。因此,它們處於人工智慧地圖的不同板塊,正在做完全不一樣的事情。
適用場景。由於本文開頭考慮了無限資源的假設,導致許多朋友可能會認為,這些理論只有在虛空之中才會真正成立。其實並非如此。在我們真正的推導過程中,我們只是考慮了理想模型與 這個預先定義的函數。實際上,只要 確定了之後,任何一個預訓練模型f (即使是在隨機初始化階段)都可以針對輸入XC 計算出f(X) ,從而使用 計算出兩個對象的關係。換句話說,只要當 確定之後,每個預訓練模型都對應於一個範疇,而預訓練的目標不過是將這個範疇不斷與由預訓練任務定義的範疇對齊而已。因此,我們的理論針對每一個預訓練模型都成立。
核心公式。很多人說,如果AI真有一套理論支撐,那麼它背後應該有一個或幾個簡潔優美的公式。我想,如果需要用一個範疇論的公式來描繪大模型能力的話,它應該就是我們之前提到的:
對於大模型比較熟悉的朋友,在深入理解這個公式的意義之後,可能會覺得這個式子在說廢話,不過是把現在大模型的工作模式用比較複雜的數學式子寫出來了而已。
但事實並非如此。現代科學是基於數學,現代數學是基於範疇論,而範疇論中最重要的定理就是米田引理。我寫的這個式子將米田引理的同構式拆開變成了不對稱的版本,卻正好和大模型的開啟方式完全一致。
我認為這一定不是巧合。如果範疇論可以照耀現代數學的各個分支,它也一定可以照亮通用人工智慧的前進之路。
本文靈感源自於與北京智源人工智慧研究院千方團隊的長期緊密合作。
原文連結:https://mp.weixin.qq.com/s/bKf3JADjAveeJDjFzcDbkw
以上是深度思考 | 大模型的能力邊界在哪裡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!