從Bengio演講發(fā)散開來:探討邏輯推理與機器學(xué)習(xí)

情感導(dǎo)師 6200

 添加導(dǎo)師微信MurieL0304

獲取更多愛情挽回攻略 婚姻修復(fù)技巧 戀愛脫單干貨

機器之心分析師網(wǎng)絡(luò)

作者:仵冀穎

編輯:Joni

Bengio 認(rèn)為,未來的深度神經(jīng)網(wǎng)絡(luò)應(yīng)當(dāng)能夠?qū)崿F(xiàn) System2(邏輯分析系統(tǒng)),實現(xiàn)的是有意識的、有邏輯的、有規(guī)劃的、可推理以及可以語言表達的系統(tǒng)。本文所討論的 Logical Reasoning(邏輯推理)擬實現(xiàn)的就是 System2 中重點關(guān)注的有邏輯的(Logical)和可推理的(Reasoning)特點。

從Bengio演講發(fā)散開來:探討邏輯推理與機器學(xué)習(xí)

近年來,深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用獲得了巨大的成功,也推動了人工智能的飛速發(fā)展。然而,深度神經(jīng)網(wǎng)絡(luò)仍存在一些局限性。一般來說,深度神經(jīng)網(wǎng)絡(luò)如何進行學(xué)習(xí)、使用何種算法實現(xiàn)的智能、基于哪些理論分析得出的相關(guān)結(jié)論并不會在網(wǎng)絡(luò)架構(gòu)中有任何的顯式或符號表示。也就是說,深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的算法隱式地存儲在成千上萬甚至是數(shù)百萬的權(quán)重中,這些通常是人類智能體無法破譯或驗證的。

Bengio 在 AAAI 2020 的演講報告中提出,人的認(rèn)知系統(tǒng)包含兩個子系統(tǒng):System1(直覺系統(tǒng)),實現(xiàn)的是快速、無意識、非語言的認(rèn)知,這也是現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)所實現(xiàn)的。他認(rèn)為,未來的深度神經(jīng)網(wǎng)絡(luò)應(yīng)當(dāng)能夠?qū)崿F(xiàn) System2(邏輯分析系統(tǒng)),實現(xiàn)的是有意識的、有邏輯的、有規(guī)劃的、可推理以及可以語言表達的系統(tǒng)。我們這篇文章中所討論的 Logical Reasoning(邏輯推理)擬實現(xiàn)的就是 System2 中重點關(guān)注的有邏輯的(Logical)和可推理的(Reasoning)特點。

本圖選自 Bengio 在 AAAI 2020 的演講報告

邏輯推理是一個非常寬泛的概念。實際上,我們所熟悉的字符識別、語音識別、圖像識別也可以看做是一種邏輯推理,這不過,這些邏輯推理是低層次的,已經(jīng)能夠使用傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)所解決。我們在這篇文章中所討論的邏輯推理是更高層次的推理過程,即,即使是人來完成這個邏輯推理任務(wù)也是要進行一下思考的。

1. 什么是邏輯?

1.1 邏輯的概念

首先,我們來回顧一下什么是邏輯以及什么是 AI/ML 中的邏輯。所謂邏輯,指的是符號化的、基于知識的、推理和其他類似的人工智能方法?;谶壿嫷?AI 系統(tǒng)可以被認(rèn)為是高級編程系統(tǒng),可以很容易地以緊湊(compact)和可用的(usable)方式編碼人類知識。

最簡單的邏輯系統(tǒng)是命題邏輯(有時稱為零階邏輯)。在命題邏輯中,使用一些被稱為句子或公式的對象來編碼信息。這些對象代表著對世界的一些陳述。通常,可以使用一些基本語句作為這樣的對象。例如,使用「P,Q,R,S…」來表示基本語句,P 可能代表「正在下雨」,是一個原子(Atom)。

可以繼續(xù)將原子與邏輯連接詞如「and,or,if then」等組合形成更多的句子,稱為復(fù)合公式(Compound Formula)。

復(fù)合公式提供了一種有效的信息表示方法。那么,我們?nèi)绾卫眠@些復(fù)合公式從已有的信息推斷得到新的信息呢?一般可以通過推理(Reasoning)或推論(Inference)來做到這一點。命題邏輯配有一套稱為推理方法的方案。推理方法可以被認(rèn)為是一個小程序,它以一組句子作為輸入,并輸出一個或多個句子。推論方法也可以被認(rèn)為是一個小程序,它也以一組句子作為輸入,并輸出一個或多個句子。下圖展示了一種非常直接的推論方法,它接受表示「Q 和 R」的公式,并將公式 R 作為輸出。例如,如果輸入為「It is sunny, and It is warm」,則輸出將為「It is sunny」。

所有的邏輯都配備了一套與上述過程類似的推論方法。邏輯的這些原始內(nèi)置方法的作用類似于編程語言中的標(biāo)準(zhǔn)庫。有了這些方法,就可以將它們組合起來以得到更復(fù)雜的方法。

從教學(xué)的角度來看,從命題邏輯出發(fā)進行介紹是一個很好的起點。但是,對于實際中具有大量對象的領(lǐng)域建模來說,使用命題邏輯是很難處理的。例如,假設(shè)我們要寫下數(shù)獨游戲應(yīng)該滿足的約束條件。對于每個數(shù) k,每行 i 和列 j 都對應(yīng)一個原子 A_ijk,它代表「行 i 和列 k 包含數(shù)字 k」。這樣,我們就可以在命題邏輯中快速寫出數(shù)獨的約束條件。例如,下圖中的句子說明數(shù)字 5 應(yīng)該出現(xiàn)在第一行中。

同樣,我們也可以寫下其他數(shù)字的其他約束條件。在我們的約束條件下,總共有 9^3=729 個原子。每一個原子可以是真或假,即表征總共 2 種可能的狀態(tài)(遠大于宇宙中物理原子的數(shù)量)。

一階邏輯通過引入原子來改進命題邏輯,這些原子可以接受域中對象的參數(shù)。在一階邏輯中將有一個原子來接受這些變量作為參數(shù),而不是用一個原子 A_ijk 來表示 i、j 和 k 的每個組合。例如,A(1,3,5)表示第 1 行和第 3 列中有一個 5。下圖表示第 1 行中有一列的數(shù)字是 5。

一階邏輯是許多現(xiàn)代邏輯系統(tǒng)在研究和工業(yè)中應(yīng)用的基礎(chǔ)。許多其他邏輯系統(tǒng)建立并擴展了一階邏輯(例如,二階邏輯、三階邏輯、高階邏輯和模態(tài)邏輯)。每一種邏輯都增加了一個新的維度或特性,以便更容易對世界的某些方面進行建模。例如,被稱為時態(tài)邏輯的邏輯被用來對時間和變化進行建模。

1.2 AI/ML 中的邏輯

1.2.1 科學(xué)中的自動發(fā)現(xiàn)

邏輯學(xué)最成功的應(yīng)用之一是在科學(xué)領(lǐng)域中表示結(jié)構(gòu)化的科學(xué)知識。2007 年,威爾士和英格蘭的一個小組創(chuàng)建了一個名為 Adam(自動發(fā)現(xiàn)和分析機器)的系統(tǒng) [1]。Adam 可以自動形成科學(xué)假設(shè),進行實驗來檢驗假設(shè)并記錄實驗結(jié)果。這是第一個自動系統(tǒng),用來發(fā)現(xiàn)各類的科學(xué)信息。Adam 成功地應(yīng)用于確定酵母中的一些基因。在這個系統(tǒng)中,假設(shè)、實驗結(jié)果和結(jié)論都以邏輯的形式表達出來。

