導讀:近年來,多模態一詞在知識圖譜、計算機視覺、機器學習等領域逐漸引起越來越多的關注。從認知科學角度看,個體感知、認知外界多模態資訊進而形成知識的過程,通常是多種感官同時對資訊進行處理和融合,這也對應著神經網路與符號知識兩類人工智慧方法。本文將介紹東南大學認知智慧研究所在多模態知識發現的最新工作,並介紹神經網路方法與傳統的符號知識結合相關研究進展。
具體將圍繞以下幾部分展開:
- 引言——兩個例子
- 為什麼符號知識很重要
- “神經”+“符號”學習
- 多模態知識發現
01
引言——兩個例子
首先按照我自己的風格,先舉兩個和本次分享主題相關的例子。
第1個例子是現在非常火的GPT-3(據相關報道,GPT-3已開源,大家可以用其提供的預訓練語料與計算資源所學習到的淺層知識)。這個例子是去年在KR 2020會議上Marcus所舉的。“一個人倒了一杯蔓越莓汁,然後漫無目的地用湯勺去攪拌了一些葡萄汁在裡面,它看起來不錯。你嘗試去聞,因為你感冒了,所以聞不到任何味道。因為你非常渴,所以你喝了它。”之後緊跟著一句話,“你現在死了”。對應上圖中的黑色字型,是GPT-3自動生成的。
這個例子很有意思,GPT-3從上面這段文字中學習到/認為的新的知識是:葡萄汁是有毒的。實際中,一個零經驗的人都可以從網上或自身的歷史經驗中得到一個結論:蔓越莓/葡萄汁是沒有毒的,你之所以聞不到它們是因為你感冒了。從中我們看到,被視為異常強大的GPT-3在這樣一個簡單的生物醫學的推理場景下依然會犯很低階的錯誤。這還是給我們帶來了很多思考:符號知識/知識表示在神經學習系統中是非常重要的。
第2個例子是和多模態相關的,談到神經和符號,我們知道神經系統在視覺以及一些非結構化的文字任務上取得了長足的進步。這個例子來源於NeurIPS’2020,Facebook公司提出的一個任務,說明在很多時候我們都需要多種模態的資料來共同處理。
02
為什麼符號知識很重要
Bengio在2020年的ICLR上做了一個keynote,包括國內的唐傑老師、肖仰華老師,都在提系統1到系統2的轉變,如上圖(左)。上圖(右),我們追溯至1986年Marvin Minsky(圖靈獎獲得者)的《社會心智》這本書,他在這本書中同樣提到了人類大腦中的不同認知結構,它們對於外界所傳達資訊的接收能力與反應方式也是不同的。
對上述內容感興趣的同學或朋友們,我建議大家可以看看以上三本書。中間這本書是一個諾貝爾經濟學獎獲得者寫的一本關於認知科學理論的書,其中有一些很有意思的題目讓你去做,你會發現人腦在處理這些相同或類似的任務時,所產生的差異也是非常明顯的。哪怕是非常接近的任務,有的任務你可能需要思考很長的時間才能完成,有的任務你可能在直覺上一下子就能判斷出來。我想這可能也對應現實世界中的一些應用場景,可以幫助你找到答案。
從本質上來講,Bengio還是從認知學的理論去討論我們應該用哪一種系統學習的機制。從知識圖譜/語義網路的角度來看,毫無疑問,現有的神經系統特別擅長處理特定場景的問題,如車牌識別、語義識別、機器翻譯、影象分析等等,並且對於資料噪聲的魯棒性也比較高,這也是神經系統能夠識別“千變萬化”的手寫體數字的優勢之所在。但是,它很難去解釋或做原子級的操作,以及很難利用傳統的背景知識。傳統的符號系統很難處理機器學習問題,對於資料噪聲的容忍性低,但是它很容易被理解並且被人所評估,以及融入表現背景知識的設計。
從本質上講,神經系統和符號系統的目標都是一致的,即輸入一個問題(Input(Question)),產生一個答案(Goal(Answer))。區別在於它們擅長處理的資料型別不一樣,神經系統可能擅長於處理非結構化的文字、語音、圖片等,通常採用的是端到端的方式;符號系統擅長處理資料庫以及定義的模式/語義規則/推理規則、圖資料庫、圖譜等等。但是從任務的輸入、輸出的角度來講,它們都是一致的。
基於此,我們會發現這兩種系統各有特點。上圖(右)是一個視覺問答(VQA)的例子,針對“圖中有幾隻長頸鹿?”這一問題,可以回答:圖中有兩隻長頸鹿,但是如果問:“長頸鹿和斑馬的關係?”這一問題,如果僅透過從大量的樣本中來學習,我相信是很難得到“它們都是非洲草原上的草食類動物”這一事實。上圖(左)是一個經典的手寫體識別例子,如果我們只用神經系統去訓練,我們只能判斷新樣本中4<5,5<6這樣從來沒有見過的手寫體和它們之間的比較。但是對於符號之間的運算,卻很難推斷出4<6這個運算過程。而對於符號系統而言,它的泛化能力是非常強的,你只需要寫一個運算子的傳遞性規則,便可以得到想要的運算答案。
這裡提到的“神經”+“符號”並不是說它們兩者是對立的。我一直在跟蹤前沿的工作,我不是想說“符號系統”有多麼的好,而是說我們現在需要的是找到所有可能的方式去補充深度學習目前所出現的問題。這也是我本次分享的核心出發點。從上圖中可知,目前現有的神經系統模型主要還是集中在感知或語言方面,而人類的符號知識包含了大量的常識,我們如何能夠將它們用在神經系統裡面,這方面的研究具有無限的潛力。
到底什麼是符號/符號知識?在浙江大學陳華鈞老師的演講中提到,符號推理的四種類型是:演繹(Deductive reasoning)、歸納(Inductive reasoning)、溯因(Abductive reasoning)、類比(Analogical reasoning)。
G.Marcus在2020年的KR會議上也對符號知識進行了概括,他說符號知識可以分為幾類,例如變數、例項,在變數/例項上的操作,以及繫結(binding)。符號知識的泛化能力從何而來?根據Gary F.Marcus這本書中提出的觀點,這主要得益於變數的強大之處,也就是說,當我們能在一個符號系統中定義有代表性的變數時,它其實是永無止境的泛化(open-ended generalization)。
哪些知識是可以形式化出來的,像上述提到的變數、例項是可以定義出來的,哪些又是很難去描述的。我們知道,人類知識中其實有很多“本能”資訊(innate),例如喜怒哀樂,它從某種程度上來說也是一種知識。但是它們很難用我們的符號體系去概括,這就涉及到一些心理學上的知識。這裡我也給大家一個參考,Elizabeth Spelke是哈佛大學一個長期從事計算機科學與心理科學研究的教授,如果你想找到答案,也可以從他的研究中獲取到一些資源。
概括而言,符號知識包括:對一類物件的表示(Representationsof objects),一些結構化的代數層級的表示(Structured, algebraicrepresentations),定義在變數上的運算(Operations over variables),一些單詞級別的區別(A type-token distinction),對於集合、地點、路徑、軌跡、障礙物以及一些永續性質個體的表達能力(A capacity to represent sets, locations, paths, trajectories,obstacles and enduring individuals),一種表示物件屬性的方式(A way of representing the affordances of objects),大量的時空資訊(Spatiotemporal contiguity/conservation of mass),因果關係(Causality),平均變數(Translational invariance)和成本效益分析能力(Capacity for cost-benefit analysis)。以上可視為對常見的符號知識的系統性的總結。大家可以思考下,根據自己的背景知識,是否可以將上述中的每一類嵌入到神經學習系統中來。
說的再遠一些,還有一些很難去定義的符號知識,例如一些習慣的選擇(Habitat selection),對危險、恐懼的反應,以及正義(Justice),性別以及一些傳統意義上的人類的本能。當然,致力於知識表示的科學家們還一直在探索。我們需要思考現有的知識表示是否還有缺陷,在S.Pinker 1994年出版的一本書中提到這樣一句話“人類在解決任何一個現實世界中的問題時,上圖中所列出的機制/知識/本能至少要用到其中五種”。這引發了我們的思考,啟發我們根據上述知識列表去神經系統中探索還缺乏哪些知識,以及如何更好地引入它們。
符號系統不單單是表示問題,符號知識也是與方法相關的。但現在為止,AI系統已經有很多種型別了,我們在選擇知識表達時應緊密聯絡實際場景,一個核心的問題是,在一個“神經”+“符號”的結合系統中,面向一個給定的問題,或是一個給定的人來選擇一個最合適的知識表達,這樣最終可以實現兩個目的:一是幫助研究者跳出傳統的知識圖譜/知識表示的思維,進而幫助其獲得全新的知識理解(New understanding/ insights);二是讓研究者的神經系統更加個性化(Personalizationof system)。
這裡舉個例子,對於在醫療領域中診斷高血壓的問題:“人群中大概有0.04的人,一個患慢性病的老人患高血壓的機率為0.95等等”,在上圖中,可以分別從貝葉斯公式、代數層級的面積求法、鄰接列表、決策樹模型的層面給出了這一預測問題的知識表示形式。因此,我們不應該將知識表示固化於三元組,而要看解決問題時所採用的方法。換句話而言,在神經網路中有很多種方法,對於每種方法都應該設計它對應的知識表示。
基於上述設計思想,我們可以充分利用人類世界中的不同知識,這些知識上的不同操作方式,不同個體對於該問題的不同思考,核心的目的是能夠根據不同的人,不同的任務選擇相應的符號知識與推理規則,最後將知識嵌入到模型之中(With symbols model use, inferences model enable, and knowledge modelencode)。
在知識表示學習的會議ICLR上,每年都會有精彩的分享。在2020年,其中一個令我印象深刻的報告是關於社交符號知識(Social SymbolicKnowledge)的。在很多神經系統中都應考慮到社會知識的作用,這一方面已經有了一些工作,但是對於做“神經”+“符號”的研究者而言,我覺得在社交符號知識方面的研究還是比較空缺的。現在更多的研究還是集中在事實類的知識,例如姚明的身高是多少,美國總統是拜登等。然而在表情識別等情感分析任務中存在大量的社會常識/知識,在ICLR的這個報告中,給我們詳細說明了在哪些場景中,我們可以將哪些社會上的淺規則/知識來嵌入到神經學習的系統中。再者,對於知識圖譜構建,我們是否能提出一個基於社會常識的知識圖譜構建框架,這也是一個值得去探索的方向。
總結一下,我們期望的目標是能夠實現一個“神經”+“符號”的系統,在這個系統中,我們可以整合“神經”+“符號”的所有優點,最終來完成既定的任務。在IJCAI 2018的一個輔導報告(tutorial)中,專門介紹瞭如何來結合“神經”+“符號”,本質上這是一個迴圈的過程。
03
“神經”+“符號”學習
下面,我將給大家介紹“神經”+“符號”的學習方法。
我在IJCAI 2018輔導報告的基礎上,進一步總結了“神經”+“符號”學習方法的演化過程。現在還沒有任何一個系統敢宣稱:我的系統集合了“神經”+“符號”的全部優勢,大家更多的是在自己的任務上借鑑或是利用另外一個系統某一個環節的優點,這導致現有的“神經”+“符號”學習都是側重一方而忽略另一方的。
縱觀這一研究的歷史,從2010年開始,圖靈獎獲得者Leslie Valiant就是在做“神經”+“符號”的整合學習,也出版了一系列的、可稱為“Relational Learning”的專著;再往上走,就是馬爾科夫邏輯網路(MarkovLogic Network),它其實是將一些神經的方法嵌入到傳統的馬爾科夫網路的構建過程中;2013-2017年,知識圖譜表示學習是一個非常火熱的方向,至今仍有很多研究者在從事相關研究,其在本質上更側重於神經系統方法,但同時也引入了很多符號知識;2016-2018年,牛津大學的Georg Gottlob等人提出敏捷邏輯(Swift Logic)的相關概念,在深度學習框架下嵌入了很多可推理的元件(DeductiveReasoning with DL);Yoshua Bengio所倡導的Deep Learning 2,以及我所介紹的多模態知識圖譜都屬於這個領域。
詳細來說,第一類將神經系統直接應用於推理任務中的方法就是表示學習,它其實是在用神經的方法解決淺層的關係預測問題(在符號系統中,它們本質就是簡單的推理問題),但是我們知道,在知識圖譜表示學習中,基本上全部都是用神經網路或統計學習的方法去解決這個任務。還有現在流行的圖神經網路,如GCN,GNN等,它們都是在用神經的方法去解決淺層的推理問題。但是我想說的是,這裡的推理更多側重的是統計上的推理,而不是邏輯上的演繹推理。所以這裡值得我們做更深層的探討,是否可以讓神經系統去做更高級別的推理。
再比如多跳問答,相比而言,單跳問答是一個複雜的推理或複雜的問題,然而在傳統的符號知識領域中,它依然是一個淺層的推理。在多跳問答中,常使用迴圈神經網路+注意力機制(RNN+Attention)或層次圖卷積網路(Hierarchical GCN)來解決這一問題。
還有一種思路是透過改進神經網路方法,使其能夠更好地嵌入到推理問題中。上文中提到的敏捷邏輯(Swift logic),邏輯張量網路(Logic Tensor Network),以及錯誤容忍的RDF推理(noise-tolerant RDF reasoning)。這些工作極具代表性,它們並不是直接將神經網路與符號相互分離,而是嘗試在某些環節,如資料不完整性、張量網路的規則學習過程中引入一些神經的方法,但是在本質上它們還是符號推理系統。
還有一類方法主要還是在做神經系統面臨的問題,主要是透過引入符號知識來提升神經網路的效果。其中具有代表性的問題包括:資訊編審問題,如知識蒸餾(有老師網路和學生網路的過程,在這些過程中就可以嵌入一些邏輯的規則),遠端監督(在自然語言處理的過程中將知識圖譜作為監督資訊,並且在這其中去思考降噪的問題)。在計算機視覺領域,本質上還是在用符號知識的遷移去解決一些小樣本、零樣本的問題。
在NLP場景中嵌入知識的三種常見方法:
第一個是韓先培老師組的一個工作,他們將WordNet、Wikipedia、指令碼知識(script knowledge)、相關性(relatedness)這些統稱為符號知識。第一步是在一個自然語言任務中(如故事結尾預測任務)找出相關的規則或推斷,然後去學習是否滿足特定規則的得分函式,最後透過注意力機制去學習所有得分函式的聚合,得以對句子進行推斷或故事結尾的預測(請見《Reasoning with Heterogeneous Knowledge for Commonsense MachineComprehension》一文)。這裡總結一下:這類方法先去發現一些規則,然後從損失函式的級別去判斷這些規則是否都有效,最後結合注意力機制進行選擇。
第二類方法是將問題抽象為多工學習(multi-tasklearning)的任務(請見《Incorporating Relation Knowledge intoCommonsense Reading Comprehension with Multi-task Learning》一文)。這篇文章的最大貢獻在於:作者提出了一個概念網路(ConceptNet)。作者認為在整合多型別的知識時會有多個整合的損失函式(lossfunction),因此提出了一個全新的符號知識,稱為ConceptNet,最後將其抽象為一個多工學習的過程。
第三個工作也比較有代表性(請見《Knowledge-AwareGraph Networks for Commonsense Reasoning》一文),它類似於自監督學習的過程,並結合最近流行的圖神經網路(GNN)來做常識知識推理。上述三類方法是目前做的比較好的,說明如何在神經系統中嵌入符號知識的方法。
此外,符號知識還能幫助我們更好地解釋神經網路的輸出結果,以及提供更好的可解釋性。這些都是“神經”+“符號”學習的特點。
現有的“神經”+“符號”網路也存在一些缺陷:
- 我們現在所定義或擁有的知識是不完整的,即我們嵌入到模型中的實際上是很缺失的知識。我們真實的世界往往服從開放世界假設,那麼我們會面臨嵌入的知識是不存在、不正確,還是因為構建過程而導致的缺失問題。
- 嵌入的知識也不一定是百分之百正確的。
- 我們可以嵌入一些簡單的資源,但是這些資源的表達能力是比較弱的,例如其依然受限於三元組形式的表達能力。
04
多模態知識發現
“神經”+“符號”學習也是未來多模態知識發現中的一個探索。
1. 多模態知識圖譜
在今年的NLPCC上我已經對多模態知識圖譜做過相應的介紹,下面我做一些簡單的回顧。
首先多模態知識發現與多模態知識圖譜不是一個新的問題,從2004到2019年,在每一個階段,研究者都有不同的定義。
其中具有代表性的工作包括,Heng Ji等老師率先提出了到底什麼是多模態知識和多模態知識圖譜。他們對多模態知識圖譜的節點和關係給出了自己的定義。
他們總結了在將文字知識與場景知識融合過程中所面臨的一些挑戰。專門提到了不同模態知識的精準對齊是多模態知識發現中的一個核心問題。
在去年的ACL會議上,他們詳細介紹了一個多模態知識發現的系統。
上圖為該系統的主要架構,我們可以發現:多模態知識發現其實是一個龐大的工程,因為每種模態的知識都有不同的抽取方法,不同模態的知識還涉及對齊以及聯合學習等核心問題。
大家可以順著去發現在推薦系統(請見《Multi-modalKnowledge Graphs for Recommender Systems》一文)、旅遊場景(請見《Constructionof Multi-modal Chinese Tourism Knowledge Graph》一文)、軟體工程(請見《Multimodal Knowledge Graph for Deep Learning Papers and Code》一文)以及個人生活場景(請見《Multimodal joint learning for personal knowledge base constructionfrom Twitter-based lifelogs》一文),都可以發現多模態知識發現和多模態知識圖譜過程中不同知識和神經系統相結合的一些探索。
以及在多模態知識的表徵學習方面,都可以看到各有側重的方法(請見《HGMF:Heterogeneous Graph-based Fusion forMultimodal Data with Incompleteness》一文)。
這裡總結一下,我借鑑Dong老師等人的表達,上圖所示為商品知識圖譜。多模態知識圖譜的發展最終會向上圖中所總結的情況一樣,在開始時(2016-2017年),多模態知識圖譜只是傳統知識圖譜中的一個小塊(如圖(A)),大家剛剛開始關注這個問題;到2020年,我們發現傳統知識圖譜和多模態知識圖譜逐漸成為並列關係(如圖(B));未來,我相信多模態知識圖譜必定是包含了傳統知識圖譜(如圖(D))。
2. 我們的多模態知識圖譜
現在我簡單介紹一下我們的相關工作。作為一個研究知識表示出生的團隊,我們主要還是立足於我們已有的知識圖譜,並不斷擴充套件多模態的資訊。然後對於給定的場景,如場景圖分析、人臉識別問題,我們進行一些神經抽取。最後我們將由神經系統抽取的粗粒度類別資訊與我們已有的符號資訊相結合,並應用於一些實體級別的任務上。上圖(右)表示我們對於多模態知識的建模,包括多模態知識圖譜的“樣子”,以及基於場景的多模態發現(類似於場景圖)。
對於上圖中的每個部分,我們都有相應的論文。
這裡也做一個廣告。由於多模態資料/知識圖譜還是一個初級的研究領域,相信今天在座的各位同學和老師都有自己的多模態資源,我們今年在CCKS的論文徵集中將有一個全新的模組,即Resource Track。歡迎大家將自己的資料都投稿至這個模組,同時它也是被正文錄取的。希望大家能夠在整個知識圖譜與語義計算的社群中樂於分享自己的資料。
以上是我們對於場景的理解。
例如,我們在符號層級是如何求解這個問題的。
例如在符號層級,我們如何利用擁有的知識去解決尾部關係型別很少的實體抽取。
最後我們實現的效果是將傳統意義上的粗粒度的場景圖對映為一個例項級別的場景分析上。
以上為該模型的整體框架,以及相應的實驗結果。
3. 其它多模態發現任務
首先是多模態知識的補全,如上圖所示。
還有如何從無標籤影片中抽取我們常見的知識。
那麼多模態是否真的有用呢?
上圖是多模態機器翻譯的對抗性評價。
多模態知識圖譜在2019年ESWC這個會議上發表了一個被廣泛關注的資料集,即MMKG(multi-modal knowledge graphs)。在去年的KSEM上,中科大徐童老師也在這個資料集的基礎上提出了自己的模型。但是,如果你自己分析過這個資料集,就會發現其中包含大量的噪聲,例如阿司匹林這個藥,我們在對齊兩個知識圖譜上的阿司匹林資料時,如果使用單模態的知識圖譜去完成對齊,我們發現已經能夠取得不錯的效果。但是,如果加入照片資訊,會發現模型的效果會降低。我們發現產生上述問題的原因在於,其中一個知識圖譜中的阿司匹林是一個藥盒,另外一個知識圖譜中的阿司匹林是一個分子結構。在這種情況下,實際上多模態資訊起的是一種反作用。到底什麼場景下的多模態聯合資訊是有作用的,什麼場景下的多模態資訊是起反作用的,這也是接下來我們值得關注的問題。
接下來,我總結了多模態資料/知識圖譜中的真實挑戰:
- 是否真正有多模態的資料,如知識圖譜、文字資料、影象和影片等;
- 在符號層級,我們需要去思考多模態知識/符號知識應該如何去表達;
- 在神經網路層級,我們需要去探索多模態預訓練語言模型,是否有不同模態基準的對齊,以及是否有強大的計算資源。
最後談一下不同模態的知識,不同的研究者有不同的見解。大家一定不要把多模態想象成圖片、文字、音訊、影片,以及非結構化的知識。例如在照片層級,我們有cp影象,也有核磁共振影象,超聲影象,其實這些都是多模態的資料;在文字層級,也可以定義出屬於自己的多模態資訊。
上圖給出了這個領域未來的淺層研究方向,大家可以去探討。
今天的分享就到這裡,謝謝大家。
在文末分享、點贊、在看,給個3連擊唄~
分享嘉賓:
導讀:近年來,多模態一詞在知識圖譜、計算機視覺、機器學習等領域逐漸引起越來越多的關注。從認知科學角度看,個體感知、認知外界多模態資訊進而形成知識的過程,通常是多種感官同時對資訊進行處理和融合,這也對應著神經網路與符號知識兩類人工智慧方法。本文將介紹東南大學認知智慧研究所在多模態知識發現的最新工作,並介紹神經網路方法與傳統的符號知識結合相關研究進展。
具體將圍繞以下幾部分展開:
- 引言——兩個例子
- 為什麼符號知識很重要
- “神經”+“符號”學習
- 多模態知識發現
01
引言——兩個例子
首先按照我自己的風格,先舉兩個和本次分享主題相關的例子。
第1個例子是現在非常火的GPT-3(據相關報道,GPT-3已開源,大家可以用其提供的預訓練語料與計算資源所學習到的淺層知識)。這個例子是去年在KR 2020會議上Marcus所舉的。“一個人倒了一杯蔓越莓汁,然後漫無目的地用湯勺去攪拌了一些葡萄汁在裡面,它看起來不錯。你嘗試去聞,因為你感冒了,所以聞不到任何味道。因為你非常渴,所以你喝了它。”之後緊跟著一句話,“你現在死了”。對應上圖中的黑色字型,是GPT-3自動生成的。
這個例子很有意思,GPT-3從上面這段文字中學習到/認為的新的知識是:葡萄汁是有毒的。實際中,一個零經驗的人都可以從網上或自身的歷史經驗中得到一個結論:蔓越莓/葡萄汁是沒有毒的,你之所以聞不到它們是因為你感冒了。從中我們看到,被視為異常強大的GPT-3在這樣一個簡單的生物醫學的推理場景下依然會犯很低階的錯誤。這還是給我們帶來了很多思考:符號知識/知識表示在神經學習系統中是非常重要的。
第2個例子是和多模態相關的,談到神經和符號,我們知道神經系統在視覺以及一些非結構化的文字任務上取得了長足的進步。這個例子來源於NeurIPS’2020,Facebook公司提出的一個任務,說明在很多時候我們都需要多種模態的資料來共同處理。
02
為什麼符號知識很重要
Bengio在2020年的ICLR上做了一個keynote,包括國內的唐傑老師、肖仰華老師,都在提系統1到系統2的轉變,如上圖(左)。上圖(右),我們追溯至1986年Marvin Minsky(圖靈獎獲得者)的《社會心智》這本書,他在這本書中同樣提到了人類大腦中的不同認知結構,它們對於外界所傳達資訊的接收能力與反應方式也是不同的。
對上述內容感興趣的同學或朋友們,我建議大家可以看看以上三本書。中間這本書是一個諾貝爾經濟學獎獲得者寫的一本關於認知科學理論的書,其中有一些很有意思的題目讓你去做,你會發現人腦在處理這些相同或類似的任務時,所產生的差異也是非常明顯的。哪怕是非常接近的任務,有的任務你可能需要思考很長的時間才能完成,有的任務你可能在直覺上一下子就能判斷出來。我想這可能也對應現實世界中的一些應用場景,可以幫助你找到答案。
從本質上來講,Bengio還是從認知學的理論去討論我們應該用哪一種系統學習的機制。從知識圖譜/語義網路的角度來看,毫無疑問,現有的神經系統特別擅長處理特定場景的問題,如車牌識別、語義識別、機器翻譯、影象分析等等,並且對於資料噪聲的魯棒性也比較高,這也是神經系統能夠識別“千變萬化”的手寫體數字的優勢之所在。但是,它很難去解釋或做原子級的操作,以及很難利用傳統的背景知識。傳統的符號系統很難處理機器學習問題,對於資料噪聲的容忍性低,但是它很容易被理解並且被人所評估,以及融入表現背景知識的設計。
從本質上講,神經系統和符號系統的目標都是一致的,即輸入一個問題(Input(Question)),產生一個答案(Goal(Answer))。區別在於它們擅長處理的資料型別不一樣,神經系統可能擅長於處理非結構化的文字、語音、圖片等,通常採用的是端到端的方式;符號系統擅長處理資料庫以及定義的模式/語義規則/推理規則、圖資料庫、圖譜等等。但是從任務的輸入、輸出的角度來講,它們都是一致的。
基於此,我們會發現這兩種系統各有特點。上圖(右)是一個視覺問答(VQA)的例子,針對“圖中有幾隻長頸鹿?”這一問題,可以回答:圖中有兩隻長頸鹿,但是如果問:“長頸鹿和斑馬的關係?”這一問題,如果僅透過從大量的樣本中來學習,我相信是很難得到“它們都是非洲草原上的草食類動物”這一事實。上圖(左)是一個經典的手寫體識別例子,如果我們只用神經系統去訓練,我們只能判斷新樣本中4<5,5<6這樣從來沒有見過的手寫體和它們之間的比較。但是對於符號之間的運算,卻很難推斷出4<6這個運算過程。而對於符號系統而言,它的泛化能力是非常強的,你只需要寫一個運算子的傳遞性規則,便可以得到想要的運算答案。
這裡提到的“神經”+“符號”並不是說它們兩者是對立的。我一直在跟蹤前沿的工作,我不是想說“符號系統”有多麼的好,而是說我們現在需要的是找到所有可能的方式去補充深度學習目前所出現的問題。這也是我本次分享的核心出發點。從上圖中可知,目前現有的神經系統模型主要還是集中在感知或語言方面,而人類的符號知識包含了大量的常識,我們如何能夠將它們用在神經系統裡面,這方面的研究具有無限的潛力。
到底什麼是符號/符號知識?在浙江大學陳華鈞老師的演講中提到,符號推理的四種類型是:演繹(Deductive reasoning)、歸納(Inductive reasoning)、溯因(Abductive reasoning)、類比(Analogical reasoning)。
G.Marcus在2020年的KR會議上也對符號知識進行了概括,他說符號知識可以分為幾類,例如變數、例項,在變數/例項上的操作,以及繫結(binding)。符號知識的泛化能力從何而來?根據Gary F.Marcus這本書中提出的觀點,這主要得益於變數的強大之處,也就是說,當我們能在一個符號系統中定義有代表性的變數時,它其實是永無止境的泛化(open-ended generalization)。
哪些知識是可以形式化出來的,像上述提到的變數、例項是可以定義出來的,哪些又是很難去描述的。我們知道,人類知識中其實有很多“本能”資訊(innate),例如喜怒哀樂,它從某種程度上來說也是一種知識。但是它們很難用我們的符號體系去概括,這就涉及到一些心理學上的知識。這裡我也給大家一個參考,Elizabeth Spelke是哈佛大學一個長期從事計算機科學與心理科學研究的教授,如果你想找到答案,也可以從他的研究中獲取到一些資源。
概括而言,符號知識包括:對一類物件的表示(Representationsof objects),一些結構化的代數層級的表示(Structured, algebraicrepresentations),定義在變數上的運算(Operations over variables),一些單詞級別的區別(A type-token distinction),對於集合、地點、路徑、軌跡、障礙物以及一些永續性質個體的表達能力(A capacity to represent sets, locations, paths, trajectories,obstacles and enduring individuals),一種表示物件屬性的方式(A way of representing the affordances of objects),大量的時空資訊(Spatiotemporal contiguity/conservation of mass),因果關係(Causality),平均變數(Translational invariance)和成本效益分析能力(Capacity for cost-benefit analysis)。以上可視為對常見的符號知識的系統性的總結。大家可以思考下,根據自己的背景知識,是否可以將上述中的每一類嵌入到神經學習系統中來。
說的再遠一些,還有一些很難去定義的符號知識,例如一些習慣的選擇(Habitat selection),對危險、恐懼的反應,以及正義(Justice),性別以及一些傳統意義上的人類的本能。當然,致力於知識表示的科學家們還一直在探索。我們需要思考現有的知識表示是否還有缺陷,在S.Pinker 1994年出版的一本書中提到這樣一句話“人類在解決任何一個現實世界中的問題時,上圖中所列出的機制/知識/本能至少要用到其中五種”。這引發了我們的思考,啟發我們根據上述知識列表去神經系統中探索還缺乏哪些知識,以及如何更好地引入它們。
符號系統不單單是表示問題,符號知識也是與方法相關的。但現在為止,AI系統已經有很多種型別了,我們在選擇知識表達時應緊密聯絡實際場景,一個核心的問題是,在一個“神經”+“符號”的結合系統中,面向一個給定的問題,或是一個給定的人來選擇一個最合適的知識表達,這樣最終可以實現兩個目的:一是幫助研究者跳出傳統的知識圖譜/知識表示的思維,進而幫助其獲得全新的知識理解(New understanding/ insights);二是讓研究者的神經系統更加個性化(Personalizationof system)。
這裡舉個例子,對於在醫療領域中診斷高血壓的問題:“人群中大概有0.04的人,一個患慢性病的老人患高血壓的機率為0.95等等”,在上圖中,可以分別從貝葉斯公式、代數層級的面積求法、鄰接列表、決策樹模型的層面給出了這一預測問題的知識表示形式。因此,我們不應該將知識表示固化於三元組,而要看解決問題時所採用的方法。換句話而言,在神經網路中有很多種方法,對於每種方法都應該設計它對應的知識表示。
基於上述設計思想,我們可以充分利用人類世界中的不同知識,這些知識上的不同操作方式,不同個體對於該問題的不同思考,核心的目的是能夠根據不同的人,不同的任務選擇相應的符號知識與推理規則,最後將知識嵌入到模型之中(With symbols model use, inferences model enable, and knowledge modelencode)。
在知識表示學習的會議ICLR上,每年都會有精彩的分享。在2020年,其中一個令我印象深刻的報告是關於社交符號知識(Social SymbolicKnowledge)的。在很多神經系統中都應考慮到社會知識的作用,這一方面已經有了一些工作,但是對於做“神經”+“符號”的研究者而言,我覺得在社交符號知識方面的研究還是比較空缺的。現在更多的研究還是集中在事實類的知識,例如姚明的身高是多少,美國總統是拜登等。然而在表情識別等情感分析任務中存在大量的社會常識/知識,在ICLR的這個報告中,給我們詳細說明了在哪些場景中,我們可以將哪些社會上的淺規則/知識來嵌入到神經學習的系統中。再者,對於知識圖譜構建,我們是否能提出一個基於社會常識的知識圖譜構建框架,這也是一個值得去探索的方向。
總結一下,我們期望的目標是能夠實現一個“神經”+“符號”的系統,在這個系統中,我們可以整合“神經”+“符號”的所有優點,最終來完成既定的任務。在IJCAI 2018的一個輔導報告(tutorial)中,專門介紹瞭如何來結合“神經”+“符號”,本質上這是一個迴圈的過程。
03
“神經”+“符號”學習
下面,我將給大家介紹“神經”+“符號”的學習方法。
我在IJCAI 2018輔導報告的基礎上,進一步總結了“神經”+“符號”學習方法的演化過程。現在還沒有任何一個系統敢宣稱:我的系統集合了“神經”+“符號”的全部優勢,大家更多的是在自己的任務上借鑑或是利用另外一個系統某一個環節的優點,這導致現有的“神經”+“符號”學習都是側重一方而忽略另一方的。
縱觀這一研究的歷史,從2010年開始,圖靈獎獲得者Leslie Valiant就是在做“神經”+“符號”的整合學習,也出版了一系列的、可稱為“Relational Learning”的專著;再往上走,就是馬爾科夫邏輯網路(MarkovLogic Network),它其實是將一些神經的方法嵌入到傳統的馬爾科夫網路的構建過程中;2013-2017年,知識圖譜表示學習是一個非常火熱的方向,至今仍有很多研究者在從事相關研究,其在本質上更側重於神經系統方法,但同時也引入了很多符號知識;2016-2018年,牛津大學的Georg Gottlob等人提出敏捷邏輯(Swift Logic)的相關概念,在深度學習框架下嵌入了很多可推理的元件(DeductiveReasoning with DL);Yoshua Bengio所倡導的Deep Learning 2,以及我所介紹的多模態知識圖譜都屬於這個領域。
詳細來說,第一類將神經系統直接應用於推理任務中的方法就是表示學習,它其實是在用神經的方法解決淺層的關係預測問題(在符號系統中,它們本質就是簡單的推理問題),但是我們知道,在知識圖譜表示學習中,基本上全部都是用神經網路或統計學習的方法去解決這個任務。還有現在流行的圖神經網路,如GCN,GNN等,它們都是在用神經的方法去解決淺層的推理問題。但是我想說的是,這裡的推理更多側重的是統計上的推理,而不是邏輯上的演繹推理。所以這裡值得我們做更深層的探討,是否可以讓神經系統去做更高級別的推理。
再比如多跳問答,相比而言,單跳問答是一個複雜的推理或複雜的問題,然而在傳統的符號知識領域中,它依然是一個淺層的推理。在多跳問答中,常使用迴圈神經網路+注意力機制(RNN+Attention)或層次圖卷積網路(Hierarchical GCN)來解決這一問題。
還有一種思路是透過改進神經網路方法,使其能夠更好地嵌入到推理問題中。上文中提到的敏捷邏輯(Swift logic),邏輯張量網路(Logic Tensor Network),以及錯誤容忍的RDF推理(noise-tolerant RDF reasoning)。這些工作極具代表性,它們並不是直接將神經網路與符號相互分離,而是嘗試在某些環節,如資料不完整性、張量網路的規則學習過程中引入一些神經的方法,但是在本質上它們還是符號推理系統。
還有一類方法主要還是在做神經系統面臨的問題,主要是透過引入符號知識來提升神經網路的效果。其中具有代表性的問題包括:資訊編審問題,如知識蒸餾(有老師網路和學生網路的過程,在這些過程中就可以嵌入一些邏輯的規則),遠端監督(在自然語言處理的過程中將知識圖譜作為監督資訊,並且在這其中去思考降噪的問題)。在計算機視覺領域,本質上還是在用符號知識的遷移去解決一些小樣本、零樣本的問題。
在NLP場景中嵌入知識的三種常見方法:
第一個是韓先培老師組的一個工作,他們將WordNet、Wikipedia、指令碼知識(script knowledge)、相關性(relatedness)這些統稱為符號知識。第一步是在一個自然語言任務中(如故事結尾預測任務)找出相關的規則或推斷,然後去學習是否滿足特定規則的得分函式,最後透過注意力機制去學習所有得分函式的聚合,得以對句子進行推斷或故事結尾的預測(請見《Reasoning with Heterogeneous Knowledge for Commonsense MachineComprehension》一文)。這裡總結一下:這類方法先去發現一些規則,然後從損失函式的級別去判斷這些規則是否都有效,最後結合注意力機制進行選擇。
第二類方法是將問題抽象為多工學習(multi-tasklearning)的任務(請見《Incorporating Relation Knowledge intoCommonsense Reading Comprehension with Multi-task Learning》一文)。這篇文章的最大貢獻在於:作者提出了一個概念網路(ConceptNet)。作者認為在整合多型別的知識時會有多個整合的損失函式(lossfunction),因此提出了一個全新的符號知識,稱為ConceptNet,最後將其抽象為一個多工學習的過程。
第三個工作也比較有代表性(請見《Knowledge-AwareGraph Networks for Commonsense Reasoning》一文),它類似於自監督學習的過程,並結合最近流行的圖神經網路(GNN)來做常識知識推理。上述三類方法是目前做的比較好的,說明如何在神經系統中嵌入符號知識的方法。
此外,符號知識還能幫助我們更好地解釋神經網路的輸出結果,以及提供更好的可解釋性。這些都是“神經”+“符號”學習的特點。
現有的“神經”+“符號”網路也存在一些缺陷:
- 我們現在所定義或擁有的知識是不完整的,即我們嵌入到模型中的實際上是很缺失的知識。我們真實的世界往往服從開放世界假設,那麼我們會面臨嵌入的知識是不存在、不正確,還是因為構建過程而導致的缺失問題。
- 嵌入的知識也不一定是百分之百正確的。
- 我們可以嵌入一些簡單的資源,但是這些資源的表達能力是比較弱的,例如其依然受限於三元組形式的表達能力。
04
多模態知識發現
“神經”+“符號”學習也是未來多模態知識發現中的一個探索。
1. 多模態知識圖譜
在今年的NLPCC上我已經對多模態知識圖譜做過相應的介紹,下面我做一些簡單的回顧。
首先多模態知識發現與多模態知識圖譜不是一個新的問題,從2004到2019年,在每一個階段,研究者都有不同的定義。
其中具有代表性的工作包括,Heng Ji等老師率先提出了到底什麼是多模態知識和多模態知識圖譜。他們對多模態知識圖譜的節點和關係給出了自己的定義。
他們總結了在將文字知識與場景知識融合過程中所面臨的一些挑戰。專門提到了不同模態知識的精準對齊是多模態知識發現中的一個核心問題。
在去年的ACL會議上,他們詳細介紹了一個多模態知識發現的系統。
上圖為該系統的主要架構,我們可以發現:多模態知識發現其實是一個龐大的工程,因為每種模態的知識都有不同的抽取方法,不同模態的知識還涉及對齊以及聯合學習等核心問題。
大家可以順著去發現在推薦系統(請見《Multi-modalKnowledge Graphs for Recommender Systems》一文)、旅遊場景(請見《Constructionof Multi-modal Chinese Tourism Knowledge Graph》一文)、軟體工程(請見《Multimodal Knowledge Graph for Deep Learning Papers and Code》一文)以及個人生活場景(請見《Multimodal joint learning for personal knowledge base constructionfrom Twitter-based lifelogs》一文),都可以發現多模態知識發現和多模態知識圖譜過程中不同知識和神經系統相結合的一些探索。
以及在多模態知識的表徵學習方面,都可以看到各有側重的方法(請見《HGMF:Heterogeneous Graph-based Fusion forMultimodal Data with Incompleteness》一文)。
這裡總結一下,我借鑑Dong老師等人的表達,上圖所示為商品知識圖譜。多模態知識圖譜的發展最終會向上圖中所總結的情況一樣,在開始時(2016-2017年),多模態知識圖譜只是傳統知識圖譜中的一個小塊(如圖(A)),大家剛剛開始關注這個問題;到2020年,我們發現傳統知識圖譜和多模態知識圖譜逐漸成為並列關係(如圖(B));未來,我相信多模態知識圖譜必定是包含了傳統知識圖譜(如圖(D))。
2. 我們的多模態知識圖譜
現在我簡單介紹一下我們的相關工作。作為一個研究知識表示出生的團隊,我們主要還是立足於我們已有的知識圖譜,並不斷擴充套件多模態的資訊。然後對於給定的場景,如場景圖分析、人臉識別問題,我們進行一些神經抽取。最後我們將由神經系統抽取的粗粒度類別資訊與我們已有的符號資訊相結合,並應用於一些實體級別的任務上。上圖(右)表示我們對於多模態知識的建模,包括多模態知識圖譜的“樣子”,以及基於場景的多模態發現(類似於場景圖)。
對於上圖中的每個部分,我們都有相應的論文。
這裡也做一個廣告。由於多模態資料/知識圖譜還是一個初級的研究領域,相信今天在座的各位同學和老師都有自己的多模態資源,我們今年在CCKS的論文徵集中將有一個全新的模組,即Resource Track。歡迎大家將自己的資料都投稿至這個模組,同時它也是被正文錄取的。希望大家能夠在整個知識圖譜與語義計算的社群中樂於分享自己的資料。
以上是我們對於場景的理解。
例如,我們在符號層級是如何求解這個問題的。
例如在符號層級,我們如何利用擁有的知識去解決尾部關係型別很少的實體抽取。
最後我們實現的效果是將傳統意義上的粗粒度的場景圖對映為一個例項級別的場景分析上。
以上為該模型的整體框架,以及相應的實驗結果。
3. 其它多模態發現任務
首先是多模態知識的補全,如上圖所示。
還有如何從無標籤影片中抽取我們常見的知識。
那麼多模態是否真的有用呢?
上圖是多模態機器翻譯的對抗性評價。
多模態知識圖譜在2019年ESWC這個會議上發表了一個被廣泛關注的資料集,即MMKG(multi-modal knowledge graphs)。在去年的KSEM上,中科大徐童老師也在這個資料集的基礎上提出了自己的模型。但是,如果你自己分析過這個資料集,就會發現其中包含大量的噪聲,例如阿司匹林這個藥,我們在對齊兩個知識圖譜上的阿司匹林資料時,如果使用單模態的知識圖譜去完成對齊,我們發現已經能夠取得不錯的效果。但是,如果加入照片資訊,會發現模型的效果會降低。我們發現產生上述問題的原因在於,其中一個知識圖譜中的阿司匹林是一個藥盒,另外一個知識圖譜中的阿司匹林是一個分子結構。在這種情況下,實際上多模態資訊起的是一種反作用。到底什麼場景下的多模態聯合資訊是有作用的,什麼場景下的多模態資訊是起反作用的,這也是接下來我們值得關注的問題。
接下來,我總結了多模態資料/知識圖譜中的真實挑戰:
- 是否真正有多模態的資料,如知識圖譜、文字資料、影象和影片等;
- 在符號層級,我們需要去思考多模態知識/符號知識應該如何去表達;
- 在神經網路層級,我們需要去探索多模態預訓練語言模型,是否有不同模態基準的對齊,以及是否有強大的計算資源。
最後談一下不同模態的知識,不同的研究者有不同的見解。大家一定不要把多模態想象成圖片、文字、音訊、影片,以及非結構化的知識。例如在照片層級,我們有cp影象,也有核磁共振影象,超聲影象,其實這些都是多模態的資料;在文字層級,也可以定義出屬於自己的多模態資訊。
上圖給出了這個領域未來的淺層研究方向,大家可以去探討。
今天的分享就到這裡,謝謝大家。
在文末分享、點贊、在看,給個3連擊唄~
分享嘉賓:
分享嘉賓:王萌博士 東南大學 助理教授
編輯整理:盛泳潘 重慶大學 助理研究員
出品平臺:DataFunTalk