知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering
題目:Neural Graph Collaborative Filtering
代碼: https://github.com/xiangwang1223/neural_graph_collaborative_filtering
本文參考了博文
想法
(1)其實是很有缺點,在消息傳播中,只是使用了鄰居與目標的點擊加一個矩陣,并沒有考慮權重的問題!
(2)但是在傳播中的衰減函數還是值的借鑒的!
創新
Propagation Rule in Matrix Form
摘要
難點:
原有的基于推薦系統的方法(早期是矩陣分解,現在是深度學習)都是根據ID和屬性等存在的特征來獲得一個用戶或者是item的表示,我們認為現在方法的缺點就是沒有考慮collaborative signal,這是潛伏在用戶-物品交互中,沒有編碼的嵌入過程。
我們:
提出了一個新的推薦框架Neural Graph Collaborative Filtering (NGCF) ,它可以在圖結構中學習嵌入表示,讓模型可以表達高維特征,顯示地將協同過濾信號放入到嵌入過程中。
Introduction
難點詳解:
雖然直觀上把用戶-物品交互整合到嵌入功能中很有用,但做好這一點并非易事。特別是,在實際應用中,交互的規模很容易達到數百萬甚至更大,這使得提取所需的協作信號變得困難。
Running Example.
上面的目的是給用戶u1u_1u1?推薦商品。 左圖是將user-item的interacttion標記為雙圓。 右邊則是將交互圖改為了tree結構! high-order連通性表示從路徑長度大于1的任何節點到達u1u_1u1?的路徑(是從下往上的)。這種高階連接包含了攜帶協作信號的豐富語義。 比如:u1←i2←u2u_1\leftarrow i_2 \leftarrow u_2u1?←i2?←u2? 表明了用戶2和用戶1的相似性; u1←i2←u2←i4u_1\leftarrow i_2 \leftarrow u_2 \leftarrow i_4u1?←i2?←u2?←i4? 表明了用戶1可能會喜歡item 4,因為兩者相似。
Present Work.
不是將交互圖作為難以實現的圖,而是設計一種在圖上遞歸的傳播嵌入的網絡,這可以被看做在嵌入空間中創建信息流。 具體而言,我們設計了一種embedding propagation 層,該層可以通過aggregating其交互的items來增強用戶或者item的嵌入。 u1←i2←u2u_1\leftarrow i_2 \leftarrow u_2u1?←i2?←u2?需要兩個層, u1←i2←u2←i4u_1\leftarrow i_2 \leftarrow u_2 \leftarrow i_4u1?←i2?←u2?←i4?需要三個層,并且信息流的長度決定了i5i_5i5?和i4i_4i4?的推薦優先度。
最近,HOP-rec也加入了高階連通性,但是它只是用來豐富訓練數據集,而且它本質上還是MF,只是優化了損失函數,這個損失是用高階連接增強的。
而我們則是將高階連通性集成到預訓練模型中。
- 我們強調在基于模型的CF方法的嵌入函數中明確利用協作信號的關鍵重要性。
- 我們提出了一種新的基于圖神經網絡的推薦框架NGCF,該框架通過嵌入傳播將協作信號以高階連通性的形式顯式編碼。
2 METHODOLOGY
三個部分: (1)嵌入層(2)多層嵌入傳播層(3)預測層
2.1 Embedding Layer
我們描述一個user u或者是 item i用一個嵌入向量eu∈Rde_u \in \mathbb{R}^deu?∈Rd(ei∈Rde_i \in \mathbb{R}^dei?∈Rd),這可以看做是建立一個參數矩陣作為嵌入查找表:
傳統的推薦模塊比如MF和神經協同過濾中,這些ID嵌入被直接喂入了交互層來實現預測分數。 相反,我們的NGCF架構中,我們會refine這個Embedding通過將他們在user-item 交互圖上傳播。
2.2 Embedding Propagation Layers
我們首先說明單層傳播的設計,然后將其推廣到多個連續層。
2.2.1First-order Propagation
Message Construction
user-item pair(u, i),我們定義從i到u的信息為:
其中mu←im_{u\leftarrow i}mu←i?是信息嵌入(要傳播的信息),f(?)f(·)f(?)是信息嵌入函數,它使用一個協同因素puip_{ui}pui?來控制在每個邊(u,i)(u,i)(u,i)上傳播的衰減因子。
f(?)f(·)f(?)被定義為:
其中W1,W2∈Rd′×dW_1,W_2 \in \mathbb{R} ^{d'\times d}W1?,W2?∈Rd′×d是可以訓練的權重矩陣;其中d′d'd′是維度;
NuN_uNu?和NiN_iNi?是用戶u和item i的一階鄰居節點。
1/(∣Nu∣∣Ni∣)1/\sqrt{(|N_u||N_i|)}1/(∣Nu?∣∣Ni?∣)?就是系數是拉普拉斯標準化,反映了歷史項目對用戶偏好的貢獻程度。從消息傳遞的角度來看,可以解釋為折扣因子,因為所傳播的消息應該隨著路徑長度而衰減。就是衰減因子puip_{ui}pui?。
與傳統的圖卷積不同只考慮eie_iei?的貢獻,我們額外的encode了eie_iei?和eue_ueu?的交互消息。 通過ei⊙eue_i \odot e_uei?⊙eu?實現。 例如,從相似的項傳遞更多的消息。
Message Aggregation:
在此階段,我們整合從 u 的鄰域傳播的消息,以改進 u 的表示:
其中eu(1)e_u^{(1)}eu(1)?是用戶u在一階嵌入傳播層獲得的表示。
除了從鄰居NuN_uNu?傳播的消息外,還考慮了u的自連接:mu←u=W1eum_{u \leftarrow u} = W_1e_umu←u?=W1?eu? ,保留了原始特征的信息.
類似地,我們可以通過從其連接的用戶傳播信息來獲得項目 i 的表示形式 ei(1)e^{(1)}_iei(1)?。
2.2.2 high-order propagetion
第二層用到的還是與該用戶有交集的物品的集合,但是第二層用到的物品的表示(item embedding)和第一層用到的已經不一樣了,注意圖示中表示的上標 l
通過堆疊lll嵌入傳播層,用戶(和item)能夠接收從其 lll-hop 鄰居傳播的消息。在第 lll 步中,用戶 u 的表示遞歸式為:
Propagation Rule in Matrix Form :
為了提供嵌入傳播的整體視圖,方便批量實現,提供了分層傳播規則的矩陣形式:
E(l)∈R(N+M)×dl\mathbf{E}^{(l)} \in \mathbb{R}^{(N+M) \times d_{l}}E(l)∈R(N+M)×dl?是user和item經過lll步嵌入傳播后得到的表示;
I表示了一個單位矩陣;
L是user-item圖的拉普拉斯矩陣。
R∈RN+M\mathrm{R} \in R^{N+M}R∈RN+M是user-item交互矩陣,
并且000是all-zero 矩陣;
A是鄰接矩陣,D為對角次數矩陣,其中Dtt=∣Nt∣D_{tt} = \left | \mathcal{N}_t \right |Dtt?=∣Nt?∣;
因此,非零的非對角項Lui=1/∣Nu∥Ni∣\mathcal{L}_{u i}=1 / \sqrt{\left|\mathcal{N}_{u} \| \mathcal{N}_{i}\right|}Lui?=1/∣Nu?∥Ni?∣?,這和公式(3)中的puip_{ui}pui?是相等的。
2.3 Model Prediction
由于在不同層中獲得的表示強調通過不同連接傳遞的消息,所以它們在反映用戶偏好方面有不同的貢獻。
因此,將它們串聯起來,構成用戶的最終嵌入;對 item 也做同樣的操作。
其中||為串聯操作。除了連接,其他聚合器也可以應用,如加權平均、最大池、LSTM。使用串聯在于它的簡單性,不需要學習額外的參數,而且已經被非常有效地證明了。
最后,我們進行內積來估計用戶對目標物品的偏好:
2.4 Optimization
optimize the pairwise BPR loss:
它考慮觀察到的和未觀察到的用戶-項目交互之間的相對順序。具體地說,BPR 假設用戶引用的已觀察到的交互作用應該比未觀察到的交互作用具有更高的預測值。目標函數如下:
2.4.1Model Size
它只引入了很少的參數大小,兩個dl×dl?1d_l \times d_{l-1}dl?×dl?1?大小的權重矩陣。
比起MF(最簡潔的基于推薦模型的嵌入),我們的NGCF僅僅用了多了2Ldldl?12Ld_ld_{l-1}2Ldl?dl?1?的參數。這種模型參數的額外成本幾乎可以忽略不計。LLL是一個小于5的數,dld_ldl?是嵌入大小。
2.4.2 Message and Node Dropout
為了防止過擬合,我們采用了兩種方法: Message Dropout和Node Dropout。
其中 Message Dropout表示以一定概率的刪除式子(6)中傳播的信息;
我們還執行node dropout,隨機阻塞某個特定節點,丟棄其所有傳出消息。
注意,dropout只在訓練中使用,必須在測試中禁用。Message Dropout是面對的users和items的交互的丟棄; 而Node Dropout則是致力于減少特殊的items和users。
總結
以上是生活随笔為你收集整理的知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac笔记本修改 mysql 的密码
- 下一篇: python变量定义问题_python