博客專欄

EEPW首頁 > 博客 > 直接壓縮一切!OpenAI首席科學家Ilya Sutskever這么看無監(jiān)督學習(2)

直接壓縮一切!OpenAI首席科學家Ilya Sutskever這么看無監(jiān)督學習(2)

發(fā)布人:機器之心 時間:2023-08-20 來源:工程師 發(fā)布文章

一種無監(jiān)督學習方法:分布匹配


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


圖片


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


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


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


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


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


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


接下來,Sutskever 將闡述他提出的方法 —— 其能從數(shù)學上為無監(jiān)督學習提供說明以及確保無監(jiān)督學習的結果優(yōu)良。


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


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


圖片


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


圖片


假設你有兩個數(shù)據(jù)集 X 和 Y,它們是你的硬盤上的兩個文件;然后你有一個很棒的壓縮算法 C。再假設你對 X 和 Y 進行聯(lián)合壓縮,也就是先將它們連接起來,然后將其饋送給壓縮器。


現(xiàn)在的重要問題是:一個足夠好的壓縮器會做什么?


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


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


如果你的壓縮器足夠好,那么對連接后文件的壓縮結果應該不會差于分開壓縮的結果。


圖片


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


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


對應地,可以把 Y 視為監(jiān)督任務的數(shù)據(jù),X 視為無監(jiān)督任務的數(shù)據(jù),而你對這些信息有某種形式的數(shù)學推理 —— 可以使用 X 中的模式來幫助 Y 任務。


圖片


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


這樣一來,閉環(huán)就形成了。那么我們如何用數(shù)學形式描述無監(jiān)督學習呢?


無監(jiān)督學習的數(shù)學形式化


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


圖片


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


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


Sutskever 解釋說:「如果我很好地完成了工作并且我的遺憾很低,就意味著我已經(jīng)從這未標注的數(shù)據(jù)中獲得了所有盡可能的幫助。這些未標注數(shù)據(jù)已經(jīng)盡可能地幫助了我。我對此毫無遺憾?!挂簿褪钦f已經(jīng)沒有更好的預測值可供更好的壓縮算法使用了?!肝乙呀?jīng)從我的未標注數(shù)據(jù)中獲得了最大收益?!?/span>


Sutskever 認為這是向思考無監(jiān)督學習所邁出的重要一步。你不知道你的無監(jiān)督數(shù)據(jù)集是否真的有用,但如果你在監(jiān)督學習算法上的遺憾很低,那么不管有沒有用,你都已經(jīng)得到了最佳結果,不可能會有更好的結果了。


現(xiàn)在進入有些晦澀難懂的理論領域。


圖片


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


先簡單解釋一下 Kolmogorov 復雜度:就好比你給我一些數(shù)據(jù),為了壓縮它,我給你提供一個可能存在的最短的程序。Kolmogorov 復雜度就等于這個最短程序的長度。


圖片


令 C 是一個可計算的壓縮器,那么對于所有 X,Kolmogorov 壓縮器的復雜度小于壓縮器 C 的任意輸出加上實現(xiàn)該壓縮器所需的代碼字符數(shù)。


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


現(xiàn)在我們泛化 Kolmogorov 壓縮器,使其可以使用其它信息。我們知道 Kolmogorov 壓縮器是不可計算的,不可判定的,而像是搜索所有程序。這就像是使用神經(jīng)網(wǎng)絡通過 SGD(隨機梯度下降)調整參數(shù)來搜索程序。這個過程運行在有一定資源(內存、 步驟數(shù))的計算機上,這就像是非常微小的 Kolmogorov 壓縮器。這兩者存在相似之處。


圖片


神經(jīng)網(wǎng)絡可以模擬小程序,它們是小小的計算機,有回路 / 電路。我們可以使用 SGD 訓練這些計算機,從數(shù)據(jù)中找到它的「電路」。


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


所以我們可以把條件 Kolmogorov 復雜度作為無監(jiān)督學習的解,如下所示:


圖片


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


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


*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區(qū)

關閉