论文浅尝 | 神经协同推理
論文筆記整理:葉橄強(qiáng),浙江大學(xué)計(jì)算機(jī)學(xué)院,知識(shí)圖譜和知識(shí)推理方向。
Paper link:?
https://arxiv.org/abs/2005.08129
Github link:?
https://github.com/Scagin/NeuralLogicReasoning
背景:推薦任務(wù)
推薦作為一種認(rèn)知智能任務(wù)(Cognition Intelligent Task)而非感知智能任務(wù)(Perception Intelligent Task),不僅需要數(shù)據(jù)的模式識(shí)別和匹配能力,還需要數(shù)據(jù)的邏輯推理能力。因此,本文的核心思想是在可微神經(jīng)網(wǎng)絡(luò)和符號(hào)推理之間建立橋梁,前者對(duì)應(yīng)于模式識(shí)別和匹配能力,后者對(duì)應(yīng)于邏輯推理能力,然后使這兩者在共享體系結(jié)構(gòu)中進(jìn)行優(yōu)化和推理。
例如,在某個(gè)真實(shí)場(chǎng)景中,用戶曾經(jīng)購(gòu)買了一臺(tái)筆記本電腦。對(duì)于用戶而言,他更有可能在未來(lái)購(gòu)買更多有關(guān)筆記本電腦的配件,例如筆記本電腦包等,而不是希望繼續(xù)購(gòu)買類似的筆記本電腦。在這個(gè)例子中,「用戶希望購(gòu)買筆記本電腦配件」的行為需要通過(guò)邏輯推理才能夠得到,這是符合真實(shí)場(chǎng)景的用戶需求的推薦;如果只是運(yùn)用簡(jiǎn)單的模式識(shí)別和匹配,很可能得到「用戶希望購(gòu)買類似的筆記本電腦」這樣錯(cuò)誤的預(yù)測(cè)。如下圖所示。
圖1用戶購(gòu)買筆記本電腦的示例圖
協(xié)同過(guò)濾(Collaborative Filtering, CF)是推薦系統(tǒng)的一種重要方法,該算法能夠根據(jù)用戶以前的記錄預(yù)測(cè)用戶未來(lái)的偏好,其中的相似度匹配函數(shù)是人工設(shè)計(jì)定義的。早期的協(xié)同過(guò)濾算法,例如基于用戶的和基于項(xiàng)目的協(xié)同過(guò)濾算法,將原始用戶項(xiàng)目評(píng)分矩陣中的行和列向量作為用戶和項(xiàng)目的表示向量(即嵌入向量),利用人工設(shè)計(jì)的加權(quán)平均函數(shù)作為匹配函數(shù)f(·),計(jì)算出每個(gè)用戶u與商品候選項(xiàng)v之間的關(guān)聯(lián)度。具體如圖2(a)所示,其中u表示用戶,v表示商品。
更多研究進(jìn)一步探索了協(xié)同過(guò)濾算法。其中一種方法是學(xué)習(xí)更好的嵌入,將時(shí)間和位置等上下文信息加入其中來(lái)學(xué)習(xí)信息嵌入,或者加入文本、圖像或者知識(shí)圖譜等各種異構(gòu)信息源來(lái)豐富嵌入向量;另一種方法是使用更好的匹配函數(shù)。例如,用向量平移代替內(nèi)積進(jìn)行相似性匹配,或基于度量學(xué)習(xí)在線性空間中學(xué)習(xí)距離函數(shù),甚至基于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)非線性空間中的通用匹配函數(shù)。參考圖2(b),其中a、b、c表示加入的更加豐富的信息。
但是,本論文認(rèn)為,推薦作為一種認(rèn)知任務(wù)而非感知任務(wù),不僅需要模式學(xué)習(xí)和匹配的能力,還需要認(rèn)知推理的能力,因?yàn)橛脩粑磥?lái)的行為可能不僅僅是由其與用戶先前行為的相似性驅(qū)動(dòng)的,而是由用戶的認(rèn)知推理程序決定下一步該做什么。因此本論文提出了新的思路,將每個(gè)用戶的行為記錄視為一個(gè)邏輯蘊(yùn)涵規(guī)則,然后將邏輯表達(dá)式等價(jià)地轉(zhuǎn)換為基于邏輯神經(jīng)模塊的神經(jīng)體系結(jié)構(gòu),最后將可微神經(jīng)網(wǎng)絡(luò)和符號(hào)推理這兩者在一個(gè)共享的體系結(jié)構(gòu)中進(jìn)行優(yōu)化和推理。參考圖2(c),引入了邏輯推理運(yùn)算。
圖2不同的協(xié)同過(guò)濾算法框架結(jié)構(gòu)比較圖
概述
首先,本文模型利用模塊化邏輯神經(jīng)網(wǎng)絡(luò)(Modularized Logical Neural Networks, MLNN)在共享架構(gòu)中集成了嵌入學(xué)習(xí)和邏輯推理的能力。其次,邏輯正則化器(Logical Regularizer)學(xué)習(xí)每一個(gè)基本的邏輯運(yùn)算,包括:AND與(∧)、OR或(∨)、NOT非(∨)。一個(gè)感知任務(wù)R。然后,推薦問(wèn)題可以形式化為在給定用戶先前行為的情況下,估計(jì)未來(lái)行為v為真的概率,每個(gè)用戶的行為記錄被視為一個(gè)邏輯蘊(yùn)涵規(guī)則,如(a∨b)∧c→v。最后,基于命題邏輯推理規(guī)則,將邏輯表達(dá)式(用戶先前的行為)歸結(jié)為評(píng)估正確或錯(cuò)誤(T/F)問(wèn)題。
本文的主要貢獻(xiàn)如下:
1.提出了一種新的神經(jīng)邏輯推薦框架,將符號(hào)邏輯推理和連續(xù)嵌入學(xué)習(xí)聯(lián)系起來(lái)。
2.引入了邏輯正則化器作為約束來(lái)規(guī)范神經(jīng)網(wǎng)絡(luò)的行為。
3.根據(jù)給定的邏輯表達(dá)式動(dòng)態(tài)構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu),使邏輯先驗(yàn)加入到神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中。
4.實(shí)驗(yàn)部分,在幾個(gè)真實(shí)的推薦數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),以分析和評(píng)估框架的行為,并得到不錯(cuò)的結(jié)果。
方法
本文方法分為四個(gè)步驟:首先,利用反饋推理(Reasoning with Feedback),將推薦任務(wù)形式化為一個(gè)邏輯推理問(wèn)題;其次,利用邏輯模塊(Logical Module),根據(jù)給定的邏輯表達(dá)式,將邏輯運(yùn)算動(dòng)態(tài)組合成神經(jīng)網(wǎng)絡(luò);接著,利用邏輯正則化器(Logical Regularizer), 對(duì)神經(jīng)模塊的行為進(jìn)行正則化約束,使之按照預(yù)期的邏輯規(guī)則進(jìn)行運(yùn)算;最后,運(yùn)用特定的學(xué)習(xí)算法,來(lái)訓(xùn)練整個(gè)邏輯神經(jīng)網(wǎng)絡(luò)模型。
1.反饋推理
反饋推理(Reasoning with Feedback)分為隱式反饋推理和顯式反饋推理。
(1)對(duì)于隱式反饋推理(Reasoning with Implicit Feedback),只知道用戶是否與某個(gè)項(xiàng)目交互,而不知道用戶是否喜歡該交互項(xiàng)目。假設(shè)一個(gè)用戶的交互歷史是項(xiàng)目a、b和c(,那么推薦項(xiàng)目v與否的問(wèn)題就歸結(jié)為判斷以下蘊(yùn)涵語(yǔ)句是真是假的問(wèn)題:
在表達(dá)式中,邏輯變量a表示“用戶喜歡項(xiàng)目a”的事件,而?a表示“用戶不喜歡項(xiàng)目a”的事件。因此,通過(guò)將每個(gè)變量都代表一個(gè)命題,我們就能夠?qū)@些變量進(jìn)行命題推理,使用簡(jiǎn)單的合取邏輯表達(dá)式來(lái)判斷用戶先前的行為是否意味著用戶喜歡一個(gè)新的項(xiàng)目v。。
基于蘊(yùn)含表達(dá)式的定義(x → y ? ?x ∨ y),上述邏輯表達(dá)式可以僅使用基本邏輯運(yùn)算和(∧)、或(∨)、非(?)來(lái)表達(dá):
然后基于德摩根定律的定義(?(x ∧ y) ? ?x ∨ ?y 和?(x ∨ y) ? ?x ∧ ?y),該表達(dá)式可以進(jìn)一步改寫為:
以上介紹了將推薦問(wèn)題轉(zhuǎn)化為一個(gè)基于隱式反饋的推理問(wèn)題,但是用戶的個(gè)性化信息沒(méi)有被編碼到推理過(guò)程中。在下面,我們進(jìn)一步將項(xiàng)目擴(kuò)展到事件以進(jìn)行個(gè)性化推薦。
對(duì)于用戶和商品,將用戶和商品之間的交互行為表示為事件。于是,個(gè)性化推薦問(wèn)題可以轉(zhuǎn)化為判斷根據(jù)推理得到的語(yǔ)句是否為真:
同理,該表達(dá)式可以進(jìn)一步改寫為
(2)顯式反饋推理(Reasoning with Explicit Feedback)
有時(shí)用戶不僅會(huì)與項(xiàng)目交互,還會(huì)告訴我們?cè)撚脩羰欠裣矚g該項(xiàng)目,即顯式反饋。該論文將這些顯式反饋引入到邏輯推理過(guò)程中,能夠提升模型的表達(dá)能力。
將隱式反饋中的事件eij定義進(jìn)一步擴(kuò)展,表示用戶對(duì)交互項(xiàng)目的態(tài)度。具體地說(shuō),我們使用eij來(lái)表示用戶ui與項(xiàng)目vj的交互具有正反饋,并使用?eij來(lái)表示用戶ui與項(xiàng)目vj的交互具有負(fù)反饋。表達(dá)式與之前相同,因此不再贅述。
2.邏輯模塊
邏輯模塊(Logical Module)使用多層感知器(Multi-Layer Perceptron, MLP)網(wǎng)絡(luò),將用戶和項(xiàng)目的交互作用編碼為事件向量。下面的等式顯示了使用兩層神經(jīng)網(wǎng)絡(luò)將一對(duì)用戶和項(xiàng)目向量編碼為一個(gè)事件向量:
其中,ui、vj為隨機(jī)初始化的用戶向量和商品向量,W1、W2為權(quán)重矩陣,b1、b2為偏差項(xiàng),eij為編碼事件的向量,φ(·)為校正后的線性單元(ReLU)激活函數(shù)。
利用上式定義的事件向量,可以構(gòu)建神經(jīng)體系結(jié)構(gòu)。我們將每個(gè)邏輯運(yùn)算∧,∨, ?,表示為一個(gè)神經(jīng)模塊AND(·, ·),OR(·, ·),NOT(·),而其中的每個(gè)神經(jīng)模塊都是一個(gè)多層感知器網(wǎng)絡(luò)。例如,AND(·, ·)模塊以兩個(gè)事件向量e1和e2作為輸入,輸出一個(gè)新的事件嵌入,表示e1和e2同時(shí)發(fā)生的事件。基于這些定義,前面部分中描述的表達(dá)式可以表示為圖3中的結(jié)構(gòu)框架。
圖3神經(jīng)邏輯推理NLR框架的實(shí)施。帶有黃色和藍(lán)色圓圈的灰色框分別表示用戶向量和商品向量;帶綠色圓圈的藍(lán)色框表示邏輯空間中的事件向量;編碼器是對(duì)用戶-商品交互進(jìn)行編碼的多層神經(jīng)網(wǎng)絡(luò);NOT和OR是神經(jīng)邏輯模塊;虛線箭頭表示編碼事件的順序在每輪隨機(jī)洗牌。
為了確定表達(dá)式是否表示真或假,我們檢查最終事件向量是否接近邏輯空間中的常量真向量T(True)。真向量T是一個(gè)隨機(jī)初始化的錨向量,為邏輯空間中所有高維潛在向量建立了基礎(chǔ),并且在初始化之后永遠(yuǎn)不會(huì)被更新。如果一個(gè)向量代表真,那么這個(gè)向量應(yīng)該接近這個(gè)真向量,否則它應(yīng)該遠(yuǎn)離這個(gè)真向量。該論文中使用了余弦相似度函數(shù)進(jìn)行度量:
由于變量的數(shù)量(即交互作用)因用戶和而異,邏輯表達(dá)式的長(zhǎng)度和結(jié)構(gòu)也會(huì)有所不同。因此,對(duì)于不同的用戶神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是不同的,根據(jù)輸入表達(dá)式進(jìn)行動(dòng)態(tài)組裝。
3.邏輯正則化器
為了保證每個(gè)邏輯模塊在向量空間中,按照預(yù)期的邏輯表達(dá)式執(zhí)行邏輯操作,該論文的方法在神經(jīng)模塊中加入邏輯正則化器(Logical Regularizer)來(lái)約束它們的行為。
讓x表示一個(gè)事件嵌入,它可以是原始用戶項(xiàng)交互事件,也可以是邏輯神經(jīng)網(wǎng)絡(luò)計(jì)算過(guò)程中的任何中間事件,也可以是邏輯表達(dá)式的最終事件嵌入。設(shè)X是所有事件嵌入的集合,Sim(·, ·)是一個(gè)相似度函數(shù)。如前所述,T是表示True的常量向量,在模型學(xué)習(xí)過(guò)程中隨機(jī)初始化且從不更新;F是表示False的向量,通過(guò)NOT(T)運(yùn)算得到。
以雙重否定法則為例來(lái)說(shuō)明邏輯正則化器的基本思想。對(duì)于NOT(·)模塊在向量空間進(jìn)行求反運(yùn)算,我們要求它滿足雙重否定法則:
該法則表示,任何經(jīng)過(guò)兩次否定運(yùn)算的事件向量都應(yīng)該返回自身向量。為了約束求反模塊的行為,我們?cè)O(shè)計(jì)了一個(gè)正則化器來(lái)最大化NOT(NOT(x))和x的輸出之間的余弦相似性,這相當(dāng)于最小化:
為了確保神經(jīng)模塊不僅可以對(duì)初始輸入事件向量執(zhí)行相同的操作,而且可以對(duì)所有中間隱藏事件和最終事件執(zhí)行相同的操作,我們將正則化器應(yīng)用于邏輯空間中的所有事件嵌入X,這給了我們雙反律的最終正則化器:
其中 |X| 是整個(gè)事件空間的大小。通過(guò)類似的方式,可以對(duì)所有邏輯表達(dá)式法則構(gòu)建正則化器,如表所示:
表1 每個(gè)邏輯模塊應(yīng)該滿足的邏輯法則和相應(yīng)的表達(dá)式
值得注意的是,對(duì)于否定定律的正則化器,在這里是進(jìn)行1 + sim() 操作而不是1 - sim() 操作,因?yàn)槲覀兿M畲蠡疦OT(x)和x之間的距離。
于是,根據(jù)正則化器的定義,得到這個(gè)部分的損失函數(shù)
當(dāng)然,因?yàn)榻Y(jié)合律和交換律不容易表示為正則化器,所以為了約束這兩個(gè)邏輯法則,該論文的解決辦法是在每次迭代過(guò)程中隨機(jī)地改變輸入事件的順序,使學(xué)習(xí)到的AND和OR模塊滿足這兩個(gè)法則。
4.學(xué)習(xí)算法(Learning Algorithm)
該論文使用成對(duì)學(xué)習(xí)算法進(jìn)行模型訓(xùn)練。具體來(lái)說(shuō),我們?cè)谟?xùn)練過(guò)程中對(duì)每個(gè)給定的表達(dá)式進(jìn)行負(fù)采樣。假設(shè)我們知道用戶ui在項(xiàng)目vi之前與項(xiàng)目vi?1、vi?2、vi?3交互。然后我們可以抽樣另一個(gè)用戶沒(méi)有互動(dòng)的項(xiàng)目vj。在此基礎(chǔ)上,我們用以下兩個(gè)表達(dá)式構(gòu)建結(jié)構(gòu)化神經(jīng)網(wǎng)絡(luò):
其中C代表正負(fù)樣例的表達(dá)式。
緊接著,我們可以得到一對(duì)真實(shí)性評(píng)價(jià)結(jié)果:
其中LNN是上文所述的邏輯神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
然后我們計(jì)算
來(lái)表示這兩個(gè)表達(dá)式之間的差異,并應(yīng)用一個(gè)優(yōu)化算法來(lái)最大化這個(gè)差異。。我們使用V?來(lái)表示負(fù)樣本集,并且V??V。
?????? 損失函數(shù)可以表示為:
式中,Θ表示模型的參數(shù)向量,λΘ是模型參數(shù)的Frobenius范數(shù)的權(quán)重,σ(·)是logistic sigmoid函數(shù)。
將邏輯正則化器與我們的成對(duì)學(xué)習(xí)損失結(jié)合起來(lái),得到最終的損失函數(shù):
其中λr是邏輯正則化器的權(quán)重。論文中對(duì)所有的邏輯正則化器應(yīng)用相同的權(quán)重,因?yàn)樗鼈儗?duì)于正則化模型的邏輯行為同樣重要。
實(shí)驗(yàn)
1.數(shù)據(jù)集
該論文主要使用了以下兩個(gè)數(shù)據(jù)集:
(1)ML100k:一個(gè)流行的數(shù)據(jù)集包括100000部電影的收視率;
(2)Amazon 5-core:亞馬遜電子商務(wù)數(shù)據(jù)集,包括用戶、商品和評(píng)級(jí)信息,涵蓋24個(gè)不同的類別。本論文中只使用電影和電視,以及電子產(chǎn)品這兩個(gè)類別的數(shù)據(jù)集。
2.評(píng)價(jià)指標(biāo)
主要利用以下兩個(gè)指標(biāo)來(lái)評(píng)價(jià)模型的top-K推薦性能:
(1)前K個(gè)標(biāo)準(zhǔn)化折現(xiàn)累積收益(Normalized Discounted Cumulative Gain at rank K,NDCG@K)。該指標(biāo)主要衡量前K個(gè)預(yù)測(cè)序列中,越靠前的預(yù)測(cè)值是否與真實(shí)結(jié)果越接近。
(2)前K個(gè)命中率(Hit Ratio at rank K, HR@K)。該指標(biāo)主要衡量前K個(gè)預(yù)測(cè)序列中,預(yù)測(cè)正確的預(yù)測(cè)值的比例。
3.基準(zhǔn)方法
為了檢驗(yàn)論文中所提出的神經(jīng)邏輯推薦模型的有效性,與兩種傳統(tǒng)的淺層方法(Biased-MF和SVD++)、兩種深層模型(DMF和NeuMF)以及兩種基于會(huì)話的模型(GRU4Rec和STAMP)進(jìn)行了比較。
4.實(shí)驗(yàn)一:評(píng)估神經(jīng)邏輯推理NLR框架的性能
表2 三個(gè)數(shù)據(jù)集的NDCG (N)和命中率Hit Ratio (HR)指標(biāo)結(jié)果
為了評(píng)估神經(jīng)邏輯推理NLR框架的性能,該論文展示了表2中所有數(shù)據(jù)集的結(jié)果,包括NDCG和命中率HR。表格中,NLR-I表示以隱式反饋?zhàn)鳛檩斎氲哪P?#xff0c;而NLR-E表示以顯式反饋為輸入的模型;表格最后一行表示,該論文的模型在之前最好效果的基準(zhǔn)方法之上,評(píng)價(jià)指標(biāo)進(jìn)一步提升的百分比。結(jié)果表明,該論文提出的模型始終優(yōu)于所有的比較方法。通過(guò)比較發(fā)現(xiàn),基于淺矩陣分解的算法(Biased-MF和SVD++)在大多數(shù)度量上都具有相似的性能,而深度神經(jīng)模型如DMF和NeuMF在某些任務(wù)上也能達(dá)到合理的性能。
由于該論文的模型使用了用戶歷史交互信息,因此將其與基于會(huì)話的推薦方法進(jìn)行比較是更有意義。對(duì)于GRU4Rec和STAMP方法,他們都使用隱式反饋來(lái)訓(xùn)練模型并利用序列信息。為了公平起見,將本論文中的隱式模型NLR-I與兩個(gè)基線方法進(jìn)行了比較。報(bào)告的數(shù)據(jù)表明,我們的模型能夠與基于會(huì)話的模型進(jìn)行競(jìng)爭(zhēng),并且在本文的邏輯神經(jīng)網(wǎng)絡(luò)在使用較少信息的情況下,仍然可以明顯優(yōu)于其他兩個(gè)基于會(huì)話的模型
5.實(shí)驗(yàn)二:論證邏輯正則化器的有效性
圖4兩項(xiàng)指標(biāo)NDCG@10(紅色折線)和Hit@10(藍(lán)色折線)根據(jù)邏輯正則化器權(quán)重參數(shù)λr的變化圖
從圖4(a)-(c)中可以看出,將邏輯正則化器的權(quán)重λr賦值為0.1將達(dá)到最佳性能。實(shí)驗(yàn)表明,將邏輯約束應(yīng)用到神經(jīng)網(wǎng)絡(luò)中的確可以提高推薦性能,但是這些邏輯約束的權(quán)重需要仔細(xì)調(diào)整。無(wú)論約束太弱或太強(qiáng),都會(huì)對(duì)推薦模型的性能產(chǎn)生負(fù)面影響。
在表2中,NLR-Emod顯示了我們的顯式反饋模型在不使用邏輯正則化器(即λr=0)的情況下的性能。通過(guò)比較NLR-Emod和NLR-E,可以看出使用邏輯正則化器可以提高推薦性能。
6.實(shí)驗(yàn)三:論證結(jié)構(gòu)中的邏輯先驗(yàn)的有效性
本論文提出的邏輯神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)具有兩個(gè)重要特征:模塊化和邏輯正則化。模塊化是指根據(jù)邏輯表達(dá)式動(dòng)態(tài)地組裝神經(jīng)結(jié)構(gòu)。每個(gè)網(wǎng)絡(luò)模塊負(fù)責(zé)一個(gè)特定的操作,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)在邏輯表達(dá)式上各不相同。因此在訓(xùn)練和測(cè)試過(guò)程中,不同的用戶和項(xiàng)目交互歷史會(huì)導(dǎo)致不同的網(wǎng)絡(luò)結(jié)構(gòu),這與傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)靜態(tài)的深度學(xué)習(xí)模型有很大的不同。
正如前文中提到的,同樣的邏輯語(yǔ)句可以寫成邏輯上相同但實(shí)際上字符不同的表達(dá)式,不同的表達(dá)式將導(dǎo)致我們模型中不同的網(wǎng)絡(luò)結(jié)構(gòu)。前面的建模和實(shí)驗(yàn)是使用了兩個(gè)邏輯運(yùn)算(?, ∨)表達(dá)式來(lái)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),在這里探索使用其他邏輯上相同但實(shí)際上不同的表達(dá)式來(lái)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生什么影響。
圖5 遵循邏輯優(yōu)先級(jí)(a)和違反邏輯優(yōu)先級(jí)(b)的網(wǎng)絡(luò)結(jié)構(gòu)之間的比較
論文定義了兩種不同的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)進(jìn)行對(duì)比說(shuō)明。一種是邏輯等價(jià)模型(Equivalent Model, EqModel),即仍然使用邏輯表達(dá)式來(lái)建模任務(wù),只是它被表示為,而不是我們之前使用的。圖5(a)顯示了邏輯等價(jià)模型的網(wǎng)絡(luò)結(jié)構(gòu),可以看到雖然這個(gè)模型在邏輯上等價(jià)于NLR,但是神經(jīng)結(jié)構(gòu)是不同的。除此以外,原網(wǎng)絡(luò)只需要訓(xùn)練兩個(gè)邏輯操作模塊(?, ∨),而新網(wǎng)絡(luò)需要訓(xùn)練三個(gè)邏輯操作模塊(?, ∧, ∨)。
另一個(gè)模型是邏輯上不等價(jià)的模型,稱為比較模型(Comparative Model, CMPModel)。我們應(yīng)用邏輯表達(dá)式來(lái)構(gòu)建神經(jīng)結(jié)構(gòu),等價(jià)于。圖5(b)顯示了CMPModel的網(wǎng)絡(luò)結(jié)構(gòu),可以看到模型試圖使用未來(lái)事件來(lái)預(yù)測(cè)之前的事件,這違反了我們對(duì)推薦任務(wù)的邏輯直覺(jué)。
表3 不同邏輯結(jié)構(gòu)下的評(píng)分排名
從表3的結(jié)果中我們有兩個(gè)關(guān)鍵的觀察結(jié)果。首先,我們看到NLR-E和EqModel始終優(yōu)于GRU4Rec方法,而CMPModel通常并沒(méi)有明顯地優(yōu)于GRU4Rec方法。此外,CMPModel比原來(lái)的NLR-E模型差得多,說(shuō)明正確合理的邏輯結(jié)構(gòu)對(duì)模型的性能至關(guān)重要。
另一個(gè)觀察結(jié)果是比較NLR-E和EqModel。通過(guò)觀察兩個(gè)模型之間的p值,我們發(fā)現(xiàn)這兩個(gè)模型在ML100k數(shù)據(jù)集上具有可比性(即NLR-e并不明顯優(yōu)于EqModel),而NLR-E在兩個(gè)Amazon數(shù)據(jù)集上確實(shí)明顯優(yōu)于EqModel。造成這種結(jié)果的根本原因可能來(lái)自兩個(gè)因素,分別是模型的復(fù)雜性和數(shù)據(jù)的充分性。就數(shù)據(jù)集本身的特征而言,MovieLens數(shù)據(jù)集比Amazon數(shù)據(jù)集密集2個(gè)數(shù)量級(jí)。由于NLR-E和EqModel在邏輯上是等價(jià)的,所以當(dāng)訓(xùn)練數(shù)據(jù)足夠時(shí),它們可以獲得不相上下的性能。然而,NLR-E只需要訓(xùn)練兩種邏輯操作的神經(jīng)模塊 (?, ∨),而EqModel需要訓(xùn)練三個(gè)邏輯操作的神經(jīng)模塊(?, ∧, ∨),因此EqModel比NLR-E具有更高的模型復(fù)雜度,因此在訓(xùn)練數(shù)據(jù)稀疏的情況下,NLR-E可以獲得更好的性能。
這部分實(shí)驗(yàn)證明,對(duì)于一個(gè)特定的任務(wù)使用一個(gè)合理的邏輯先驗(yàn)表達(dá)式是很重要的。當(dāng)存在多個(gè)邏輯等價(jià)結(jié)構(gòu)時(shí),使用更簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)(即更少的模塊)而不是復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),往往能夠有更好的實(shí)驗(yàn)效果。
7.實(shí)驗(yàn)四:探索布爾邏輯建模
在本論文提出的模型并沒(méi)有對(duì)事件向量進(jìn)行約束,因此它們可以被學(xué)習(xí)為邏輯空間中的靈活向量表示。在本實(shí)驗(yàn)中,嘗試將任何事件向量都只能是為T向量或F向量的約束條件,來(lái)探討是否可以基于布爾邏輯對(duì)推薦任務(wù)進(jìn)行建模。
首先拼接用戶向量u和項(xiàng)目向量v,并將其輸入到編碼器網(wǎng)絡(luò)中。在進(jìn)一步將編碼事件向量輸入邏輯神經(jīng)網(wǎng)絡(luò)之前,計(jì)算該事件嵌入與T向量或F向量之間的均方誤差(Mean Square Error, MSE),其中兩個(gè)向量x和y之間的均方差定義為。如果用戶對(duì)項(xiàng)目有正反饋,我們最小化事件向量和T向量之間的均方差,否則計(jì)算與F向量之間的均方差,因此預(yù)測(cè)損失函數(shù)寫為:
其中G代表基本真實(shí)向量,即T向量或F向量,取決于用戶對(duì)該項(xiàng)的喜歡或不喜歡該項(xiàng)目。然后,我們將該損失加到模型損失函數(shù)中,以獲得以下新的損失函數(shù):
式中,λp是預(yù)測(cè)損失的權(quán)重。通過(guò)加入這個(gè)損失,模型試圖將事件向量?jī)蓸O化為T向量或者F向量。
圖6在ML100k數(shù)據(jù)集上,改變不同損失權(quán)重λp的增加對(duì)指標(biāo)NDCG@10的影響
從實(shí)驗(yàn)結(jié)果可以看出,隨著預(yù)測(cè)損失權(quán)重的增加排序性能顯著下降。較大的λp會(huì)限制潛在嵌入的表達(dá)能力,進(jìn)而限制邏輯神經(jīng)網(wǎng)絡(luò)對(duì)推薦任務(wù)進(jìn)行正確建模的能力。實(shí)驗(yàn)表明,在邏輯空間中將嵌入學(xué)習(xí)的能力融入到邏輯推理中,對(duì)于精確決策是非常重要的
總結(jié)
本文提出了一種新的神經(jīng)邏輯推薦(NLR)框架,能夠?qū)⑦壿嫿Y(jié)構(gòu)和神經(jīng)網(wǎng)絡(luò)相結(jié)合,將推薦任務(wù)轉(zhuǎn)化為一個(gè)邏輯推理任務(wù)。實(shí)驗(yàn)表明,相較于以往的基準(zhǔn)方法,該論文提出的方法在推薦任務(wù)上有顯著的改進(jìn)。
文章中進(jìn)行了進(jìn)一步的實(shí)驗(yàn),根據(jù)不同的實(shí)驗(yàn)設(shè)置下,探索該模型為什么能獲得良好的性能。實(shí)驗(yàn)結(jié)果表明,適當(dāng)?shù)倪壿嬚齽t化有助于提高推薦性能。在推薦系統(tǒng)引入可解釋性可以使得決策過(guò)程更加透明。
?
OpenKG
開放知識(shí)圖譜(簡(jiǎn)稱 OpenKG)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識(shí)圖譜和語(yǔ)義技術(shù)的普及和廣泛應(yīng)用。
點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文浅尝 | 神经协同推理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开源开放 | 计算机科学示意图问答数据集
- 下一篇: 论文浅尝 - SWJ | 基于知识图谱和