Sequential Recommendation with Graph Neural Networks閱讀筆記
動機
本文是2021年SIGIR的一篇論文。目前現有的工作在序列推薦面臨著兩個挑戰:1.使用者的歷史行為序列通常是隱式反饋的且包含噪聲,它們不能充分反映出使用者真實偏好。2.使用者動態偏好會隨時間快速變化,因此很難捕獲到使用者偏好模式。本文提出一種名為SUGRE的圖神經網路,它將稀疏的專案序列重構為緊密的專案興趣圖,並將不同種類的偏好在圖上合併為簇。
演算法
主要分為四個部分,分別是構建興趣圖、圖卷積興趣融合、興趣提取、預測。
Interest Graph ConstructionE
對於每個互動序列可構成一個無向圖,\(\mathcal V\)是點的集合,\(\mathcal E\)是邊的集合,\(\mathcal A\)
w是可學習的權重。為了增強表達能力和穩定訓練過程,可以使用多頭度量方法
鄰接矩陣A由以下公式計算得出
表示M中第\(\epsilon n^2\)大的值
Interest-fusion Graph Convolutional Layer
該層的輸入是一個序列,輸出節點表示由以下公式計算
其中\(W_a\)是權重矩陣。採用多頭注意力機制如下
注意力係數\(E_{ij}\)計算公式為
其中\(\alpha_i\)
\(h_{ic}\)是節點i的k跳之內鄰居的embedding平均值。
其中\(\beta_i\)是查詢感知注意力,它控制了源節點能傳送多少資訊,計算公式如下
\(h_t\)是查詢節點的embedding。
Interest-extraction Graph Pooling Layer
簇分配矩陣為,經過提取後的資訊為
\(\gamma_i\)由對\(\beta_i\)使用softmax得到。
S的每一行代表一個節點,每一列代表一個簇,\(S_{ij}\)就是節點i分配到簇j的概率。計算公式如下
只有下游推薦系統傳過來的梯度資訊很難去訓練概率矩陣S,因此我們使用以下三個正則化輔助訓練。
相同對映正則化,使兩個有很強連線的點被分到同一個簇
單個從屬關係正則化,使每個點儘可能分到其中一個簇中
相對位置正則化,使位置較前的點分到位置較前的簇中,以此類推
圖的表示輸出
Prediction Layer
人的興趣是會變化的所以要對興趣演化建模
最終輸出
損失函式為
結果
作者在兩個資料集上做了實驗,本文提出的模型均取得最好效果。
總結
本文提出的模型是比較複雜的,多處用到了注意力機制,而且用的三個正則化很巧妙,一定程度上解決了圖中缺乏順序資訊的問題。整體的流程圖如下,整個過程就是將一個互動序列提取為資訊濃縮的興趣序列。之後可以用更多互動資訊探索圖的序列推薦。