日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

论文浅尝 | 神经协同推理

發布時間:2024/7/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论文浅尝 | 神经协同推理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文筆記整理:葉橄強,浙江大學計算機學院,知識圖譜和知識推理方向。


Paper link:?

https://arxiv.org/abs/2005.08129

Github link:?

https://github.com/Scagin/NeuralLogicReasoning

背景:推薦任務

推薦作為一種認知智能任務(Cognition Intelligent Task)而非感知智能任務(Perception Intelligent Task),不僅需要數據的模式識別和匹配能力,還需要數據的邏輯推理能力。因此,本文的核心思想是在可微神經網絡和符號推理之間建立橋梁,前者對應于模式識別和匹配能力,后者對應于邏輯推理能力,然后使這兩者在共享體系結構中進行優化和推理。

例如,在某個真實場景中,用戶曾經購買了一臺筆記本電腦。對于用戶而言,他更有可能在未來購買更多有關筆記本電腦的配件,例如筆記本電腦包等,而不是希望繼續購買類似的筆記本電腦。在這個例子中,「用戶希望購買筆記本電腦配件」的行為需要通過邏輯推理才能夠得到,這是符合真實場景的用戶需求的推薦;如果只是運用簡單的模式識別和匹配,很可能得到「用戶希望購買類似的筆記本電腦」這樣錯誤的預測。如下圖所示。

圖1用戶購買筆記本電腦的示例圖

協同過濾(Collaborative Filtering, CF)是推薦系統的一種重要方法,該算法能夠根據用戶以前的記錄預測用戶未來的偏好,其中的相似度匹配函數是人工設計定義的。早期的協同過濾算法,例如基于用戶的和基于項目的協同過濾算法,將原始用戶項目評分矩陣中的行和列向量作為用戶和項目的表示向量(即嵌入向量),利用人工設計的加權平均函數作為匹配函數f(·),計算出每個用戶u與商品候選項v之間的關聯度。具體如圖2(a)所示,其中u表示用戶,v表示商品。

更多研究進一步探索了協同過濾算法。其中一種方法是學習更好的嵌入,將時間和位置等上下文信息加入其中來學習信息嵌入,或者加入文本、圖像或者知識圖譜等各種異構信息源來豐富嵌入向量;另一種方法是使用更好的匹配函數。例如,用向量平移代替內積進行相似性匹配,或基于度量學習在線性空間中學習距離函數,甚至基于神經網絡學習非線性空間中的通用匹配函數。參考圖2(b),其中a、b、c表示加入的更加豐富的信息。

但是,本論文認為,推薦作為一種認知任務而非感知任務,不僅需要模式學習和匹配的能力,還需要認知推理的能力,因為用戶未來的行為可能不僅僅是由其與用戶先前行為的相似性驅動的,而是由用戶的認知推理程序決定下一步該做什么。因此本論文提出了新的思路,將每個用戶的行為記錄視為一個邏輯蘊涵規則,然后將邏輯表達式等價地轉換為基于邏輯神經模塊的神經體系結構,最后將可微神經網絡和符號推理這兩者在一個共享的體系結構中進行優化和推理。參考圖2(c),引入了邏輯推理運算。

圖2不同的協同過濾算法框架結構比較圖

概述

首先,本文模型利用模塊化邏輯神經網絡(Modularized Logical Neural Networks, MLNN)在共享架構中集成了嵌入學習和邏輯推理的能力。其次,邏輯正則化器(Logical Regularizer)學習每一個基本的邏輯運算,包括:AND與(∧)、OR或(∨)、NOT非(∨)。一個感知任務R。然后,推薦問題可以形式化為在給定用戶先前行為的情況下,估計未來行為v為真的概率,每個用戶的行為記錄被視為一個邏輯蘊涵規則,如(a∨b)∧c→v。最后,基于命題邏輯推理規則,將邏輯表達式(用戶先前的行為)歸結為評估正確或錯誤(T/F)問題。

本文的主要貢獻如下:

1.提出了一種新的神經邏輯推薦框架,將符號邏輯推理和連續嵌入學習聯系起來。

2.引入了邏輯正則化器作為約束來規范神經網絡的行為。

3.根據給定的邏輯表達式動態構造網絡結構,使邏輯先驗加入到神經網絡結構中。