1.2.2 歸納程序設(shè)計

歸納程序設(shè)計的目標(biāo)是學(xué)習(xí)給定一組輸入和輸出示例的計算機程序。歸納程序設(shè)計處理的是可以從這些例子中學(xué)習(xí)的生成系統(tǒng)。這種系統(tǒng)通常是用邏輯來表述的。最先進的歸納程序設(shè)計系統(tǒng)可以從幾個例子中學(xué)習(xí)復(fù)雜的遞歸程序。目前,歸納程序設(shè)計方法已經(jīng)被用來學(xué)習(xí)數(shù)據(jù)清理和轉(zhuǎn)換程序任務(wù)[2]。

1.2.3 數(shù)學(xué)推理自動化

上面的數(shù)獨例子說明了一階邏輯比命題邏輯更具表現(xiàn)力。不過,我們能用它來模擬的東西有限制嗎?實際上,單是一階邏輯就相當(dāng)強大,它強大到可以模擬幾乎所有的古典數(shù)學(xué)。在標(biāo)準(zhǔn)數(shù)學(xué)的概念下工作,使用一階邏輯可以陳述你想要證明的任何目標(biāo)(一個猜想),并能讓機器自動檢查你的工作(數(shù)學(xué)證明)。這種方法就是直接使用數(shù)學(xué)的推理自動化。

1.2.4 計算機系統(tǒng)(包括機器學(xué)習(xí)系統(tǒng))的驗證

在數(shù)學(xué)之外,以一階邏輯和類似系統(tǒng)為基礎(chǔ)的邏輯被用于驗證計算機系統(tǒng)。這種選擇被稱為正式驗證(Formal Verification)。在正式的驗證中,有一個計算機系統(tǒng) S 和一個屬性 P,用戶必須用一種相對嚴(yán)格的方式來驗證這個屬性是有效的。例如,用于驗證硬件和軟件系統(tǒng)的工業(yè)強度系統(tǒng) ACL2 (http://www.cs.utexas.edu/users/moore/acl2/)。

1.2.5 類似邏輯系統(tǒng)與機器學(xué)習(xí)模型

隨著越來越多的應(yīng)用程序和領(lǐng)域使用機器學(xué)習(xí)模型,仍有一些場景需要使用類似邏輯系統(tǒng)和機器學(xué)習(xí)模型。例如,許多欺詐檢測系統(tǒng)使用一個或多個機器學(xué)習(xí)模型以及大量手工編制的規(guī)則,而這些規(guī)則是非常必要的。在欺詐檢測領(lǐng)域,這些規(guī)則可能會捕獲新的和不斷發(fā)展的欺詐模式,而針對這些模式可能并沒有足夠的數(shù)據(jù)來訓(xùn)練得到新的模型[3]。

最近的一些研究著眼于將邏輯與深度學(xué)習(xí)系統(tǒng)進行結(jié)合,這也正是我們這篇文章所考慮的問題。我們將在下面的內(nèi)容中選擇三篇關(guān)注于邏輯推理與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合的文章進行深入分析[5][6][7]。

2. 邏輯推理與深度學(xué)習(xí)(Logic Reasoning & DL)

2.1 Bridging Machine Learning and Logical Reasoning by Abductive Learning [5]

本文是南大周志華教授組發(fā)表在 NeurIPS 2019 中的一篇研究成果。感知(Perception)和推理(Reasoning)是兩種具有代表性的智能能力,它們在人類解決問題的過程中是無縫集成的。然而在人工智能領(lǐng)域,這兩種能力通常是分別通過機器學(xué)習(xí)和邏輯編程來實現(xiàn)的,因此,這兩類技術(shù)在人工智能的歷史上是分開發(fā)展的。本文提出的誘因性學(xué)習(xí)(Abductive Learning)旨在將兩類人工智能方法有機地統(tǒng)一起來,即機器學(xué)習(xí)模型學(xué)習(xí)從數(shù)據(jù)中感知原始邏輯事實,而邏輯推理方法則是引入符號領(lǐng)域知識并糾正錯誤感知的事實,以改進機器學(xué)習(xí)模型。此外,作者提出了一種新的方法來聯(lián)合優(yōu)化機器學(xué)習(xí)模型和邏輯推理模型。作者證明,通過使用誘因性學(xué)習(xí),機器可以從簡單的手寫方程圖像中同時學(xué)習(xí)識別數(shù)字和解決未知的數(shù)學(xué)運算。此外,所學(xué)習(xí)到的模型可以推廣到更長的方程組并適應(yīng)不同的任務(wù),這已經(jīng)超出了現(xiàn)有的先進深度學(xué)習(xí)模型的能力。

2.1.1 誘因性學(xué)習(xí)

為了更自然地利用學(xué)習(xí)和推理,了解感知和推理在單個系統(tǒng)中如何相互影響是至關(guān)重要的,本文所引入的誘因性學(xué)習(xí)則是一種有效的聯(lián)合應(yīng)用和分析的方法。誘因性學(xué)習(xí)是指根據(jù)背景知識有選擇地推斷出對觀察結(jié)果作出最佳解釋的特定事實和假設(shè)的過程,其中「觀察」主要是感官信息,「知識」通常是象征性和結(jié)構(gòu)性的。

人類使用誘因問題解決方法來解決問題的一個直觀例子是瑪雅象形文字的破譯,它反映了人類兩個顯著的智能能力:1)從象形文字中直觀地感知單個數(shù)字;2)基于數(shù)學(xué)和日歷的背景知識,象征性地進行推理。圖 1 顯示了從帕倫克十字廟發(fā)現(xiàn)的瑪雅歷法,它從神話中的創(chuàng)世日期開始,接著是以長計數(shù)書寫的時間段,最后是由 Tzolk'in 和 Haab'日歷編碼的特定日期。

圖 1. 瑪雅歷法,其中彩色盒子和「?」對應(yīng)于未知數(shù)字

圖 2 描繪了查爾斯 P. 鮑迪奇(Charles P. Bowditch)破解圖 1 的記錄。他首先確認(rèn)了一些已知的數(shù)字,并確認(rèn)第一和第六個象形文字是相同的。然后,Bowditch 嘗試用視覺上相似的數(shù)字代替那些未知的象形文字,如圖 2 中的「第 1 列」所示。同時,他根據(jù)自己的推測和瑪雅歷法中的背景知識計算出 Tzolk'in 和 Haab'的值,如圖 2 的「第 2 列」所示。最后,通過觀察其猜想與計算的一致性,得到了正確答案「1.18.5.4.0,1 Ahau 13 Mak」。這整個過程應(yīng)用的就是誘因問題解決方法。

圖 2. 鮑迪奇對圖 1 的解讀(他把「Mak」寫為「Mac」)。垂直框中的數(shù)字是他對圖 1 中未知象形文字的猜測(第 1 列)。虛線黃色框根據(jù)其計算結(jié)果(第 2 欄)標(biāo)記一致結(jié)果。

受誘因問題解決方法的啟發(fā),本文提出了誘因性學(xué)習(xí)(Abductive Learning,ABL),一種連接機器學(xué)習(xí)和邏輯推理的新方法。在 ABL 中,機器學(xué)習(xí)模型負(fù)責(zé)將子符號數(shù)據(jù)解釋為原始邏輯事實,邏輯模型可以根據(jù)一些一階邏輯背景知識對解釋后的事實進行推理,以得到最終的輸出。這一過程中最主要的困難在于子符號模型和符號模型很難一起訓(xùn)練。更具體地說:1)它不具備訓(xùn)練機器學(xué)習(xí)模型的原始邏輯事實(如圖 1 中的正確數(shù)字)的任何基本真理;2)沒有準(zhǔn)確的原始邏輯事實,推理模型很難推斷出正確的輸出或?qū)W習(xí)正確的邏輯理論。

