WWW'22 STAM: A Spatiotemporal Aggregation Method for Graph Neural Network-based Recommendation

STAM: A Spatiotemporal Aggregation Method for Graph NeuralNetwork-based Recommendation

STAM:一種基于圖神經(jīng)網(wǎng)絡(luò)的推薦的時空聚合方法

來源:WWW 2022

摘要:現(xiàn)有的基于圖神經(jīng)網(wǎng)絡(luò)的推薦方法通常關(guān)注于如何從空間結(jié)構(gòu)信息的角度來聚合信息某筐,但關(guān)于鄰居的時間信息卻沒有得到充分的探索惫霸。在這項工作中滤港,作者提出了一種時空聚合方法STAM西潘,以有效地將時間信息納入鄰居嵌入學(xué)習(xí)。STAM從空間結(jié)構(gòu)信息和時間信息的角度生成時空鄰居嵌入证九,促進了從空間到時空的聚合方法的發(fā)展妥泉。大量的實驗表明,與基于空間的聚合方法相比隐绵,STAM在基于gnn的推薦方面有了顯著的改進之众,例如,在MRR@20方面依许,Movielens的提高為24%棺禾,Amazon的提升為8%,TaoBao的提升則為13%峭跳。

1 動機

????近年來膘婶,圖神經(jīng)網(wǎng)絡(luò)被廣泛用于推薦模型的研究中。大量基于gnn的推薦工作從空間結(jié)構(gòu)信息的角度研究了有效的聚合方法來學(xué)習(xí)用戶和項目的嵌入≈恚現(xiàn)有的聚合方法大致可分為四組:(1)“mean pooling”平等對待鄰居悬襟;(2)“degree normalization”根據(jù)圖結(jié)構(gòu)為節(jié)點賦權(quán)重;(3)“attentive pooling”通過注意機制區(qū)分鄰居的重要性拯刁,(4)“central node augmentation”考慮節(jié)點之間的親和性脊岳,并使用中心節(jié)點過濾鄰居的消息。然而垛玻,上述方法忽略了鄰居的時間信息逸绎,這是一個重要的信號,在基于gnn的推薦中對聚合有重要的貢獻夭谤,卻在鄰居嵌入學(xué)習(xí)中沒有編碼棺牧。


圖1 時間信息對于鄰居聚合的影響

????從一個例子來說明時間信息在推薦中的作用:在圖1中,作者從用戶的行為歷史中選擇兩個用戶(Amy和Sherry)朗儒,分別構(gòu)建一個用戶-項二部圖和一個基于gnn的推薦的時間順序圖颊乘。在基于空間的聚合中,Amy和Sherry的聚合鄰居嵌入是相同的醉锄,因為它們與相同的項目交互乏悄。與LightGCN類似,作者省略了非線性轉(zhuǎn)換恳不,并利用聚合的鄰居嵌入作為一跳用戶嵌入檩小。因此,推薦系統(tǒng)會推薦Amy和Sherry相同的項目烟勋。然而规求,Amy和Sherry的推薦項目在基于時空的聚合方面是不同的筐付。在基于時空的聚合中,作者將時間信息納入鄰居嵌入學(xué)習(xí)中阻肿,其中時間順序在捕獲用戶的動態(tài)興趣和用戶集群隨時間的變化方面起著至關(guān)重要的作用瓦戚。

? ? 為了解決這個問題,作者提出了一種新的被稱為時空聚合方法(STAM)的聚合方法丛塌,將時間信息整合到鄰居嵌入學(xué)習(xí)中较解。STAM從空間結(jié)構(gòu)和時間順序的角度生成時空鄰居嵌入。為了進一步提高STAM的表達能力赴邻,作者在STAM中學(xué)習(xí)了多個attention heads印衔,以便對不同的潛在子空間進行聯(lián)合注意。另外姥敛,STAM可以自然地插入到現(xiàn)有的基于GNN的推薦中奸焙,從而獲得更好的推薦結(jié)果。

2 方法

2.1 問題定義

? ? 對于指定用戶項目對(u徒溪,v)忿偷,為了從時空角度聚合鄰居信息,首先需要從用戶的歷史行為收集時間信息臊泌,建立用戶u的行為時間序列Tu={v1鲤桥,···vS}和項目v的時間序列Tv={u1,···uS}渠概,其中S是一跳鄰居的數(shù)量茶凳,vt/ut指的是第t個的交互項目/用戶。

2.2 STAM


圖2 STAM框架