4.實驗部分,在幾個真實的推薦數據集上進行實驗,以分析和評估框架的行為,并得到不錯的結果。


方法

本文方法分為四個步驟:首先,利用反饋推理(Reasoning with Feedback),將推薦任務形式化為一個邏輯推理問題;其次,利用邏輯模塊(Logical Module),根據給定的邏輯表達式,將邏輯運算動態組合成神經網絡;接著,利用邏輯正則化器(Logical Regularizer), 對神經模塊的行為進行正則化約束,使之按照預期的邏輯規則進行運算;最后,運用特定的學習算法,來訓練整個邏輯神經網絡模型。

1.反饋推理

反饋推理(Reasoning with Feedback)分為隱式反饋推理和顯式反饋推理。

(1)對于隱式反饋推理(Reasoning with Implicit Feedback),只知道用戶是否與某個項目交互,而不知道用戶是否喜歡該交互項目。假設一個用戶的交互歷史是項目a、b和c(,那么推薦項目v與否的問題就歸結為判斷以下蘊涵語句是真是假的問題:

在表達式中,邏輯變量a表示“用戶喜歡項目a”的事件,而?a表示“用戶不喜歡項目a”的事件。因此,通過將每個變量都代表一個命題,我們就能夠對這些變量進行命題推理,使用簡單的合取邏輯表達式來判斷用戶先前的行為是否意味著用戶喜歡一個新的項目v。。

基于蘊含表達式的定義(x → y ? ?x ∨ y),上述邏輯表達式可以僅使用基本邏輯運算和(∧)、或(∨)、非(?)來表達:

然后基于德摩根定律的定義(?(x ∧ y) ? ?x ∨ ?y 和?(x ∨ y) ? ?x ∧ ?y),該表達式可以進一步改寫為:

以上介紹了將推薦問題轉化為一個基于隱式反饋的推理問題,但是用戶的個性化信息沒有被編碼到推理過程中。在下面,我們進一步將項目擴展到事件以進行個性化推薦。

對于用戶和商品,將用戶和商品之間的交互行為表示為事件。于是,個性化推薦問題可以轉化為判斷根據推理得到的語句是否為真:

同理,該表達式可以進一步改寫為

(2)顯式反饋推理(Reasoning with Explicit Feedback)

有時用戶不僅會與項目交互,還會告訴我們該用戶是否喜歡該項目,即顯式反饋。該論文將這些顯式反饋引入到邏輯推理過程中,能夠提升模型的表達能力。

將隱式反饋中的事件eij定義進一步擴展,表示用戶對交互項目的態度。具體地說,我們使用eij來表示用戶ui與項目vj的交互具有正反饋,并使用?eij來表示用戶ui與項目vj的交互具有負反饋。表達式與之前相同,因此不再贅述。

2.邏輯模塊

邏輯模塊(Logical Module)使用多層感知器(Multi-Layer Perceptron, MLP)網絡,將用戶和項目的交互作用編碼為事件向量。下面的等式顯示了使用兩層神經網絡將一對用戶和項目向量編碼為一個事件向量:

其中,ui、vj為隨機初始化的用戶向量和商品向量,W1、W2為權重矩陣,b1、b2為偏差項,eij為編碼事件的向量,φ(·)為校正后的線性單元(ReLU)激活函數。

利用上式定義的事件向量,可以構建神經體系結構。我們將每個邏輯運算∧,∨, ?,表示為一個神經模塊AND(·, ·),OR(·, ·),NOT(·),而其中的每個神經模塊都是一個多層感知器網絡。例如,AND(·, ·)模塊以兩個事件向量e1和e2作為輸入,輸出一個新的事件嵌入,表示e1和e2同時發生的事件。基于這些定義,前面部分中描述的表達式可以表示為圖3中的結構框架。

圖3神經邏輯推理NLR框架的實施。帶有黃色和藍色圓圈的灰色框分別表示用戶向量和商品向量;帶綠色圓圈的藍色框表示邏輯空間中的事件向量;編碼器是對用戶-商品交互進行編碼的多層神經網絡;NOT和OR是神經邏輯模塊;虛線箭頭表示編碼事件的順序在每輪隨機洗牌。

為了確定表達式是否表示真或假,我們檢查最終事件向量是否接近邏輯空間中的常量真向量T(True)。真向量T是一個隨機初始化的錨向量,為邏輯空間中所有高維潛在向量建立了基礎,并且在初始化之后永遠不會被更新。如果一個向量代表真,那么這個向量應該接近這個真向量,否則它應該遠離這個真向量。該論文中使用了余弦相似度函數進行度量:

由于變量的數量(即交互作用)因用戶和而異,邏輯表達式的長度和結構也會有所不同。因此,對于不同的用戶神經網絡的結構是不同的,根據輸入表達式進行動態組裝。

3.邏輯正則化器

為了保證每個邏輯模塊在向量空間中,按照預期的邏輯表達式執行邏輯操作,該論文的方法在神經模塊中加入邏輯正則化器(Logical Regularizer)來約束它們的行為。

讓x表示一個事件嵌入,它可以是原始用戶項交互事件,也可以是邏輯神經網絡計算過程中的任何中間事件,也可以是邏輯表達式的最終事件嵌入。設X是所有事件嵌入的集合,Sim(·, ·)是一個相似度函數。如前所述,T是表示True的常量向量,在模型學習過程中隨機初始化且從不更新;F是表示False的向量,通過NOT(T)運算得到。

以雙重否定法則為例來說明邏輯正則化器的基本思想。對于NOT(·)模塊在向量空間進行求反運算,我們要求它滿足雙重否定法則:

該法則表示,任何經過兩次否定運算的事件向量都應該返回自身向量。為了約束求反模塊的行為,我們設計了一個正則化器來最大化NOT(NOT(x))和x的輸出之間的余弦相似性,這相當于最小化:

為了確保神經模塊不僅可以對初始輸入事件向量執行相同的操作,而且可以對所有中間隱藏事件和最終事件執行相同的操作,我們將正則化器應用于邏輯空間中的所有事件嵌入X,這給了我們雙反律的最終正則化器:

其中 |X| 是整個事件空間的大小。通過類似的方式,可以對所有邏輯表達式法則構建正則化器,如表所示:

表1 每個邏輯模塊應該滿足的邏輯法則和相應的表達式

值得注意的是,對于否定定律的正則化器,在這里是進行1 + sim() 操作而不是1 - sim() 操作,因為我們希望最大化NOT(x)和x之間的距離。

于是,根據正則化器的定義,得到這個部分的損失函數

當然,因為結合律和交換律不容易表示為正則化器,所以為了約束這兩個邏輯法則,該論文的解決辦法是在每次迭代過程中隨機地改變輸入事件的順序,使學習到的AND和OR模塊滿足這兩個法則。

4.學習算法(Learning Algorithm)

該論文使用成對學習算法進行模型訓練。具體來說,我們在訓練過程中對每個給定的表達式進行負采樣。假設我們知道用戶ui在項目vi之前與項目vi?1、vi?2、vi?3交互。然后我們可以抽樣另一個用戶沒有互動的項目vj。在此基礎上,我們用以下兩個表達式構建結構化神經網絡:

其中C代表正負樣例的表達式。

緊接著,我們可以得到一對真實性評價結果:

其中LNN是上文所述的邏輯神經網絡結構。

然后我們計算

來表示這兩個表達式之間的差異,并應用一個優化算法來最大化這個差異。。我們使用V?來表示負樣本集,并且V??V。

?????? 損失函數可以表示為:

式中,Θ表示模型的參數向量,λΘ是模型參數的Frobenius范數的權重,σ(·)是logistic sigmoid函數。

將邏輯正則化器與我們的成對學習損失結合起來,得到最終的損失函數:

其中λr是邏輯正則化器的權重。論文中對所有的邏輯正則化器應用相同的權重,因為它們對于正則化模型的邏輯行為同樣重要。

實驗

1.數據集

該論文主要使用了以下兩個數據集:

(1)ML100k:一個流行的數據集包括100000部電影的收視率;

(2)Amazon 5-core:亞馬遜電子商務數據集,包括用戶、商品和評級信息,涵蓋24個不同的類別。本論文中只使用電影和電視,以及電子產品這兩個類別的數據集。

2.評價指標

主要利用以下兩個指標來評價模型的top-K推薦性能:

(1)前K個標準化折現累積收益(Normalized Discounted Cumulative Gain at rank K,NDCG@K)。該指標主要衡量前K個預測序列中,越靠前的預測值是否與真實結果越接近。

(2)前K個命中率(Hit Ratio at rank K, HR@K)。該指標主要衡量前K個預測序列中,預測正確的預測值的比例。

3.基準方法

為了檢驗論文中所提出的神經邏輯推薦模型的有效性,與兩種傳統的淺層方法(Biased-MF和SVD++)、兩種深層模型(DMF和NeuMF)以及兩種基于會話的模型(GRU4Rec和STAMP)進行了比較。

4.實驗一:評估神經邏輯推理NLR框架的性能

表2 三個數據集的NDCG (N)和命中率Hit Ratio (HR)指標結果

為了評估神經邏輯推理NLR框架的性能,該論文展示了表2中所有數據集的結果,包括NDCG和命中率HR。表格中,NLR-I表示以隱式反饋作為輸入的模型,而NLR-E表示以顯式反饋為輸入的模型;表格最后一行表示,該論文的模型在之前最好效果的基準方法之上,評價指標進一步提升的百分比。結果表明,該論文提出的模型始終優于所有的比較方法。通過比較發現,基于淺矩陣分解的算法(Biased-MF和SVD++)在大多數度量上都具有相似的性能,而深度神經模型如DMF和NeuMF在某些任務上也能達到合理的性能。

由于該論文的模型使用了用戶歷史交互信息,因此將其與基于會話的推薦方法進行比較是更有意義。對于GRU4Rec和STAMP方法,他們都使用隱式反饋來訓練模型并利用序列信息。為了公平起見,將本論文中的隱式模型NLR-I與兩個基線方法進行了比較。報告的數據表明,我們的模型能夠與基于會話的模型進行競爭,并且在本文的邏輯神經網絡在使用較少信息的情況下,仍然可以明顯優于其他兩個基于會話的模型

5.實驗二:論證邏輯正則化器的有效性

圖4兩項指標NDCG@10(紅色折線)和Hit@10(藍色折線)根據邏輯正則化器權重參數λr的變化圖

從圖4(a)-(c)中可以看出,將邏輯正則化器的權重λr賦值為0.1將達到最佳性能。實驗表明,將邏輯約束應用到神經網絡中的確可以提高推薦性能,但是這些邏輯約束的權重需要仔細調整。無論約束太弱或太強,都會對推薦模型的性能產生負面影響。

在表2中,NLR-Emod顯示了我們的顯式反饋模型在不使用邏輯正則化器(即λr=0)的情況下的性能。通過比較NLR-Emod和NLR-E,可以看出使用邏輯正則化器可以提高推薦性能。

6.實驗三:論證結構中的邏輯先驗的有效性

本論文提出的邏輯神經網絡結構具有兩個重要特征:模塊化和邏輯正則化。模塊化是指根據邏輯表達式動態地組裝神經結構。每個網絡模塊負責一個特定的操作,整個網絡結構在邏輯表達式上各不相同。因此在訓練和測試過程中,不同的用戶和項目交互歷史會導致不同的網絡結構,這與傳統的網絡結構靜態的深度學習模型有很大的不同。

正如前文中提到的,同樣的邏輯語句可以寫成邏輯上相同但實際上字符不同的表達式,不同的表達式將導致我們模型中不同的網絡結構。前面的建模和實驗是使用了兩個邏輯運算(?, ∨)表達式來構建網絡結構,在這里探索使用其他邏輯上相同但實際上不同的表達式來構建網絡結構,會對實驗結果產生什么影響。

圖5 遵循邏輯優先級(a)和違反邏輯優先級(b)的網絡結構之間的比較

論文定義了兩種不同的網絡結構來進行對比說明。一種是邏輯等價模型(Equivalent Model, EqModel),即仍然使用邏輯表達式來建模任務,只是它被表示為,而不是我們之前使用的。圖5(a)顯示了邏輯等價模型的網絡結構,可以看到雖然這個模型在邏輯上等價于NLR,但是神經結構是不同的。除此以外,原網絡只需要訓練兩個邏輯操作模塊(?, ∨),而新網絡需要訓練三個邏輯操作模塊(?, ∧, ∨)。

另一個模型是邏輯上不等價的模型,稱為比較模型(Comparative Model, CMPModel)。我們應用邏輯表達式來構建神經結構,等價于。圖5(b)顯示了CMPModel的網絡結構,可以看到模型試圖使用未來事件來預測之前的事件,這違反了我們對推薦任務的邏輯直覺。

表3 不同邏輯結構下的評分排名

從表3的結果中我們有兩個關鍵的觀察結果。首先,我們看到NLR-E和EqModel始終優于GRU4Rec方法,而CMPModel通常并沒有明顯地優于GRU4Rec方法。此外,CMPModel比原來的NLR-E模型差得多,說明正確合理的邏輯結構對模型的性能至關重要。

另一個觀察結果是比較NLR-E和EqModel。通過觀察兩個模型之間的p值,我們發現這兩個模型在ML100k數據集上具有可比性(即NLR-e并不明顯優于EqModel),而NLR-E在兩個Amazon數據集上確實明顯優于EqModel。造成這種結果的根本原因可能來自兩個因素,分別是模型的復雜性和數據的充分性。就數據集本身的特征而言,MovieLens數據集比Amazon數據集密集2個數量級。由于NLR-E和EqModel在邏輯上是等價的,所以當訓練數據足夠時,它們可以獲得不相上下的性能。然而,NLR-E只需要訓練兩種邏輯操作的神經模塊 (?, ∨),而EqModel需要訓練三個邏輯操作的神經模塊(?, ∧, ∨),因此EqModel比NLR-E具有更高的模型復雜度,因此在訓練數據稀疏的情況下,NLR-E可以獲得更好的性能。

這部分實驗證明,對于一個特定的任務使用一個合理的邏輯先驗表達式是很重要的。當存在多個邏輯等價結構時,使用更簡單的網絡結構(即更少的模塊)而不是復雜的網絡結構,往往能夠有更好的實驗效果。

7.實驗四:探索布爾邏輯建模

在本論文提出的模型并沒有對事件向量進行約束,因此它們可以被學習為邏輯空間中的靈活向量表示。在本實驗中,嘗試將任何事件向量都只能是為T向量或F向量的約束條件,來探討是否可以基于布爾邏輯對推薦任務進行建模。

首先拼接用戶向量u和項目向量v,并將其輸入到編碼器網絡中。在進一步將編碼事件向量輸入邏輯神經網絡之前,計算該事件嵌入與T向量或F向量之間的均方誤差(Mean Square Error, MSE),其中兩個向量x和y之間的均方差定義為。如果用戶對項目有正反饋,我們最小化事件向量和T向量之間的均方差,否則計算與F向量之間的均方差,因此預測損失函數寫為:

其中G代表基本真實向量,即T向量或F向量,取決于用戶對該項的喜歡或不喜歡該項目。然后,我們將該損失加到模型損失函數中,以獲得以下新的損失函數:

式中,λp是預測損失的權重。通過加入這個損失,模型試圖將事件向量兩極化為T向量或者F向量。

圖6在ML100k數據集上,改變不同損失權重λp的增加對指標NDCG@10的影響

從實驗結果可以看出,隨著預測損失權重的增加排序性能顯著下降。較大的λp會限制潛在嵌入的表達能力,進而限制邏輯神經網絡對推薦任務進行正確建模的能力。實驗表明,在邏輯空間中將嵌入學習的能力融入到邏輯推理中,對于精確決策是非常重要的


總結

本文提出了一種新的神經邏輯推薦(NLR)框架,能夠將邏輯結構和神經網絡相結合,將推薦任務轉化為一個邏輯推理任務。實驗表明,相較于以往的基準方法,該論文提出的方法在推薦任務上有顯著的改進。

文章中進行了進一步的實驗,根據不同的實驗設置下,探索該模型為什么能獲得良好的性能。實驗結果表明,適當的邏輯正則化有助于提高推薦性能。在推薦系統引入可解釋性可以使得決策過程更加透明。


?

OpenKG

開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。

點擊閱讀原文,進入 OpenKG 博客。

總結

以上是生活随笔為你收集整理的论文浅尝 | 神经协同推理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。