本文提出的誘因?qū)W習(xí)(ABL)試圖通過邏輯誘因和一致性優(yōu)化來解決這些挑戰(zhàn)。給定一個與最終輸出相關(guān)聯(lián)的訓(xùn)練樣本,邏輯推理可以對缺失的信息(例如,示例中的候選原始事實,或能夠完成背景知識的邏輯子句)進行推測,以建立從樣本到最終輸出的一致性證明。然后,分別用導(dǎo)出的原始事實和邏輯子句訓(xùn)練機器學(xué)習(xí)模型,并將其作為符號知識存儲。一致性優(yōu)化被用來最大化推測與背景知識之間的一致性。為了解決這個高度復(fù)雜的問題,作者將其轉(zhuǎn)換為一個任務(wù),即搜索函數(shù),猜測可能錯誤的原始事實。

由于收集瑪雅象形文字?jǐn)?shù)據(jù)是非常困難的,作者設(shè)計了一個類似的任務(wù)——「手寫方程解謎」用于實驗。該任務(wù)具體為學(xué)習(xí)圖像識別(感知)和數(shù)學(xué)運算計算方程(推理)。實驗結(jié)果表明,ABL 比最先進的深度學(xué)習(xí)模型具有更好的泛化能力,并且能夠以一種互利的方式利用機器學(xué)習(xí)和推理。作者在一個可視化 n 皇后任務(wù)上的實驗進一步證明,ABL 框架是非常靈活的,可以利用約束邏輯編程等經(jīng)典符號 AI 系統(tǒng)來提高機器學(xué)習(xí)的性能。

2.1.2 方法簡介

誘因性學(xué)習(xí)的任務(wù)可以形式化的表示如下。誘因性學(xué)習(xí)的輸入由一組標(biāo)記的關(guān)于目標(biāo)概念 C 和領(lǐng)域知識庫 B 的訓(xùn)練數(shù)據(jù)組成 D = {, . . . ,} 。目標(biāo)概念 C 是在一組原始概念符號 P=之間的未知關(guān)系下定義的。其中每個 pk 都是 B 中定義的符號。ABL 的目標(biāo)是輸出一個假設(shè)模型 H=p∪C:

p 是從特征空間到原始符號的映射,即它是一個傳統(tǒng)機器學(xué)習(xí)的感知模型;

C 是一組用 B 定義目標(biāo)概念 C 的一階邏輯子句,稱為知識模型。

假設(shè)模型應(yīng)滿足:

(1)

其中,符號|= 表示邏輯暗含(logical entailment)。從公式(1)可以看出,誘因性學(xué)習(xí)的主要挑戰(zhàn)是感知模型 p 和知識模型C 之間的相互依賴關(guān)系:1) 需要依賴于感知結(jié)果 p(x)來學(xué)習(xí) C,p(x)為 x 中原始概念的集合。2) 為了得到 p,需要得到用于訓(xùn)練的基本真值標(biāo)簽 p(x),p(x)可以從 B∪C 和 y 的邏輯推導(dǎo)出來。當(dāng)機器學(xué)習(xí)模型訓(xùn)練不足時,感知到的原始符號 p(x)極有可能不正確,因此作者將其命名為偽基元(pseudo-groundings)或偽標(biāo)簽(pseudo-labels)。因此,基于公式(1)的 C 推理是不一致的,當(dāng)知識模型C 不準(zhǔn)確時,邏輯推導(dǎo)出的偽標(biāo)簽 p(x)也可能出錯,從而影響了 p 的訓(xùn)練,而無論哪種方式都會中斷學(xué)習(xí)過程。

ABL 試圖通過將機器學(xué)習(xí)與誘因性邏輯推理模塊相連接,并通過一致性優(yōu)化將它們的內(nèi)部機制融合起來,從而解決這些挑戰(zhàn)。ABL 的完整框架見圖 3。其中, 機器學(xué)習(xí)(Machine Learning)用于學(xué)習(xí)感知模型 p:給定一個輸入實例 x,p 可以預(yù)測偽標(biāo)簽 p(x)作為 x 中可能的原始概念的真值。當(dāng)偽標(biāo)簽包含錯誤時,需要重新訓(xùn)練感知模型,此時,所使用的標(biāo)簽是邏輯誘因返回的修正后的偽標(biāo)簽 r(x)。邏輯誘因(Logical abduction)是誘因推理的邏輯形式化表示。給定以一階邏輯子句形式表述的觀測事實和背景知識,邏輯推理將對觀測事實的可能性解釋擴展為基本假設(shè)。

圖 3. ABL 完整框架

邏輯程序(Logic Programming)中的一個聲明性框架將上述的過程形式化,稱為誘因性邏輯程序(Abductive Logic Programming,ALP)[8]。形式上,誘因性邏輯程序(abductive logic program)可以定義如下:

定義 1:誘因性邏輯程序是一個三元組 (B,A,IC),其中 B 是背景知識,A 是一組可擴展謂詞,IC 是完整性約束。給定一些觀測事實 O,程序輸出為一組 A 的真值推理結(jié)果,如:

即,誘因性解釋 是一種假設(shè):根據(jù)背景知識 B 和約束 IC 來解釋觀察 O 是如何成立的??紤]到公式(1),ABL 將關(guān)于最終概念的實例標(biāo)簽作為觀測事實,并將假設(shè)模型 H=p∪C 作為推導(dǎo)內(nèi)容。給定一個固定的C,ABL 可以根據(jù) B 和 Y 推導(dǎo)出 p(x);當(dāng)感知模型 p 確定后,ALP 能夠根據(jù) B∪p(x)∪Y 推導(dǎo)出知識模型C。

ABL 的目標(biāo)是學(xué)習(xí)與背景知識和訓(xùn)練實例相一致的假設(shè)。更具體地說,ABL 試圖在給定背景知識 B 的情況下,最大化外推假設(shè) H 與訓(xùn)練數(shù)據(jù) D 之間的一致性:

關(guān)于 ABL 的優(yōu)化過程本文不在詳述,感興趣的讀者可以閱讀作者原文。

2.1.3 手寫方程解譯任務(wù)

為了驗證所提出方法的有效性,作者設(shè)計了一個手寫方程解譯任務(wù),如圖 4 所示,并應(yīng)用 ABL 進行求解。解譯任務(wù)的方程由連續(xù)的字符圖片組成。方程由符號圖像(「0」、「1」、「+」和「=」)構(gòu)成并用未知的運算規(guī)則生成,每個例子都有一個表示公式是否正確的標(biāo)簽。機器的任務(wù)是從一組帶標(biāo)簽的方程組中學(xué)習(xí),并期望訓(xùn)練后得到的模型能夠正確地預(yù)測未知的方程組。因此,這項任務(wù)需要使用圖 1 中所示出的感知和推理能力來完成。

圖 4. 手寫方程解譯難題:機器應(yīng)同時學(xué)習(xí)識別符號并找出未知運算規(guī)則(本例中為「xnor」)

