直接壓縮一切!OpenAI首席科學家Ilya Sutskever這麼看無監督學習

近日,OpenAI 首席科學家 Ilya Sutskever 在專注於計算理論研究的 Simons Institute 作了一次講座,一句話總結就是我們可以通過壓縮的視角來看待無監督學習。此外他還分享了不少其它有趣的見解。機器之心整理了該演講的大體內容,希望藉此幫助讀者更深入地理解無監督學習。

Sutskever 首先談到了自己的研究方向的變化,他說:「不久前,我將全部的研究重心都轉移到了 AI 對齊研究上。」這說的是 OpenAI 前段時間成立的「Superalignment(超級對齊)」團隊,由他與 Jan Leike 共同領導。Sutskever 表示他們已經在 AI 對齊方面取得了一些研究成果,但這並非這次演講關注的話題。對此感興趣的讀者可參閱《用 AI 對齊 AI?超級對齊團隊領導人詳解 OpenAI 對齊超級智慧四年計劃》。

這次演講的主題為「An observation on Generalization(對泛化的一種觀察)」,而 Ilya Sutskever 具體談論的重點是一種解釋無監督學習的理論。

首先,Ilya Sutskever 提出了一連串有關「學習」的廣義問題:學習究竟是什麼?為什麼學習有用?為什麼學習應該有用?計算機為什麼應該具備學習能力?為什麼神經網路可以學習?為什麼機器學習模型可以學習到資料的規律?我們能否用數學形式來描述學習?

監督學習

Sutskever 先從監督學習談起。他表示,監督學習方面已經有了重要的形式化工作,這是多位研究者在多年前得到的成果;這些成果通常被稱為統計學習理論。

監督學習的優勢在於能提供一個學習必定成功的精確數學條件。也就是說,如果你有一些來自某資料分佈的資料,然後你能成功實現較低的訓練損失並且你的訓練資料足夠多(多於資料分佈的自由度),那麼你的測試誤差必定很低。

從數學上講,如果能在一類函數中找到能實現較低訓練損失的函數,那麼學習就必定成功。也因此,監督學習非常簡單。

研究者在相關研究中已經發現了一些定理,如下便是一例。Sutskever 表示解釋這個定理大概需要五分鐘,但很顯然他的演講時間有限。

總而言之,這個定理很「優雅」,只用三行數學推導便能證明監督學習過程。

所以相對而言,監督學習已經得到很好的理解。我們知道其必定會成功的原因 —— 只要我們能收集到大規模的監督學習資料集,那麼就完全可以相信模型必定越來越好。當然另一點也很重要,也就是保證測試分佈和訓練分佈一致;只有這樣,監督學習理論才是有效的。

所以監督學習的概念是很簡單的。我們也已經有了監督學習為什麼有效的答案 —— 我們知道語音識別和圖像分類為什麼可以實現,因為它們都基於有效且有數學保證的監督學習。

這裡 Ilya Sutskever 順帶提了提 VC 維度。他提到很多統計學習理論的研究者都認為 VC 維度是一大關鍵元件,但 VC 維度被髮明出來的目的是為了讓模型有能力處理有無限精度的參數。

舉個例子,如果你的線性分類器的每個參數都有無限精度,而現實中的浮點數的精度都是有限的,而且精度會收縮,那麼你可以通過 VC 維度實現一些函數,將這個線性分類器歸約成前面公式描述的監督學習形式。

無監督學習是什麼?

接下來看無監督學習。首先什麼是無監督學習?Ilya Sutskever 表示他目前還沒看到令人滿意的對無監督學習的闡釋,我們也不知道如何從數學上推理它 —— 最多只能在直覺上做點推斷。

無監督學習是機器學習領域長久以來的夢想。Sutskever 認為這個目標已經在實驗研究中達成,即模型在不被告知資料內容的前提下觀察資料並發現其中存在的真實有用的隱藏結構。

這是怎麼發生的?我們能確保這一定會發生嗎?Sutskever 表示我們不能,畢竟我們在無監督學習方面沒有在監督學習方面那樣的理論保證。

人們早在上世紀 80 年代就在探究無監督學習了,當時使用的術語也是類似。在實驗中,人們觀察到,當資料量較小時,不會出現無監督學習現象,但是一些現在流行的開發思路已經出現了,比如 BERT、擴散模型、老式的語言模型等。當時的無監督學習也能生成一些很酷的樣本,但當然是比不上現在的技術。

但因為我們不知道無監督學習的工作方式,所以它一直都讓人困惑。

