「對表征(representation)空間的依賴貫穿計算機科學乃至日常生活的始終。在計算機科學中,如果數(shù)據(jù)有精當?shù)慕Y構,輔以智能化的索引,那么搜索任務的速度可以指數(shù)級加快;對于人來說,計算『 210 除以 6 等于幾?』是容易的,計算『 CCX 除以 VI 等于幾?』則需要更多時間。表征空間的選擇對機器學習算法的性能影響,由此可見一斑?!埂渡疃葘W習》[1] 一書如是評價表征的重要性。
對于作者之一 Yoshua Bengio 來說,「表征學習」甚至比「深度學習」更適合描述其研究重心。
機器之心SyncedYoshua Bengio小程序
好的表征意味著學習任務變得更加容易,意味著計算機可以擁有「知識」,進而可以進行人與動物所擅長的決策。而如何定義好的表征?如何學習好的表征?那些試圖理解人類自身的研究(例如腦科學與自然語言學科的研究),又給表征學習帶來了哪些啟發(fā)?這些都是 Bengio 試圖回答的問題,而深度學習,一方面是表征學習的手段,另一方面,是可以利用好的表征實現(xiàn)人類水平 AI 的「獲益者」。
2007 年,Bengio 與 Yann LeCun 合著的論文 [2] 著重強調(diào)表征必須是多層的、逐漸抽象的。13 年,Bengio 在綜述論文中 [3],增加了對解糾纏(Disentangling)的強調(diào)。
17 年,Bengio 在 ArXiv 發(fā)布了一篇題名為《意識先驗》(The Consciousness Prior)的 、僅有四頁紙長的文章 [4]。這四頁紙,與其說是論文,不如說是他回首過去十年在表征學習一途的研究之路,無論大路小路、歧路遠路,然后為未來十年畫下的一張藍圖。
近日,長居于蒙特利爾的 Bengio 來到了北京,除了發(fā)表了兩場公開演講之外,也接受了機器之心的專訪。以「意識先驗」這張可以串聯(lián)起前后數(shù)百篇論文的藍圖為線索,Bengio 向我們解釋他如今思考表征學習的理論框架、在此框架下完成的一系列工作、以及為什么這個框架能夠引導深度學習走向人類水平的 AI。
從「意識先驗」理論說起
「深度學習的主要目標之一就是設計出能夠習得更好表征的算法。好的表征理應是高度抽象的、高維且稀疏的,但同時,也能和自然語言以及符號主義 AI 中的『高層次要素』聯(lián)系在一起?,F(xiàn)在,我們還無法用無監(jiān)督學習的方法找到這樣的表征。
一個有關世界的描述其實只需要很少幾個高層次要素,就像你可以用寥寥幾個單詞組成一句話一樣。一句話,或者符號主義 AI 系統(tǒng)的一條規(guī)則之中,通常只涉及幾個概念,而相比之下,當前的機器學習算法則需要學習大量變量的聯(lián)合分布(比如一張圖片中的所有像素的聯(lián)合分布),維度極高。
意識先驗試圖用上述的動機迫使表征學習到一些好的特性:比如能夠輕松提取特征的少數(shù)幾個維度、能夠利用少數(shù)幾個維度作出動作或者對未來的預測等等。換言之,意識先驗通過額外的壓力與限制條件,來找到那些善于表達符號化的知識的表征。」Bengio 這樣解釋意識先驗的工作。
如果你對先驗(prior)這個詞感到陌生,不妨將它替換為約束(constraint)或者正則化項(regularization term)。
學習本質(zhì)是一個在所有可能性里進行挑選的過程,而先驗告訴你挑選的偏好以及理由。文章開頭的例子中,把數(shù)字表示成阿拉伯數(shù)字而非羅馬數(shù)字的理由「方便計算」就是一種先驗。而「意識先驗」則是 Bengio 提出的一種新先驗。
圖:意識先驗的網(wǎng)絡示意圖,來自 Bengio 演講 Challenges for Deep Learning towards Human-Level AI,機器之心漢化
意識先驗理論來自對人的觀察。意識是某一時刻人腦中的想法,它的維度很低——不管我們的大腦里儲存了多少知識,在某一時刻里,腦海中只能容納少數(shù)幾個要素構成一個想法。
Bengio 將這個類比想法的低維向量稱為有意識狀態(tài)(conscious stat),將大腦中的所有內(nèi)容——一個非常高維、非常稀疏的向量,稱為無意識狀態(tài)(unconscious state, representation state),而來自外界的信息輸入則稱為觀測狀態(tài)(observed state)。
感知狀態(tài)通過一個表征 RNN 得到無意識狀態(tài),無意識狀態(tài)通過一個注意力機制,或稱意識 RNN 得到有意識狀態(tài)。獲得好的表征 RNN,從而得到好的表征,是表征學習的目的。
意識先驗對于「好」的定義是:「能夠容易地從無意識狀態(tài)中提取出少數(shù)幾個要素,它們包含了足夠多的知識,能夠作出與真實世界有關的陳述、動作預測。」
這就是意識先驗的理論框架。
理論骨骼的「血與肉」:目標函數(shù)與優(yōu)化方法
框架搭好之后,問題就變成了:如何將這樣的先驗表達出來?
訓練目標問題首當其沖。
標準的深度學習算法的目標函數(shù)通?;谧畲笏迫唬俏覀兒茈y指望最大似然的信號能夠一路經(jīng)由反向傳播穿過用于預測的網(wǎng)絡,穿過意識 RNN,最終到達表征 RNN。不要說表征 RNN 了,當你嘗試從大量信息中挑出非常少幾個維度時,意識 RNN 會傾向于將注意力集中在那些高度可預測但是毫無意義的要素上。
更重要的是,最大似然與意識先驗的思想天然存在沖突?!溉祟悘牟辉谙袼乜臻g進行想象與生成任務,人類只在高度抽象的語義空間使用想象力,生成一張像素級的圖像并非人類需要完成的任務?!挂虼?,在訓練目標里引入基于表征空間的項目就變得順理成章。
過去的機器學習中,是否有類似的不在原始數(shù)據(jù)空間內(nèi)定義目標函數(shù)的案例?
有,Bengio 以 PCA 舉例:「PCA 的訓練可以發(fā)生在不同的空間:你可以在像素空間訓練 PCA,用重構誤差做目標函數(shù),也可以在其表征空間構建目標:要求表征高方差、要求表征保留盡可能多的輸入信息 、要求表征彼此獨立……這些都是在表征空間定義的無監(jiān)督訓練目標?!?/p>
那么對于意識先驗來說,有什么合適的無監(jiān)督目標嗎?
《意識先驗》發(fā)布后不久,Bengio 就和他當時的博士后學生、現(xiàn) DeepMind 研究員 Philemon Brakel 共同發(fā)表了論文 [5],討論將互信息(mutual information)作為意識先驗目標函數(shù)重要組成部分的可能性。
「『不在像素空間定義目標函數(shù)』的思想可以回溯到上世紀 90 年代初聯(lián)結主義和神經(jīng)網(wǎng)絡剛剛興起的時候,Hinton 的博士生 Suzanna Becker 在其畢業(yè)論文 [6] 里討論了空間中的互信息:她認為,我們應該將『找到一種圖像變換,讓空間中相鄰的特征具有高互信息』作為圖像任務的無監(jiān)督學習目標?!?/p>
「我認為這是一個沒有得到足夠重視的方向?!笲engio 說。他認為可以將這一思路從空間擴展到時間序列,尋找在不同時間步里擁有高互信息的特征?!敢粋€合理的假設是,在好的表征空間里,當前的表征中會擁有很多關于未來的信息,從而獲得跨時間的可預測性。」
這個概念還可以被擴展到增強學習里,在這里,「眾望所歸」的高互信息對象是「意圖/策略/動作」與表征。Bengio 指了指手中的筆,「比如,我想要在移動這支筆(意圖),那么在表征空間里有專門的維度負責描述這支筆的位置會讓未來對筆的表征格外順利。事實上我很希望我的大腦里有一個專門的神經(jīng)元負責這件事?!?/p>
如果你對這個話題非常感興趣,那么你可以順著心理學中的「功能可見性」(affordance,看到一樣物體就能知道如何與它交互)一詞繼續(xù)探索。
除了目標函數(shù)之外,意識先驗的優(yōu)化方式也會和經(jīng)典深度學習有所不同。
即使是注意力機制,也需要「軟化」這樣的手段以便反向傳播,更不用提意識先驗的超高維表征和超長時間跨度了。人們在大量使用強化學習方法處理不能反向傳播的情況,然而,這還遠遠不足。
「什么樣的優(yōu)化方式最適合意識先驗?我仍然不知道這個問題的答案?!笲engio 說。在他看來,一類很有前景的研究是合成梯度(synthetic gradient)[7]。
「合成梯度是說,即使我們在不知道全部知識的情況下進行了無法反向傳播的離散決策,我們?nèi)匀豢梢杂柧毶窠?jīng)網(wǎng)絡的一個部分,就像 GAN 中的判別器一樣,它擁有一個損失函數(shù),我們能夠通過它獲得近似梯度?!?/p>
有了合成梯度之后,每一層的梯度可以單獨更新了。但是當時間步繼續(xù)拉長,問題仍然存在。理論上反向傳播可以處理相當長的序列,但是鑒于人類處理時間的方式并非反向傳播,可以輕松跨越任意時長,等「理論上」遇到一千乃至一萬步的情況,實際上就不奏效了。
換言之,我們對時間的信用分配(credit assignment)問題的理解仍然有待提高。
「比如你在開車的時候聽到『卟』的一聲,但是你沒在意。三個小時之后你停下車,看到有一個輪胎漏氣了,立刻,你的腦海里就會把癟輪胎和三小時前的『卟』聲聯(lián)系起來——不需要逐個時間步回憶,直接跳到過去的某個時間,當場進行信用分配。」
受人腦的信用分配方式啟發(fā),Bengio 的團隊嘗試了一種稀疏注意回溯(Sparse Attentive Backtracking)方法?!肝覀冇幸黄P于時間信用分配的工作,是 NIPS 2018 的論文 [8],能夠跳過成千上萬個時間步,利用對記憶的訪問直接回到過去——就像人腦在獲得一個提醒時所作的那樣——直接對一件事進行信用分配。」
意識先驗理論只是一個思維框架、一個研究計劃,它撐起了一個研究方向的骨骼,衍生出一堆亟待探索的問題。目標函數(shù)的構建、優(yōu)化方法的選擇,最后,還有模型結構的設計,這些則是研究方向的血肉。這些問題中,有的問題存在幾個前景可觀的方向,還有一些仍然處于設想階段。
從實驗場出發(fā):發(fā)現(xiàn)優(yōu)秀的算法,而不是搭一個 AI
想要對意識先驗理論進行實驗存在一個問題:無論想要找到合適的目標函數(shù)、還是優(yōu)化方法,都要和表征 RNN 以及無意識狀態(tài)打交道。雖然有意識狀態(tài)的大小只是和一句話、一條規(guī)則差不多,但與無意識狀態(tài)的規(guī)模對應的,是大腦存儲的全部內(nèi)容。
「學習整個世界是非常困難的。刻畫現(xiàn)實世界的復雜性是我們的最終目的,最終我們會實現(xiàn)這一點的,但是作為第一步,我們應該減小問題的范圍,在一個有限的環(huán)境內(nèi)學習『學習』本身。要記住,機器學習研究的目的不是搭一個 AI,而是發(fā)現(xiàn)優(yōu)秀的學習算法。學習算法是通用的,所以我們可以在一個有限的環(huán)境里測試自己的算法,如果它在有限環(huán)境中都無法學到東西,那么無疑它無法走入真實世界。」
因此,我們搭建一個如同視頻游戲一樣的虛擬環(huán)境。一個如同果蠅之于生物學、MNIST 之于傳統(tǒng)機器學習框架的環(huán)境。
1971 年,Winograd 在試圖用符號主義方法建立一個能夠用自然語言執(zhí)行任務的系統(tǒng)時,也建立了一個環(huán)境:一個叫 SHRDLU 的磚塊世界,計算機可以在其中和人的指令進行簡單的互動。
雖然 Winograd 的方法并沒有成功,但合成環(huán)境的思想流傳了下來:與其被動地觀察巨量的要素相互作用產(chǎn)生的結果,不如與少一些的要素直接進行交互。
基于這一思想,Mila 實驗室的一個團隊創(chuàng)建了 BabyAI 平臺 [9],構建了一個 2D 網(wǎng)格世界,有一些房間,有漸進的難度系數(shù),有一位虛擬的「老師」,希望像老師教嬰兒學習一樣,教會還是個「寶寶」的 AI,至于教學的任務,則以自然語言的形式出現(xiàn):希望 AI 同時學會關于這個世界的知識,以及語言與這個世界中的要素的關系。
那么,為什么是語言?
連接自然語言,連接符號主義
其實這個問題應該換一個問法:為什么是表征+語言?
Bengio 仍然從腦科學入手解釋這個問題。
人類的認知任務可以分為系統(tǒng) 1 認知(System 1 cognition)和系統(tǒng) 2 認知(System 2 cognition)。系統(tǒng) 1 認知任務是那些你可以在不到 1 秒時間內(nèi)無意識完成的任務。例如你可以很快認出手上拿著的物體是一個瓶子,但是無法向其他人解釋如何完成這項任務。這也是當前深度學習擅長的事情,「感知」。
系統(tǒng) 2 認知任務與系統(tǒng) 1 任務的方式完全相反,它們很「慢」且有意識。例如計算「23+56」,大多數(shù)人需要有意識地遵循一定的規(guī)則、按照步驟完成計算。完成的方法可以用語言解釋,而另一個人可以理解并重現(xiàn)。這是算法,是計算機科學的本意,符號主義 AI 的目標,也屬于此類。
人類聯(lián)合完成系統(tǒng) 1 與系統(tǒng) 2 任務,人工智能也理應這樣。
「這種聯(lián)合并非將符號化知識與聯(lián)結主義知識合并,而是將符號主義 AI 的目標視為聯(lián)結主義優(yōu)化的最終目標,同時讓聯(lián)結主義表征習得的關于世界的知識作為符號主義任務的基礎。」
就像把一支只會砌磚的施工隊,和一位只會畫圖的建筑師組合在一起:原本只會砌平房的施工隊按照圖紙能蓋摩天樓了,而原本只能設想空中樓閣的建筑師也接了地氣。
回到表征和語言的例子里。
「下雨了,人們撐起了傘?!故菃为毚嬖诘恼Z言,寥寥數(shù)字里有兩個明確的要素:「是否下雨」和「是否撐傘」,你可以很容易地把它們從句子里摘出來,然后用它們建立規(guī)則進行推理。但是這種推理是與真實世界隔離的。
上面這幅照片則是單獨存在的表征,雖然用一團像素表達了和語言同樣的意思,可是我們無法把代表「下雨」和「撐傘」的像素挑出來,更無法推理說一些像素是另一些像素的原因。我們能做的只是以標簽的形式告訴機器,這張圖里有一個很重要的概念,叫做「下雨」,而這樣形式習得的表征也無法完成推理任務。
「意識先驗是將聯(lián)結主義與符號主義結合的粘合劑。符號主義 AI 向聯(lián)結主義表征 RNN 表達訴求:我想要完成『下雨的時候人們會打傘?!贿@樣的推理,請給我合適的變量,而表征 RNN 需要自己發(fā)現(xiàn),『下雨』是一個能夠從圖像中提取出的、幫助推理的特征,然后學習它。」
這才是意識先驗最終的目的,這張顯著不同于現(xiàn)有深度學習框架的藍圖所規(guī)劃的方向。
「五年前我們關心的問題是,如何設計不依賴蒙特卡洛鏈的生成模型,所以我們有了變分自編碼器(VAE),有了生成對抗網(wǎng)絡(GAN),自那以后我們在生成方面獲得了巨大的進步,但是生成并不是最終目的?!?/p>
五年前人們?nèi)匀徽J為通過學習文本本身能夠解決自然語言處理問題,現(xiàn)在谷歌的 BERT 大規(guī)模預訓練語言模型已經(jīng)在 33 億規(guī)模的詞庫上進行訓練了?!窧ERT 還是會和其他現(xiàn)有模型一樣,犯一些人類根本不會犯的『愚蠢』錯誤。BERT 在推動單純基于文本的自然語言處理模型的極限,這是件很好的事,但是它能夠獲得的終究是不完整的語言模型,」
在 Bengio 眼中,生成模型和 BERT 都沒有觸及本質(zhì)問題:「大概十年前,我提出了一個非?;镜膯栴}:『如何將潛在的變差因素解糾纏?』(the disentangling the underlying factors of variation)十年過去了,這仍然是一個未解之謎?!?/p>
那些「基本的問題」好像是 AI 之路通關前的最后一道門,解開了問題仿佛就能獲得開門的鑰匙,門后面就是如 Yoshua Bengio 一樣走在最前列的研究者們從數(shù)十年前就夢寐以求的「通用的、人類水平的人工智能」。他們嘗試了各種技巧,每一條路都讓我們離這扇門更近,但似乎又沒有一條能夠真正通向這扇門。
「如果說十年前的我和現(xiàn)在的我在觀點上有什么不同的話,那就是五年或者十年前,我仍然天真地希望我們所掌握的技巧能奇跡般地通過嘗試學會做正確的事?!?/p>
Bengio 花了十年時間,相信這個奇跡不會發(fā)生。
「現(xiàn)在我不這么認為了。我們要引導機器去做正確的事,通過那些能夠推動機器朝正確的方向前行的先驗。