圖 5 給出了本文中 ABL 實現(xiàn)的架構(gòu),它使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為感知機器學(xué)習(xí)模型。CNN 以圖像像素作為輸入,期望輸出為圖像中的符號。符號輸出構(gòu)成了偽標(biāo)簽。邏輯推理部分是用 Prolog 語言實現(xiàn)的一個誘因性邏輯程序。在訓(xùn)練之前,將以邏輯程序形式編寫的領(lǐng)域知識作為背景知識 B 提供給 ALP。在作者的實現(xiàn)中,B 只涉及方程的結(jié)構(gòu)和位操作的遞歸定義。方程結(jié)構(gòu)的背景知識是一組定句語法(Definite Clause Grammar,DCG)規(guī)則,DCG 遞歸地定義一個數(shù)字是「0」和「1」的序列,每個方程共享 X+Y=Z 的結(jié)構(gòu),盡管 X、Y 和 Z 的長度可能不同。位操作的知識是一種遞歸的邏輯程序,它反向計算 X+Y,即對 X 和 Y 從最后一位到第一位逐位運算。

圖 5. ABL 結(jié)構(gòu)

注:請注意,計算運算的具體規(guī)則在 B 中沒有定義,即「0+0」、「0+1」和「1+1」的結(jié)果可以是「0」、「1」、「00」、「01」甚至「10」。缺失的計算規(guī)則形成知識模型 C,這一部分是需要從數(shù)據(jù)中學(xué)習(xí)得到的。

訓(xùn)練開始后,CNN 將圖像解釋為偽標(biāo)簽「0」、「1」、「+」和「=」構(gòu)造的符號方程。因為 CNN 沒有經(jīng)過訓(xùn)練,所以感知到的符號通常是錯誤的。在這種情況下,ALP 不能根據(jù)領(lǐng)域知識導(dǎo)出任何與訓(xùn)練數(shù)據(jù)一致的 C。為了導(dǎo)出一致性的 C,ABL 學(xué)習(xí)了啟發(fā)式函數(shù)δ來標(biāo)記可能不正確的偽標(biāo)簽。

當(dāng) CNN 收斂或算法滿足迭代極限后,所有 < x_i , y_i > 被關(guān)系特征確定為二元特征向量。對于每個輸入方程 x_i,其偽標(biāo)簽將由所有的關(guān)系特征來評估以產(chǎn)生二進制向量 u_i= [u_i1,...,u_iT]:

原始數(shù)據(jù)集 D={}可以轉(zhuǎn)換為新的數(shù)據(jù)集 D’={},從中可以學(xué)習(xí)一個決策模型來處理子抽樣帶來的噪聲問題。

2.1.4 實驗分析

作者構(gòu)造了兩個符號的圖像集來建立如圖 6 所示的方程。數(shù)字二進制加法(Digital Binary Additive,DBA)方程是用基準(zhǔn)手寫字符數(shù)據(jù)集中的圖像創(chuàng)建的,而隨機符號二進制加法(Random Symbol Binary Additive,RBA)方程則是從 Omniglot 數(shù)據(jù)集中隨機選擇字符集構(gòu)建的,并與 DBA 任務(wù)中的方程具有相同結(jié)構(gòu)。為了評價實驗中各種對比方法的感知泛化能力,用于訓(xùn)練方程和測試方程的生成圖像是不相交的。每一個方程都作為數(shù)字和運算符的原始圖像序列輸入。訓(xùn)練和測試數(shù)據(jù)包含長度為 5 到 26 的方程。對于每個長度,它包含 300 個隨機生成的方程,總共 6600 個訓(xùn)練樣本。

圖 6. 手寫方程解譯任務(wù)的數(shù)據(jù)實例

本文實驗中所使用的對比方法包括:

1)ABL,機器學(xué)習(xí)模型由兩層 CNN、一個兩層多層感知器(MLP)和一個 softmax 層組成,邏輯誘因?qū)?50 個位操作的計算規(guī)則集作為關(guān)系特征,決策模型為兩層 MLP。實驗中嘗試了兩種不同的設(shè)置:使用所有訓(xùn)練數(shù)據(jù)的 ABL-all 和僅使用長度為 5-8 的訓(xùn)練方程的 ABL-short。

2)可微神經(jīng)計算機(Differentiable Neural Computer,DNC),這是一個與記憶有關(guān)的深層神經(jīng)網(wǎng)絡(luò)。

3)Transformer 網(wǎng)絡(luò),這是一個經(jīng)過關(guān)注增強的深層神經(jīng)網(wǎng)絡(luò),已經(jīng)被證實在許多自然語言處理任務(wù)中是有效的。

4)雙向長短期記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory Network,BiLSTM),這是目前應(yīng)用最廣泛的序列數(shù)據(jù)學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)。為了處理圖像輸入,BiLSTM、DNC 和 Transformer 網(wǎng)絡(luò)也使用與 ABLs 相同結(jié)構(gòu)的 CNN 作為它們的輸入層。所有的神經(jīng)網(wǎng)絡(luò)都是用一個從訓(xùn)練數(shù)據(jù)中隨機抽取的驗證集來調(diào)整的。

除上述對比方法外,作者還進行了人類實驗(human)。40 名志愿者被要求對從相同數(shù)據(jù)集中取樣的方程圖像進行分類。在參加測試之前,向各位志愿者提供了有關(guān)位操作的領(lǐng)域知識作為提示,但是具體的計算規(guī)則并不可知。作者沒有使用與機器學(xué)習(xí)實驗完全相同的設(shè)置,而是給了志愿者一個簡化版本,其中只有 5 個正方程和 5 個負(fù)方程,長度在 5-14 之間。

圖 7. DBA(左)和 RBA(右)任務(wù)的實驗結(jié)果

圖 7 中的實驗結(jié)果表明,在這兩個任務(wù)中,基于 ABL 的方法明顯優(yōu)于其它進行比較的方法,并且 ABL 正確地學(xué)習(xí)了定義未知操作的符號規(guī)則。所有這些方法在 DBA 任務(wù)上的性能都比 RBA 好,這是因為 DBA 任務(wù)中的符號圖像更容易區(qū)分。ABL-all 和 ABL-short 的性能沒有顯著差異。隨著測試方程長度的增加,實驗中用于比較的其它方法的性能迅速退化到隨機猜測的準(zhǔn)確度水平,而基于 ABL 的方法對未知數(shù)據(jù)的推導(dǎo)預(yù)測效果更好。一個有趣的結(jié)果是,人在這兩個任務(wù)上的表現(xiàn)非常接近而且都比 ABL 差。根據(jù)志愿者的說法,他們并不需要區(qū)分不同的符號,在這種任務(wù)中人們非常容易出錯,而機器在檢查邏輯理論一致性方面是很擅長的。因此,應(yīng)該更好的利用機器學(xué)習(xí)系統(tǒng)在邏輯推理方面的優(yōu)勢。

2.1.5 文章小結(jié)

作為心理學(xué)中一種重要的認(rèn)知模型,誘因已經(jīng)引起人工智能領(lǐng)域的關(guān)注?,F(xiàn)有的工作大多數(shù)是在符號域中將誘因性(Abduction)與歸納(Induction)結(jié)合起來。也有一些工作使用誘因性學(xué)習(xí)改進機器學(xué)習(xí)的效果,這些方法一般需要將邏輯背景知識調(diào)整為函數(shù)約束,或者在學(xué)習(xí)和推理過程中使用特別設(shè)計的算子來支持梯度下降,從而將邏輯推理簡化為不同的連續(xù)優(yōu)化問題。