比如當你針對某個目標(比如圖像重建或預測下一個詞)進行最佳化時,你可能也在意另一個目標(比如圖像分類或文件分類),而模型可能在這個未經最佳化的目標上也能取得不錯的表現。但為什麼會這樣呢?不知道,實驗結果就是如此。Sutskever 說這就像是魔法。

難道我們就要放棄理論,在實證主義上一路走下去嗎?

我們知道無監督學習是學習輸入分佈中的結構,然後從中獲得有助於實現目標的東西。但如果輸入分佈是均勻分佈(uniform distribution)呢?這時候各種無監督學習演算法都會失效。我們應該怎麼看待這種現象呢?Sutskever 表示我們需要做些假設。

一種無監督學習方法:分佈匹配

接下來,Sutskever 展示了一種思考無監督學習的潛在方式。他說這種無監督學習方式一直沒有成為主流,但卻非常有趣。它有與監督學習類似的特徵,也就是必然有效。為什麼會這樣?這涉及到一種名為分佈匹配(distribution matching)的無監督學習流程。

接下來簡單說明一下。假設有兩個資料來源 X 和 Y,它們之間並無對應關係;模型的目標是找到函數 F,使得 F (X) 的分佈與 Y 的分佈近似 —— 這是對 F 的約束(constraint)。

對於機器翻譯和語音識別等許多應用場景,這個約束可能是有意義的。舉個例子,如果有一個英語句子的分佈,使用函數 F 後,可以得到接近法語句子分佈的分佈,那麼就可以說我們得到了 F 的真實約束。

如果 X 和 Y 的維度都足夠高,那麼 F 可能就有大量約束。事實上,你甚至有可能從那些約束中恢復完整的 F。這是無監督學習的監督學習(supervised learning of unsupervised learning)的一個示例,它必定有效,就像監督學習必定有效一樣。

此外,替代密碼(subsitution cipher)也符合這一框架。

Sutskever 表示自己在 2015 年時獨立發現了這一現象。這讓他不禁思考:也許我們能用某種有意義的數學形式來描述無監督學習。

當然,上面描述的機器翻譯場景是簡化過的人工場景,並不符合真實的應用情況,對應的無監督學習場景自然也是如此。

接下來,Sutskever 將闡述他提出的方法 —— 其能從數學上為無監督學習提供說明以及確保無監督學習的結果優良。

眾所周知,壓縮就是一種預測,每個壓縮器都可以轉換為一個預測器,反之亦然。全體壓縮器與全體預測器之間存在一一對應關係。

Sutskever 指出,為了能更清晰地說明對無監督學習的思考,使用壓縮方面的論述方式更具優勢。

基於此,他給出了一個思想實驗

基於此,他給出了一個思想實驗。

基於此,他給出了一個思想實驗

假設你有兩個資料集 X 和 Y,它們是你的硬碟上的兩個檔案;然後你有一個很棒的壓縮演算法 C。再假設你對 X 和 Y 進行聯合壓縮,也就是先將它們連接起來,然後將其饋送給壓縮器。

現在的重要問題是:一個足夠好的壓縮器會做什麼?

Sutskever 給出了一個非常直覺式的答案:壓縮器會使用 X 中存在的模式來幫助壓縮 Y;反之亦然。

他表示,預測任務場景其實也存在類似的現象,但在壓縮語境中說起來似乎就更直觀一點。

如果你的壓縮器足夠好,那麼對連接後檔案的壓縮結果應該不會差於分開壓縮的結果。

因此,通過連接所獲得的進一步壓縮效果是你的壓縮器注意到的某種共有的結構。壓縮器越好,其能提取出的共有結構就越多。

兩種壓縮結果之間的差就是共有結構,即演算法互資訊(algorithmic mutual information)。

對應地,可以把 Y 視為監督任務的資料,X 視為無監督任務的資料,而你對這些資訊有某種形式的數學推理 —— 可以使用 X 中的模式來幫助 Y 任務。

也要注意其如何實現了對分佈匹配的泛化。如果是在分佈匹配情況下,假如 X 是語言 1,Y 是語言 2,並且存在某個簡單函數 F 可從一個分佈轉換到另一個分佈;那麼優良的壓縮器也能注意到這一點並將其利用起來,甚至可能在內部恢復出該函數。

這樣一來,閉環就形成了。那麼我們如何用數學形式描述無監督學習呢?

無監督學習的數學形式化

注意這一部分的描述會交替使用壓縮場景和預測場景的描述。