? ??圖2描述了STAM的整體架構(gòu)播揪,它以時間序列Tu和Tv作為輸入贮喧,輸出由一跳鄰居生成的時空鄰居嵌入。具體來說猪狈,作者首先從每個用戶-項目對(u箱沦、v)的連接的一跳鄰居中構(gòu)建兩個臨時時間序列,包括用戶的時間序列Tu={v1雇庙、···谓形,vS}和項目的時間序列Tv={u1、···疆前,uS}寒跳,其中S是時間序列的長度。然后獲取每個時間序列對應(yīng)項目/用戶的初始嵌入竹椒,即時間序列Tu的嵌入X_u = (e_v^1,e_v^2,...,e_v^S)童太,Tv的嵌入X_v = (e_u^1,e_u^2,...,e_u^S),其中e_v^t/e_u^t ∈R^d是維度為d的向量。注意初始嵌入的e_u^te_v^t來自于常規(guī)GNN的初始化embedding layer书释。

? ? 為了實現(xiàn)時空鄰居嵌入翘贮,作者使用了點積縮放注意力機制(Scaled Dot-Product Attention),其已經(jīng)成為序列建模的重要部分征冷。將查詢Q择膝、鍵K和值V作為輸入表示誓琼,查詢检激,鍵和值分別通過投影矩陣W_Q\in R^{d*D}',W_K\in R^{d*D}'以及W_V\in R^{d*D}'來投影到不同空間中。此外為了把時間信息編碼進注意力機制中腹侣,作者使用了位置編碼叔收,即時間序列Tu和Tv具有絕對時間位置嵌入P_u=(p_v^1,p_v^2,...,p_v^S)P_v=(p_u^1,p_u^2,...,p_u^S),其中p_u^t/p_v^t∈Rd表示t時間位置的位置向量。然后傲隶,將時間位置嵌入P_u/P_v與時間順序嵌入X_u/X_v相結(jié)合饺律,獲得用戶和項目的時間輸入嵌入Z_u = (e_v^1+p_v^1,e_v^2+p_v^2,...,e_v^S+p_v^S)Z_v=(e_u^1+p_u^1,e_u^2+p_u^2,...,e_u^S+p_u^S)。最后將Z_u/Z_v\in R^{S*d}輸入到STAM進行時空鄰居嵌入學(xué)習(xí)跺株。以用戶的時間序列Tu為例复濒,點積縮放注意力計算為:

公式1

? ? 其中,其中Z_u是一個時間輸入嵌入矩陣乒省,h^{T_u}\in R^{S*D}'表示一跳鄰居的輸出嵌入矩陣巧颈,W_QW_KW_V是應(yīng)用于每個用戶項對(u袖扛,v)的共享權(quán)重變換砸泛。同理,項目的時間序列Tv的計算公式為:


公式2

????為了進一步提高STAM的表達能力蛆封,作者采用了多頭注意力機制唇礁,而不是執(zhí)行單一的注意功能,從不同的潛在角度捕獲時間信息惨篱。利用多個獨立的attention heads盏筐,操作輸入嵌入以及不同的,可學(xué)習(xí)的線性投影矩陣砸讳,有助于提高模型的能力和穩(wěn)定性琢融。具體來說,多頭注意力機制首先將時間輸入嵌入Zu/Zv投影到具有各種線性投影矩陣的k個子空間中绣夺,然后并行使用k個縮放點積注意函數(shù)來生成一跳鄰居的輸出嵌入矩陣吏奸。這些嵌入矩陣可以連接起來產(chǎn)生一個組合的鄰域嵌入矩陣。最后應(yīng)用一個前饋神經(jīng)網(wǎng)絡(luò)來進行維數(shù)變換陶耍。在多頭注意力機制下奋蔚,中心用戶u和中心項目v的時空鄰居嵌入可以計算為:


公式3

? ??其中h_u\in R^{S*d}h_v\in R^{S*d}表示多頭注意力機制生成的時空鄰居嵌入,h_i^{T_u}/h_i^{T_v}\in R^{S*D’/k}表示第i個縮放點積注意函數(shù)的一跳鄰居的輸出嵌入矩陣(由于是k頭,故上面的W_Q等矩陣的第二維度會變成D'/k泊碑,拼接起來后維度才會回到D')坤按。FFN(·)可以表示為FFN(X)=XW_0+b_0,其中W_0\in R^{D’*d}b_0為可訓(xùn)練的參數(shù)馒过。需要注意的是臭脓,時空鄰居嵌入也可以以時間序列的形式表示,如Hu={h_{v1},h_{v2},...,h_{vS}}和Hv={h_{u1},h_{u2},...,h_{uS}}腹忽。

