1. 程式人生 > 其它 >MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems閱讀筆記

MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems閱讀筆記

動機

本文是來自2021年KDD上的一篇文章。圖神經網路最近已經成為最先進的協同過濾解決方案,目前協同過濾中的一個挑戰是從隱反饋資料中提取負反饋訊號,但是目前很少有對基於GNN的協同過濾方法的負反饋取樣的研究。好的負反饋訊號可以加速模型收斂,為模型提供更大且更有意義的梯度,因此提取出好的負反饋訊號是非常有必要的。之前的工作大多是通過某種策略在原始資料中尋找優秀的負樣本,本文作者提出了一個通用的GNN負取樣框架——MixGCF,通過融合原始資料中的正樣本及GNN傳播層上的負樣本生成質量較高的負訊號,達到了更好的效果。

演算法

MixGCF主要分為兩步:Positive Mixing和Hop Mixing。整體流程見下圖。下述的正樣本可理解為與使用者有互動的物品,負樣本為與使用者無互動的物品。

Positive Mixing

對於一個有L層的GNN模型,我們可以獲得每個物品節點v的L+1個embedding表示,其中\(e_{v}^{(l)}\)表示v在第l層的表示。首先採集M個負樣本構成候選集\(\varepsilon = \{ e_{v_m}^{(l)} \}\),大小為M×(L+1),對於每個\(e_{v_m}^{(l)}\),使用以下公式進行Positive Mixing

\(e_{v^+}^{(l)}\)是正樣本在第l層的embedding,\(\alpha^{(l)}\)是第l層的混合係數,在本次實驗中由(0,1)之間的均勻取樣獲得。

Hop Mixing

\(\varepsilon^{'} = \{ e_{v_m}^{'(l)} \}\)

為經過Positive mixing的候選集,對於每一層l(\(0 \leq l \leq L\)),從\(\varepsilon^{'}\)中抽出\(e_{v_x}^{'(l)}( 1 \leq x \leq M)\),再利用池化操作得到最終的負訊號

每一層的負embedding通過以下函式篩選出

其中\(f_Q(u,l)\)是查詢函式,返回使用者u在l層的embedding。

池化

池化操作根據原有的模型來決定,比如LightGCN是將每層的embedding相加

NGCF是連線每層的embedding

優化

損失函式採用BPR loss。

整體演算法流程可見下圖。

實驗結果

作者在LightGCN、NGCG和PinSage三個模型上評估了MixGCF,將其與其它負取樣方法進行對比,MixGCF均取得最好的效果。

總結與展望

由於我之前讀過LightGCN和NGCF的論文,對基於GNN的CF有一些瞭解,因此我認為本篇論文還是比較容易讀懂的。本篇論文主要提出了一種GNN上的負取樣方法,首先採集一批負樣本在各個層上的embedding作為候選集,再向其中注入正訊號,之後根據一定策略從候選集每層中抽取一個經過positive mixing的負embedding,再將所有抽取出的embedding經過池化層,就得到了最終的負訊號。而在基礎的LightGCN和NGCF中,負訊號是來自隨機抽取到一個的負樣本,所有的負資訊僅僅來自一個負樣本。未來,可以考慮將MixGCF中的一些技術用於圖與關係資料的預訓練。推薦系統模型的預訓練也許是未來的比較有前景的一個方向。