近年來(lái),圖表示學(xué)習(xí)(Graph Embedding)和圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network, GNN)成為網(wǎng)絡(luò)數(shù)據(jù)分析與應(yīng)用的熱點(diǎn)研究問(wèn)題,其特點(diǎn)是將深度神經(jīng)網(wǎng)絡(luò)技術(shù)用于網(wǎng)絡(luò)結(jié)構(gòu)的建模與計(jì)算,誕生了以 DeepWalk、LINE 和 node2vec 為代表的圖表示學(xué)習(xí)技術(shù),以 GCN 為代表的圖神經(jīng)網(wǎng)絡(luò),能夠利用分布式表示方案實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)、邊及其附帶的標(biāo)簽、屬性和文本等信息的建模,從而更好地利用網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行精細(xì)建模和深度推理,相關(guān)技術(shù)已經(jīng)被廣泛用于數(shù)據(jù)挖掘、社會(huì)網(wǎng)絡(luò)分析、推薦系統(tǒng)、自然語(yǔ)言處理、知識(shí)圖譜等領(lǐng)域。
為了推進(jìn)國(guó)內(nèi)在該領(lǐng)域的發(fā)展,由中國(guó)中文信息學(xué)會(huì)社會(huì)媒體處理專委會(huì)和北京智源人工智能研究院聯(lián)合主辦的“圖神經(jīng)網(wǎng)絡(luò)在線研討會(huì) 2020”于 3 月 29 日下午召開,邀請(qǐng)了宋國(guó)杰、沈華偉、唐杰、石川四位國(guó)內(nèi)著名學(xué)者介紹圖表示學(xué)習(xí)和圖神經(jīng)網(wǎng)絡(luò)的最新理論進(jìn)展和應(yīng)用探索。
清華大學(xué)計(jì)算機(jī)系教授、系副主任,中國(guó)中文信息學(xué)會(huì)社會(huì)媒體處理專委會(huì)常務(wù)副主任,智源研究院學(xué)術(shù)副院長(zhǎng)唐杰老師進(jìn)行了主題為“圖表示學(xué)習(xí)和圖神經(jīng)網(wǎng)絡(luò)的最新理論進(jìn)展”的分享,主要介紹了圖神經(jīng)網(wǎng)絡(luò)及其在認(rèn)知推理方向的一些進(jìn)展。
唐杰老師主要研究興趣包括人工智能、認(rèn)知圖譜、數(shù)據(jù)挖掘、社交網(wǎng)絡(luò)和機(jī)器學(xué)習(xí),主持研發(fā)研究者社交網(wǎng)絡(luò)挖掘系統(tǒng) AMiner 等。
以下內(nèi)容是根據(jù)唐杰老師的演講進(jìn)行的總結(jié)。
這就是一個(gè)典型的多媒體的數(shù)據(jù),在兩個(gè)方面怎么做處理是我們當(dāng)下最關(guān)心的一些的問(wèn)題。人工智能在這方面快速發(fā)展,總結(jié)一下:這個(gè)時(shí)代是一個(gè)感知的時(shí)代,AI 到目前為止基本上解決了所有的感知問(wèn)題。如果回顧過(guò)去的話,會(huì)發(fā)現(xiàn)計(jì)算機(jī)主要是做一些存儲(chǔ)和計(jì)算的工作;如果展望未來(lái)的話,我們想倡導(dǎo)的應(yīng)該是在認(rèn)知方面怎么把計(jì)算、推理做到神經(jīng)網(wǎng)絡(luò)中。
現(xiàn)在這個(gè)感知時(shí)代最大的特點(diǎn)是算法。下面這張圖匯總了最近幾十年 AI 算法的一些進(jìn)展。
這張圖最上面的淺紫色的部分大致梳理了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史。1953 年,感知機(jī)(Perceptron)被提出來(lái)。1986 年,多層感知機(jī)(Multi-Layer Perception,MLP)開始出現(xiàn)。1998 年,Yann Le Cun 提出手寫字體識(shí)別模型 LeNet 及卷積神經(jīng)網(wǎng)絡(luò)(CNN),但是當(dāng)時(shí) CNN 并沒(méi)有大規(guī)模被人關(guān)注,因?yàn)楫?dāng)時(shí)大火的支持向量機(jī)(SVM)壓住了 CNN 的風(fēng)頭。直到 2012 年,Geoffrey Hinton 的學(xué)生在 LeNet 的基礎(chǔ)上加上了 ReLU、Dropout 等內(nèi)容,實(shí)現(xiàn)了 AlexNet,把 CNN 的效率大規(guī)模提高,才推動(dòng)了這個(gè)方向的發(fā)展。
第二部分淡綠色部分的內(nèi)容表示自編碼(AutoEncoder),這部分不是今天的重點(diǎn),不再展開。
第三層淺黃色的部分可以被稱為循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)的發(fā)展。放大來(lái)看,它的理論和上面的一樣優(yōu)美,它其實(shí)就是一個(gè)概率統(tǒng)計(jì)模型,即把神經(jīng)網(wǎng)絡(luò)用圖的方式連接起來(lái),雖然最早期的時(shí)候大家做的都是序列化的模型,如 RNN,或者是在語(yǔ)言模型(Language Model)上面做一些相關(guān)的工作,甚至是Seq2Seq,但是最近更多的工作是在圖上,如唐建他們有一篇文章就是把圖模型(Graphical Model)加上神經(jīng)網(wǎng)絡(luò),一起連接起來(lái),于是就變成一個(gè)基于圖模型的神經(jīng)網(wǎng)絡(luò)(Graphical Model based Neural Network)。
如果結(jié)合最上面淺紫色的內(nèi)容和淺黃色的內(nèi)容,即把卷積神經(jīng)網(wǎng)絡(luò)加上圖模型,這形成我們今天經(jīng)常說(shuō)的圖神經(jīng)網(wǎng)絡(luò)的基本思想。
可以看出來(lái),圖神經(jīng)網(wǎng)絡(luò)有很長(zhǎng)的歷史,是一個(gè)非常簡(jiǎn)單的機(jī)器學(xué)習(xí)算法在圖上的一個(gè)自然地延伸。為什么現(xiàn)在大家覺(jué)得圖神經(jīng)網(wǎng)絡(luò)火得不行?好像所有的人都在研究圖神經(jīng)網(wǎng)絡(luò)?也有些人說(shuō)這個(gè)東西是簡(jiǎn)單地把某些東西用在另一個(gè)數(shù)據(jù)集上?其實(shí)機(jī)器學(xué)習(xí)所有的發(fā)展歷史都有這樣一個(gè)過(guò)程,它最早期都是從一個(gè)簡(jiǎn)單的單樣本分析開始,然后逐步復(fù)雜化,最后再把樣本與樣本之間的關(guān)聯(lián)關(guān)系考慮進(jìn)來(lái),如圖神經(jīng)網(wǎng)絡(luò)就是用一個(gè)簡(jiǎn)單的思路把它結(jié)合起來(lái)。最早的線性條件隨機(jī)場(chǎng)(Conditional Random field,CRF)、最大熵馬爾可夫模型(Maximum Entropy Markov Model,MEMM)等模型的思路都是在原來(lái)的思路上擴(kuò)展的。GNN就是神經(jīng)網(wǎng)絡(luò)在圖上的一個(gè)自然地延伸。當(dāng)然,這一波自然延伸的結(jié)果是必然有下一波階躍。如原來(lái)在圖模型上有了 CRF、MEMM 以后,概率統(tǒng)計(jì)模型基本到了一個(gè)極致,后續(xù)延伸自然就到了下一個(gè)階段。
最下面是一個(gè)強(qiáng)化學(xué)習(xí)(Reinforcement Learning),這里也不再多講。
回到我們的背景。既然有 CNN、有大量網(wǎng)絡(luò)化的數(shù)據(jù),就可以做很多相關(guān)的研究。
首先,這些數(shù)據(jù)的規(guī)模非常大。如阿里巴巴、Facebook、新浪微博等積累了超大規(guī)模的社交網(wǎng)絡(luò)數(shù)據(jù),如果泛化來(lái)看,我們還有經(jīng)濟(jì)方面的網(wǎng)絡(luò)(Economic networks)、生物醫(yī)學(xué)方面的網(wǎng)絡(luò)(Biomedical networks)……甚至還有大腦中神經(jīng)元的網(wǎng)絡(luò)(Networks of neurons),這里面有很多相關(guān)的應(yīng)用,如果從機(jī)器學(xué)習(xí)的角度歸納一下相關(guān)的應(yīng)用,可以發(fā)現(xiàn)以下幾個(gè)核心的任務(wù)。
下面詳細(xì)展開介紹一下。
(1)點(diǎn)分類,做一個(gè)點(diǎn)的表示,然后做預(yù)測(cè)它的類型是什么。
(2)兩個(gè)點(diǎn)的鏈接生成,如兩個(gè)點(diǎn)之間有沒(méi)有可能生成一條邊,或者再放大來(lái)看,看有沒(méi)有可能找到一個(gè)子圖,或者找網(wǎng)絡(luò)相似度。這個(gè)方面在過(guò)去有很多相關(guān)的研究,今天我們會(huì)大概涉獵這些東西。這方面最早的研究可以追溯到 Geoffrey Hinton 研究的分布式表示(Distributed representation),但是這個(gè)概念在當(dāng)時(shí)被 SVM 壓制,一直沒(méi)有火起來(lái),直到 2013 年 Tomas Mikolov 提出了非常快速的算法 Word2vec,才迅速讓深度學(xué)習(xí)算法在文本分析領(lǐng)域快速落地。到了 2014 年,Bryan Perozzi 很巧妙地將 Word2vec 直接用到了神經(jīng)網(wǎng)絡(luò)中,開啟了在網(wǎng)絡(luò)中做表示學(xué)習(xí)的浪潮,后來(lái)唐建、Yann Le Cun、Max Welling 等都做出了大量的工作,最后整個(gè)這方面的研究形成了我們今天看到的 GNN,如果放到更高的層面去看,就是網(wǎng)絡(luò)表示學(xué)習(xí)這么一個(gè)領(lǐng)域。
在網(wǎng)絡(luò)表示學(xué)習(xí)中,DeepWalk 的思路是:既然節(jié)點(diǎn)沒(méi)有先后關(guān)系,就做一個(gè)先后關(guān)系。從任意一個(gè)節(jié)點(diǎn)開始,在上面跑一個(gè)隨機(jī)游走(Random Walk),跑完了以后可以形成了一個(gè)序列,形成一個(gè)和 DeepWalk 處理文本一樣的上下位信息,于是 v1 這個(gè)節(jié)點(diǎn)就由 v3、v4、v5、v6 作為它的上下位,剩下給一個(gè)隨機(jī)的低維表示,然后在上面進(jìn)行 SkipGram with Hierarchical softmax 的一個(gè)學(xué)習(xí),最后就可以得到一個(gè)希望的表示結(jié)果,如下圖所示。
這里做 SkipGram with Hierarchical softmax 是為了提高計(jì)算速度,不再詳細(xì)說(shuō)明。最后的參數(shù)學(xué)習(xí)可以用一個(gè)基于梯度的學(xué)習(xí)很快做到。
這篇文章最初在當(dāng)時(shí)并沒(méi)有引起大規(guī)模的關(guān)注,但是它開啟了一個(gè)在網(wǎng)絡(luò)中做表示學(xué)習(xí)的新紀(jì)元。最初大家覺(jué)得在網(wǎng)絡(luò)中做表示學(xué)習(xí)是一件很麻煩的事,后來(lái)發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)可以用在網(wǎng)絡(luò)中,可以學(xué)習(xí)每個(gè)節(jié)點(diǎn)的表示,并且學(xué)到的表示可能可以用于不同的網(wǎng)絡(luò),如 Blog Catalog,使得它的效果還不錯(cuò)。后來(lái)又試了其他的網(wǎng)絡(luò),如 Youtube 中的網(wǎng)絡(luò),發(fā)現(xiàn)效果也不錯(cuò)。后來(lái)就引起了大規(guī)模的相關(guān)的研究,討論怎么來(lái)提高在網(wǎng)絡(luò)上做表學(xué)習(xí)的效果。于是大家就分析 DeepWalk 的一些缺點(diǎn)。
首先它的上下文是固定的,而它的隨機(jī)游走并沒(méi)有考慮到網(wǎng)絡(luò)的特性,于是后面一大堆的研究,如 LINE 等。下圖中 5 和 6 這兩個(gè)節(jié)點(diǎn)根據(jù)我們?nèi)说男袨閬?lái)看是很相似的。5 和 6 有四個(gè)相近節(jié)點(diǎn)(1、2、3、4),但是 6 和 7 是直連的。如果用剛才的 DeepWalk,即 RandomWalk 在上面隨機(jī)游走,6 和 7 可能距離反而更近,它的相似度反而更高。
在探討之前,我們先快速說(shuō)明一下 GCN 的本質(zhì)。GCN 的本質(zhì)其實(shí)就是在一個(gè)網(wǎng)絡(luò)中把鄰居節(jié)點(diǎn)的表示信息放到自己當(dāng)前節(jié)點(diǎn)上。比如說(shuō)對(duì)于下圖中 v 節(jié)點(diǎn)來(lái)講,它有鄰居節(jié)點(diǎn) a、b、c、d、e,每一個(gè)節(jié)點(diǎn)可能都有一個(gè)表示(從 ha 到 he)。
怎么把鄰居節(jié)點(diǎn)的引表示通過(guò)某種方法或某種函數(shù)(如 f 函數(shù)可能是線性變化,也可能是個(gè)非線性變化),把它 Aggregate 到當(dāng)前節(jié)點(diǎn),得到 hv。當(dāng)然,從下圖所示的內(nèi)容里表示我們就可以看出一個(gè)結(jié)果:左邊給出了一個(gè)在鄰居節(jié)點(diǎn)身上做的卷積,得到對(duì)當(dāng)前節(jié)點(diǎn)進(jìn)行卷積的結(jié)果。
我們可以構(gòu)造出一個(gè)加上了非線性的激活函數(shù)的函數(shù),如下圖所示。是權(quán)重,是鄰居節(jié)點(diǎn)。是當(dāng)前節(jié)點(diǎn)的表示, v 是當(dāng)前節(jié)點(diǎn),另外還有一個(gè)非線性的激活函數(shù)。
基于這樣的思想,后來(lái)在最早的 GCN 相關(guān)的論文上也有很多的延續(xù),如 GraphSage。GraphSage 的思想非常簡(jiǎn)單,它把原來(lái)單純的當(dāng)前節(jié)點(diǎn)和其他所有節(jié)點(diǎn)的聚合整合到一起了,變成當(dāng)前節(jié)點(diǎn)的表示和其他所有節(jié)點(diǎn)的表示連接在一起,如下圖所示。這樣的話效果反而提高了。
這個(gè)思路后來(lái)又被 GAT 給打敗了,GAT 是什么?我們現(xiàn)在 aggregate 的時(shí)候,也就是每個(gè)節(jié)點(diǎn)信息往中間節(jié)點(diǎn)傳的時(shí)候,它的權(quán)重不一樣。從 Social network 的角度來(lái)說(shuō),它的本質(zhì)就是影響力不一樣,就相當(dāng)于某個(gè)節(jié)點(diǎn)對(duì)其他的不同的節(jié)點(diǎn)的影響是不一樣的。怎么把這種影響力在網(wǎng)絡(luò)中度量,是社交網(wǎng)絡(luò)區(qū)別于其他很多網(wǎng)絡(luò)一個(gè)非常重要的方面。當(dāng)然,從數(shù)學(xué)上可以把 GCN 看作是下圖上方的式子,而 GAT 是下圖下方的式子,可以看到唯一的變化就是加上了一個(gè) Attention 參數(shù),這樣的話可以看一些初步的結(jié)果,加上 Attention 參數(shù)的效果確實(shí)比原有算法的效果要好。
我們現(xiàn)在再次問(wèn)自己一個(gè)問(wèn)題:所有的這些卷積網(wǎng)絡(luò)的本質(zhì)是什么?剛才說(shuō)了,網(wǎng)絡(luò)表示學(xué)習(xí)的本質(zhì)是一個(gè)矩陣分解,那卷積網(wǎng)絡(luò)的本質(zhì)是什么?而且卷積網(wǎng)絡(luò)面臨著很多問(wèn)題,除了我們經(jīng)常說(shuō)的機(jī)器學(xué)習(xí)普遍存在的過(guò)擬合問(wèn)題,這里還存在更重要的問(wèn)題——過(guò)平滑及不健壯的問(wèn)題。因?yàn)樵诰W(wǎng)絡(luò)中可能存在鏈接,甚至很多噪聲鏈接,這些鏈接可能會(huì)大幅影響效果,這個(gè)時(shí)候該怎么辦?
我們先來(lái)看一看下圖的分析。GCN 每一層的傳播在本質(zhì)上都是一個(gè)矩陣分解,從前面的分析可以看到,對(duì)矩陣分解其實(shí)可以進(jìn)一步做一定的分析,把矩陣分解變成一個(gè)信通問(wèn)題。而借助信通的思路其實(shí)還有一個(gè)很有意思的擴(kuò)展,我們可以把網(wǎng)絡(luò)中的鄰接矩陣 A 做一定的變換,我們可以在前面做一定的信通的變換,在后面也可以做信通的變換。這樣的話整個(gè)網(wǎng)絡(luò)其實(shí)可以變成一個(gè) Signal Rescaling 的一個(gè)思路。
這樣的好處是可以把原來(lái)的每一層都做一個(gè)矩陣分解直接變換成相關(guān)的一些變化,我們可以把網(wǎng)絡(luò)中的節(jié)點(diǎn)的 status,或者網(wǎng)絡(luò)中的影響力全部嵌入卷積神經(jīng)網(wǎng)絡(luò)。這樣的話對(duì)每一層的卷積層都可以做一定的變換,它可以是多層的,甚至是可以做 Multi-head Propagation mechanism,還可以做 Multi-hop variants。如果我們?nèi)サ裘恳粚拥姆蔷€性函數(shù),事實(shí)上 Multi-hop variants 就和單純的 GCN 等價(jià)了。這樣一個(gè)分析的思路就把前面所有的注意力機(jī)制,如 Node attention、Edge attention、K-hop edge attention 或 Path attention 全部歸一化了起來(lái)。更優(yōu)美的是基于這樣的思想,其實(shí)我們?cè)谝院缶涂梢圆挥醚芯靠桃馊パ芯?GCN 的這種結(jié)構(gòu)、架構(gòu),而是去研究在 GCN 里的不同的操作。我們可以基于剛才的函數(shù)對(duì)里面的 P、Q 做變換,或者對(duì) L 值直接做變換。這樣的話我們就可以對(duì)整個(gè) GCN 做三種操作:Rescale,Re-normalize、Propagate,如下圖所示。
甚至我們可以把所有的這些卷積網(wǎng)絡(luò)的方法全部用 signal Rescaling 的方法把它統(tǒng)一起來(lái),而統(tǒng)一的思想就是以上的三個(gè)操作,就用三個(gè) operation 把所有的操作都給歸一化起來(lái),如下圖所示。從這個(gè)角度上大家可以看到,在網(wǎng)絡(luò)表示學(xué)習(xí)方面,我們把它歸一化到矩陣分解,用矩陣分解把網(wǎng)絡(luò)表示學(xué)習(xí)都給歸一化起來(lái)了。而在卷積網(wǎng)絡(luò)中或者是叫圖神經(jīng)網(wǎng)絡(luò)(當(dāng)然更多的是卷積網(wǎng)絡(luò))中,我們就用三個(gè)操作+矩陣分解,用矩陣分解把形式化統(tǒng)一,然后用三個(gè)操作把不同的方法全部給統(tǒng)一起來(lái)。于是這個(gè)時(shí)候我們有了一個(gè)統(tǒng)一的框架,基本上都是矩陣分解加不同的一個(gè)操作(這里更多的是 signal Rescaling)這么一個(gè)思路,再把它統(tǒng)一起來(lái)。
我們還做了一些實(shí)驗(yàn)。我們發(fā)現(xiàn)結(jié)果也比以前確實(shí)要好,如下圖所示。
我們加上不同的操作以后,前面有 rescaling,post 叫 propagation,還有 normalization,我們用不同的操作加在上面可以組合成不同的方法。而這些不同的方法可以用一個(gè) AutoML 的方法來(lái)做 Tune,這樣就比原來(lái)歸一化表示的其他方法的效果都要好。從效果上我們可以得到更好的一個(gè)結(jié)果。這樣就可能解決“在數(shù)學(xué)上的分析很漂亮,我們都說(shuō)是一個(gè) signal Rescaling 的問(wèn)題,但是我們?cè)趺醋尳Y(jié)果真的比原來(lái)好很多,這個(gè)時(shí)候就有很大的一個(gè)麻煩”這個(gè)問(wèn)題。關(guān)于這一部分的很多細(xì)節(jié)沈華偉老師講了很多,所以我在這里跳過(guò)一些,有興趣的可以查看相關(guān)的視頻。
接下來(lái)我們來(lái)看一下最近的一些思路。最近大家都知道自然語(yǔ)言處理及很多其他領(lǐng)域中,預(yù)訓(xùn)練已經(jīng)變成一個(gè)標(biāo)配了,BERT 從 2018 年底出現(xiàn)到現(xiàn)在已經(jīng)打敗了很多相關(guān)的一些方法,甚至已經(jīng)出現(xiàn)了關(guān)于 BERT 的一系列相關(guān)的方法(BERTology),如 XLNet, Roberta, ALBert, TinyBERT 等。在計(jì)算機(jī)視覺(jué)(CV)方向也有很多相關(guān)的研究,最近一個(gè)很重要的進(jìn)展就是 Contrastive Learning,即利用無(wú)監(jiān)督學(xué)習(xí)(Unsupervised Learning)的方法或者是一個(gè)非常簡(jiǎn)單的 Contrastive Learning 的思路來(lái)做的效果更好。MoCo 在 2019 年年底出來(lái),基本上一下子就做到無(wú)監(jiān)督學(xué)習(xí)的結(jié)果基本上就可以跟監(jiān)督學(xué)習(xí)(Supervised learning)的結(jié)果差不了太多。后來(lái) Geoffrey Hinton 團(tuán)隊(duì)的 SimCLR 又打敗了 MoCo,最近 MoCo2 又把效果進(jìn)一步提高,打敗了 SimCLR。它們的核心思想都 Contrastive Learning,本質(zhì)上都是在用 self learning 來(lái)做表示學(xué)習(xí),類似于做一個(gè)預(yù)訓(xùn)練。
我認(rèn)為這方面是一個(gè)可能的方向,未來(lái)在這方面可能會(huì)有一些發(fā)展。但是怎么跟網(wǎng)絡(luò)化的數(shù)據(jù)、跟圖掛鉤,就是把圖跟預(yù)訓(xùn)練掛鉤,這方面其實(shí)還是一個(gè)很大的挑戰(zhàn)。所以總體來(lái)講,在 GNN 時(shí)代,如果光從算法的來(lái)考慮,我覺(jué)得值得考慮的其實(shí)有兩大核心的挑戰(zhàn):(1)怎么把預(yù)訓(xùn)練思路,包括剛才的 Contrastive Learning 和圖結(jié)合起來(lái)。其實(shí)現(xiàn)在還沒(méi)有一個(gè)特別里程碑式的進(jìn)展。(2)我們?cè)谶@里面怎么解決它過(guò)平滑、過(guò)擬合、不健壯的問(wèn)題。這幾個(gè)問(wèn)題怎么解決是很難的問(wèn)題。
我們現(xiàn)在再來(lái)看一看 GNN 怎么和推理結(jié)合起來(lái)。說(shuō)到推理,可能有些人說(shuō)這個(gè)問(wèn)題太大了,所以我們先從一個(gè)非常簡(jiǎn)單的問(wèn)題(Multi-hop Question Answering,QA)來(lái)說(shuō)。
這個(gè)問(wèn)題是個(gè)自然語(yǔ)言處理的問(wèn)題。假如我們要解決一個(gè)問(wèn)題“找到一個(gè) 2003 年在洛杉磯的 Quality 咖啡館拍過(guò)電影的導(dǎo)演(Who is the director of the 2003 film which has scenes in it filmed at The Quality Cafe in Los Angeles)”。如果是人來(lái)解決這個(gè)問(wèn)題的話,可能是先追溯相關(guān)的文檔,如 Quality 咖啡館的介紹文檔,洛杉磯的維基百科頁(yè)面等,我們可能會(huì)從中找到相關(guān)的電影,如 Old School,在這個(gè)電影的介紹文檔里面,我們可能會(huì)進(jìn)一步找到該電影的導(dǎo)演 Todd Phillips,經(jīng)過(guò)比對(duì)電影的拍攝時(shí)間 2003 年,最終確定答案是 Todd Phillips,具體流程如下圖所示。
但是計(jì)算機(jī)會(huì)怎么做?計(jì)算機(jī)不像人,計(jì)算機(jī)沒(méi)有這么聰明。如果我們用一個(gè)簡(jiǎn)單的方法,也就是說(shuō)我們用卷積神經(jīng)網(wǎng)絡(luò)的方法來(lái)做的話,應(yīng)該怎么做?我們可以用 BERT 或 XLNet,BERT 可以做到 512 的 Context 了,我們現(xiàn)在甚至可以做到 1024、2048 的 Context,當(dāng)然訓(xùn)練要求就更高了,甚至沒(méi)有足夠的機(jī)器來(lái)完成。但是這里面核心的一個(gè)問(wèn)題不是說(shuō)它能不能解的問(wèn)題(當(dāng)然第 1 個(gè)方面是它能不能解),而是像人那樣解決這個(gè)問(wèn)題,即需要人的推理過(guò)程,但 BERT 可能根本就解決不了。
第 2 個(gè)更難的是缺乏知識(shí)層面上的一個(gè)推理能力,尤其是缺乏可解釋性。我們到最后得到的一個(gè)可能的結(jié)果:BERT 給出了一個(gè)和真實(shí)結(jié)果比較相似的結(jié)果,說(shuō)這就是答案,然后就結(jié)束了。要想完美解決這個(gè)問(wèn)題,需要有一個(gè)推理路徑或者一個(gè)子圖,我們?cè)趺丛谶@方面來(lái)做這樣的事情?這很難。怎么辦呢?我們來(lái)看一看人的推理過(guò)程。人的推理過(guò)程是:人在拿到這個(gè)問(wèn)題以后,首先可能找到 Quality 咖啡館相關(guān)的文檔,這是最好的一個(gè)文檔(因?yàn)槁迳即壥械南嚓P(guān)文檔不是一個(gè)好的初始文檔)。找到 Quality 咖啡館相關(guān)的文檔以后,我們可以從里面找到 old school 的相關(guān)文檔,然后從 old school 的文檔中可以找到 Todd Phillips。整個(gè)過(guò)程有好幾個(gè)步驟,如下圖所示。
我們?cè)趺窗巡襟E形式化成一個(gè)計(jì)算機(jī)或者說(shuō)機(jī)器學(xué)習(xí)能做的事情就是我們下一步要探討的。
我們把這個(gè)問(wèn)題跟認(rèn)知科學(xué)中的一個(gè)很重要的理論——雙通道理論(Dual Process Theory)結(jié)合起來(lái)。為什么和雙通道理論結(jié)合起來(lái)呢?人在做推理的時(shí)候,我們發(fā)現(xiàn)有兩個(gè)系統(tǒng):System 1 和 System 2。System 1 被叫作直覺(jué)系統(tǒng),直覺(jué)系統(tǒng)是說(shuō)給定某個(gè)關(guān)系以后,只要算出相似度,就立馬把相似度給出來(lái)。比如當(dāng)大家聽到 3 月 29 號(hào)下午有一個(gè)圖神經(jīng)網(wǎng)絡(luò)的研討會(huì)時(shí),大家覺(jué)得有興趣,決定要聽一下。System 2 會(huì)做進(jìn)一步的推理、邏輯思考、決策。它可能會(huì)想下午還要帶小孩出去玩,或者下午還有另外一門課,這個(gè)課不能翹,于是你最后說(shuō)算了,下午不去了,最后你就不參加了。所以 System 2 它是帶有邏輯思考的。
以上就是人思考問(wèn)題的過(guò)程。AI 怎么跟人來(lái)結(jié)合?我們?cè)谌ツ晏接戇@個(gè)問(wèn)題的時(shí)候,正好 Yoshua Bengio 他們也在聊這個(gè)問(wèn)題,他在去年的 NIPS 上更直接地講了:“深度學(xué)習(xí)應(yīng)該直接從 System 1 做到 System 2?,F(xiàn)在 System 1 主要是在做直覺(jué)式(Intuitive)的思考。而 System 2 應(yīng)該做一些邏輯加上一些推理,再加上一些 planning 的思考”如下圖所示。
找到以后,我們把它作為 Cognitive Graph 拿給 System 2 來(lái)做決策。System 2 就相當(dāng)于做直接做一個(gè) prediction,相當(dāng)于學(xué)一個(gè) prediction 的模型。用 GNN 直接來(lái)做預(yù)測(cè)。如果是答案就結(jié)束,如果不是答案,但是有用,就把它交給 System 1 來(lái)接著做。具體結(jié)構(gòu)如下圖所示。
機(jī)器學(xué)習(xí)原來(lái)是依靠某個(gè)信息做預(yù)測(cè),這個(gè)時(shí)候可能沒(méi)有擴(kuò)展的信息,而依靠認(rèn)知圖譜,可以用 system 1 擴(kuò)展出來(lái)新的信息,如果拓展的信息精度不夠高,還可以通過(guò)做一層推理給出更多的信息,這個(gè)時(shí)候機(jī)器學(xué)習(xí)系統(tǒng)可以結(jié)合更多的信息再來(lái)做預(yù)測(cè),這可能又進(jìn)一步提高了效果。當(dāng)機(jī)器學(xué)習(xí)系統(tǒng)做了一個(gè)錯(cuò)誤的預(yù)測(cè)以后,認(rèn)知圖譜還可以回溯錯(cuò)誤是怎么產(chǎn)生的。這個(gè)方面有很多相關(guān)的應(yīng)用。
有人可能會(huì)說(shuō),這個(gè)是不是只能做問(wèn)答?不是的,它既可以做問(wèn)答,也可以做知識(shí)圖譜的補(bǔ)齊,下圖左邊是一個(gè)知識(shí)圖譜,右邊是基于剛才的模型來(lái)做知識(shí)圖譜的一個(gè)補(bǔ)齊,這是一個(gè)基本的一個(gè)思路。
這就是認(rèn)知圖譜怎么和推理結(jié)合在一起。
未來(lái)我們有很多挑戰(zhàn),但是也有很多機(jī)遇。
張鈸院士在 2015 年提出人工智能基本上在做兩件事。
第一件事:做知識(shí)的表示和知識(shí)的推理。其實(shí)知識(shí)表示和知識(shí)推理在 20 世紀(jì) 50 年代第一個(gè)人工智能時(shí)代就已經(jīng)有了。當(dāng)時(shí)的推理就已經(jīng)很先進(jìn)了。但是一直沒(méi)有發(fā)展起來(lái),一個(gè)原因就是規(guī)模小,另一個(gè)原因是固定、死板,不能自學(xué)習(xí)。這跟當(dāng)時(shí)的計(jì)算機(jī)計(jì)算能力差、缺乏大規(guī)模的數(shù)據(jù)有關(guān)系。
第二件事:第二波人工智能浪潮的興起是機(jī)器學(xué)習(xí)驅(qū)動(dòng)的,第三波人工智能浪潮(也就是這一次人工智能浪潮)是依靠深度學(xué)習(xí)把整個(gè)基于學(xué)習(xí)的人工智能推向了一個(gè)頂峰,所以我說(shuō)這是一個(gè)感知時(shí)代的頂峰。
現(xiàn)在人工智能最大的問(wèn)題缺乏可解釋性,而且缺乏健壯性。我剛才講了,存在一個(gè)噪聲可能就會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的表示學(xué)習(xí)的結(jié)果就不行了,甚至缺乏這種可信的結(jié)果和可擴(kuò)展的結(jié)果。這些方面都需要我們做進(jìn)一步的研究,所以當(dāng)時(shí)張?jiān)菏烤吞岢鲆龅谌斯ぶ悄?。DARPA 在 2017 年也做了 XAI 項(xiàng)目,提出一定要做可解釋性的機(jī)器學(xué)習(xí)。
2018 年,清華大學(xué)正式提出第三代人工智能的理論框架體系:(1)建立可解釋、健壯性的人工智能理論和方法。(2)發(fā)展安全、可靠、可信及可擴(kuò)展的人工智能技術(shù)。(3)推動(dòng)人工智能創(chuàng)新應(yīng)用。
結(jié)合剛才講到的內(nèi)容,我認(rèn)為:(1)數(shù)據(jù)和知識(shí)的融合是非常關(guān)鍵的,我們要考慮怎么把知識(shí)融合到數(shù)據(jù)里面。(2)我們?cè)趺锤X科學(xué)、腦啟發(fā)、腦認(rèn)知的方法結(jié)合起來(lái)。所以剛才我拋磚引玉給了一個(gè)思想,即我們用認(rèn)知圖譜這種思想,可能可以把人的常識(shí)知識(shí)和一些推理邏輯結(jié)合到深度學(xué)習(xí)中,甚至可以把一些知識(shí)的表示也結(jié)合到里面。這樣的話“認(rèn)知+推理”就是未來(lái)。這里面還有一個(gè)核心的基石:要建造萬(wàn)億級(jí)的常識(shí)知識(shí)圖譜,這是我們必須要做的。這里面路還非常遠(yuǎn),我也非常歡迎大家一起加入來(lái)做這方面的研究和探討。
這里面再次拋磚引玉,提一下幾個(gè)相關(guān)的研究。(1)在推理方面有幾個(gè)相關(guān)的工作,如 DeepMind 的 graph_net 就把關(guān)系融合到網(wǎng)絡(luò)表示中,在網(wǎng)絡(luò)表示學(xué)習(xí)中發(fā)揮一定的作用。(2)最近的一篇文章把知識(shí)圖譜融合到了 BERT 中,這樣的話知識(shí)圖譜中就有了與 BERT 相關(guān)的一些東西,可以用這種知識(shí)圖譜來(lái)幫助 BERT 的預(yù)訓(xùn)練。當(dāng)然,我不是說(shuō)它是最好的,但它們都提出了一個(gè)思路,講到了怎么把表示學(xué)習(xí)和 GNN 結(jié)合起來(lái),這是很重要的一些事情。
下圖列出了一些相關(guān)的論文,還有一兩篇是我們沒(méi)有發(fā)表的文章,包括剛才說(shuō)的 Signal Rescaling,其實(shí)我們?cè)谀瞧恼吕锩孀隽撕芏鄶?shù)學(xué)分析。
聯(lián)系客服