首先假設我們有一個機器學習演算法 A,其作用是壓縮 Y。演算法 A 能夠訪問 X。令 X 為 1 號檔案,Y 為 2 號檔案。我們希望我們的機器學習演算法 / 壓縮器能對 Y 進行壓縮並且其能在合適的時候使用 X。目標是儘可能地壓縮 Y。

那麼我們要問自己:使用這個演算法最大的遺憾(regret)是什麼?

Sutskever 解釋說:「如果我很好地完成了工作並且我的遺憾很低,就意味著我已經從這未標註的資料中獲得了所有儘可能的幫助。這些未標註資料已經儘可能地幫助了我。我對此毫無遺憾。」也就是說已經沒有更好的預測值可供更好的壓縮演算法使用了。「我已經從我的未標註資料中獲得了最大收益。」

Sutskever 認為這是向思考無監督學習所邁出的重要一步。你不知道你的無監督資料集是否真的有用,但如果你在監督學習演算法上的遺憾很低,那麼不管有沒有用,你都已經得到了最佳結果,不可能會有更好的結果了。

現在進入有些晦澀難懂的理論領域。

現在進入有些晦澀難懂的理論領域

將 Kolmogorov 複雜度用作終極壓縮器能為我們提供超低遺憾的演算法,但這其實並不是演算法,因為它不可計算。

先簡單解釋一下 Kolmogorov 複雜度:就好比你給我一些資料,為了壓縮它,我給你提供一個可能存在的最短的程序。Kolmogorov 複雜度就等於這個最短程序的長度。

令 C 是一個可計算的壓縮器,那麼對於所有 X,Kolmogorov 壓縮器的複雜度小於壓縮器 C 的任意輸出加上實現該壓縮器所需的程式碼字符數。

我們可以使用模擬論證(simulation argument)來證明這一點。假設有一個非常棒的壓縮器 C,那麼它可能是一個計算機程序,如果將這個計算機程序交給 K 來運行,那麼 K 所需的成本就是這個程序的長度。Kolmogorov 壓縮器可以模擬其它計算機程序和其它壓縮器,也因此它是不可計算的。它就像是一個能夠模擬所有計算機程序的自由程序,但它也是有可能存在的最好的壓縮器。

現在我們泛化 Kolmogorov 壓縮器,使其可以使用其它資訊。我們知道 Kolmogorov 壓縮器是不可計算的,不可判定的,而像是搜尋所有程序。這就像是使用神經網路通過 SGD(隨機梯度下降)調整參數來搜尋程序。這個過程運行在有一定資源(記憶體、 步驟數)的計算機上,這就像是非常微小的 Kolmogorov 壓縮器。這兩者存在相似之處。

神經網路可以模擬小程序,它們是小小的計算機,有迴路 / 電路。我們可以使用 SGD 訓練這些計算機,從資料中找到它的「電路」。

模擬論證在這裡也適用。如果你想設計一個更好的神經網路架構,你會發現這很困難,因為增添或修改連接這些操作雖然可以被其它神經網路架構模擬,但實際卻難以做到。因為這些是能帶來巨大提升的罕見情況。正如從 RNN 到 Transformer 轉變。RNN 有一個瓶頸:隱藏狀態。但如果我們能找到一種方法,讓 RNN 可以擁有非常大的隱藏狀態,那麼它的性能表現可能會重新趕上 Transformer。

所以我們可以把條件 Kolmogorov 複雜度作為無監督學習的解,如下所示:

其中 C 是一個可計算的壓縮器,K (Y|X) 是如果能使用 X,能輸出 Y 的最短程序的長度。

這是無監督學習的超低遺憾的解,只不過它是不可計算的,但卻能提供一個有用的框架。

直接壓縮一切!

Sutskever 又進一步提到「直接壓縮一切」也是可行的。

條件 Kolmogorov 複雜度 K (Y|X) 在機器學習語境中是不自然的,因為它是基於 X 來壓縮 Y,而至少就目前而言,以大型資料集為條件還是基本無法辦到的。我們可以擬合大型資料集,但很難以其為條件。

而上式是表示:如果你想要對你監督的東西 Y 進行預測,使用壓縮 X 和 Y 連接資料的常規 Kolmogorov 壓縮器的表現與條件壓縮器一樣好。當然實際細節還有更多微妙之處,但這其實就是表示我們可以使用常規 Kolmogorov 壓縮器來求解無監督學習 —— 就是將你的所有資料連接起來,然後執行壓縮,這樣就能在你關心的監督任務上得到很好的結果。

