SIGIR 2019 开源论文 | 基于图神经网络的协同过滤算法
作者丨紀厚業
單位丨北京郵電大學博士生
研究方向丨異質圖神經網絡,異質圖表示學習和推薦系統
引言
協同過濾作為一種經典的推薦算法在推薦領域有舉足輕重的地位。協同過濾(collaborative filtering)的基本假設是相似的用戶會對物品展現出相似的偏好。總的來說,協同過濾模型主要包含兩個關鍵部分:1)embedding,即如何將 user 和 item 轉化為向量表示;2)interaction modeling,即如何基于 user 和 item 的表示來重建它們的歷史交互。
傳統協同過濾算法(如經典的矩陣分解和神經矩陣分解)本質還是給 user 和 item 初始化一個 embedding,然后利用交互信息來優化模型。它們并沒有把交互信息編碼進 embedding 中,所以這些 embedding 都是次優的。直觀地理解,如果能將 user-item 的交互信息編碼進 embedding 中,將提升 embedding 的表示能力進而提升模型的預測能力。本文的主要創新點在于利用二部圖神經網絡將 User-Item 的歷史交互信息編碼進 Embedding 進而提升推薦效果。更重要的是,本文顯式地考慮 User-Item 之間的高階連接性來進一步提升 embedding 的表示能力。
圖 1 展示了一個 user-item 的二部圖及 u1?的高階連接性。u1?的高階連接性表示?u1 通過長度大于 1 的路徑連接到的節點。例如,u1 通過長度 l=2 的路徑連接到?u2?和?u3,這代表 u1 的 2 階連接性;u1?通過長度 l=3 的路徑連接到 i4,i5,這代表 u1 的 3 階連接性。需要注意的是,雖然 i4 和 i5 都是?u1?的 3 階鄰居,但是 i4 可以通過更多的路徑連接到?u1,所以 i4 與?u1?的相似度更高。
模型
模型主要分為 3 個部分:1)Embedding Layer:將 user 和 item 的 ID 映射為向量表示;2)Embedding Propagation Layers:將初始的 user 和 item 表示基于圖神經網絡來更新;3)Prediction:基于更新后的 user 和 item 表示來進行預測。模型架構圖見 Figure 2。Embedding Layer這里對 User 和 Item 分別初始化相應的 Embedding Matrix,然后通過 User 或者 Item 的 ID 進行 Embedding Lookup 將它們映射到一個向量表示。注意,這里初始化的 Embedding 可以認為是 0 階表示,即。Embedding Propagation Layers受 GNN 的 message-passing 架構的啟發,NGCF 針對 User-Item 二部交互圖設計了 Embedding Propagation 來學習 User 和 Item 的表示。這里作者首先詳細的描述了一階傳播,然后泛化到高階傳播。一階傳播主要包含:消息構建和消息聚合。給定(u,i),從 i 傳播到 u 的消息可以定義為:
其中,都是可學習的參數矩陣,和分別代表 u 和 i 的度。這里?可以理解為歸一化系數。
基于上面構建的消息,下一步就是聚合消息來更新節點表示:其中,代表經過 1 次聚合之后的節點表示。因為單層的消息聚合只能聚合 1 階鄰居的信息,所以這里實際代表了 u 的一階表示。需要注意的是,這里除了聚合鄰居的信息,更重要的是考慮節點自身的信息。高階傳播實際就是將上述的一階傳播堆疊多層。這樣經過 l 次聚合,每個節點都會融合其 l 階鄰居的信息,也就得到了節點的 l 階表示。Figure 3 清晰地展示了如何在高階傳播中融合高階鄰居的信息。上面的傳播過程也可以寫成矩陣的形式,這樣在代碼實現的時候可以高效的對節點 Embedding 進行更新。
其中,是 l 階的 user 和 item 的表示,是 user-item 交互矩陣,D?是對角度矩陣。
Model Prediction
模型的預測非常簡單,將 L 階的節點表示分別拼接起來作為最終的節點表示,然后通過內積進行預測。
實際這里采用了類似 18 ICML?Representation Learning on Graphs with Jumping Knowledge Networks?的做法來防止 GNN 中的過平滑問題。GNN 的過平滑問題是指,隨著 GNN 層數增加,GNN 所學習的 Embedding 變得沒有區分度。過平滑問題與本文要捕獲的高階連接性有一定的沖突,所以這里需要在克服過平滑問題。最終的損失函數就是經典的 BPR 損失函數:
實驗
本文在 Gowalla、Yelp2018 和 Amazon-Book 上進行了大量實驗來回答以下 3 個問題:和 state-of-the-art 的方法相比,NGCF 的效果如何?
模型對于超參數(如模型層數,dropout)的敏感性。
高階連接性對于模型的影響。
本文的 baseline 主要可以分為兩大類:非圖神經網絡的推薦算法(如 MF 和 CMN)和基于圖神經網絡的推薦算法(PinSage 和 GC-MC)。實驗效果如 Table 2 所示:
可以看出,本文所提出的 NGCF 優勢很明顯,尤其是在 recall 上的提升均超過 10%。同時,作者還對數據進行了稀疏化并進一步驗證來說明 NGCF 來稀疏數據上的優勢。
從 Figure 4 可以看出,NGCF 在數據稀疏度較高的時候有明顯優勢,隨著稀疏度的下降,NGCF 的優勢越來越小甚至被 baseline 超過了。另外,作者驗證了模型層數、卷積形式和 dropout 對 NGCF 的影響,具體見 Table 3、Table 4 和 Figure 5。
最后,作者研究了高階連接性對 NGCF 的影響,如 Figure 6 所示。
注意這里 MF 可以看做是 NGCF-0??梢钥闯?#xff0c;隨著階數的增加,相同顏色的節點更好的聚集在一起。也就是說,高階連接性確實有助于學習 User 和 Item 的 Embedding。
結論
本文提出了基于圖神經網絡的協同過濾算法 NGCF,它可以顯式地將 User-Item 的高階交互編碼進 Embedding 中來提升 Embedding 的表示能力進而提升整個推薦效果。
NGCF 的關鍵就在于 Embedding Propagation Layer 來學習 User 和 Item 的 Embedding,后面的預測部分只是簡單的內積。可以說,NGCF 較好地解決了協同過濾算法的第一個核心問題。
另外,本文的 Embedding Propagation 實際上沒有考慮鄰居的重要性,如果可以像 Graph Attention Network 在傳播聚合過程中考慮鄰居重要性的差異,NGCF 的效果應該可以進一步提升。
參考文獻
[1] http://staff.ustc.edu.cn/~hexn/slides/sigir19-ngcf-slides.pdf[2]?https://github.com/xiangwang1223/neural_graph_collaborative_filtering?
點擊以下標題查看更多往期內容:?
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 下載論文 & 源碼
總結
以上是生活随笔為你收集整理的SIGIR 2019 开源论文 | 基于图神经网络的协同过滤算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真的!最难啃的《深度学习》圣经花书,居然
- 下一篇: 无惧秋招,您的NLP算法工程师魔鬼训练计