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