小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

一文了解推薦系統(tǒng)中的圖神經(jīng)網(wǎng)絡(luò)

 520jefferson 2021-08-09

  作者|楊晨

機(jī)構(gòu)|中國(guó)人民大學(xué)高瓴人工智能學(xué)院碩士

研究方向 | 推薦系統(tǒng)  

本文主要介紹推薦系統(tǒng)中的圖神經(jīng)網(wǎng)絡(luò),歡迎交流探討!

引言:近年來(lái),GNN技術(shù)由于其在圖數(shù)據(jù)學(xué)習(xí)方面的出色表現(xiàn),在許多領(lǐng)域得到了廣泛的應(yīng)用。在推薦系統(tǒng)中,大部分信息本質(zhì)上具有圖結(jié)構(gòu),而由于GNN對(duì)于表示學(xué)習(xí)具有一定的優(yōu)勢(shì),所以GNN在推薦系統(tǒng)相關(guān)領(lǐng)域的應(yīng)用迅速發(fā)展。本文盡可能用通俗的語(yǔ)言代替算法公式來(lái)進(jìn)行講述,希望可以讓讀者對(duì)推薦系統(tǒng)中的圖神經(jīng)網(wǎng)絡(luò)有一個(gè)基本的了解。



一、什么是圖神經(jīng)網(wǎng)絡(luò)?

Graph Neural Network(GNN),顧名思義,圖上的神經(jīng)網(wǎng)絡(luò),為了理解GNN,需要弄清楚以下兩個(gè)問(wèn)題:

1.首先,什么是圖(Graph)?簡(jiǎn)單來(lái)講,圖是定義了節(jié)點(diǎn)(node)和連接方式(edge)的一種結(jié)構(gòu),節(jié)點(diǎn)和邊都分別具有其性質(zhì),比如化學(xué)分子(原子/鍵)、城市地鐵(站臺(tái)/鐵路)、社交網(wǎng)絡(luò)(人/關(guān)系)。

2.其次,怎么把圖塞到神經(jīng)網(wǎng)絡(luò)里?

直觀上想,近朱者赤近墨者黑,一個(gè)節(jié)點(diǎn)跟他所連接的節(jié)點(diǎn)應(yīng)該有一些相似的關(guān)系,那么就可以利用這些特定的關(guān)系來(lái)幫助我們的模型學(xué)到好的節(jié)點(diǎn)表示,那么怎么做到這件事呢?

回想一下卷積神經(jīng)網(wǎng)絡(luò)(CNN),做卷積的過(guò)程中,放一個(gè)卷積核,然后相乘相加,做完了之后就可以得到下一層的 feature map,同樣的,可以將類似的操作推廣到圖結(jié)構(gòu)上。

Image

圖結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)有一個(gè)表示,就像CNN中每個(gè)點(diǎn)有個(gè)值,可以很自然的去想去通過(guò)看他的鄰居的值來(lái)進(jìn)行特征聚集,比如說(shuō)下圖中3號(hào)節(jié)點(diǎn)有三個(gè)鄰居,分別是0/2/4號(hào)節(jié)點(diǎn),通過(guò)對(duì)鄰居節(jié)點(diǎn)的表示進(jìn)行計(jì)算來(lái)得到其下一層的 feature map。

Image

最后,可以利用傳播過(guò)程所得到的各層表示來(lái)進(jìn)一步完成后續(xù)任務(wù)(例如節(jié)點(diǎn)分類/邊預(yù)測(cè)/節(jié)點(diǎn)內(nèi)積預(yù)測(cè)匹配度等等)。
以上介紹的是一種比較簡(jiǎn)單容易理解的結(jié)構(gòu),希望讀者可以以此為基礎(chǔ)理解圖神經(jīng)網(wǎng)絡(luò)的基本思想。而根據(jù)結(jié)構(gòu)設(shè)計(jì)不同,GNN模型可以劃分為以下幾種,RecGNN、ConvGNN、STGNN和GAE [8],此處不再詳細(xì)介紹,感興趣的讀者可以自行查閱相關(guān)資料。而在推薦系統(tǒng)中,常見(jiàn)的GNN框架主要有以下幾種:GCN [2],GraphSage [3],GAT [4],GCNN [5]等。



