今天小編分享的科技經驗:直接壓縮一切!OpenAI首席科學家Ilya Sutskever這麼看無監督學習,歡迎閱讀。
機器之心報道
機器之心編輯部
近日,OpenAI 首席科學家 Ilya Sutskever 在專注于計算理論研究的 Simons Institute 作了一次講座,一句話總結就是我們可以通過壓縮的視角來看待無監督學習。此外他還分享了不少其它有趣的見解。機器之心整理了該演講的大體内容,希望借此幫助讀者更深入地理解無監督學習。
Sutskever 首先談到了自己的研究方向的變化,他說:「不久前,我将全部的研究重心都轉移到了 AI 對齊研究上。」這說的是 OpenAI 前段時間成立的「Superalignment(超級對齊)」團隊,由他與 Jan Leike 共同領導。Sutskever 表示他們已經在 AI 對齊方面取得了一些研究成果,但這并非這次演講關注的話題。對此感興趣的讀者可參閱《》。
這次演講的主題為「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 預測情況中最困難的預測任務難多了。
如何快速掌握大模型技術與實踐?
機器之心主辦的「Llama 2 大模型算法與應用實踐」論壇,拆解以 Llama 2 為代表的大模型算法和應用,幫助你系統學習大模型算法理論,并上手搭建一個專屬大模型,在實踐中鞏固學習成果。
你将了解:大模型技術細節、行業落地案例、多模态改造、量化及低成本微調……
© THE END
投稿或尋求報道:[email protected]