另一方面,ABL 利用邏輯推理和試錯搜索(Trial-and-Error Search),在不使用梯度的情況下將機器學(xué)習(xí)與原始的一階邏輯連接起來。ABL 繼承了一階邏輯推理的全部能力,例如,它有可能放棄不在背景知識中的新的一階邏輯理論。因此,可以直接向本文介紹的 ABL 框架中引入許多現(xiàn)有的符號人工智能技術(shù)。

最后,ABL 框架具有通用性和靈活性。例如,感知機器學(xué)習(xí)模型可以是一個預(yù)先訓(xùn)練好的模型,而不必須是從頭開始學(xué)習(xí)的。機器學(xué)習(xí)的任務(wù)可以是半監(jiān)督的,而不必須是完全沒有標(biāo)簽的。邏輯推理可以包括二階邏輯子句,從而可能能夠?qū)崿F(xiàn)遞歸從句和謂詞自動發(fā)明。作者希望其對誘因性學(xué)習(xí)的探索能夠推動構(gòu)建統(tǒng)一的學(xué)習(xí)和推理框架。

2.2 SATNet: Bridging deep learning and logical reasoning using a differentiable satisfiability solver [6]

本文是 ICML 2019 中獲得最佳論文提名的一篇文章。由于上一篇文章《Bridging Machine Learning and Logical Reasoning by Abductive Learning》在 2018 年已經(jīng)在 arXiv 上進行了發(fā)布,所以本文有參考引用并對比分析了與上一篇文章的不同。上一篇文章所介紹的方法是從現(xiàn)有的一組已知關(guān)系中創(chuàng)建一個模塊(邏輯誘因模塊),以便深層網(wǎng)絡(luò)能夠?qū)W習(xí)到這些關(guān)系的參數(shù)。因此,該方法需要植入變量之間關(guān)系的先驗信息。本文所提出的方法則是端到端學(xué)習(xí)這些關(guān)系及其相關(guān)參數(shù),即,本文引入了一個可微(平滑)最大可滿足性(maximum satisfiability,MAXSAT)求解器,并將其直接集成到深度學(xué)習(xí)系統(tǒng)的回路中,而不是作為一個單獨的分離模塊所考慮。該求解器基于快速坐標(biāo)下降法來解決與 MAXSAT 問題相關(guān)的半定程序(semidefinite program,SDP)。具體見第一篇文章中的「圖 3. ABL 完整框架」。ABL 框架包括了兩個獨立的模塊「Machine Learning」和「Logical Abduction」。邏輯誘因性分析是一個與機器學(xué)習(xí) ML 完全分離的單獨模塊。而在這篇文章中,作者考慮,不將邏輯推理和 ML/DL 完全分離開,而是將邏輯推理作為深度學(xué)習(xí)系統(tǒng)完整回路中的一個部分,實現(xiàn)端到端的學(xué)習(xí)。

2.2.1 方法介紹

MAXSAT 問題是著名的可滿足性(satisfiability,SAT)問題的優(yōu)化模擬,其目標(biāo)是使?jié)M足的子句數(shù)最大化。作者提出了一個可微的平滑的近似 MAXSAT 解算器,可以集成到目前的深度學(xué)習(xí)網(wǎng)絡(luò)體系結(jié)構(gòu)中。該解算器使用快速坐標(biāo)下降法來求解 MAXSAT 的 SDP 松弛??紤]一個包含 n 個變量和 m 子句的 MAXSAT 實例。令 v 表示問題變量的二進制賦值,v_i 是變量 i 的真值,定義 s_i,其中 s_ij 表述子句 j 中 v_i 的符號。MAXSAT 問題定義為:

(1)

為了形成(1)的半定松弛約束,作者首先將離散變量 v_i 松弛為相關(guān)的連續(xù)變量且滿足 ||v_i||=1,相對于某個「真值方向」v_T 滿足 ||v_T||=1。此外,定義一個對應(yīng)于 v_T 的系數(shù) s_T。MAXSAT 的 SDP 松弛為:

(2)

這個問題是 MIN-UNSAT 的一個低秩(但非凸)公式,它等價于 MAXSAT。可以將這個公式重寫為一個 SDP,并且已經(jīng)由研究人員證明給定 k>sqrt(2n)的情況下,該式可以恢復(fù)最優(yōu) SDP 解。盡管它是非凸的,可以通過坐標(biāo)下降來優(yōu)化地解決公式(2)。特別是,依賴于 v_i 的客觀條件表示為:

其中 s_i 是 S 的第 i 列向量。根據(jù) ||v_i||=1 的約束條件,最小化 v_i 的值以得到坐標(biāo)下降更新:

這些更新可證明能夠收斂到 SDP(2)(即公式(2)對應(yīng)的 SDP)的全局最優(yōu)不動點。

使用 MAXSAT SDP 松弛和相關(guān)的坐標(biāo)下降更新,作者創(chuàng)建了一個用于可滿足性求解的深度網(wǎng)絡(luò)層(SATNet)。令 I 表示已知賦值的 MAXSAT 變量的指數(shù),O≡\I 對應(yīng)于未知賦值的變量的指數(shù)。SATNet Layer 允許以概率或二進制的形式輸入 z_l∈[0,1],l∈I,然后輸出未知變量 z_o∈[0,1],o∈O 的賦值,這些未知變量具有類似的概率值或二進制值。令 Z_I 和 Z_O 分別表示全部的輸入和輸出任務(wù)。

通過 SDP(2)從輸入 Z_I 生成輸出 Z_O,SATNet Layer 的權(quán)重對應(yīng)于 SDP 的低秩系數(shù)矩陣 S。完整的前向傳遞過程如圖 1 所示,具體的層初始化和前向傳遞的步驟描述見算法 1。

圖 1. MAXSAT 層的前向傳遞。該層將已知 MAXSAT 變量的離散或概率賦值作為輸入,通過權(quán)重 S 的 MAXSAT SDP 松弛輸出對未知變量賦值的猜測。

【層初始化】

初始化 SATNet 時,用戶必須指定該層可以表示的最大子句數(shù) m。通常希望將 m 的值設(shè)置的較低,因為低秩結(jié)構(gòu)可以防止出現(xiàn)過擬合的問題,從而提高泛化能力??紤]到這種低秩結(jié)構(gòu),用戶希望通過輔助變量在一定程度上提高層的表示能力。這里的高級直覺來自于布爾滿足問題的合取范式(Conjunctive Normal Form,CNF)表示。向問題中添加額外的變量可以顯著減少描述該問題所需的 CNF 子句的數(shù)量。

最后,令 k=sqrt(2n)+1,n 除了輔助變量外還捕獲實際問題變量的數(shù)量。這也是本文的 MAXSAT 松弛公式(2)恢復(fù)其相關(guān) SDP 的最優(yōu)解所需的最小 k 值。

【放松層輸入】

首先將其輸入 Z_I 松弛成連續(xù)向量用于 SDP 公式(2)。也就是說,將每一層輸入 z_l,l∈I 松弛到一個相關(guān)的隨機單位向量 z_l,v_l∈R^k:

(4)

公式(4)滿足:

(5)

其中,(v_l)^rand 為隨機單位向量。

【通過 SDP 產(chǎn)生連續(xù)的輸出松弛】

給定連續(xù)輸入松弛 V_I,使用坐標(biāo)下降更新公式(3)來計算連續(xù)輸出松弛 v_o。值得注意的是,坐標(biāo)下降更新只計算輸出變量,也就是說,不計算其賦值作為層輸入的變量。

前向傳遞的坐標(biāo)下降算法詳細(xì)說明在算法 2 中。該算法保留了計算 g_o 所需的Ω=VS^T 項,然后在每次內(nèi)部迭代中通過秩 1 更新對其進行修改。因此,每次迭代的運行時間是 O(nmk)。