對此的證明要更復雜一些,這裡就不再繼續深入了。

重點的結論是常規 Kolmogorov 壓縮(無需以某個資料集為條件)是「以最好的可能方式使用」無標註資料。這就是無監督學習的解。

聯合壓縮就是最大似然

Sutskever 在演講中談到的最後一點是:這種聯合壓縮就是最大似然,只要沒有過擬合。

如果你有一個資料集,那麼給定參數的似然之和就是壓縮該資料集的成本。你還需要支付壓縮參數的成本。而如果你想壓縮兩個資料集,也沒有問題,只需向你的資料集添加資料點即可,也就是向上面的求和運算 sum 添加更多項。

所以通過連接資料來進行聯合壓縮在機器學習語境中是非常自然的做法。相比而言,通過條件 Kolmogorov 複雜度就麻煩多了。

我們甚至可以將其用於解釋神經網路的工作方式。我們可以將用於大型神經網路的 SGD 用作我們的大型程序搜尋器。神經網路越大,就能更好地近似常規 Kolmogorov 壓縮器。Sutskever 評價說:「也許這就是我們喜歡大型神經網路的原因,因為我們可以以此近似不可實現的無遺憾常規 Kolmogorov 壓縮器思想。隨著我們訓練的神經網路越來越大,遺憾會越來越低。」

此理論也適用於 GPT 模型嗎?

Sutskever 對此的答案是肯定的,不過解釋 GPT 模型的行為時,無需引述有關壓縮或監督學習的說明,你可以說 GPT 的「理論」可以通過對文字的條件分佈進行推理而得到。

那麼,我們能找到其它的直接驗證方法來驗證這一理論嗎?我們能用視覺等其它領域來解釋嗎?如果我們在像素資料上這樣操作,我們能得到優良的無監督學習嗎?

Sutskever 表示他們已經在 2020 年做過這樣的研究,即 iGPT。當然,這主要是一個驗證概念的研究,離實踐應用還有很大距離,詳見論文《Generative Pretraining from Pixels》。

該論文表明:如果你能做出很棒的下一步預測器,那麼就能收穫很棒的無監督學習效果。這篇論文在圖像領域證明了該論斷。

簡單來說,先將圖片轉換成像素序列,每個像素都有一個離散的密度值。要做的就是使用同樣的 Transformer 來預測下一個像素。這不同於 BERT,就是預測下一個 token,因為這是最大化壓縮的似然。

下面來看看結果:

下面來看看結果

如圖所示,這是不同大小的 iGPT 模型在 CIFAR-10 上的線性探查準確度,也就是在無監督學習的像素預測任務上的下一步預測準確度。可以看出,預測下一個像素就和預測下一個詞一樣有效。當模型規模更大時,無監督學習的效果也更好。

他們進行了實驗研究,結果發現在 ImageNet 上,經過多方面擴展的 iGPT 的表現可以接近當今最佳的監督學習,但依然還有些差距。

不過 Sutskever 認為這就是個計算問題,因為 SimCLR 等監督學習方式使用的是高解析度的大圖,他們為巨型 Transformer(68 億參數)提供的是 64×64 的小圖。這就像是基於一個大型資料集以無監督的方式預測下一個像素,然後在 ImageNet 上擬合線性探針,得到很好的結果。

而在 CIFAR-10 上,有 13.6 億參數的 iGPT-L 取得了準確度 99% 的好成績,如下圖所示。

線性表徵

線性表徵

演講最後,Sutskever 表示他想談談線性表徵。

他說:「我喜歡壓縮理論,因為在此之前還沒有以嚴格方式思考無監督學習的方法。」而現在我們能在一定程度上做到這一點了。但壓縮理論不能直接解釋為什麼表徵是線性可分的,也無法解釋應該有線性探針。線性表徵是無處不在的,它們形成的原因必定很深刻。Sutskever 相信我們能在未來清晰地闡釋它。

他覺得另一個有趣的地方是自迴歸模型線上性表徵方面的表現優於 BERT。但目前人們還不清楚其中的緣由。

不過 Sutskever 倒是給出了自己的推測:在根據之前所有的像素預測下一個像素時,模型需要觀察資料的長程結構。BERT 在處理向量時會丟棄一些像素 token,通過兼顧地考慮一點過去和一點未來,模型實際上能得到相當好的預測結果。這樣一來就去除了所有困難任務,任務的難度就下降了很多。預測下一個像素中最困難的預測任務比 BERT 預測情況中最困難的預測任務難多了。

相關文章