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