【生成離散或概率輸出】

給定坐標(biāo)下降的松弛輸出 V_O,層通過閾值或隨機取整將這些輸出轉(zhuǎn)換為離散或概率變量賦值 Z_O。隨機化舍入的主要思想是,對于每一個 v_o,o∈O,可以從單位球面上取一個隨機超平面 r 并賦值。

(6)

給定正確的權(quán)值,這種隨機取整過程保證了某些 NP-hard 問題的最佳期望逼近比。在訓(xùn)練期間,沒有明確地執(zhí)行隨機取整。相反,v_o 和 v_T 在給定 r 的同一側(cè)的概率是:

(7)

在測試過程中,既可以以相同的方式輸出概率輸出,也可以通過閾值分割或隨機舍入輸出離散賦值。如果使用隨機化舍入,則執(zhí)行多次舍入后將 z_o 設(shè)為使公式(1)中 MAXSAT 目標(biāo)最大化的布爾解。

最后,作者討論了后向傳遞,即,通過 SATNet layer 獲得反向傳播更新,使其能夠集成到神經(jīng)網(wǎng)絡(luò)中。基于層輸出給定網(wǎng)絡(luò)損失 l 的梯度δl/δZ_O,根據(jù)層輸入和每層權(quán)重δl/δS 計算梯度δl/δZ_I。由于顯式展開前向傳遞計算并存儲中間 Jacobians 在時間和內(nèi)存方面效率低下,因此作者采用了高效的坐標(biāo)下降算法推導(dǎo)出直接計算期望梯度的解析表達式。算法 1 總結(jié)了計算這些梯度計算的步驟。

【從概率輸出到連續(xù)松弛】

給定 δl/δZ_O,可以通過概率分配機制推導(dǎo)出 δl/δV_O:

(8)

【通過 SDP 的反向傳播】

得到 δl/δV_O 后,通過 SDP 推導(dǎo)出解 δl/δS:

(9)

【從松弛結(jié)果到原始輸入】

最后,使用梯度 δl/δV_I 通過輸入松弛過程推導(dǎo)梯度 δl/δZ_x:

(12)

(13)

2.2.2 實驗分析

在實驗部分,作者證明了 SATNet 可以集成到深度神經(jīng)網(wǎng)絡(luò)架構(gòu)中進行端到端的訓(xùn)練。作者選擇了一個可視化數(shù)獨問題進行實驗:即,給定一個用 MNIST 數(shù)字構(gòu)造的數(shù)獨板的圖像表示(而不是一個熱編碼或其他邏輯表示),深度神經(jīng)網(wǎng)絡(luò)必須輸出與之相關(guān)聯(lián)的數(shù)獨問題的邏輯解。

圖 3 給出了一個輸入示例。使用經(jīng)典的深度神經(jīng)網(wǎng)絡(luò)體系架構(gòu)無法解決這個問題,因為解決這個問題要求能在不將問題的邏輯結(jié)構(gòu)硬編碼為中間邏輯層的前提下組合多個神經(jīng)網(wǎng)絡(luò)層。本文的神經(jīng)網(wǎng)絡(luò)使用了一個連接到 SATNet layer 的卷積網(wǎng)絡(luò)結(jié)構(gòu)。具體來說,將一個用于數(shù)字分類的卷積層(使用 LeNet 架構(gòu))應(yīng)用到數(shù)獨輸入的每個單元。然后,將該卷積層的每個單元概率輸出作為邏輯輸入輸入到 SATNet layer。這個 SATNet layer 采用與前面描述相同的架構(gòu)和訓(xùn)練參數(shù)。整個模型經(jīng)過端到端的訓(xùn)練以最小化交叉熵?fù)p失,并通過 Adam 進行優(yōu)化,SATNet layer 的學(xué)習(xí)率為 2x10^(3),卷積層的學(xué)習(xí)率為 10^(5)。

作者將本文的方法與結(jié)合了兩組卷積層的卷積神經(jīng)網(wǎng)絡(luò)進行了比較,表 1 給出了實驗結(jié)果。將這些結(jié)果與 74.7% 的理論「最佳」測試精度結(jié)合起來,這解釋了特定的卷積結(jié)構(gòu)的數(shù)獨數(shù)字分類準(zhǔn)確率。假設(shè)板子上 81 個填充單元中平均有 36.2 個單元(如測試集中)和一個 MNIST 模型,測試準(zhǔn)確率為 99.2%,期望一個完美的數(shù)獨解算器輸出正確解的時間為 74.7%。(=0.99236.2)。在 100 個周期中,本文模型在測試時能夠正確求解出 63.2% 的棋盤,達到理論「最佳」的 85%。本文方法在端到端求解可視化數(shù)獨板方面表現(xiàn)出很強的性能。另一方面,基線卷積網(wǎng)絡(luò)在 100 個周期的過程中對訓(xùn)練損失的改善微乎其微。因此,本文的 SATNet 架構(gòu)能夠直接從圖形輸入中進行端到端的「游戲規(guī)則」學(xué)習(xí),這種學(xué)習(xí)方式在以前的架構(gòu)中是不可能的。

表 1. 9x 9 個數(shù)獨實驗的結(jié)果,將 SATNet 模型與一個普通的卷積神經(jīng)網(wǎng)絡(luò)(ConvNet)以及一個接收二進制掩碼指示需要學(xué)習(xí)哪些位的網(wǎng)絡(luò)(ConvNetMask)進行比較。

2.2.3 文章小結(jié)

這項工作涵蓋了深度學(xué)習(xí)和邏輯推理的知識。目前,一些研究人員已經(jīng)提出了許多「可微邏輯推理」系統(tǒng),但大多數(shù)系統(tǒng)仍然需要預(yù)先手工參與確定的邏輯規(guī)則和真值基礎(chǔ),因此這些方法在某種程度上限制了它們以真正的端到端方式進行處理的能力。本文將強大而通用的邏輯處理器(如 MAXSAT 解算器)封裝在一個可微框架內(nèi),該解算器可以應(yīng)用在更大的深度學(xué)習(xí)框架內(nèi)進行「隱式」邏輯推理。作者認(rèn)為,SATNet 為整合符號推理和深度學(xué)習(xí)(人工智能的長期目標(biāo))邁出了一步。

3. 應(yīng)用數(shù)據(jù)庫介紹

3.1 LogiQA: A Challenge Dataset for Machine Reading Comprehension with Logical Reasoning [7]

本文是 IJCAI 2020 中的一篇錄用文章,是由來自復(fù)旦大學(xué)和西湖大學(xué)的研究人員共同完成的,主要研究目的是構(gòu)建一個用于測試邏輯推理能力的閱讀理解數(shù)據(jù)庫 LogiQA。與上一節(jié)介紹的模型方法不同,本文主要介紹的是應(yīng)用于邏輯推理和機器學(xué)習(xí)任務(wù)的數(shù)據(jù)庫的構(gòu)建,以及結(jié)合具體的 NLP 任務(wù)介紹將邏輯推理和機器學(xué)習(xí)方法相結(jié)合的作用和意義。

機器閱讀是測試自然語言理解能力的一項基本任務(wù),它與人類認(rèn)知有著密切的關(guān)系。機器閱讀可以廣泛應(yīng)用于開放領(lǐng)域問答與信息檢索等后續(xù)任務(wù)中。隨著 NLP 深度學(xué)習(xí)的最新進展,閱讀理解研究也有了長足的發(fā)展,從能夠用簡單事實來回答的問題發(fā)展到需要通過多跳推理來整合不同證據(jù)的問題,以及對于人類閱讀理解都非常有難度的需要利用給定段落之外所涉及的常識來回答的問題。