二、為什么要在推薦系統(tǒng)中使用圖神經(jīng)網(wǎng)絡(luò)?

其實(shí)最通俗的原因就是GNN表現(xiàn)好,并且推薦系統(tǒng)中的大部分?jǐn)?shù)據(jù)(本質(zhì)上可以看作圖結(jié)構(gòu)數(shù)據(jù))適合使用GNN。接下來(lái)分類進(jìn)行詳細(xì)介紹:
首先將推薦系統(tǒng)大致分為兩類:一般的推薦(general recommendation)和序列化推薦(sequential recommendation),簡(jiǎn)單來(lái)講,就是根據(jù)需不需要考慮時(shí)間順序來(lái)進(jìn)行劃分,前者將用戶偏好視為靜態(tài)的,學(xué)習(xí)用戶和物品的靜態(tài)表示,后者認(rèn)為用戶偏好隨時(shí)間動(dòng)態(tài)變化,根據(jù)交互序列來(lái)預(yù)測(cè)用戶下一個(gè)可能喜歡的物品。
推薦系統(tǒng)中用到的數(shù)據(jù),主要包括以下幾種(見(jiàn)下圖):
  • 對(duì)于 general recommendation:交互數(shù)據(jù),可以看作二部圖(bipartite graph)

  • 對(duì)于 sequential recommendation:物品序列,可以抽象成序列圖(sequence graph)

  • 其他輔助信息:社會(huì)關(guān)系(social relationship)和知識(shí)圖譜(knowledge graph)均可以看作圖結(jié)構(gòu)數(shù)據(jù)

Image

除了數(shù)據(jù)方面,對(duì)于具體的學(xué)習(xí)過(guò)程而言,GNN具有以下優(yōu)點(diǎn) [6]:
  • 對(duì)于 general recommendation:GNN可以通過(guò)節(jié)點(diǎn)聚合顯式地編碼協(xié)同信號(hào)來(lái)增強(qiáng)用戶和物品的表示學(xué)習(xí)能力,相比與其他模型,GNN對(duì)多跳信息的建模更加靈活方便。

  • 對(duì)于 sequential recommendation:將序列數(shù)據(jù)轉(zhuǎn)換為序列圖可以更靈活地進(jìn)行項(xiàng)目選擇的原始轉(zhuǎn)換,并且,GNN可以通過(guò)環(huán)的結(jié)構(gòu)捕獲隱含在順序行為中的復(fù)雜用戶偏好。

簡(jiǎn)而言之,推薦系統(tǒng)數(shù)據(jù)結(jié)構(gòu)非常適合轉(zhuǎn)化為圖結(jié)構(gòu),并且GNN在圖數(shù)據(jù)的表示學(xué)習(xí)上具有非常強(qiáng)大的學(xué)習(xí)能力。



三、推薦系統(tǒng)中的圖神經(jīng)網(wǎng)絡(luò)分類

對(duì)兩類推薦系統(tǒng)General Recommendation 和 Sequential Recommendation,以下根據(jù)其所用數(shù)據(jù)信息類型進(jìn)行分類:

  1. General Recommendation
