论文小综 | Neuro-Symbolic Reasoning in NLP
本文作者:鄧淑敏,浙江大學(xué)在讀博士,研究方向?yàn)榈唾Y源條件下知識(shí)圖譜自動(dòng)化構(gòu)建關(guān)鍵技術(shù)研究。
深度學(xué)習(xí)的高速發(fā)展使得模型的表達(dá)能力逐步完善,在一些感知任務(wù)(例如動(dòng)作識(shí)別和事件檢測(cè))上取得了顯著成果。但是,如果要開(kāi)發(fā)真正的智能系統(tǒng),需要彌合感知與認(rèn)知之間的鴻溝。高度認(rèn)知的任務(wù),例如抽象,推理和解釋,與符號(hào)系統(tǒng)緊密相關(guān),但是通常無(wú)法適應(yīng)復(fù)雜的高維空間。神經(jīng)符號(hào)計(jì)算將深度模型的優(yōu)勢(shì)與符號(hào)方法相結(jié)合,從而顯著了減少符號(hào)方法的搜索空間。基于此,本文主要介紹一些神經(jīng)符號(hào)推理在自然語(yǔ)言處理中的應(yīng)用及方法,主要涉及的任務(wù)是復(fù)雜問(wèn)題問(wèn)答,即給定問(wèn)題(一般是復(fù)雜問(wèn)題),從context中推理答案,context是文本(textQA)或者圖片(VQA)。這里引入VQA,是由于目前神經(jīng)符號(hào)推理在純文本問(wèn)答中的應(yīng)用工作有限,但本質(zhì)上這兩種問(wèn)答任務(wù)中的符號(hào)推理過(guò)程差不多。下面給出復(fù)雜問(wèn)題問(wèn)答的例子。
圖1. 復(fù)雜問(wèn)題問(wèn)答的示例
如圖1所示,這里的問(wèn)題可以拆成幾個(gè)子問(wèn)題,且必須通過(guò)推理才能得到答案。這就非常適合用神經(jīng)符號(hào)推理的方法來(lái)解決。解決這類問(wèn)題需要:理解問(wèn)題?在蘊(yùn)含答案的文本/圖片中做信息抽取?符號(hào)推理。
接下來(lái)我將結(jié)合4篇論文簡(jiǎn)述神經(jīng)符號(hào)推理的方法。
Neural Module Networks for Reasoning over Text
發(fā)表會(huì)議:ICLR 2020
論文鏈接:https://openreview.net/pdf?id=SygWvAVFPr
這篇文章提出用神經(jīng)模塊網(wǎng)絡(luò)(NMN)去解決復(fù)雜問(wèn)題問(wèn)答的任務(wù)。先將問(wèn)題解析成logical form,用強(qiáng)監(jiān)督的方式將問(wèn)題轉(zhuǎn)換成結(jié)構(gòu)化的功能模塊,然后在蘊(yùn)含答案的文本中運(yùn)行這些模塊。這里的模塊可看成用于推理的可學(xué)習(xí)的函數(shù),每個(gè)模塊都是定制的,從離散的定制神經(jīng)模塊集合中可以組成特定于問(wèn)題的神經(jīng)網(wǎng)絡(luò)。
總體來(lái)看,復(fù)雜問(wèn)題問(wèn)答包含的推理可分為兩大類:自然語(yǔ)言推理和符號(hào)推理。自然語(yǔ)言推理可以看成是文本信息抽取的過(guò)程,符號(hào)推理就是基于抽取出的結(jié)構(gòu)化知識(shí)進(jìn)行推理判斷。這兩大類推理中定義的模塊如圖2所示。
圖2. NMN中定義的模塊
下面看一個(gè)用神經(jīng)模塊網(wǎng)絡(luò)解復(fù)雜問(wèn)題問(wèn)答的例子。
第一步:將問(wèn)題解析成logical form。
圖3. NMN將問(wèn)題解析成logical form
第二步:在蘊(yùn)含答案的文本中執(zhí)行模塊。
(1)NMN執(zhí)行第一個(gè)模塊:find(),找出得分(touchdown pass)這個(gè)實(shí)體
(2)NMN執(zhí)行第二個(gè)模塊:find-num(),找出得分的數(shù)值
(3)NMN執(zhí)行第三個(gè)模塊:max-num(),找出最大的得分值
(4)NMN執(zhí)行第四個(gè)模塊:extract-argument(),找出得到最大得分的人(這個(gè)模塊類似于事件抽取中的argument extraction)
由此,NMN模塊運(yùn)行得到最終結(jié)果。
那接下來(lái)的問(wèn)題就在于,如何得到這些模塊的組合序列,以及如何學(xué)習(xí)出這些模塊。組合這些模塊目前主要用一些seq-to-seq的模型,至于學(xué)習(xí)這些模塊,則是用基于attention的方法,模塊的輸出是權(quán)重的分布。
以學(xué)習(xí)find()模塊為例。問(wèn)題的嵌入用Q表示,蘊(yùn)含答案的文本嵌入用P表示,find(Q)->P,輸入問(wèn)句的tokens,輸出蘊(yùn)含答案的文本中和輸入tokens相同或相似的token分布,如圖4所示。
圖4. NMN find(Q)->P示例
Compositional Attention Networks for Machine Reasoning
發(fā)表會(huì)議:ICLR 2018
論文鏈接:https://openreview.net/pdf?id=S1Euwz-Rb
這篇文章提出了MACnet模型去解決VQA任務(wù)。MAC,即Memory,Attention,Composition。MACnet是MAC cell的soft-attention序列。一個(gè)Mac cell由控制單元、讀單元、寫單元構(gòu)成,如圖5所示。
圖5. MAC?cell內(nèi)部結(jié)構(gòu)
控制單元負(fù)責(zé)計(jì)算出一個(gè)控制狀態(tài),通過(guò)在問(wèn)題上實(shí)施注意力機(jī)制抽取出一個(gè)指令。
圖6. MAC cell中的控制單元
給定當(dāng)前的控制狀態(tài)和當(dāng)前的記憶信息,讀單元負(fù)責(zé)從圖片(KB)中檢索信息。
圖7. MAC cell中的讀單元
寫單元負(fù)責(zé)更新記憶狀態(tài),整合新舊信息。
圖8. MAC cell中的寫單元
與NMN模型中的模塊相比,MAC cell更為通用且功能更為齊全,因?yàn)镸AC cell可以重復(fù)使用。所有cell共享架構(gòu)和參數(shù),而且可以和蘊(yùn)含答案的文本/圖片適配,完全端到端的設(shè)計(jì)而且可微,cell之間通過(guò)一個(gè)基于注意力的架構(gòu)相聯(lián)系。
NMN中的模塊是離散的而且是任務(wù)定制的,每個(gè)模塊擁有特有的離散參數(shù)甚至是特有的架構(gòu)。
Learning by Abstraction: The Neural State Machine
發(fā)表會(huì)議:?NeurIPS 2019
論文鏈接:https://papers.nips.cc/paper/8825-learning-by-abstraction-the-neural-state-machine.pdf
這篇文章提出神經(jīng)狀態(tài)機(jī)(Neural State Machine,NSM)去解決VQA任務(wù)。NSM是一種結(jié)合符號(hào)主義和連接主義的模型,旨在抹平符號(hào)主義和連接主義之間的鴻溝,并對(duì)二者進(jìn)行優(yōu)勢(shì)互補(bǔ),從而更好地完成視覺(jué)推理任務(wù)。
NSM將問(wèn)題文本中的詞和蘊(yùn)含答案的圖片全部映射為相同語(yǔ)言的嵌入概念,這些概念可以是對(duì)象,屬性,關(guān)系。針對(duì)蘊(yùn)含答案的圖片,NSM通過(guò)有監(jiān)督(預(yù)訓(xùn)練)的方式,基于圖片中的概念構(gòu)造一個(gè)概率圖。針對(duì)問(wèn)題文本,NSM會(huì)通過(guò)基于注意力機(jī)制的encoder-decoder模型,將文本翻譯成一系列的指令,這些指令也被定義為概念。
然后,NSM對(duì)概率圖進(jìn)行時(shí)序推理,并迭代遍歷其節(jié)點(diǎn),以回答給定問(wèn)題或者推理得出新結(jié)論。這里的推理也是基于注意力機(jī)制的,有點(diǎn)類似MACnet,不同的是,表示方式是scene graph(基于圖片翻譯出的圖,如圖9中間部分)上的概率分布。
圖9. NSM模型運(yùn)行示例
相較于大多數(shù)神經(jīng)架構(gòu)中感知數(shù)據(jù)密切交互,?NSM?模型在一個(gè)抽象的隱空間中運(yùn)行,將視覺(jué)和語(yǔ)言模態(tài)轉(zhuǎn)化為基于概念的表征,所以增強(qiáng)了模型的透明性和模塊性。而且,NSM模型在多任務(wù)場(chǎng)景下具有強(qiáng)大的泛化能力,包括概念的全新組合、答案分布的變化和之前未觀察到的語(yǔ)言結(jié)構(gòu)。
The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Sentences From Natural Supervision
發(fā)表會(huì)議:ICLR 2019
論文鏈接:https://openreview.net/pdf?id=rJgMlhRctm
這篇文章提出神經(jīng)符號(hào)概念學(xué)習(xí)器(NS-CL)去解決VQA任務(wù)。通過(guò)從配對(duì)的圖片、問(wèn)題、答案三元組中聯(lián)合學(xué)習(xí),在“視覺(jué)概念”和“對(duì)應(yīng)的文本語(yǔ)義”之間建立起關(guān)聯(lián)。從而學(xué)習(xí)出(1)對(duì)圖片的視覺(jué)感知,(2)對(duì)視覺(jué)概念(如顏色、形狀、材質(zhì))的表示,(3)對(duì)問(wèn)題的語(yǔ)義分析。
圖10. NS-CL的模型框架
NS-CL的學(xué)習(xí)準(zhǔn)則:1、使用神經(jīng)符號(hào)推理明確顯示概念的視覺(jué)基礎(chǔ)。2、通過(guò)發(fā)展的課程聯(lián)合學(xué)習(xí)概念和語(yǔ)言。模型主要分為三部分:
視覺(jué)感知模塊,負(fù)責(zé)從圖片場(chǎng)景中提取對(duì)象的表示。使用預(yù)訓(xùn)練的?Mask R-CNN?和?ResNet-34?來(lái)為場(chǎng)景中的每一個(gè)Object獲取一個(gè)表示。由于需要獲取到Object在場(chǎng)景中的位置信息,在表示單個(gè)Object的時(shí)候,同樣需要將整個(gè)場(chǎng)景作為Context編碼進(jìn)去。由此,場(chǎng)景中的每一個(gè)對(duì)象都被編碼成了一個(gè)固定維度的向量。
語(yǔ)義分析模塊,負(fù)責(zé)將自然語(yǔ)言問(wèn)題翻譯成一個(gè)程序,程序是由領(lǐng)域特定語(yǔ)言(Domain Specific Language, DSL)中的操作來(lái)定義。進(jìn)行視覺(jué)推理需要獲取每個(gè)對(duì)象的屬性(例如顏色、形狀等),而每個(gè)屬性類別(Attribute,例如:形狀)可以有多個(gè)視覺(jué)概念(Concept,例如:紅色、綠色)的取值。NS-CL將每個(gè)屬性實(shí)現(xiàn)為一個(gè)神經(jīng)網(wǎng)絡(luò)操作(neural operator)。該操作接收Object的表示向量,將其映射到另一個(gè)特定于屬性的向量空間中的向量,并且與視覺(jué)概念的向量進(jìn)行相似度匹配,這些視覺(jué)概念的向量表示也是聯(lián)合訓(xùn)練的。
程序執(zhí)行模塊,負(fù)責(zé)執(zhí)行語(yǔ)義分析模塊給出的程序,得到答案。這里采用了課程學(xué)習(xí)(Curriculum Learning)的訓(xùn)練方法,先讓模型學(xué)習(xí)簡(jiǎn)單的例子,然后慢慢擴(kuò)展到復(fù)雜的場(chǎng)景。而且程序執(zhí)行模塊對(duì)于視覺(jué)感知模塊是完全可導(dǎo)的,兩者均采用了基于概率的表示方法。
NS-CL可以從沒(méi)有注釋的語(yǔ)言中學(xué)習(xí)出視覺(jué)概念,而且這些概念是可學(xué)習(xí)的并且可以遷移到其他視覺(jué)任務(wù)中,此外,NS-CL很高效,且在少量數(shù)據(jù)上就可以達(dá)到不錯(cuò)的效果。
總而言之,這四種神經(jīng)符號(hào)推理的方法各有千秋。在實(shí)際應(yīng)用中,可以根據(jù)不同方法的優(yōu)劣選擇合適的神經(jīng)符號(hào)推理模型。當(dāng)然,神經(jīng)符號(hào)推理的方法也不僅限于這4種,歡迎大家補(bǔ)充,和我們交流。
? ?
浙江大學(xué)知識(shí)引擎實(shí)驗(yàn)室
?
OpenKG
開(kāi)放知識(shí)圖譜(簡(jiǎn)稱 OpenKG)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開(kāi)放與互聯(lián),促進(jìn)知識(shí)圖譜和語(yǔ)義技術(shù)的普及和廣泛應(yīng)用。
點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文小综 | Neuro-Symbolic Reasoning in NLP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序员真的只能干到35岁?——我的35岁
- 下一篇: 阿里P8架构师谈:什么是缓存雪崩?服务器