邏輯推理是人類閱讀理解和問答的一個重要方面,也是早期人工智能的主要研究課題之一,然而目前涉及邏輯推理的 NLP 數(shù)據(jù)庫非常有限。圖 1 給出了一個需要通過邏輯推理才能完成的閱讀理解問題。P1 由一段事實和一個問題組成,這個問題要求被測者以事實為前提選擇一個有效的結(jié)論。為了選出正確的候選者,機器需要理解前提和候選者的答案。正確的答案可以通過絕對推理找到。

圖 1. LogiQA 示例,紅色對勾表示正確答案。

隨著深度學(xué)習(xí)技術(shù)的興起,在簡單的問答 QA(Question-Answer)任務(wù)中,算法模型展現(xiàn)出了良好的性能,此外,也提出了大量應(yīng)用于機器閱讀的數(shù)據(jù)庫。在一個典型的 QA 任務(wù)設(shè)置中,將一篇文章和一個問題輸入系統(tǒng),任務(wù)要求是從候選答案列表中選擇一個最合適的答案。P2 是一個更具挑戰(zhàn)性的問題,段落中只提供了一個前提和結(jié)論,需要在缺少一個前提的情況下選擇答案。問題涉及三類工人,包括 A 宿舍區(qū)工人、B 車間工人和紡織工人。被測試者可以通過繪制三組工人之間的邏輯關(guān)聯(lián)來找到答案。

回答本文所構(gòu)建的 LogiQA 所涉及的閱讀理解問題需要同時具有自然語言理解(NLU)和邏輯推理能力。與簡單事實的問答相比,LogiQA 中段落和候選答案之間的詞匯重疊所起的作用相對較小。與常識性閱讀理解相比,LogiQA 的問題不太依賴外部知識,而是需要邏輯推理來解答。LogiQA 包含 8678 個段落問題對,每個問題有四個候選答案。相關(guān)數(shù)據(jù)來源于公開提供的閱讀理解邏輯試卷,這些試卷由領(lǐng)域?qū)<以O(shè)計,用于評估邏輯推理能力和測試參與者。問題的質(zhì)量和主題覆蓋是可靠的。作者從原始數(shù)據(jù)集中手動選擇問題,過濾掉了涉及數(shù)字、圖表或數(shù)學(xué)計算量較大的問題,并確保邏輯推理類型的廣泛覆蓋,包括范疇推理、條件推理、析取推理和連詞推理等。

3.1.1 數(shù)據(jù)庫介紹

本文作者通過收集中國國家公務(wù)員考試公開試題中的邏輯理解題來構(gòu)建 LogiQA,這個考試的目的是測試公務(wù)員的批判性思維和問題解決能力。作者收集了官方網(wǎng)站上發(fā)布的原始數(shù)據(jù),得到了 13918 個段落問題選擇題。執(zhí)行以下步驟來清理原始數(shù)據(jù)。首先,刪除所有不符合問題設(shè)置格式的實例,即如果候選選項的數(shù)量不是 4,則刪除該問題。其次,根據(jù)文本信息過濾掉所有包含圖像或表格的段落和問題。還刪除了所有包含關(guān)鍵字 「下劃線」和「排序句子」的問題,因為對于典型的機器閱讀器來說,很難重現(xiàn)下劃線和句子編號順序的場景。最后,作者刪除了所有重復(fù)的段落問題對。最終的結(jié)果數(shù)據(jù)集包含 8678 個段落問題對。由于原始數(shù)據(jù)集是用中文編寫的,因此作者還聘請了五名專業(yè)英語人士手動翻譯數(shù)據(jù)集。為了保證翻譯質(zhì)量,又專門聘請了三名校對員。如果校對者認(rèn)為翻譯存在問題,則將翻譯后的實例再次發(fā)送回翻譯人員進行修訂。作者同時發(fā)布了中文版的 LogiQA(中文 LogiQA),用于基于漢語推理的閱讀理解研究。

范疇推理(Categorical reasoning):目的是推理一個特定的概念是否屬于一個特定的范疇。這種推理通常與量詞相關(guān),如「all/everyone/any」、「no」和「some」等。

充分條件推理(Sufficient conditional reasoning):假設(shè)推理的類型是基于 「如果 P,那么 Q」形式的條件陳述,其中 P 是前因,Q 是后因。

析取推理(Disjunctive reasoning):在這種推理中,前提是析取的,形式是「要么?;蛘??!?,只要一個前提成立,結(jié)論就成立。

合取推理(Conjunctive reasoning):在這類推理中,前提是連詞,形式是「兩個。還有?!梗挥挟?dāng)所有前提成立時,結(jié)論才成立。

如下,表 1 總結(jié)了 LogiQA 的詳細(xì)統(tǒng)計數(shù)據(jù)。

表 1. LogiQA 的統(tǒng)計數(shù)據(jù)

LogiQA 基準(zhǔn)測試集由 867 個段落問題對組成。作者根據(jù) Hurley 定義的邏輯推理的五種類型對實例進行人工分類[9],包括范疇推理、充分條件推理、必要條件推理、析取推理和合取推理。這些推理屬于演繹推理,即給定一套前提條件,能夠得出明確的結(jié)論。因此,這種推理方法最適合于定量評價性能。圖 2 給出了 LogiQA 中推理類型的統(tǒng)計信息和代表性示例。

圖 2. LogiQA 中每種邏輯推理的例子(紅色對勾表示正確答案)

3.1.2 驗證的深度學(xué)習(xí)方法介紹

作者評估了典型的應(yīng)用于閱讀理解任務(wù)的各類模型的性能,包括基于規(guī)則的方法、深度學(xué)習(xí)方法以及基于預(yù)先訓(xùn)練的上下文嵌入的方法。此外,還對人類直接進行閱讀理解的完成情況進行了評估,并報告了最佳性能。

【基于規(guī)則的方法】

作者采用了兩種基于規(guī)則的方法,通過簡單的詞匯匹配給出答案。單詞匹配 [10] 是基于規(guī)則的基線方法,它選擇與給定段落問題對的單字格重疊程度最高的候選答案?;瑒哟翱?[11] 通過從給定段落問題對中的 n 個單詞中提取 TF-IDF 類型特征來計算每個候選答案的匹配分?jǐn)?shù)。

【深度學(xué)習(xí)方法】

深度學(xué)習(xí)方法通過文本匹配技術(shù)計算給定段落、問題和每個候選答案之間的相似度,從而找到閱讀理解的答案。例如,可以使用 LSTM 編碼和雙線性注意力函數(shù)計算段落問題對和候選答案之間的相似性。門控注意力閱讀器采用多跳結(jié)構(gòu),具有更細(xì)粒度的機制來匹配候選答案與段落問題對。協(xié)同匹配網(wǎng)絡(luò)通過對每段文本進行編碼并計算每對文本之間的匹配分?jǐn)?shù),進一步提升段落 - 問題對和段落 - 候選答案對的匹配效果。

【預(yù)訓(xùn)練方法】

與深度學(xué)習(xí)方法不同,預(yù)訓(xùn)練方法將段落、問題和每個候選答案視為一個連接句子,使用預(yù)先訓(xùn)練的上下文嵌入模型對句子進行編碼以計算其得分。給出四個候選答案,將每個候選答案與段落和問題配對,然后構(gòu)造四個連接句子,并選擇模型得分最高的一個作為答案。這一類方法包括 BERT、RoBERTa 等。

