From machine learning to machine reasoning
從機器學習到機器推理
https://link.springer.com/article/10.1007/S10994-013-5335-X
摘要
“推理”的一個合理定義可能是“代數式地操縱先前獲得的知識以回答一個新問題”。這一定義涵蓋了一階邏輯推理或概率推理。它也包括通常用于構建大型學習系統的更簡單的操縱。例如,我們可以通過首先使用適當的標記訓練集訓練字符分割器、孤立字符識別器和語言模型,來構建一個光學字符識別系統。適當地連接這些模塊并對結果系統進行微調可以被視為在模型空間中的一個代數操作。結果模型回答了一個新問題,即將文本圖像轉換為計算機可讀文本。
這一觀察表明,在代數上豐富的推理系統(如邏輯或概率推理)和簡單的操縱(如可訓練學習系統的簡單連接)之間存在概念上的連續性。因此,與其試圖彌合機器學習系統和復雜的“通用”推理機制之間的差距,我們不如代數式地豐富適用于訓練系統的操縱集合,并從基礎開始構建推理能力。
關鍵詞:機器學習、推理、遞歸網絡
1 引言
由于學習和推理是與智能相關的兩個基本能力,機器學習和機器推理在計算機科學短暫的歷史中都受到了廣泛關注。學習的統計性質現在已經被很好地理解(例如,Vapnik 1995)。統計機器學習方法現在已非常普遍(NIPS 1987–2010)。在互聯網上搜索“支持向量機”會返回超過兩百萬個網頁。
推理的本質更加難以捉摸。盡管邏輯推理的計算機算法(Robinson 1965)與數學基礎同根同源,但將普通數據轉換為一組一致的邏輯表達式已被證明極具挑戰性:在符號公式離散空間中進行搜索常常導致組合爆炸(Lighthill 1973)。一般概率推理的計算機算法(Pearl 1988)仍然存在不利的計算特性(Roth 1996)。然而,許多特殊情況的實用算法已經獲得了相當的流行度,尤其是在機器學習社區。這種實用性是以降低表達能力為代價的:由于概率推理是一種數學構造,它自然可以用一階邏輯來描述。然而,用概率推理表達一階邏輯并非易事。特別是,用概率表達因果關系具有挑戰性(Pearl 2000)。
人類的推理既沒有邏輯推理的局限性,也沒有概率推理的局限性。推理能力常常被與邏輯推理能力混淆。當我們觀察一個視覺場景,當我們聽到一個復雜句子時,我們能夠用形式化的術語解釋場景中物體之間的關系,或者句子成分的精確含義。然而,并沒有證據表明這種形式化分析必然會發生:我們看到一個場景,聽到一個句子,我們只是知道它們的意思。這表明存在一個中間層,已經是一種推理形式,但尚未形式化或邏輯化。研究非形式推理很有吸引力,因為我們希望避免在離散邏輯命題的巨大空間中進行組合搜索相關的計算復雜性問題。
明斯基和帕佩特(Minsky和Papert,1969)已經表明,簡單的認知任務不能使用線性閾值函數來實現,而是需要多層計算。最近的研究進展揭示了訓練這種深度模型的有效策略(Hinton等人,2006)。深度學習在機器學習社區引起了相當大的關注。自2007年以來,NIPS和ICML會議期間一直定期舉辦相關研討會。訓練深度機器學習模型的能力似乎與適當定義無監督輔助任務有關,這些任務有助于在模型的內部層中發現內部表示(Bengio等人,2007;Weston等人,2008)。過去也曾使用有監督的中間任務來訓練深度結構(例如,Bottou等人,1997;LeCun等人,1998)。深度學習的驚喜之處在于,使用非常松散相關的輔助任務也能取得相同的結果。因此,深度學習與多任務學習密切相關(Caruana,1997)。
本文提出了幾個經過長期思考的研究方向(Bottou,2008)。深度學習和多任務學習都表明,我們可以利用輔助任務來幫助解決感興趣的任務。這個看似簡單的想法可以被解釋為一種原始的推理形式。豐富這種代數結構則會導致更高形式的推理。這為從基礎開始將推理能力構建到機器學習系統中提供了一條路徑。
2 輔助任務
一個經常被提及的問題是標記數據的稀缺性。這種說法是有偏見的,因為我們通常構建學習機器是為了完成一項有價值的任務。相應的訓練標簽因此變得昂貴,進而稀缺。相反,大量可用的標簽通常與不太有價值的任務相關聯。但這并不意味著這些豐富的標簽毫無用處:在一項有趣且有價值的任務附近,不太有價值的任務為解決初始問題提供了機會。
考慮從人臉圖像中識別人物的任務。盡管協作式圖像標注方案的可用性不斷增加(von Ahn 2006),但收集并標注數百萬張代表每個人物不同姿勢和背景的訓練圖像仍然成本高昂。然而,為稍有不同的任務收集訓練數據卻很容易,即判斷圖像中的兩張臉是否屬于同一個人(Miller 2006):同一張照片中的兩張臉很可能屬于不同的人;連續視頻幀中的兩張臉很可能屬于同一個人。這兩個任務有許多共同點:圖像分析基礎模塊、特征提取、在輔助任務上訓練的部件識別器肯定有助于解決原始任務。
圖1概述了一個涉及三個可訓練模塊的遷移學習策略。預處理器 P 從圖像中計算人臉的緊湊表示。比較器 D 比較與兩張圖像相關聯的表示。分類器 C 產生與圖像表示相關聯的人物標簽。我們首先組裝兩個預處理器 P 的實例和一個比較器 D ,并使用輔助任務的豐富標簽來訓練得到的模型。訓練過程通過使用隨機梯度下降最小化正則化損失函數來實現。然后,我們將另一個預處理器 P 的實例與分類器 C 組裝在一起,并使用有限數量的標記樣本訓練得到的模型來解決原始任務。這行得通是因為預處理器 P 已經執行了有用的任務,并極大地簡化了分類器 C 的工作?;蛘?,我們也可以通過確保所有預處理器實例共享相同的參數,同時訓練這兩個組裝系統。類似的遷移學習系統已在視覺基準測試中實現了高準確率(例如,Ahmed等人,2008)。
我們設計了一個結構更復雜的系統,以解決各種自然語言處理基準任務(Collobert和Weston 2007;Collobert等人 2011;Collobert 2011)。詞嵌入模塊 W 為詞匯表中的每個單詞計算一個50維的表示。從一個大型語料庫(9億詞)中提取固定長度的單詞序列。通過隨機替換中心詞來創建錯誤的序列。輔助任務是生成一個分數,其大小表明一個單詞序列是真實的還是錯誤的。由多個詞嵌入模塊 W 和一個排序模塊 R 組成的系統在這個任務上進行訓練。然后,使用較小的標記句子語料庫來訓練基準任務。每個句子通過組裝詞嵌入組件 W 并將其輸出與輔助信息一起路由到分類器來處理,分類器為感興趣的單詞生成標簽(圖2)。
該系統在運行速度上比具有類似性能的自然語言處理系統快數百倍,同時達到了接近最先進的性能水平。許多自然語言處理系統依賴于大量的人工設計的特定任務輸入特征所蘊含的語言知識。上述系統使用在非常大的語料庫上訓練的基本上無監督的任務學習有用的特征。圖3展示了得到的詞表示的質量。類似的嵌入技術也被證明能夠執行更高層次的知識提取任務(Bordes等人,2011)。
3 重新審視推理
盡管模塊化學習系統及其訓練算法已經得到了廣泛研究(例如,Bottou和Gallinari 1991),但很少有人關注描述如何組裝可訓練模塊以解決特定任務的規則。事實上,這些組合規則起著極其重要的作用?;究捎柧毮K的詞典和組合算子構成了一個簡單的代數系統,該系統作用于模型空間。組合規則描述了代數操作,這些操作使我們能夠結合先前獲得的知識——以在輔助任務上預先訓練好的模型的形式——以創建一個解決新任務的模型。
我想在此處大膽地做一個類比:“為了回答一個新問題而對先前獲得的知識進行代數操作”是對“推理”一詞的一個合理定義。兩者之間存在顯著差異:傳統推理作用于前提和結論;組合規則作用于可訓練模塊。然而,我們可以很容易地論證,數學史告訴我們,代數結構比它們所作用的對象更重要。在人臉識別和自然語言處理的例子中,隱含的組合規則源于這樣的假設:在輔助任務上可以學到的內部表示可以惠及感興趣的任務。這些內部表示與推理抽象(即概念)起著相同的作用,也就是說,這些概念無法直接觀察到,但被認為對多個問題都相關。
組合規則可以用非常不同的復雜程度來描述。與人臉識別和自然語言處理的例子類似,大多數討論多任務學習的作品(Caruana 1997)構建了基于內部表示的語義解釋來合理化的臨時組合。討論結構化學習系統的作品(例如,Bak?r等人 2007)通常提供了更明確的規則。例如,圖變換網絡(Bottou等人 1997;LeCun等人 1998,第IV節)使用圖變換算法為每張輸入圖像構建特定的識別和訓練模型。圖變換器的規范應被視為組合規則的描述(圖4)。
4 概率模型
概率論豐富的代數結構在機器學習中對概率模型的吸引力方面起著重要作用,因為它告訴了我們如何組合條件概率分布以及如何解釋這些組合。然而,為了構建概率模型的代數結構,有必要討論如何參數化概率分布。
圖形模型(Pearl 1988)描述了聯合概率分布如何分解為具有特定條件獨立假設的基本條件分布。這種分解暗示了可以分別參數化這些基本條件分布。概率推理規則隨后在條件概率分布模型的空間上誘導了一個代數結構,描述了隨機變量任意子集之間的關系。
為了使參數化更加明確,已經設計了許多改進方法。板式表示法(Buntine 1994)緊湊地表示具有重復結構的大型圖形模型,這些結構通常共享參數。圖5展示了如何將參數視為隨機變量,從而進一步明確參數化。更近期的研究提出了更豐富的語言來描述大型圖形概率模型。概率關系模型(Friedman等人,1999)和關系依賴網絡(Neville和Jensen,2003)從基于框架的知識庫中推導出圖形概率模型。馬爾可夫邏輯網絡(Richardson和Domingos,2006)從一階邏輯知識庫的子句中推導出圖形概率模型。這些用于描述概率模型的高階語言是上一節中描述的組合規則的表達形式。
5 推理系統
我們顯然正在偏離統計方法,因為我們不再簡單地將一個統計模型擬合到數據上。實際上,我們正在處理一個更復雜的對象,它由(a)一個模型的代數空間,以及(b)組合規則組成,這些規則在模型空間和感興趣問題的空間之間建立了一個同態對應關系。我們稱這種對象為推理系統。
這種定義的一個潛在令人驚訝的后果是推理系統的任意性。就像統計模型一樣,推理系統在表達能力、預測能力和計算需求方面各不相同。一些突出的例子可以說明這種多樣性:
- 一階邏輯推理——考慮一個由函數組成的空間,這些函數預測一階邏輯公式的真實性,作為其自由變量值的函數。這些函數通常由一組完全實例化的謂詞來表示。這種函數空間受到一階邏輯公式代數結構的高度約束:如果我們知道其中一些函數,我們可以應用邏輯推理來推導或約束與其他公式相關的函數,從而表示不同的任務。一階邏輯具有很高的表達能力,因為大部分數學可以形式化為一階邏輯語句(Hilbert和Ackermann,1928)。然而,這并不足以表達自然語言的細微差別:每一個一階邏輯公式都可以用自然語言輕松表達;反之則不然。最后,一階邏輯通常會導致計算成本高昂的算法,因為它們通常涉及在龐大的離散空間中進行組合搜索。
- 概率推理——考慮由與一組預定義隨機變量相關的所有條件概率分布組成的模型空間。這些條件分布受到概率論代數屬性的高度約束:如果我們知道其中一部分條件分布,我們可以應用貝葉斯推理來推導或約束額外的條件分布,從而回答不同的問題(Pearl,1988)。概率論的連續性質提供了避免計算成本高昂的離散組合搜索的機會。這些改進的計算需求是以降低表達能力為代價的:由于概率推理是一種數學構造,它可以用一階邏輯輕松描述;反之則不然。盡管存在這一限制,概率模型中的推理仍然是一個流行的機器學習主題。
- 因果推理——因果性是概率推理眾所周知的表達限制。例如,我們可以建立“下雨”和“人們撐傘”這兩個事件之間的相關性。這種相關性是預測性的:如果人們撐傘,我們可以相當確定正在下雨。但這種相關性對干預的后果知之甚少:禁止使用傘并不能阻止下雨。這是一個嚴重的限制,因為因果關系在我們對世界的理解中起著核心作用。Pearl(2000)提出通過豐富概率工具來解決這個問題:雖然 (P(X|Y=y)) 表示在觀察到 (Y=y) 的情況下隨機變量 X的分布,但新的構造 表示在干預強制條件 (Y=y) 時 (X) 的分布。
- 牛頓力學——經典力學是因果推理系統的極其成功的例子。考慮在各種實驗設置中點質量的運動。牛頓定律定義了力這一抽象概念,作為對任何偏離勻速運動的解釋。第二定律和第三定律隨后描述了如何計算干預的后果,例如施加新的力或將點質量從一個實驗設置轉移到另一個實驗設置。例如,第一個設置可以是一個稱重裝置,用于測量點質量 (A) 和 (B) 的相對質量;第二個設置可以涉及點質量 (A) 和 (B) 的碰撞。
- 空間推理——如果改變視點或操縱場景中的一個物體,視覺場景會如何變化?這些問題顯然受到代數約束的限制,這些約束來自二維投影以及物體之間的關系??臻g推理不需要完整的邏輯工具,但當然受益于特定代數構造的定義(Aiello等人,2007)。
- 不可證偽的推理——歷史上提供了無數推理系統,其預測能力值得懷疑。神話通過將社會推理系統應用于抽象的神靈來解釋世界。占星術試圖通過推理行星的運動來解釋社會現象。就像不可證偽的統計模型一樣,不可證偽的推理系統不太可能具有有用的預測能力(Popper 1959;Vapnik 1995)。
面對如此眾多的推理系統,有兩種方法。一種方法是識別一個嚴格比其他所有方法更強大的單一推理框架。這樣的框架是否存在,以及它是否會導致計算上可行的算法,目前尚不清楚。符號推理(例如,使用一階邏輯)未能實現這些期望(Lighthill 1973)。概率推理更具實用性,但表達能力明顯較弱。第二種方法是將這種多樣性視為一個機會,更好地將推理模型與感興趣的應用領域相匹配:“在解決給定問題時,盡量避免將解決更一般問題作為中間步驟”(Vapnik 1995)。
因此,繪制推理系統的宇宙圖是可取的。潛在的代數結構是什么?它們在表達能力、適用于特定應用、計算需求和預測能力方面的足跡是什么?不幸的是,我們不能期望這樣的理論進步按計劃進行。然而,我們可以通過實證探索為特定應用領域設計的代數結構的能力來培養我們的直覺。
復制場景分析、語言理解和社交互動等基本人類認知過程構成了一個重要的應用類別。這些過程可能涉及某種形式的推理,因為我們在事后能夠用邏輯論據解釋我們的結論。然而,實際過程通常在無意識的情況下發生,這表明邏輯推理的全部復雜性可能并非必需。哪些代數推理原語適合此類應用?以下部分描述了更具體的想法,研究適合自然語言處理和視覺任務的推理系統。它們定義了可訓練模塊,提供了使用固定大小的表示向量表示任意層次結構的手段。當然,這些向量是否是任務的最佳表示還有待證明。此示例的目標是展示在表示空間上定義的代數操作集比表示本身更重要。討論包括自然語言處理任務的初步結果以及視覺任務的潛在方向。然后提出了在該表示空間上工作的額外模塊。最后一部分描述了與在該空間中運行的學習算法相關的一些概念和算法問題。
6 關聯與解離
我們已經展示了使用基本上無監督的任務學習顯著詞嵌入的可能性(Collobert等人,2011)。我們能否為句子中任何有意義的片段學習顯著的嵌入呢?
一種經過驗證的創建豐富代數系統的方法是定義操作,這些操作的輸入來自某個空間,并在同一個空間中產生輸出??赡艿倪B接方式的數量及其潛在深度隨后變得無限。我們再次考慮一組可訓練模塊。詞嵌入模塊 W 為字典中的每個詞計算一個連續的表示。在初步實驗中,這是一個簡單的查找表,為字典中的每個詞指定一個50維表示空間中的向量。這些向量的坐標由訓練算法確定。關聯模塊是一個可訓練的函數,它接受表示空間中的兩個向量,并在同一個空間中產生一個單一向量,該向量預期表示兩個輸入向量的關聯。
給定一個由 n 個詞組成的句子片段,圖6展示了如何通過 n - 1 次應用關聯模塊,將句子片段簡化為表示空間中的一個單一向量。我們希望這個向量是句子含義的表示。我們還希望每個中間結果都能代表相應句子片段的含義。
將關聯模塊應用于句子片段有多種方式,每種方式都對應于將句子括號化為有意義片段的特定方法。例如,圖6對應于句子“((the cat) (sat (on (the mat))))”的標準括號化方式。為了確定哪種括號化方式將句子分割成最有意義的片段,我們引入了一個額外的顯著性評分模塊 R ,它接受表示空間中的一個向量,并產生一個分數,該分數的大小預期衡量相應句子片段的“意義性”(見圖7)。
將顯著性評分模塊 R 應用于所有中間結果,并將所有得到的分數相加,可以得到一個全局分數,衡量一種特定括號化句子的方式有多有意義。通過最大化這個全局分數,可以確定遞歸應用關聯模塊的最有意義的方式。本文檔后面部分將描述具體的解析算法。
面臨的挑戰是訓練這些模塊,以使它們實現期望的功能。圖8展示了一種受Collobert等人(2011)啟發的無監督訓練技術。這同樣是一個隨機梯度過程。在每次迭代中,從一個大型文本語料庫中隨機挑選一個短句子片段,并按照上述方式括號化(見圖8左側)。然后隨機將其中一個詞替換為詞匯表中的一個隨機詞。因此,表示空間中某些中間結果很可能對應于無意義的句子片段。我們希望使這些中間結果的分數小于真實句子片段的分數。這可以通過一個適當的排序損失函數來表達。然后使用簡單的梯度下降步驟調整所有模塊的參數。重復這種迭代過程,對應于對一個明確定義的損失函數進行隨機梯度下降優化。然而,有證據表明,如果從較短的片段和有限的詞匯量開始,訓練會快得多。
Etter(2009)使用類似的過程獲得了初步結果。從英文維基百科的轉儲文件(6億詞)中提取了長度為5的句子片段。詞匯表限制為最頻繁出現的1000個詞,并使用Collobert等人(2011)的嵌入進行初始化。初始句子片段的括號結構是隨機構建的。為了研究得到的系統如何將詞序列映射到表示空間,構建了500個最常見詞的所有兩詞序列,并將其映射到表示空間。圖9展示了其中一些序列在表示空間中的最近鄰。由于計算成本隨序列長度呈指數增長,因此這種分析僅限于兩詞序列。
Socher等人(2010,2011)獨立地使用標注過的賓州樹庫(Penn TreeBank)的華爾街日報(WSJ)部分,以監督的方式訓練了一個類似的系統。盡管這是一個小得多的語料庫(約100萬詞),但他們得到了有意義的表示。例如,他們報告說,“decline to comment”(拒絕評論)和“would not disclose the terms”(不會透露條款)這兩個短語在誘導的嵌入空間中是接近的。監督訓練方法還提供了一種更客觀的方式來評估結果,因為可以將系統的括號化性能與已建立的解析器進行比較。他們報告的括號化性能與2000年代的統計解析系統相當。
圖9還說明了我們不能期望將意義簡化為兩個向量的接近性。盡管存在語義相似性,但在許多上下文中,“four men”(四個男人)和“two women”(兩個女人)之間的差異可能是本質性的。我們并不認為向量表示是意義的表示。相反,我們設想訓練專門的模塊,將向量表示投影到更適合完成感興趣語義任務的新表示中。向量表示空間的拓撲結構僅作為歸納偏差,轉移一些在無監督訓練任務中獲得的知識。
因此,還有很多工作要做,包括(i)穩健地處理訓練過程的所有數值方面,(ii)無縫地使用有監督和無監督語料庫進行訓練,(iii)使用知名的自然語言處理基準來評估句子片段表示的價值,以及(iv)找到更好的方法來導航這些句子片段表示。我們現在引入一個新模塊來解決最后一個問題。
解離模塊 D 是關聯模塊的逆,即一個可訓練的函數,它從一個向量計算出表示空間中的兩個向量。當其輸入是有意義的關聯模塊的輸出時,其輸出應該是關聯模塊的兩個輸入。將一個關聯模塊實例和一個解離模塊實例堆疊起來,相當于一個自編碼器(見圖10左側)。遞歸應用解離模塊為遍歷由關聯模塊堆疊計算出的層次化表示提供了一種方便的手段(見圖10右側)。這種遞歸自關聯記憶(RAAM)被提出作為一種連接主義的無限遞歸結構的表示(Pollack 1990)。Hinton(1990)和Plate(1994)也提出了類似的想法。
解離模塊的定義域并不明顯。給定表示空間中的一個向量,我們需要知道它是否是由兩個更基本的向量關聯而成的,或者是否應該被視為原子的。Sperduti(1994)為此目的定義和比較了各種標記方案。然而,使用顯著性評分模塊(見圖7)來指定解離模塊的定義域可能更簡單:只有足夠有意義的關聯才能被解離。
解離模塊的定義意味著關聯模塊是單射的:其輸出唯一定義了其輸入。這一代數屬性并未被上一節概述的訓練過程所強制執行。因此,有必要同時訓練關聯和解離模塊。這可以通過在早期損失函數(見圖8)中增加項來實現,這些項將解離模塊應用于每個假定有意義的中間表示,并衡量其輸出與相應關聯模塊的輸入有多接近。
關聯和解離模塊類似于Lisp計算機編程語言中用于導航列表和樹的基本操作 cons、car 和 cdr。這些原語可以用來構造和導航任意命題邏輯表達式。主要區別在于表示空間的性質。我們不是使用指針和原子實現的離散空間,而是使用連續表示空間中的向量。一方面,我們可以構造的結構的深度受到數值精度問題的限制。另一方面,表示空間中的數值接近性是有意義的(見圖3和圖9)。這一屬性降低了搜索算法的計算成本。這就是多層隨機梯度算法能夠首先發現有意義的中間表示的原因。
一旦我們構建了使用連續表示表示任意短語的手段,我們就可以考慮訓練各種模塊。例如,考慮一個可訓練模塊,它將句子的現在時態的表示轉換為過去時態的句子。然后我們可以解析一個初始句子并構建其表示,將表示轉換為同一句子的過去時態的表示,并使用解離模塊重建轉換后的句子。我們能通過這種操作走多遠,仍然是一個完全開放的問題。
關聯和解離模塊不限于自然語言處理任務。許多用于場景分類和目標識別的最先進的系統使用強局部特征(如SIFT或HOG特征)的組合,并沿著金字塔結構進行整合(例如,Ponce等人,2006)。類似的金字塔結構長期以來一直與視覺皮層相關聯(Wiesel和Hubel,1962;Riesenhuber和Poggio,2003)。卷積神經網絡利用了同樣的想法(例如,LeCun等人,1998;LeCun等人,2004)。將這種金字塔結構解釋為關聯模塊的遞歸應用是相對直接的(例如,Lonardi等人,1994)。
許多金字塔結構的缺點是其空間池化層的固定幾何形狀。由于局部特征是根據預定義的模式進行聚合的,金字塔的上層以較差的空間和方向精度表示數據。這就是為什么金字塔識別系統通常作為圖像分割工具表現不佳的原因。例如,我們設計了一個大型卷積神經網絡(Grangier等人,2009),用于識別和標記LabelMe語料庫(Russell等人,2008)中城市場景中的目標。該系統提供了良好的目標識別準確率,但分割結果較為粗糙(見圖11)。
自然語言處理系統中描述的解析機制為我們提供了一種繞開這一限制的方法。讓我們將中間表示與圖像區域相關聯。最初,圖像區域是用于計算局部特征的小塊。在評估每個潛在關聯的顯著性的評分模塊的指導下,關聯模塊可以機會性地聚合附加到兩個相鄰區域的表示,并生成一個新的表示,附加到輸入區域的聯合上??梢允褂蒙弦还澲薪忉尩姆椒?,以有監督和無監督模式訓練這樣的系統。Socher等人(2011)使用類似的有監督訓練方案,獲得了令人印象深刻的像素級圖像分割和標記結果(圖12)。
進一步的代數約束可以豐富這樣的視覺系統。例如,我們可以考慮將表示空間中的向量轉換為考慮初始圖像的仿射變換的模塊。也許更有趣的是,我們可以考慮將表示向量轉換為考慮觀察者位置變化的模塊。由于這種視角變化會改變遮擋模式(例如,Hoiem等人,2007),這些模塊為場景的三維幾何結構提供了一種解釋。由于視角變化也可以揭示或隱藏整個物體,這些模塊可以想象為構建一個實現物體永恒性(Piaget 1937)的視覺系統的工具。
最后,我們還可以設想將圖像表示轉換為句子表示以及反之的模塊。訓練這樣的模塊將提供將句子和圖像聯系起來的手段。給定一張圖像,我們就可以解析圖像,將最終的圖像表示轉換為句子表示,并應用解離模塊重建句子。反之,給定一個句子,我們可以通過類似的方法生成與之相關的圖像的草圖。需要大量工作來明確這種轉換的語義性質。
7 通用解析器
讓我們回到確定應用關聯模塊的最有意義的方式的問題上,這被簡潔地定義為最大化排名組件為所有中間結果計算的分數之和。
圖13展示了一個最大化算法模板,其主要元素是一個能夠存儲表示向量集合的短期記憶(STM)。兩種可能的操作是:(1)將一個新的表示向量插入短期記憶中,以及(2)從短期記憶中取出兩個表示向量,應用關聯模塊 A 并用組合后的表示向量替換它們。每次應用關聯模塊都使用顯著性評分模塊 R 進行評分。當兩種操作都無法進行時,即短期記憶中只剩下一個表示向量且沒有更多的表示向量可以插入時,算法終止。
主要的算法設計選擇是決定哪個表示向量(如果有)應該插入短期記憶,以及從短期記憶中取出的哪兩個表示向量(如果有)應該被關聯。這些設計選擇隨后決定了實現短期記憶的最合適數據結構。例如,在英語中,幾乎所有在語法上有意義的句子片段都是單詞的連續序列。因此,將短期記憶實現為一個棧并構建一個移進/歸約解析器是很有吸引力的:第一個動作(“移進”)包括選擇下一個句子單詞并將其表示推入棧頂;第二個動作(“歸約”)包括應用關聯模塊到棧的頂部兩個元素,并用結果表示替換它們。問題隨后簡化為確定執行哪一系列動作以最大化顯著性分數之和。即使在這種簡單的情況下,可能動作的圖也會隨著句子長度的增加而呈指數增長。
幸運的是,啟發式束搜索技術可用于高效地探索這一圖。它們還可以處理短期記憶的更復雜組織方式。這些啟發式方法通常不會顯著增加計算復雜度。貪婪解析算法是一個極端的例子,它首先將所有詞的表示插入短期記憶,然后反復關聯具有最高關聯顯著性的兩個表示向量。通過簡單地嘗試各種折中方案,可以發現哪種方法最適合每個具體的應用。
這種解析算法模板與認知心理學中關于短期記憶的一些觀點是一致的。特別是,Miller(1956)認為人類短期記憶可以容納大約七加減兩個信息塊。信息塊被寬泛地定義為主體能夠識別為一個實體的信息片段。這種定義取決于主體的知識,即其長期記憶的內容。在解析算法模板的情況下,長期記憶由關聯模塊 A 和評分模塊 R 的可訓練參數來表示。
8 更多模塊
前面的章節主要討論了關聯和解離模塊。它們還簡要提到了幾個額外的模塊:對自然語言句子執行預定義轉換的模塊;實現特定視覺推理原語的模塊;以及連接句子表示和圖像表示的模塊。這些模塊通過為表示向量空間賦予額外的語義,豐富了代數推理結構。
- 自然語言處理中的增強框架:在自然語言處理的情況下,有一種自然的框架可以進行這種增強。操作符語法(Harris 1968)基于轉換操作符為自然語言提供了一種數學描述:從基本句型開始,更復雜的句子通過連續應用句子轉換操作符來描述。句子的結構和意義是這些連續轉換的副產品。由于關聯和解離模塊提供了遍歷句子結構的手段,我們有了復制Harris描述的句子轉換操作符并建立與這一重要語言學研究聯系的必要工具。
- 視覺中的增強框架:在視覺的情況下,也有一種自然的框架可以進行這種增強。在表示向量上工作的模塊可以模擬各種干預的后果。視角變化會導致圖像旋轉、圖像縮放、透視變化和遮擋變化。我們還可以設想模塊模擬對場景的直接干預(如移動一個物體)在表示空間中的后果。
還有機會超越僅僅利用表示空間結構的模塊。正如前面解釋的,關聯和解離模塊在代數上等同于Lisp語言的基本操作符car、cdr和cons,像這些操作符一樣,提供了構建任意命題邏輯表達式的手段。添加變量和量詞將提供一階邏輯的實現。盡管存在連接主義和機器學習方法來處理變量綁定(例如,Smolensky 1990;Plate 1994;Khardon和Roth 1997),但它們無法避免一階邏輯問題的計算復雜性。那么,是否可以識別出人類輕松進行非正式和直觀推理所必需的能力呢?以下是兩個例子:
- 代詞消解:代詞消解包括識別樹的哪些部分指代同一實體。這相當于在一階邏輯表達式中識別同一個變量的多次出現,或者在自然語言句子中解決代詞問題。這可以通過構建一個實例化模塊來實現,該模塊接受樹的表示向量,并對樹中指定實體的所有出現應用預定義的替換。
- 識別合理的實例化:可以通過一個可訓練模塊來實現,當兩個表示向量之間存在“isKindOf”關系時,該模塊返回高分。然而,這種本體論通常依賴于上下文。例如,在家庭環境中,貓和烏龜是寵物的種類,而在生物分類的上下文中,它們屬于不同的科。受限的推導評分模塊接受兩個結構相似的樹的表示,并在第一棵樹是第二棵樹的有效實例化時返回高分。這個分數表達了在其余樹的上下文中不同樹分支之間的關系。
9 表示空間
盡管上一節將基本模塊呈現為在相對低維向量空間(例如,50維向量)上操作的函數,但具有類似代數屬性的模塊可以在不同的表示空間中定義。這樣的選擇對訓練算法的計算和實際方面有很大的影響,因此需要進行調查。
我們的初步結果是使用相對低維的密集向量獲得的,維度范圍從20到200(例如,Collobert等人,2011)。為了提供足夠的能力,可訓練函數通常必須設計成具有非線性參數化。訓練算法是多層網絡訓練程序的簡單擴展,使用梯度反向傳播和隨機梯度下降。這些非凸優化程序本質上是復雜的,常常因其缺乏魯棒性而受到批評。另一方面,當正確實現時,它們通常是解決大規模機器學習問題的最有效方法。
在更高維度空間中使用稀疏向量是很有吸引力的,因為它們提供了更多依賴于具有線性參數化的可訓練模塊的機會(例如,Paccanaro和Hinton 2001;Mairal等人 2010)。然后訓練算法可以利用更簡單的優化程序。為了保持良好的泛化能力和良好的計算性能,必須在優化標準中包含稀疏性誘導項。這些項也使優化更加復雜,可能會抵消稀疏高維向量的潛在好處。
表示空間也可以是定義在離散隨機變量向量上的概率分布空間。然后學習算法通常被表示為隨機抽樣技術,如吉布斯抽樣、馬爾可夫鏈蒙特卡洛、對比散度(Hinton等人,2006)或牧羊(Welling 2009)。
無論選擇哪種表示空間,精心設計的GPU實現都可以顯著加快實驗周期。例如,訓練Collobert等人(2011)的語言模型需要在標準處理器上進行三到六周的計算。將訓練時間縮短到幾天會改變實驗的動態。
10 結論
本文概述的研究方向旨在努力從實踐和概念上理解機器學習與機器推理之間的相互作用。與其試圖彌合機器學習系統和復雜的“通用”推理機制之間的差距,我們不如代數式地豐富適用于訓練系統的操作集合,并從基礎開始構建推理能力。這種方法可能會提供機會,以新的方式繞開邏輯推理和概率推理的局限性。如果事實證明如此,我們可以謹慎地希望在通往人工智能的道路上邁出幾步。
原文鏈接: https://link.springer.com/article/10.1007/S10994-013-5335-X
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.