? ??最后来累,作者從上述的時空鄰居嵌入中計算出聚合的鄰居嵌入。在這里只是簡單地利用平均池操作來聚合時空鄰居嵌入窘奏。這是因為作者實驗發(fā)現(xiàn)時空鄰居嵌入的平均池化通常具有良好的性能嘹锁。中心用戶/項目的聚合的鄰居嵌入nu/nv可以表述為:


公式4

? 2.3?基于GNN的推薦的STAM

? ??與最先進的基于gnn的推薦模型LightGCN類似,作者也省略了非線性轉(zhuǎn)換着裹,并聚合時空鄰居嵌入作為中心節(jié)點嵌入领猾。然而,當層層傳播one hop鄰居的時空鄰居嵌入時骇扇,上述STAM的內(nèi)存消耗將呈指數(shù)級增長摔竿。為此,作者從時空鄰居嵌入h_u/h_v中學(xué)習(xí)了一個時空注意權(quán)重矩陣\Phi \in R^{(M+N)*(M+N)}少孝,并將其整合到相鄰的矩陣A \in R^{(M+N)*(M+N)}中继低。時空傳播層的矩陣形式可以表述為:


公式5

? ??其中h^{l+1}是第(l+1)層的中心嵌入,⊙表示element-wise product韭山,D是度矩陣郁季。

? ??中心用戶和項目的最終嵌入可以通過加權(quán)池化操作來計算。具體來說钱磅,應(yīng)用池化函數(shù)梦裂,通過操作傳播的L層來生成最終的用戶/項目嵌入:


公式6

? ??其中,αl≥0表示第l層的表示在構(gòu)成最終嵌入中的重要性盖淡。與LightGCN類似年柠,作者統(tǒng)一將αl設(shè)為1/(L+1),因為本工作不涉及αl的選擇褪迟。

2.4 STAM的優(yōu)化函數(shù)

????為了優(yōu)化STAM的參數(shù)冗恨,作者使用了被廣泛采用的BPR損失:


公式7

????其中σ(·)為sigmoid函數(shù),Θ為可訓(xùn)練參數(shù)味赃,λ控制L2正則化強度掀抹。vn~pn(·|u)表示負抽樣策略。

2.5 模型分析

? ? ·STAMvsLightGCN心俗。LightGCN是最近一個具有代表性的推薦圖卷積網(wǎng)絡(luò)模型傲武,它通過線性聚合用戶-項目交互圖中的鄰居來學(xué)習(xí)用戶和項目的嵌入蓉驹。STAM和LightGCN都旨在為基于gnn的推薦學(xué)習(xí)細粒度的用戶和項目嵌入。與只捕獲空間結(jié)構(gòu)信息的LightGCN不同揪利,STAM同時捕獲空間和時間信息态兴。

? ? ·SASRec是transformer的一個最新變體,它使用一組可訓(xùn)練的位置嵌入來編碼項目的順序疟位,以進行順序推薦瞻润。盡管STAM和SASRec都利用時間信息來學(xué)習(xí)用戶和項目嵌入,但推薦的類型是不同的甜刻。與SASRec的序列推薦不同绍撞,STAM側(cè)重于基于gnn的推薦。此外罢吃,SASRec中的項目嵌入是通過嵌入查找表執(zhí)行的楚午,而STAM中是通過時空聚合方法迭代學(xué)習(xí)的昭齐。

? ? ·BERT4Rec是一個順序推薦模型尿招,它使用深度雙向自我注意來建模用戶行為序列。盡管STAM和BERT4Rec都將Scaled Dot-Product Attention應(yīng)用到模型時間信息中阱驾,但STAM的重點是通過從空間結(jié)構(gòu)和時間順序的角度同時聚合一跳鄰居的信息來改進聚合方法就谜。BERT4Rec使用Cloze目標預(yù)測掩蔽項目,而STAM直接對采樣的訓(xùn)練對進行BPR損失里覆。

3 實驗

3.1 數(shù)據(jù)集


表1 實驗數(shù)據(jù)集

3.2 與圖神經(jīng)網(wǎng)絡(luò)的基線模型的比較


表2 實驗效果(%)

? ?根據(jù)表2丧荐,STAM比基線取得了顯著的改善,這證實了作者的主張喧枷,即在基于gnn的推薦中虹统,時間信息對鄰居聚合的重要性。

3.3?與序列模型的比較


表3 實驗效果(%)

