淺談神經計算疊加複雜度:給一般讀者的入門介紹
我針對 Adler 與 Shavit 的理論機器學習論文提供了一份簡要概述,探討神經網路如何利用疊加態高效地計算與表示概念,並為這些過程建立了數學上的上下界證明。
這篇文章是根據我在 Georgia Ray 主辦的 InkHaven 活動中進行的閃電演講(lightning talk)整理而成。當時的要求是在大約一小時內讀完一篇論文,然後向其他參與者展示所學到的內容。
簡介與背景
所以,我愚蠢地以為自己能在一小時內讀完一篇機器學習理論論文,因為那是我的專業領域。不幸的是,事實證明理論電腦科學(Theoretical CS)教授們掌握了大量的數學知識和理論計算機科學成果,並在作品中不斷引用,這使得他們的作品非常難讀,即使你熟悉該領域的大致情況也是如此。
與其解釋論文背後一堆實質性的數學運算,我能做的最好的事情就是概述這篇論文的設定是什麼、論文的貢獻有哪些,以及它們如何定位。
在過去的老日子(2021 年),人們曾夢想只要打開神經網路,透過觀察單個神經元就能理解它。例如,你可能會問:「這個神經元是『貓』神經元嗎?還是『背叛全人類』神經元?」。然後你只需要檢查「背叛全人類神經元」是否開啟即可。
但事實證明,神經網路比這複雜得多。首先,一個嚴重的問題是「神經元多義性」(neuron polysemanticity),即一個神經元會對一堆看似無關的事物產生反應。我們會看到像「背叛全人類」神經元在討論貓之類的話題時也會觸發。也許 AI 正在計劃發動大規模機器人起義,也許它只是在思考緬因貓的族譜。
當然,也有可能我們錯了,貓與企圖奴役人類之間確實存在某種深層聯繫。我懷疑沒人問過這隻緬因貓對機器人起義有什麼看法。圖片來源
人們持有的一種主流理論是:在高維空間中,如果你能接受表示(representations)之間存在少量的干擾,你就可以透過使用近正交向量(甚至是隨機的近正交向量)來表示更多的事物。可以說,如果你認真對待名為「強森-林登斯特勞斯引理」(Johnson-Lindenstrauss lemma)的結果,你應該能夠表示呈指數級增長的事物。而這正是神經網路正在做的事情。
這是我能找到代表強森-林登斯特勞斯引理的第一張圖片。該引理指出,你可以在 O(log m) 維度中表示 m 個點,同時保持成對點之間的距離,誤差僅為少量噪聲。事實上,這非常簡單,連隨機投影都行得通。*
這導致了 2022 年的一系列研究項目,研究我們現在稱之為「表示疊加」(representational superposition)的現象^([1])。人們會研究一些玩具問題(toy problems),在這些問題中,小型網路必須同時表示許多概念(透過近正交的方式表示)。然後,他們利用從這些結果中獲得的理解,建構出從大型語言模型(LLM)中提取概念的技術。
(順帶一提,是的,我知道所有其他領域對「疊加」(superposition)一詞的使用方式都不同——更接近我們在模型內部機制研究中使用的「多義性」。例如,在量子力學中,疊加僅意味著系統不處於任何「純」態。而且,確實挺有趣的,「疊加」這個詞最終指代的不是一件事,而是幾個不同的概念。)
但針對這一點,也有一些研究指出,你不能僅僅將神經網路視為表示一堆事物。事實上,考慮到神經網路有趣的部分正在做的事情,將神經網路視為在「計算」事物可能更為重要。一般而言,神經網路不僅僅是在表示上帝在其輸入中交給它的概念。
在 2024 年,我在這個領域做了一些工作(儘管我的合作者功勞更大)。我們的工作有一些巧妙的建構,表明你確實可以透過使用疊加中的概念進行計算來獲得一定的效率。但壓縮概念帶來的收益並非指數級的——基本上是二次方的。也就是說,對於某些玩具問題,如果你想計算通常需要 m 個純概念的事物,你可以用大約 sqrt(m) 個神經元來完成(帶有一堆未說明的對數因子)。
Adler 與 Shavit 的《論疊加中神經計算的複雜度》
Adler 和 Shavit 的《論疊加中神經計算的複雜度》(On the Complexity of Neural Computation in Superposition)建立在這些初步工作的基礎上。在閱讀時,我的主要印象大約是:「哇,這才是真正的電腦科學家的樣子。」
我對他們撰寫論文和呈現結果的方式確實有一些微詞,但令我印象深刻的一點是,這篇論文非常清楚地展現了他們確實掌握了大量的數學知識。他們對數學和建構非常嚴謹,我認為我參與的工作在這一點上是做不到的。我們在這個領域所做的很多事情感覺就像是在示意那些「應該」可以成功的證明草圖^([2])。他們還引用了一些我以前不知道、但看起來相當相關的理論計算機科學成果。
我認為他們工作的第一個主要貢獻(從我的角度來看)是:雖然我們的工作對執行某些類型計算所需的網路大小有「上界」(upper bounds),但他們的工作也提供了「下界」(lower bounds)。也就是說,他們證明了對於某些具有 m 個純概念的玩具問題類別,你至少需要一個擁有 sqrt(m/log(m)) 個神經元的網路。他們對此的論點可以說是「顯而易見」的,因為它是從基於資訊理論的計數論證開始的——基本上,如果你沒有足夠的參數,你就無法表示足夠多的事物。然而,事實證明,在存在噪聲的情況下使這一論證嚴謹化會變得非常複雜。雖然我原以為這很簡單,但要讓結果成立絕對不容易;我覺得這很令人佩服,因為他們付出了努力並最終完成了。
Adler 和 Shavit 還為上界結果提供了幾種更簡潔的建構,需要 O(sqrt(m) log(m)) 個神經元。(他們將未說明的對數因子明確化了。)如果你將這兩個結果結合起來,他們的論文顯示 sqrt(m) 的結果是緊緻的(tight),也就是說,這就是計算 m 個概念所需的神經元數量(在對數因子範圍內)。
他們的第三個貢獻與其說是具體的結果,不如說是解決這類玩具問題的模型建構通用程序(也就是你如何手動挑選權重)。他們設想每一個權重矩陣內部都由兩部分組成:首先,一個大型的解壓縮矩陣,將小型、稠密的表示擴展為大型、稀疏的表示。其次,一個大型的計算與壓縮矩陣,它既對稀疏表示進行計算,又將其壓縮回單個稠密表示。值得注意的是,他們設想這發生在單個權重矩陣內部,而不是分布在不同層的權重矩陣之間。據我所知,這是一個新的建構(至少在當時是如此),對於為類似問題手動建構神經網路似乎很有用。
來自 Adler and Shavit 2024 的圖 2。Adler 和 Shavit 建議將每個權重矩陣 W_i 視為由解壓縮矩陣 D_i 和壓縮/計算矩陣 C_i 組成。*
當然,我承認我沒有時間讀完他們的證明,更不用說他們引用的所有結果了。論文中還包含一些呈現非平凡理論計算機科學結果的部分,並稱其為真,因為引用了文獻 38。然後我點擊文獻 38,上面寫著「與另一位 MIT 教授的私人交流」。所以我不能說我完全理解了這項工作,也不能說我檢查了它的正確性。
總結來說,我對這篇論文的整體印象大約是:這是一篇很酷的論文。它確實展示了理論計算機科學家在嚴謹證明和努力使結果成立方面擁有豐富的專業知識。我可能會在未來幾週花時間更仔細地閱讀它。但與此同時,我對這篇論文感到有一點失望。我原以為會有更多新的內容。相反地,我學到的是(在未能於一小時內讀完論文的過程中),要使該領域一些看似非常基本的論點在數學上變得嚴謹,可能是非常不容易的。
-
^(^) 經典作品是 Elhage 等人的《疊加的玩具模型》(Toy Models of Superposition):https://transformer-circuits.pub/2022/toy_model/index.html。
-
^(^) 事後補充:值得注意的是,Dmitry Vaintrob 確實 仔細地嚴謹證明了我們所有的結果——他是一位真正的數學家!但我參與那部分工作的程度要低得多;我的貢獻主要停留在證明草圖階段。此外,這也是為什麼我們的許多結果都有一長串未說明的對數因子的原因。抱歉。
相關文章
其他收藏 · 0