推荐系统与GNN的火花
推薦系統(tǒng)會存儲大量的用戶與items交互數(shù)據(jù),這些數(shù)據(jù)可以用二部圖呈現(xiàn)。二部圖對消除推薦系統(tǒng)中數(shù)據(jù)稀疏性和冷啟動有著巨大的幫助。這篇主要總結(jié)了3個典型的GNN方法在推薦系統(tǒng)領(lǐng)域處理用戶與items的二部圖。
我們可以通過每個用戶交互過的item列表,構(gòu)建一個巨大的二部圖,如下圖所示:
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方法(如協(xié)同過濾,雙塔),是無法處理上述二部圖的,圖神經(jīng)網(wǎng)絡(luò)就是要充分挖掘節(jié)點信息和節(jié)點與節(jié)點的交互信息,從而帶來巨大的商業(yè)價值。
在推薦領(lǐng)域,圖神經(jīng)網(wǎng)絡(luò)主要解決了以下幾個問題:
- 節(jié)點的敏感度,節(jié)點順序很小的改變極大的影響模型的輸出。
- 節(jié)點間閉塞的信息交互,傳統(tǒng)的深度學(xué)習(xí)模型不能夠充分挖掘高階節(jié)點之間的交互信息。
- 解釋能力弱,傳統(tǒng)的深度模型面向直觀的交互式圖結(jié)構(gòu),不能用于基于圖形的解釋和推理。
當(dāng)使用GNN處理二部圖,輸入節(jié)點的順序并不會影響輸出。另外,GNN使用邊的去輔助傳播、集成節(jié)點和鄰居的狀態(tài),更新當(dāng)前節(jié)點的狀態(tài),結(jié)構(gòu)化的信息會被模型捕捉,并表達(dá)在每個節(jié)點上,從而解決推薦系統(tǒng)稀疏性的問題。
embedding層主要研究如何獲得交互圖和一系列節(jié)點的特征,并使用此信息生成節(jié)點embedding,從而生成子圖和整個圖的embedding。這一層的作用是學(xué)習(xí)一個低維的向量表示,作為圖神經(jīng)網(wǎng)絡(luò)模型的輸入。在在早期的推薦系統(tǒng)中,提取用戶和item的特征應(yīng)用最廣泛的是矩陣分解(MF),如概率矩陣分解(PMF),偏差矩陣因子分解(BiasedMF)、神經(jīng)網(wǎng)絡(luò)矩陣因子分解(NNMF)等。然而,這些方法都有很大的缺點。每次分解都需要很長的時間復(fù)雜性與較高的空間復(fù)雜性,并不能完全探究用戶和item之間的隱含關(guān)系,導(dǎo)致推薦效果不理想。從DeepWalk算法首次應(yīng)用,各種深度學(xué)習(xí)embeding方法層出不窮。
最簡單的方法是使用淺層嵌入方法生成節(jié)點的唯一低維向量表示,即在初始步驟中,每個用戶和item被定義為唯一ID并直接映射成embedding。這種設(shè)計的優(yōu)點是模型可互換,不變形。互換性的不變性在于該模型不依賴于鄰接矩陣中行列的任意順序,彌補了深度模型對節(jié)點輸入順序高度敏感的缺陷。
傳播更新層是GNN推薦系統(tǒng)模型的核心組成部分,包括兩個階段:鄰居節(jié)點信息傳遞,聚合和更新(下圖)。嵌入層解決了圖數(shù)據(jù)很難高效地輸入推薦算法。下一步是解決深層模型消息傳輸路徑阻塞問題及解決方案長距離節(jié)點的信息傳播問題,然后是鄰居信息可以聚合在一起,為解決推薦系統(tǒng)中數(shù)據(jù)的稀疏性問題提供了一種可行的思路的。在每個消息傳遞迭代過程中,每個節(jié)點u對應(yīng)的embeding可以通過圖的所有鄰居節(jié)點N(u)聚合進(jìn)行更新,因此傳播更新層可以抽象地定義為:
圖卷積聚合器使用中心節(jié)點及其相鄰節(jié)點的embedding的聚合來表示中心節(jié)點,并進(jìn)行迭代傳播,從鄰居節(jié)點聚合嵌入的特征信息,并且只有一個卷積運算變換并聚合一階圖的鄰域的嵌入表示,通過疊加多層圖卷積網(wǎng)絡(luò),達(dá)到傳播遠(yuǎn)處多級的信息的目的。最后更新當(dāng)前節(jié)點的嵌入表示。如GraphSAGE提出了一種小批量聚合算法,它在一次更新沒使用所有的鄰居節(jié)點,對鄰居節(jié)點中的特征進(jìn)行采樣,并將更新后的最終狀態(tài)用于預(yù)測和反向傳播。PinSage框架下使用局部圖卷積運算從鄰居節(jié)點聚合信息。圖卷積聚合可以抽象地定義為:
經(jīng)典的長、短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)系統(tǒng)已經(jīng)被證明對于學(xué)習(xí)序列數(shù)據(jù)的動態(tài)特性非常有效,其中GRU和LSTM中的輸入輸出門機(jī)制可以保持長期的內(nèi)部狀態(tài)。門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)使用一個門遞歸單元在固定步數(shù)的傳播過程去更新聚合節(jié)點的隱藏狀態(tài)。門聚合可以抽象地定義為:
注意機(jī)制幾乎已經(jīng)成為處理序列數(shù)據(jù)任務(wù)的必用方法,已成功應(yīng)用于機(jī)器翻譯和機(jī)器閱讀。注意力機(jī)制可以區(qū)分不同節(jié)點的重要性。例如,購物場景下,最近購買的產(chǎn)品相比那些幾個月前購買的產(chǎn)品更有參考價值。在傳播過程中加入注意機(jī)制可以給鄰居節(jié)點賦權(quán),通過不同的attention score對鄰居節(jié)點的embedding進(jìn)行聚合。注意力聚合器可以抽象地定義為:
在多層傳播之后,從每個層獲得的embeding被拼接在一起作為用戶或item的最終特征。除了拼接,其他的組合方法,如加權(quán)平均、最大池和LSTM,都可以。有研究表明證明了拼接是最簡單且有效的,且它不涉及其他參數(shù)需要學(xué)習(xí)。最后,計算用戶與item之間的內(nèi)積用來預(yù)測用戶的未來行為:
本篇總結(jié)了一些GNN在推薦系統(tǒng)的應(yīng)用,其實還有很多gnn算法沒有介紹,如KGAT,融合了知識圖譜輔助推薦。再如KARN和SCPR這兩個模型,不是選出來一個匹配商品集就完事了,還要在圖中找出來對應(yīng)的路徑作為推薦的解釋,感興趣的讀者可以去查閱相關(guān)資料。
更多干貨,請關(guān)注微信公眾號:煉丹筆記總結(jié)
以上是生活随笔為你收集整理的推荐系统与GNN的火花的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统炼丹笔记:EdgeRec阿里边缘
- 下一篇: Model Search:炼丹师最强危机