【人工方法】

本文研究團隊雇傭了三名研究生進行人工方法的評估,并給出了從測試集中隨機選取的 500 個樣本的平均分?jǐn)?shù)。在計算最優(yōu)性能時,如果其中一個學(xué)生給出了正確的答案,就認(rèn)為人工方法針對這個問題能夠給出正確答案。

3.1.3 實驗分析

隨機分割數(shù)據(jù)集,將其中的 80% 用于訓(xùn)練,10% 用于開發(fā),其余 10% 用于測試。表 2 給出了節(jié) 3.1.2 中所討論的模型的結(jié)果。人工方法的測試結(jié)果達到了 86.00%,最高的結(jié)果達到 95.00%,這說明對于人類測試者而言,LogiQA 的難度并不大。相比之下,其它所有算法模型的性能都比人類差得多,這表明這些方法在邏輯推理閱讀理解方面相對較弱。此外,中文數(shù)據(jù)集的結(jié)果與英文數(shù)據(jù)集的結(jié)果處于同一水平。

兩種基于規(guī)則的方法的準(zhǔn)確率分別為 28.37% 和 22.51%,后者甚至低于隨機猜測的基線水平。這說明單靠詞匯匹配很難解決 LogiQA 中的這些問題。深度學(xué)習(xí)方法的準(zhǔn)確率在 30% 左右,效果要優(yōu)于隨機猜測的方法,但遠遠落后于人類的表現(xiàn)。一個可能的原因是這些方法都是經(jīng)過端到端的訓(xùn)練,結(jié)果發(fā)現(xiàn)基于注意力的文本匹配很難學(xué)習(xí)潛在的邏輯推理規(guī)則。預(yù)先訓(xùn)練的模型具有一定的常識性和邏輯能力,與沒有上下文嵌入的方法相比,這種模型具有更好的性能。然而,RoBERTa 的最佳結(jié)果是 35.31%,仍然遠遠低于人類的表現(xiàn)。這表明預(yù)先訓(xùn)練的模型中的知識對于邏輯推理來說是相當(dāng)薄弱的。

表 2. LogiQA 的主要結(jié)果(準(zhǔn)確率 %)

3.1.4 文章小結(jié)

本文提出了一個大型邏輯推理閱讀理解數(shù)據(jù)庫 LogiQA。除了測試機器閱讀的推理能力外,LogiQA 還可以作為重新審視在深度學(xué)習(xí) NLP 時代長期追求的邏輯人工智能研究的基準(zhǔn)水平。本文的實驗結(jié)果表明,最先進的機器閱讀器(各類算法、模型)仍然遠遠落后于人類的閱讀能力。本文所提出的數(shù)據(jù)集可以作為后續(xù)測試閱讀理解能力的測試基礎(chǔ)。

4. 小結(jié)

本文在回顧什么是「邏輯」的基礎(chǔ)上,討論了構(gòu)建有邏輯的(Logical)和可推理的(Reasoning)系統(tǒng)問題。其中,重點關(guān)注了兩篇邏輯推理與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合的文章。這兩篇文章的題目很類似,所做的工作也具有一定的延續(xù)性和對比性。第一篇文章是將誘因性學(xué)習(xí)作為一個模塊引入到經(jīng)典的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)中,第二篇文章則是引入了一個可微(平滑)最大可滿足性(MAXSAT)求解器,并將其直接集成到深度學(xué)習(xí)系統(tǒng)的回路中,而不是作為一個單獨的模塊所考慮。

最后一篇文章重點是結(jié)合 NLP 中的閱讀理解任務(wù)構(gòu)建了一個需要通過邏輯推理才能得到答案的 LogiQA 數(shù)據(jù)庫。在這篇文章中作者只是使用了經(jīng)典的基于規(guī)則、深度學(xué)習(xí)和預(yù)訓(xùn)練的方法進行實驗,且效果都不好,都遠低于人類直接進行閱讀理解的水平,經(jīng)典深度學(xué)習(xí)方法的效果甚至低于預(yù)訓(xùn)練的方法。但是作者并未對這種差距進行深入分析,尚無法判斷是否在 NLP 這一專門領(lǐng)域的邏輯推理任務(wù)中預(yù)訓(xùn)練一定優(yōu)于深度學(xué)習(xí)方法。

由我們分析的幾篇文章可以看出,很顯然,在強邏輯任務(wù)中機器還無法和人類相比擬。如何使深度學(xué)習(xí) / 機器學(xué)習(xí)的方法或模型具備強大的推理能力,似乎仍然是一個懸而未決的問題。

參考文獻

[1] King, R.D., Rowland, J., Oliver, S.G., Young, M., Aubrey, W., Byrne, E., Liakata, M., Markham, M., Pir, P., Soldatova, L.N. and Sparkes, A., 2009. The Automation of Science. Science, 324(5923), pp.85–89.

[2] Raza, M. and Gulwani, S., 2017, February. Automated data extraction using predictive program synthesis. In Thirty-First AAAI Conference on Artificial Intelligence.

[3] https://stripe.com/radar/guide#rules-and-manual-reviews

[4] https://medium.com/abacus-ai/an-overview-of-logic-in-ai-and-machine-learning-2f41ccb2a335

[5] Bridging Machine Learning and Logical Reasoning by Abductive Learning, 2019, NeurIPS 2019, https://papers.nips.cc/paper/8548-bridging-machine-learning-and-logical-reasoning-by-abductive-learning.pdf

[6] SATNet: Bridging deep learning and logical reasoning using a differentiable satisfiability solver, ICML 2019, http://proceedings.mlr.press/v97/wang19e/wang19e.pdf

[7] Liu J , Cui L , Liu H , et al. LogiQA: A Challenge Dataset for Machine Reading Comprehension with Logical Reasoning[C]// Twenty-Ninth International Joint Conference on Artificial Intelligence and Seventeenth Pacific Rim International Conference on Artificial Intelligence {IJCAI-PRICAI-20. 2020.

[8] A. C. Kakas, R. A. Kowalski, and F. Toni. Abductive logic programming. Journal of Logic Computation, 2(6):719–770, 1992.

[9] Patrick J. Hurley. A concise introduction to logic. Nelson Education, 2014.

[10] Wen-tau Yih, Ming-Wei Chang, C. Meek,and A. Pastusiak. Question answering using enhanced lexical semantic models. In ACL, 2013.

[11] M. Richardson, C.J.C. Burges, and E. Renshaw. MCTest: A challenge dataset for the opendomain machine comprehension of text. In EMNLP, 2013.

分析師介紹:

本文作者為仵冀穎,工學(xué)博士,畢業(yè)于北京交通大學(xué),曾分別于香港中文大學(xué)和香港科技大學(xué)擔(dān)任助理研究員和研究助理,現(xiàn)從事電子政務(wù)領(lǐng)域信息化新技術(shù)研究工作。主要研究方向為模式識別、計算機視覺,愛好科研,希望能保持學(xué)習(xí)、不斷進步。

評論列表

頭像
2024-03-14 06:03:46

在你們這里學(xué)到很多愛情觀和人生觀。對我們有很大的幫助。

頭像
2023-12-20 13:12:43

發(fā)了正能量的信息了 還是不回怎么辦呢?

 添加導(dǎo)師微信MurieL0304

獲取更多愛情挽回攻略 婚姻修復(fù)技巧 戀愛脫單干貨

發(fā)表評論 (已有2條評論)