目標(biāo)為建模用戶的靜態(tài)偏好,所利用的基本數(shù)據(jù)為用戶物品交互數(shù)據(jù),根據(jù)其用到的數(shù)據(jù)信息將其分為以下三類:
A-僅交互信息(User-item interaction information)
這類模型基本思想本質(zhì)上是利用用戶交互過(guò)的物品記錄增強(qiáng)用戶表示,以及利用交互過(guò)的用戶記錄來(lái)增強(qiáng)物品表示,多層的GNN可以模擬信息傳遞過(guò)程并且高效的建立高階連接,這里最關(guān)鍵的挑戰(zhàn)是如何進(jìn)行信息聚合,這類模型的研究主要集中在以下幾個(gè)方面:
  • 圖結(jié)構(gòu)建模。是在異構(gòu)二部圖上應(yīng)用GNN,還是基于兩跳近鄰重構(gòu)齊次圖?考慮到計(jì)算效率,如何對(duì)有代表性的鄰域進(jìn)行圖傳播,而不是對(duì)整個(gè)圖進(jìn)行操作?
  • 鄰居聚合。如何聚合來(lái)自鄰居節(jié)點(diǎn)的信息?具體來(lái)說(shuō),是否要區(qū)分鄰居的重要性?還是要區(qū)分鄰居之間的相互作用?
  • 信息更新。如何將中心節(jié)點(diǎn)表示與其相鄰節(jié)點(diǎn)的聚合表示相結(jié)合?
  • 最終節(jié)點(diǎn)表示。是否使用最后一層中的節(jié)點(diǎn)表示,還是使用所有層中的節(jié)點(diǎn)表示的組合作為最終的節(jié)點(diǎn)表示?
這類模型比較具有代表性的工作有 NGCF [9] / LIghtGCN [10]
B-社交網(wǎng)絡(luò)增強(qiáng)(Social network enhanced)
這類模型的思想本質(zhì)上為,根據(jù)社會(huì)影響理論,人們會(huì)互相影響,所以有著社會(huì)關(guān)系的用戶應(yīng)該具有更加相似的表示。這里需要利用GNN將用戶之間的關(guān)系整合到交互行為中,此類研究主要需要處理兩個(gè)問(wèn)題:
  • 社會(huì)關(guān)系的影響。社會(huì)關(guān)系中朋友有同等的影響力嗎?如果沒(méi)有,如何區(qū)分不同朋友的影響?
  • 偏好集成。如何整合社會(huì)影響角度和交互行為這兩方面的用戶表示?
這類模型比較具有代表性的工作有 DiffNet [11] / GraphRec [12]
      C-知識(shí)圖譜增強(qiáng)(Knowledge graph enhanced)
社交網(wǎng)絡(luò)反映了用戶之間的關(guān)系,知識(shí)圖譜則表達(dá)了物品之間的關(guān)系,以此來(lái)增強(qiáng)物品的表示,將知識(shí)圖譜融入推薦系統(tǒng)可以帶來(lái)兩方面的好處:1.物品間豐富的語(yǔ)義關(guān)聯(lián)可以提高物品表示的效果,2.增強(qiáng)了推薦結(jié)果的可解釋性。由于知識(shí)圖譜具有復(fù)雜的圖結(jié)構(gòu)(多類型的實(shí)體和多類型的關(guān)系),所以,在推薦系統(tǒng)中應(yīng)用知識(shí)圖譜是非常具有挑戰(zhàn)性的。知識(shí)圖譜增強(qiáng)的推薦系統(tǒng)追求信息的充分利用,通過(guò)建模物品的關(guān)系來(lái)估計(jì)用戶的偏好,研究主要針對(duì)以下兩個(gè)問(wèn)題:
  • 圖結(jié)構(gòu)建模。怎樣平衡信息豐富度和圖網(wǎng)絡(luò)復(fù)雜度?怎樣把用戶融合進(jìn)知識(shí)圖譜?
  • 關(guān)系感知聚合。如何設(shè)計(jì)關(guān)系感知的聚合函數(shù)來(lái)聚合鏈接實(shí)體的信息?
這類模型比較具有代表性的工作有 KGCN [13] / KGAT [14]
 
  1. Sequential Recommendation
目標(biāo)為根據(jù)用戶近期的行為預(yù)測(cè)用戶接下來(lái)的愛(ài)好,這類模型建模序列信息,將序列行為轉(zhuǎn)化為序列圖,從而獲取用戶的序列行為轉(zhuǎn)化模式,同樣的,根據(jù)其用到的數(shù)據(jù)信息,將其分為以下三類:
     A-僅序列信息(Sequence information)
