鏈接|https://zhuanlan.zhihu.com/p/475993261這篇文章主要是Probabilistic Rule Learning Systems: A Survey這一文章的翻譯以及Reasoning with Transformer-based Models:Deep Learning, but Shallow Reasoning一文中的部分內容。以及自己的一些理解。首先會對規則學習簡單的進行介紹,對現有方法進行分類。然後從例子出發具體介紹規則學習的基礎概念以及各類方法。最後第二篇文章中有一些其他reasoning的例子,以及使用transformer做reasoning的工作目前的進展。目 錄Probabilistic Rule Learning Systems: A Survey
Introduction
Example Scenario
Generic Rule Learning Process
Probabilistic rule learning systems
AlepH:A Learning Engine for Proposing Hypotheses
Neural LP
LIME-Aleph:
System Architectures
Symbolic Systems
Sub-symbolic Systems
Hybrid Systems
Discussion
Reasoning with Transformer-based Models: Deep Learning, but Shallow ReasoningTypes of Reasoning with Transformer-based ModelsDiscussion and Conclusion
Introduction符號學習與神經網絡一直以來都有着密切的聯繫。近年來,符號學習方法因其可理解性和可解釋性引起了人們的廣泛關注。這些方法也被稱為歸納邏輯規劃(Inductive Logic Programming ILP),可以用來從觀察到的例子和背景知識中學習規則。學習到的規則可以用來預測未知的例子。觀察到的例子代表了手頭問題的相關事實,並為學習過程提供了證據。然而,在ILP中,所有這些信息都是確定的; 這意味着我們不能表示不確定信息。概率邏輯規劃(Probabilistic Logic Programming (PLP))被提出來表示邏輯規划過程中的不確定性信息。二者結合又產生了概率歸納邏輯規劃這一研究領域(Probabilistic Inductive Logic Programming (PILP)),也被稱為統計關係學習(Statistical Relational Learning)。它可以以概率信息(例子和背景知識)為輸入,以概率為輸出歸納出規則。在PILP中可以執行兩種類型的學習任務:參數學習和結構學習。參數學習是學習已有規則的概率,而結構學習是學習規則的整個結構及其概率。這個綜述關注結構學習,因為它包含了參數學習。Example Scenario這一節使用一個天氣領域的簡單場景來說明不同規則學習系統的特性。這個場景中,基於天氣狀況,我們會對某天是否完比賽進行預測(二元分類); 預測結果將是那天的比賽或不比賽(Y/N)。天氣預報是根據以下天氣資料(屬性)作出的:Outlook:此屬性提供有關當天的outlook的信息。此屬性的值可以是晴天、陰天或雨天。windy:這個屬性表示某一天是否有風。該屬性的值可以為true或false。Temp:此屬性表示一天的溫度。該屬性的值為整數。Humidity:該屬性表示一天的濕度。此屬性的值為正整數。下面是一個特定日期的數據示例:天數:d1,Outlook:晴天,Temp:75,Humidity:70,windy:True,預測: Y。這個例子告訴我們,在第1天,對於給定的屬性值,預測是可行的。我們使用一個謂詞來表示實例,使用四個謂詞來指定屬性及其值,如下表所示。所有這些謂詞都有兩個參數:第一個參數指定日期,第二個參數指定屬性值或預測值。如果我們考慮前面的例子實例,那麼我們得到以下謂詞:outlook(d1, sunny), temp(d1, 75),濕度(d1, 70), windy(d1, true),和class(d1, play)。那麼接下來,我們要將這些謂詞轉化為規則。
這些規則也將是後續算法的核心,通常情況下,規則具有如下形式其中 logical literal組成了規則的頭部,一組logical literals組成了規則的body。這裡引入一個新的概念,原子(atom),一個謂詞加上他的參數合起來被稱為原子,比如 class(d1,play),每個參數被稱為一個term,比如 d1, play。如果規則體為空(n=0),則該規則被視為一個事實。下面的規則代表了前面的示例:
在這個規則中,所有字面值的所有參數都是常量。然而,通常在學習規則時,我們會儘量學習比較general的規則。如果我們想表達一個更普遍的規則,我們可以應用到一天的任何實例,那麼我們可以使用變量而不是常量。PLP用概率來表示信息的不確定性。不同的PLP系統以不同的方式表示事實或規則相關的概率。Generic Rule Learning Process規則學習系統使用不同的方法來構建規則。然而,當我們仔細觀察這些系統並比較它們的算法時,我們可以觀察到學習規則的一個共同過程。
作為一個起點,所有的系統都需要背景知識和一組實例。背景知識表示確定性信息。一個例子是表示與實例相關的數據的觀察結果。這個例子可以是正面的,也可以是負面的。如果對一個實例的預測在一個場景中成立,那麼這個信息被表示為一個正例子;否則,如果預測不成立,則將其表示為一個反面例子。可以看出來反例是可以認為構造的,比如上述的rule我們將其結果改為N,就是一個反例。接下來,系統利用這些輸入信息來構造規則。規則構建的方式是,它們支持儘可能多的正面例子,而不支持與背景知識相關的負面例子。一旦構建了一個規則,則根據該規則支持的正例和負例的數量計算該規則的概率。
Probabilistic rule learning systemssymbolic PILP systems:傳統方法,從輸入數據中歸納出規則,對noisy data非常敏感,但是訓練需要的數據量少,可解釋性強。sub-symbolic systems:使用神經網絡從輸入數據中學習規則,需要大量數據進行訓練,對noisy data不敏感,可解釋性很差。hybrid systems:二者的結合,擁有一定的解釋性,又有神經網絡的良好性質。這一節介紹了三個具有代表性的概率規則學習方法,其中Aleph是symbolic PILP system,Neural LP是sub-symbolic system,LIME-Aleph是一個混合模型。由於傳統方法都比較老了,這裡對他們做簡要介紹,主要介紹後兩種方法。AlepH:A Learning Engine for Proposing HypothesesAlepH是一個用Prolog編寫的ILP系統,能夠從正反例中學習規則。在規則學習過程中,Aleph從給定的正例列表中選擇一個正例,使用程序設置中定義的信息,構造出包含所選例子的最specific的規則。之後,Aleph嘗試從具體的規則中使用輸入子集來找到更普遍的規則。在搜索這個更普遍的規則時,Aleph試圖找到一組候選規則。對於每個候選規則,他有一個分數,這個分數是根據支持該規則的正面和負面例子的數量計算的。接下來,選擇得分最高的候選規則作為一般規則。用於生成一般規則的正例將從正例列表中刪除,並重複此過程,直到列表為空。Neural LPNeural LP是一個基於梯度編程框架的可微分系統,它支持結構學習以學習概率規則。它被設計用來學習特定的基於知識的推理任務的規則。在這個背景下,知識庫是一組關係的集合,其形式為:relation(entity1, entity2),表示二進制關係。在這裡,實體是一個對象的實例。學習任務涉及相同格式的查詢,其中第一個參數是變量,第二個參數是常數。Neural LP試圖找到滿足該查詢的實體。對於我們的天氣示例,我們使用表單 class(A, d1)的查詢來查找第一天的預測值(以變量A表示)。為此,Neural LP首先學習查詢的概率規則,然後搜索那些符合查詢中的第一個參數的實體,而第二個參數中的實體是固定的。然後我們根據概率規則生成每個實體的分數的並對他們排序,其中分數越高表示實體與回答查詢的相關性越大。我們可以將Neural LP中的知識庫視為我們在通用規則學習過程中所描述的背景知識。從邏輯的角度來看,關係可以被視為謂詞(relations as predicate)。Neural LP需要三個部分來定義背景知識(知識庫)所有已知的事實。每個事實記作一個三元組(entity1 predicate entity)。又回到天氣的例子,屬性值(例如,sunny和rain)和預測值(play和not_play)即entity。表1中的謂詞名稱即relation。LIME-Aleph:LIME-Aleph系統與到目前為止討論的系統不同,它不直接學習規則。該系統用於解釋一個實例的預測,因此它學習規則並使用它們來解釋。這就是為什麼我們把LIME-Aleph系統看作是一個規則學習系統。這個系統的實現目前還不公開。LIME-Aleph假設我們有表格格式的示例數據,可以將這些數據提供給分類器(實際上是任何形式的分類器)。表中的每一列代表一個屬性,每一行代表特定實例的數據。在訓練了分類器之後,可以使用它對實例進行預測。接下來,分類模型、示例實例和許多k個屬性被發送到LIME(Local Interpretable Model-Agnostic Explanations),這個模型可以通過選擇一些被認為對進行預測很重要的屬性來解釋一個示例實例的預測。LIME返回那些被認為是進行預測時最重要的屬性。對於返回的屬性,LIME-Aleph提取所有可能的值,並使用這些值從包含屬性之間的固定關系列表中查找關係。重要的屬性及其值,以及關係及其值都表示為謂詞。那些從表中的記錄派生出來的謂詞形成了一個實例。在此步驟中找到的示例實例將在一個正向示例列表中收集。對於重要屬性之間的每個關係,通過改變屬性值和翻轉關係值,從實例生成受擾動的實例。一個受擾動的實例被發送到模型,模型返回一個評估值。若評價值高於某一預測值閾值,則將擾動示例加入正示例列表;否則,受擾動的示例將被添加到反示例列表中。在背景知識中加入擾動實例生成時產生的新關係。最後,將正例和負例列表發送給Aleph進行規則學習。然後使用學習到的規則來解釋示例實例。System Architectures從架構的角度來看,我們可以區分三種類型的規則學習系統:符號系統、子符號系統和混合系統。下面,我們將概述這些不同類型系統的體系結構。Symbolic Systems大多數符號概率規則學習系統在問題空間中使用離散搜索來尋找期望規則。這些系統從一個規則或一組規則開始,這些規則支持與背景知識相關的示例。然後,他們使用不同的搜索技術(例如,在SLIPCOVER中的beam search)構建一個候選規則集。這些規則是在語言偏好的幫助下構建的,該語言偏好指定了要學習的規則模板。對於每個候選規則,計算一個評估值來評估該規則。例如,SLIPCOVER使用對數似然進行評估。對數似然是通過使用一種名為EMBLEM的期望最大化算法,從正例子和負例子中計算出來的。從候選規則集合中,只選擇那些滿足特定閾值的規則。這些被選擇的規則形成了最終的一套規則,從而構建了一個理論。然後,對這最後一組規則進行參數學習,以了解它們的概率。現有的符號系統使用不同的參數學習算法。SLIPCOVER使用與EMBLEM相同的算法進行參數學習。Sub-symbolic Systems與符號系統一樣,子符號概率規則學習系統以相同的信息作為輸入,但以不同的方式執行結構學習的任務。子符號系統不依賴於符號系統用於推理的基礎技術。相反,它們使用向量或矩陣(embedding)表示來指定謂詞的信息。例如,Neural LP使用一個矩陣來表示二進制謂詞,其中每一行和列索引都與一個實體相關聯。如果與單元格的行和列對應的實體的謂詞為真,則矩陣中的單元格的值為1。在向量矩陣空間中表示信息後,這些系統通常試圖為每個目標謂詞找到候選規則列表。候選規則的主體是通過組合不同的謂詞來構造的。對於每個候選規則,這些系統使用不同的矩陣運算來執行邏輯推理。這些矩陣運算的結果矩陣形成目標謂詞的表示。規則的概率是使用與目標謂詞相對應的矩陣所支持的示例數來計算的。例如,如果我們有一個候選人規則包含原子h在頭部和文字b1和b2組成的body,那麼neural LP求b1和b2與h矩陣的矩陣乘法。如果矩陣乘法的結果支持該實例,那麼選擇該規則並將其添加到最終的規則列表中。Hybrid Systems沒有標準的方法來結合符號和子符號表示法。因此,我們觀察到研究人員一直在使用不同的技術來集成這些表示,而且這些系統大多數是領域特定的。只要系統共同使用符號和子符號兩種表示,我們就認為一個系統是一個混合的系統。在下文中,我們將討論三種混合系統:LIME-Aleph、DeepProbLog和NLProlog,它們基於不同的體系結構,用於表示組件中的信息和組件之間的通信。這些系統分別在符號分量和子符號分量中使用Horn clauses和向量表示LIME-Aleph結合了符號表示和子符號表示作為兩個主要組件,並通過控制器進行通信。子符號組件執行預測任務。為了解釋這一預測,符號組件的任務就是從正面和負面的例子中學習規則。控制器通過修改通過算法選擇的有影響的屬性,從原始示例實例生成這些示例。為了決定哪個修改的例子是正的還是負的,控制器依賴於子符號組件。DeepProbLog學習單個任務,並集成符號和子符號表示。它引入了神經謂詞,應用子符號方法對預測任務的概率進行預測。在DeepProbLog中,一個學習任務由幾個子任務組成。其中一些子任務可能需要進行預測,並在神經謂詞的幫助下進行表示。系統的符號組成部分代表學習任務的程序,因此它可以使用所需的背景知識。當系統評估程序時,一般謂詞的概率是由給定的數據計算出來的,而神經謂詞的概率來自於系統的子符號組件,並被合併到符號組件中。NLProlog是一個混合系統,專門為需要多跳推理的自然語言處理任務而設計。該系統將自然語言語句轉換為由兩個實體(例如,Socrates和Athens)和一個文本模式(例如,ENT1 was born in ENT2)組成的三元組,該文本模式將這些實體連接到一個語句中。這樣的三元組在系統中被視為一個事實。系統的編碼器組件將事實、查詢和許多規則模板作為輸入,並使用子符號方法來查找實體或文本表面模式之間的相似性得分。系統的目標是學習回答查詢的規則。系統為此使用了一個驗證器組件,該組件將編碼器計算的相似性分數作為輸入,包括事實、查詢和規則模板。證明者利用具有弱統一的逆向鏈的符號推理找出查詢的證明,並根據相似度分數計算統一分數。證明者找到的每個證明都將從統一分數的集合中分配一個證明分數。分數最高的證明被選擇作為構造已學習規則的查詢的答案。Discussion這一節提出了一些目前還稍微解決的問題和有前景的方向sub-symbolic systems在處理大型和嘈雜的數據集方面效率很高,但是目前只能需要chain-rule,如何學習複雜的規則是一個問題。為結構學習構建混合系統。儘管混合系統結合了符號和子符號表示法,但它們並不是協作學習單一的表示法。到目前為止,DeepProbLog是唯一一個真正為單個任務集成符號和子符號表示的系統。在DeepProbLog中,學習問題的子任務是通過子符號表示來完成的,然後使用子任務的結果在符號層面上完成任務。Data efficient learning。一般來說,符號系統從少量的數據中學習規則,而子符號系統則需要大量的數據。然而,與符號系統相比,子符號系統可以有效地處理大的和有噪聲的數據。在符號系統中可以引入有效的數據處理技術,在子符號系統中可以使用從少量數據中學習的技術Reasoning with Transformer-based Models: Deep Learning, but Shallow Reasoning一文中對使用transformer進行reasoning進行了綜述,這部分內容比較新,也很有意思。
Reasoning with Transformer-based Models: Deep Learning, but Shallow ReasoningTypes of Reasoning with Transformer-based ModelsHorn Rule Reasoning:從下面這個例子中可以比較容易地看出這個任務需要做什麼,給定一堆fact和一個question,從中推測結果。在本任務中,最佳模型T5-11B在校對和回答問題方面的準確率達到95%以上。因此,基於transformer的模型可以近乎完美地解決這個問題
Commonsense Reasoning:常識推理是任何需要人類通常擁有的背景知識的推理任務。例如,指令「an you do a Napoleon for the camera?」需要常識推理才能意識到拿破崙這個詞表示的是一種特定的姿勢。一些研究表明,BERT在訓練前學習了一定數量的常識知識。考慮下面這個例子,模型(預先訓練的BERT-large)能夠回憶這些常識知識。
但是部分研究發現預訓練的模型並不是真正的在做reasoning,因為對輸入做微小的改變,模型的輸出可能就發生了巨大的變化。比如在判斷句子是否連貫的任務中
Implicit Reasoning:隱式推理任務,上述的任務不同,其中規則和事實沒有明確給出。這些任務中的許多都可以通過基於transformer的模型來解決。下面是一個來自SNLI[2]數據集的例子
在本任務中,使用few-shot learnng的方法訓練的RoBERTa-large模型[3]達到了93.1的精度。然而,這些數據集包含了模型可以利用的表面線索。為了充分評估模型的reasoning 能力,研究人員設計了幾個更具挑戰性的邏輯推理任務,這些任務大多以機器閱讀理解的形式出現。例如,LogiQA [4]是從中國國家公務員考試中翻譯出來的多選題數據集
最好的語言模型是經過訓練的RoBERTa模型,在訓練集上進行了調整,其準確性為35.31%(而人類的最佳表現為96%)。這表明,基於transformer的模型目前無法構建較長的文本的表示,並從中得出邏輯結論。這個弱點可以通過在RoBERTa之上添加符號表示[5](比如基於圖形的模塊)或者邏輯信息[6]來在一定程度上得到彌補。也有工作人員開發神經符號方法,通過基於梯度的優化來推理策略[7],或將概率邏輯編程與神經網絡相結合[8]。將邏輯信息整合到RoBERTa中,使ReClor在簡單問題上的表現提高到81.4%。然而,這些數據集更困難的問題會導致50%-60%的性能。Discussion and Conclusion在所有這些推理任務中,基於transformer的模型很少能達到人類的表現。這並不奇怪,因為它們是主要從訓練數據中獲取信息的通用工具,缺乏通常認為這類任務必不可少的任何符號機制。在不同的推理任務中,我們發現當基於transformer的模型被明確地給出進行演繹推理所需的所有信息時,例如事實和規則,模型可以很容易地學習邏輯推理。然而,當這些信息只是在文本中或在監督任務中隱含時,模型就會遇到困難。基於transformer的模型具有一定程度的預訓練學習的常識性知識。然而,它們很容易被對抗性的常識性實例打斷。它們在對事件的邏輯推理和物理常識方面也有局限性。因此,我們看到基於transformer的模型的推理能力來自兩個組成部分:訓練數據中的簡單模式,結合訓練前的背景知識。這種組合使得模型能夠很好地執行任務,比如Horn Rule Reasoning(模型從訓練數據中學習到一種模式),簡單的常識推理(從pretrain中學習到答案),以及簡單的數學計算(模型在訓練中學習到一種模式)。目前的transformer模型並不能取得很好的結果,但是結果表明,符號知識(如數據歸一化、准邏輯推理和基於圖的模塊)的添加和補充技術(如數據擴充、多任務學習和知識庫融合)的使用可以提高性能。因此,這些工具可能是解決更困難的推理問題的關鍵。最後,歡迎大家關注github,聚合了OOD,causality,robustness,optimization以及一些前沿研究方向的一些閱讀筆記https://github.com/yfzhang114/Generalization-Causality參考1.Daniel Khashabi, Sewon Min, Tushar Khot, Ashish Sabharwal, Oyvind Tafjord, Peter Clark,and Hannaneh Hajishirzi. Unifiedqa: Crossing format boundaries with a single qa system.InConference on Empirical Methods in Natural Language Processing, 2020.2.Samuel R Bowman, Gabor Angeli, Christopher Potts, and Christopher D Manning. A largeannotated corpus for learning natural language inference. InConference on EmpiricalMethods in Natural Language Processing, 2015.3.Sinong Wang, Han Fang, Madian Khabsa, Hanzi Mao, and Hao Ma. Entailment as few-shotlearner4.Jian Liu, Leyang Cui, Hanmeng Liu, Dandan Huang, Yile Wang, and Yue Zhang. Logiqa:A challenge dataset for machine reading comprehension with logical reasoning.arXivpreprint arXiv:2007.08124, 2020b.5.Yinya Huang, Meng Fang, Yu Cao, Liwei Wang, and Xiaodan Liang. Dagn: Discourse-aware graph network for logical reasoning. InConference of the North American Chapterof the Association for Computational Linguistics, 2026.Logic-driven context extension and data augmentation for logicalreasoning of text.7.Learning reasoning strategies in end-to-end differentiable proving8.Deepproblog: Neural probabilistic logic programming
想要了解更多資訊,請掃描下方二維碼,關注機器學習研究會

轉自:深度學習這件小事