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中,作者從用戶的行為歷史中選擇兩個用戶(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的整體架構(gòu)播揪,它以時間序列Tu和Tv作為輸入贮喧,輸出由一跳鄰居生成的時空鄰居嵌入。具體來說猪狈,作者首先從每個用戶-項目對(u箱沦、v)的連接的一跳鄰居中構(gòu)建兩個臨時時間序列,包括用戶的時間序列Tu={v1雇庙、···谓形,vS}和項目的時間序列Tv={u1、···疆前,uS}寒跳,其中S是時間序列的長度。然后獲取每個時間序列對應(yīng)項目/用戶的初始嵌入竹椒,即時間序列Tu的嵌入童太,Tv的嵌入
,其中
是維度為d的向量。注意初始嵌入的
和
來自于常規(guī)GNN的初始化embedding layer书释。
? ? 為了實現(xiàn)時空鄰居嵌入翘贮,作者使用了點積縮放注意力機制(Scaled Dot-Product Attention),其已經(jīng)成為序列建模的重要部分征冷。將查詢Q择膝、鍵K和值V作為輸入表示誓琼,查詢检激,鍵和值分別通過投影矩陣',
'以及
'來投影到不同空間中。此外為了把時間信息編碼進注意力機制中腹侣,作者使用了位置編碼叔收,即時間序列Tu和Tv具有絕對時間位置嵌入
和
,其中
∈Rd表示t時間位置的位置向量。然后傲隶,將時間位置嵌入
與時間順序嵌入
相結(jié)合饺律,獲得用戶和項目的時間輸入嵌入
和
。最后將
輸入到STAM進行時空鄰居嵌入學(xué)習(xí)跺株。以用戶的時間序列Tu為例复濒,點積縮放注意力計算為:
? ? 其中,其中是一個時間輸入嵌入矩陣乒省,
'表示一跳鄰居的輸出嵌入矩陣巧颈,
、
和
是應(yīng)用于每個用戶項對(u袖扛,v)的共享權(quán)重變換砸泛。同理,項目的時間序列Tv的計算公式為:
????為了進一步提高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的時空鄰居嵌入可以計算為:
? ??其中和
表示多頭注意力機制生成的時空鄰居嵌入,
表示第i個縮放點積注意函數(shù)的一跳鄰居的輸出嵌入矩陣(由于是k頭,故上面的
等矩陣的第二維度會變成D'/k泊碑,拼接起來后維度才會回到D')坤按。FFN(·)可以表示為
,其中
和
為可訓(xùn)練的參數(shù)馒过。需要注意的是臭脓,時空鄰居嵌入也可以以時間序列的形式表示,如Hu={
}和Hv={
}腹忽。
? ??最后来累,作者從上述的時空鄰居嵌入中計算出聚合的鄰居嵌入。在這里只是簡單地利用平均池操作來聚合時空鄰居嵌入窘奏。這是因為作者實驗發(fā)現(xiàn)時空鄰居嵌入的平均池化通常具有良好的性能嘹锁。中心用戶/項目的聚合的鄰居嵌入nu/nv可以表述為:
? 2.3?基于GNN的推薦的STAM
? ??與最先進的基于gnn的推薦模型LightGCN類似,作者也省略了非線性轉(zhuǎn)換着裹,并聚合時空鄰居嵌入作為中心節(jié)點嵌入领猾。然而,當層層傳播one hop鄰居的時空鄰居嵌入時骇扇,上述STAM的內(nèi)存消耗將呈指數(shù)級增長摔竿。為此,作者從時空鄰居嵌入中學(xué)習(xí)了一個時空注意權(quán)重矩陣
少孝,并將其整合到相鄰的矩陣
中继低。時空傳播層的矩陣形式可以表述為:
? ??其中是第(l+1)層的中心嵌入,⊙表示element-wise product韭山,D是度矩陣郁季。
? ??中心用戶和項目的最終嵌入可以通過加權(quán)池化操作來計算。具體來說钱磅,應(yīng)用池化函數(shù)梦裂,通過操作傳播的L層來生成最終的用戶/項目嵌入:
? ??其中,α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損失:
????其中σ(·)為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ù)集
3.2 與圖神經(jīng)網(wǎng)絡(luò)的基線模型的比較
? ?根據(jù)表2丧荐,STAM比基線取得了顯著的改善,這證實了作者的主張喧枷,即在基于gnn的推薦中虹统,時間信息對鄰居聚合的重要性。
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í)。
? ??為了分析傳播層數(shù)的影響届氢,我們在{1欠窒、2、3退子、4}的范圍內(nèi)改變了傳播層數(shù)L岖妄。如表4所示,用于基于gnn的推薦的STAM受益于疊加多個STAM來傳播嵌入在用戶-項目圖上的時空鄰居寂祥。與許多基于gnn的推薦模型類似荐虐,堆疊太多的STAM也會帶來過平滑的問題,即性能隨著傳播層數(shù)的增加而出現(xiàn)峰值變化丸凭。
? ??作者進行了一個實驗來分析輸入長度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)的輸入長度晴圾。