1. 程式人生 > 其它 >Neural Graph Collaborative Filtering閱讀筆記

Neural Graph Collaborative Filtering閱讀筆記

動機

本文是2019年SIGIR的一篇文章。在推薦系統中,使用者和物品的向量表示(embeddings)是推薦系統的核心,但目前的方法都是根據使用者(物品)原有的特徵通過對映獲取embeddings,並沒有將使用者與物品互動中的潛在的協同訊號編碼進embeddings,因此產生的embeddings可能不足以支援捕獲協同過濾效果。本文提出一種新的圖神經協同過濾模型(NGCF),將協同訊號顯示地注入在使用者物品的向量表示中。

演算法

在本文中,作者通過利用使用者專案互動的高階連通性解決上述問題。舉個栗子來說明大致思路,左子圖是使用者與物品互動圖,圖中\(u_1\)是我們感興趣的使用者,以\(u_1\)

為根節點將左圖轉換成樹結構(右圖),高階連通性指的就是那些從任意節點到\(u_1\)且路徑長度l大於1的節點,例如\(u_1⬅i_2⬅u_2\),這表示\(u_1\)\(u_2\)行為相似,因為他們都對\(i_2\)產生過互動。

作者設計了一個嵌入傳播層(基於GNN),通過聚合專案的embeddings來改進使用者的embeddings,或者是聚合使用者的embeddings來改進專案的embeddings。通過堆疊多個嵌入傳播層來捕獲高階連線資訊,例如,堆疊2層捕獲\(u_1⬅i_2⬅u_2\)中使用者的行為相似度,堆疊3層\(u_1⬅i_2⬅u_2⬅i_4\)發現潛在的推薦。

一層嵌入傳播層

嵌入傳播層由兩個部分組成:資訊構建和資訊聚合。
資訊構建:對於每一個使用者專案互動對(u,i)來說,定義從i到u的資料為

\(m_{u⬅i}\)是資訊嵌入,也是之後需要傳播的資訊。在本篇\(f(·)\)是編碼函式,\(e_i\)\(e_u\)分別是物品與使用者的embedding,作為輸入。\(p_{ui}\)是衰減因子。在本篇論文中,作者使用以下編碼函式

\(W_1\),\(W_2∈\mathbb{R}^{d'×d}\)是可以訓練的權重矩陣,用於提取有用資訊,\(\odot\)表示向量對應元素相乘。根據圖卷積神經網路,將\(p_{ui}\)設為\(1 / \sqrt{\left | \mathcal{N_u} \right | \left | \mathcal{N_i} \right |}\)

,其中\(\mathcal{N_u}\)\(\mathcal{N_u}\)代表使用者u和物品i的第一跳鄰居。我們也可以用相同的方法獲得u到i的資訊\(m_{i⬅u}\)

資訊聚合:定義優化後u的資訊表示為

\(e^{(1)}_u\)表示在第一個嵌入傳播層後用戶u的表示,其中\(m_{i⬅u}=W_1e_u\)。它不僅考慮到使用者自己與自己的連線,還考慮到鄰居傳播的資訊。我們也可以用同樣的方法得到優化後的物品表示\(e^{(1)}_i\).

多層嵌入傳播層

通過堆疊l個嵌入傳播層,使用者和物品能接收到l跳鄰居傳播的資訊,在第l層中,使用者表示為

訊息傳播表示為

模型預測

通過L個嵌入傳播層,我們可以將L個嵌入傳播層得到的使用者(物品)表示連線起來作為它們最終的embedding

最後,使用內積計算使用者對專案的偏好度

優化

在這裡,作者通過優化成對的BPR損失來學習模型,損失函式定義如下

其中,\(\mathcal{R}^+\)表示可以觀測到的互動,\(\mathcal{R}^-\)表示觀測不到的互動,\(\Theta\)表示所有可以訓練的引數。

與NGCF相關的工作

與NGCF相關的工作有基於模型的協同過濾方法,基於圖結構的協同過濾方法和圖卷積網路。基於模型的協同過濾模型利用使用者物品互動矩陣,將使用者與物品的id投影到一個embedding中,早期工作是利用使用者和物品的embedding內積計算使用者對物品的偏好度,近期有許多工作使用非線性的深度神經網路作為互動函式,儘管這類方法取得成功,但是嵌入函式的設計不足以產生優秀的embedding。基於圖結構的協同過濾方法本質上屬於基於鄰居的方法,它缺乏模型引數來優化目標函式,在概念上不如基於模型的協同過濾方法。最近提出的HOP-Rec將基於圖的方法與基於嵌入的方法相結合來緩解這個問題,但是HOP-Rec沒有充分探索高階連通性,並且極大程度依賴隨機遊走的結果。最後是圖卷積網路,作者在本文中提出的NGCF就屬於圖卷積網路方法中的一種,另外還有一些其他應用到圖卷積網路的工作,GC-MC使用一個卷積層利用使用者與物品的直接連線,但它無法發現高階的連通性。

結果

與當時最先進的模型相比,在本文實驗所使用的三個資料集上Gowalla、Yelp2018及Amazon-book,NGCF均取得最好的效果。

因為NGCF中每層嵌入傳播層捕捉到不同距離的資訊,最後還將每層的嵌入向量聚合在一起,由此得到的使用者(物品)表示向量包含了使用者物品的互動資訊,包含的資訊更全面,因此會有更好的結果。更直觀的可以從下圖看出,該圖星星表示使用者,與使用者連線的點表示為測試集中與該使用者有互動的物品,相比與矩陣分解,NGCF-3中相同顏色的點更趨向於聚成一團。

總結

可學習的協同過濾模型有兩個關鍵的組成部分,一個是使用者與物品的embeddings的構建,另外一個是使用者與物品的embeddings的互動函式。在上週讀的《Neural Collaborative Filtering》這篇論文中是使用非線性深度神經網路作為使用者與物品的embeddings的互動函式,本文是用圖神經網路將使用者和物品embeddings傳播實現獲得包含使用者物品互動資訊的embeddings,如果將這兩篇論文中的方法結合,我認為會有更好的效果,作者也在文章中提到這個想法。將深度學習應用到推薦系統是目前的一個趨勢,我在接下來也會探索更多這方面的知識。