? ??????根據(jù)表3所示的結(jié)果隧甚,STAM在大多數(shù)情況下表現(xiàn)優(yōu)于最佳基線BERT4Rec车荔,而在某些評估指標上表現(xiàn)差于BERT4Rec。盡管STAM和BERT4Rec都將Scaled Dot-Product Attention應(yīng)用到模型時間信息中戚扳,但STAM只利用一層注意來捕獲每個傳播層的時間信息忧便,而BERT4Rec將多個注意層疊加,以學(xué)習(xí)更復(fù)雜的項目轉(zhuǎn)換模式帽借。一般來說珠增,STAM比BERT4Rec具有更好的性能。這種改進可能歸因于空間圖的結(jié)構(gòu)砍艾,它可以利用消息傳播在用戶項圖中傳播嵌入蒂教。

3.4 消融實驗

????為了驗證STAM的優(yōu)越性,作者將STAM與之前四種具有代表性的基于空間的聚合方法進行了比較脆荷,包括“平均池”凝垛、“注意池”、“度歸一化”和“中心節(jié)點增強”。比較實驗如圖3所示苔严,STAM明顯優(yōu)于所有基于空間的聚合方法定枷,這驗證了捕獲一跳鄰居的時間順序有利于鄰域嵌入學(xué)習(xí)。


圖3 聚合方式比較

? ??為了分析傳播層數(shù)的影響届氢,我們在{1欠窒、2、3退子、4}的范圍內(nèi)改變了傳播層數(shù)L岖妄。如表4所示,用于基于gnn的推薦的STAM受益于疊加多個STAM來傳播嵌入在用戶-項目圖上的時空鄰居寂祥。與許多基于gnn的推薦模型類似荐虐,堆疊太多的STAM也會帶來過平滑的問題,即性能隨著傳播層數(shù)的增加而出現(xiàn)峰值變化丸凭。


表4 不同層數(shù)的影響

? ??作者進行了一個實驗來分析輸入長度S的影響福扬,并展示了圖4中對MRR@20的實驗結(jié)果。具體來說惜犀,在{5铛碑、20、50虽界、100汽烦、150、200}范圍內(nèi)搜索S莉御,并在實驗中保持最佳設(shè)置(S=200(Moivelens)和S=50(Amazon)和S=100(TaoBao))撇吞。從圖4中可以觀察到STAM的性能隨輸入長度的數(shù)量略有波動。這說明由STAM生成的時空鄰居嵌入受一跳鄰居的時間長度的影響較小礁叔。此外牍颈,作者觀察到適當?shù)妮斎腴L度S高度依賴于數(shù)據(jù)集的一跳鄰居的平均長度,這使我們能夠從數(shù)據(jù)集的屬性中設(shè)置最優(yōu)的輸入長度晴圾。


圖4 不同S的效果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颂砸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子死姚,更是在濱河造成了極大的恐慌人乓,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件都毒,死亡現(xiàn)場離奇詭異色罚,居然都是意外死亡,警方通過查閱死者的電腦和手機账劲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門戳护,熙熙樓的掌柜王于貴愁眉苦臉地迎上來金抡,“玉大人,你說我怎么就攤上這事腌且」8危” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵铺董,是天一觀的道長巫击。 經(jīng)常有香客問我,道長精续,這世上最難降的妖魔是什么坝锰? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮重付,結(jié)果婚禮上顷级,老公的妹妹穿的比我還像新娘。我一直安慰自己确垫,他們只是感情好弓颈,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著森爽,像睡著了一般恨豁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爬迟,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音菊匿,去河邊找鬼付呕。 笑死,一個胖子當著我的面吹牛跌捆,可吹牛的內(nèi)容都是我干的徽职。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼佩厚,長吁一口氣:“原來是場噩夢啊……” “哼姆钉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起抄瓦,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤潮瓶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钙姊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毯辅,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年煞额,在試婚紗的時候發(fā)現(xiàn)自己被綠了思恐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沾谜。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖胀莹,靈堂內(nèi)的尸體忽然破棺而出基跑,到底是詐尸還是另有隱情,我是刑警寧澤描焰,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布涩僻,位于F島的核電站,受9級特大地震影響栈顷,放射性物質(zhì)發(fā)生泄漏逆日。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一萄凤、第九天 我趴在偏房一處隱蔽的房頂上張望室抽。 院中可真熱鬧,春花似錦靡努、人聲如沸坪圾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兽泄。三九已至,卻和暖如春漾月,著一層夾襖步出監(jiān)牢的瞬間病梢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工梁肿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜓陌,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓吩蔑,卻偏偏與公主長得像钮热,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烛芬,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容