從物品之間鄰接的角度來(lái)看,物品序列可以被建模為圖結(jié)構(gòu)數(shù)據(jù)。GNN基于序列圖,通過(guò)迭代傳播捕獲物品的遷移,學(xué)習(xí)具有代表性的物品表示。下圖展示了序列推薦中GNN的總體框架。
Image
為了在序列推薦中充分利用GNN,此類模型研究主要針對(duì)以下三個(gè)問(wèn)題:
  • 圖結(jié)構(gòu)建模。為每個(gè)序列單獨(dú)構(gòu)造一個(gè)子圖是否足夠?在幾個(gè)連續(xù)項(xiàng)之間添加邊是否比只在兩個(gè)連續(xù)項(xiàng)之間添加邊更好?
  • 信息傳遞。要捕獲轉(zhuǎn)換模式,哪種傳播機(jī)制更合適?是否有必要區(qū)分鏈接項(xiàng)的順序?
  • 序列偏好。為了獲得用戶的實(shí)時(shí)偏好,應(yīng)該集成序列中的表示。是簡(jiǎn)單地應(yīng)用注意力池還是利用RNN結(jié)構(gòu)來(lái)增強(qiáng)連續(xù)時(shí)間模式?
這類模型比較具有代表性的工作有 SR-GNN [15] / GC-SAN [16]
B-社交網(wǎng)絡(luò)增強(qiáng)(Social network enhanced)
與前文類似,一個(gè)直觀的想法是,用戶從連續(xù)行為推斷出的動(dòng)態(tài)偏好也可以被他們的朋友所影響。然而,在序列推薦中較少注意利用社會(huì)關(guān)系信息,可能的原因是,在順序推薦中,用戶的表示主要是從用戶的序列行為(即商品的序列)中學(xué)習(xí)到的。序列中的動(dòng)態(tài)偏好要比基于用戶id的靜態(tài)偏好重要得多。
這類模型比較具有代表性的工作有 DGRec [17]
C-知識(shí)圖譜增強(qiáng)(Knowledge graph enhanced)
與前文類似,序列推薦也可以受益于知識(shí)圖中包含的豐富信息,特別是在序列數(shù)據(jù)不足的情況下,可以通過(guò)語(yǔ)義連接增強(qiáng)物品的表示,目前這類模型的研究也較少。
 
  1. 其他推薦任務(wù)
除了以上介紹的兩類推薦系統(tǒng)之外,也有一些其他的推薦子任務(wù)的相關(guān)研究,這里不再展開(kāi),就簡(jiǎn)單列舉一下這些任務(wù)中與GNN相關(guān)的研究工作:
      A-點(diǎn)擊率預(yù)測(cè) —— CTR prediction(Fi-GNN [18])
點(diǎn)擊率預(yù)測(cè)在大規(guī)模工業(yè)應(yīng)用中是一個(gè)非常重要的任務(wù),在基于多種類型特征來(lái)預(yù)測(cè)點(diǎn)擊率的過(guò)程中,GNN可以用來(lái)刻畫(huà)高階的特征交互,將其轉(zhuǎn)變?yōu)閳D上的節(jié)點(diǎn)信息傳播。
B-興趣點(diǎn)推薦 —— POI recommendation(GPR [19])
興趣點(diǎn)推薦在基于位置的服務(wù)中起著關(guān)鍵作用,在這個(gè)任務(wù)中,基于空間和時(shí)間特征,模擬POI之間的地理影響以及用戶序列行為的轉(zhuǎn)換模式,存在的圖結(jié)構(gòu)有 user-POI 二部圖、基于簽到的序列圖和地理圖等,可以利用GNN來(lái)刻畫(huà)用戶偏好以及地理信息等。
C-群組推薦 —— Group recommendation(GAME [20])
群組推薦為向一組用戶而不是單個(gè)用戶進(jìn)行物品推薦,“組”可以看作用戶之間存在的關(guān)系(邊),也可以將“組”看作圖中一個(gè)特殊的節(jié)點(diǎn),將用戶的表示集中在組里。
D-捆綁推薦 —— Bundle recommendation(BGCN [21])
捆綁推薦主要目的為為用戶一次推薦一系列物品,此時(shí)“組”的概念為一組物品,與群組推薦同理,可以利用GNN構(gòu)造層次結(jié)構(gòu),進(jìn)一步捕獲物品之間的關(guān)系。



