1. 程式人生 > 其它 >Sequential Recommendation with Graph Neural Networks閱讀筆記

Sequential Recommendation with Graph Neural Networks閱讀筆記

動機

本文是2021年SIGIR的一篇論文。目前現有的工作在序列推薦面臨著兩個挑戰:1.使用者的歷史行為序列通常是隱式反饋的且包含噪聲,它們不能充分反映出使用者真實偏好。2.使用者動態偏好會隨時間快速變化,因此很難捕獲到使用者偏好模式。本文提出一種名為SUGRE的圖神經網路,它將稀疏的專案序列重構為緊密的專案興趣圖,並將不同種類的偏好在圖上合併為簇。

演算法

主要分為四個部分,分別是構建興趣圖、圖卷積興趣融合、興趣提取、預測。

Interest Graph ConstructionE

對於每個互動序列可構成一個無向圖,\(\mathcal V\)是點的集合,\(\mathcal E\)是邊的集合,\(\mathcal A\)

是n×n的鄰接矩陣,這部分的目標是學習一個鄰接矩陣\(\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

人的興趣是會變化的所以要對興趣演化建模

最終輸出

損失函式為

結果

作者在兩個資料集上做了實驗,本文提出的模型均取得最好效果。

總結

本文提出的模型是比較複雜的,多處用到了注意力機制,而且用的三個正則化很巧妙,一定程度上解決了圖中缺乏順序資訊的問題。整體的流程圖如下,整個過程就是將一個互動序列提取為資訊濃縮的興趣序列。之後可以用更多互動資訊探索圖的序列推薦。