圖網(wǎng)絡(luò)(graph neural network姓言, GNN)
Category:
- Recurrent Graph Neural Networks(RecGNNs)
- Convolutional Graph Neural Networks (ConvGNNs)
-Spectral methods
-Spatial methods - Graph Autoencoders (GAEs)
- Spatial-temporal Graph Neural Networks (STGNNs)
推薦系統(tǒng)中常用的4中圖網(wǎng)絡(luò):
-
GCN
spectrial-based的理論推導(dǎo)以及GCN的推導(dǎo):
spectral-based1.jpg
- GraphSage
- GAT
- GGNN
圖摘自論文:Graph Neural Networks in Recommender Systems: A Survey arXiv:2011.02260v1
1. GCN-based recommendation
GCN由一系列推導(dǎo)得到的最重要的一個(gè)公式:
1. Graph Convolutional Matrix Completion(GC-MC)
主要用的是基于GAE的圖網(wǎng)絡(luò)框架
由三層網(wǎng)絡(luò)組成(不同打分之間的adjacency matrix 由sum得到):OrdinalMixtureGCN欢嘿、Dense琉雳、BilinearMixture
2. Spectral Collaborative Filtering(2018 Recsys)(SpectralCF)
spectral-based. 先用交互信息建立無(wú)向圖(Bipartite Graph)文章在spectral的基礎(chǔ)上對(duì)filter 進(jìn)行了設(shè)計(jì),用多項(xiàng)式進(jìn)行擬合并推導(dǎo)(和GCN的區(qū)別是GCN是用Tschebyscheff 多項(xiàng)式近似
)再保留前2項(xiàng)來(lái)簡(jiǎn)化辆布。最后推導(dǎo)得到的前向傳播公式為:
3.STAR-GCN: Stacked and Reconstructed Graph Convolutional Networks for Recommender Systems(2019IJCAI)(STAR-GCN)
本文是在GC-MC的模型上做改進(jìn)。主要有2處改進(jìn):
-
decoder的輸出不是rating prediction, 而是embedding。為了可以處理cold start,作者在input的時(shí)候隨機(jī)將一定量的節(jié)點(diǎn)embedding置零或者是一定量的節(jié)點(diǎn)在訓(xùn)練時(shí)不更新粱快。然后encoder得到node embedding(GCN-based),decoder試圖通過(guò)恢復(fù)這些節(jié)點(diǎn)的input embedding叔扼,decoder的網(wǎng)絡(luò)為
(2層前向網(wǎng)絡(luò))事哭。
所以網(wǎng)絡(luò)優(yōu)化的時(shí)候有2部分loss,分別為task-specific loss (如prediction)和reconstruction loss瓜富。
loss expression
結(jié)構(gòu)模型 -
針對(duì)label leakage issue鳍咱。label leakage是因?yàn)樵趖raining時(shí),建圖的時(shí)候把本來(lái)需要做prediction的邊也建進(jìn)去了与柑,導(dǎo)致
變成了
谤辜,網(wǎng)絡(luò)過(guò)擬合,性能降低价捧。本文采用的優(yōu)化方法是每次訓(xùn)練都先把sample出來(lái)的邊刪掉丑念,再做neighbor aggregation(sample-and-remove)如圖所示。
sample and remove
4.Binarized Collaborative Filtering with Distilling Graph Convolutional Networks(IJCAI 2019)(Bi-HGNN)
這篇文章是binarized collaboratived filtering结蟋。之所以會(huì)有binarized embedding是因?yàn)橐獮橛脩暨M(jìn)行top-K推薦非常耗時(shí)脯倚,所以采用了一個(gè)hash-based,因?yàn)槿绻嵌登妒海琜0,1],[-1,1]推正,做內(nèi)積會(huì)非常快编整。所以是在這個(gè)基礎(chǔ)上做優(yōu)化舔稀。
GCN的部分還是差不多,只是模仿crossNet又加上了高階特征的尋找掌测,然后用BPR進(jìn)行優(yōu)化内贮。
知識(shí)蒸餾和hash的方法沒(méi)看,略過(guò)汞斧。但以hash來(lái)加快推薦速度之后有時(shí)間可以看看夜郁。
5. Revisiting Graph Based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approach(AAAI 2020)(LR-GCCF)
- 表達(dá)了在GCN網(wǎng)絡(luò)中增加非線性是無(wú)用的。網(wǎng)絡(luò)加深反而效果也會(huì)變差粘勒,這是因?yàn)閛ver smooth竞端,證明了網(wǎng)絡(luò)越深用戶間的差異越小。一般K=2是最好的庙睡。
-
優(yōu)化方式:通過(guò)優(yōu)化predicted rate事富。并且predicted rate是累加的技俐。其實(shí)就是相當(dāng)于各層embedding concat。
累加rating
rating遞歸推導(dǎo)
loss
6. Learning to Hash with Graph Neural Networks for Recommender Systems(WWW2020)(HashGNN)
這篇論文的網(wǎng)絡(luò)結(jié)構(gòu)由2部分組成:graph encoder以及hash layer.本文的主要?jiǎng)?chuàng)新點(diǎn)在于hash layer. graph encoder的部分就是2層GCN统台。每層輸出的presentation最后是meaning pooling組合到一起的雕擂。hash layer的部分很新穎,重點(diǎn)在于同時(shí)提高h(yuǎn)ash code的recall效率以及continous embedding的rank效率贱勃。這部分沒(méi)有重點(diǎn)看井赌,研究hash code的話感覺(jué)是很重要的一篇,值得研究贵扰。