四、結(jié)語(yǔ)

本文主要圍繞推薦系統(tǒng)中的圖神經(jīng)網(wǎng)絡(luò)這個(gè)主題,從圖神經(jīng)網(wǎng)絡(luò)到其在推薦系統(tǒng)中的分類的進(jìn)行了概述,希望可以通過(guò)這篇文章讓讀者對(duì)該領(lǐng)域有一個(gè)簡(jiǎn)單認(rèn)識(shí)。同時(shí)歡迎對(duì)文章內(nèi)容有疑問(wèn)或想法的同學(xué)在評(píng)論區(qū)積極留言討論!

最后,仍然向大家推薦非常好用的推薦算法工具包“伯樂(lè)”(RecBole,github鏈接在這里:https://github.com/RUCAIBox/RecBole),包含并實(shí)現(xiàn)了上述提到的多種GNN相關(guān)模型(NGCF / LightGCN / KGCN / KGAT / SRGNN / GCSAN 等),非常適合剛剛?cè)腴T推薦系統(tǒng)的朋友,下面是RecBole介紹文章,希望大家多多支持!

參考文獻(xiàn)

[1] https://www.bilibili.com/video/BV1Wv411h7kN?p=28

[2] Thomas N Kipf, et al. Semi-supervised classification with graph convolutional networks. ICLR 2017.

[3] William L. Hamilton, et al. Inductive Representation Learning on Large Graphs. NIPS 2017.

[4] Petar Veli?kovi?, et al. Graph attention networks. arXiv preprint arXiv:1710.10903 (2017).

[5] Yujia Li et al. Gated graph sequence neural networks. arXiv preprint arXiv:1511.05493 (2015).

[6] Wu S, et al. Graph Neural Networks in Recommender Systems: A Survey[J]. 2020.

[7] J. Bruna, et al. Spectral networks and locally connected networks on graphs. ICLR 2014.

[8] Zonghan Wu, et al. A comprehensive survey on graph neural networks. IEEE Transactions on Neural Networks and Learning Systems (2020).

[9] Xiang Wang, et al. Neural Graph Collaborative Filtering. SIGIR 2019.

[10] Xiangnan He, et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. SIGIR 2020.

[11] Le Wu, et al. A Neural Influence Diffusion Model for Social Recommendation. SIGIR 2019.

[12] Wenqi Fan, et al. Graph Neural Networks for Social Recommendation. WWW 2019.

[13] Hongwei Wang, et al. Knowledge Graph Convolutional Networks for Recommender Systems. WWW 2019.

[14] Xiang Wang, et al. KGAT: Knowledge Graph Attention Network for Recommendation. KDD 2019.

[15] Shu Wu, et al. Session-based recommendation with graph neural networks. AAAI 2019

[16] Chengfeng Xu, et al. Graph contextualized self-attention network for session-based recommendation. IJCAI 2019.

[17] Weiping Song, et al. Session-based social recommendation via dynamic graph attention networks. WSDM 2019.

[18] Zekun Li, et al. Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction. WWW 2019.

[19] Buru Chang, et al. Learning Graph-Based Geographical Latent Representation for Point-of-Interest Recommendation. CIKM 2020.

[20] Zhixiang He, et al. GAME: Learning Graphical and Attentive Multi-View Embeddings for Occasional Group Recommendation. SIGIR 2020.

[21] Jianxin Chang, et al. Bundle Recommendation with Graph Convolutional Networks. SIGIR 2020.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多