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