图网络(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)
推荐系统中常用的4中图网络:
-
GCN
spectrial-based的理论推导以及GCN的推导:
spectral-based1.jpg
![](https://img.haomeiwen.com/i9211006/75bed8ca7573da16.jpg)
![](https://img.haomeiwen.com/i9211006/1678811adc98466f.jpg)
- GraphSage
- GAT
- GGNN
图摘自论文:Graph Neural Networks in Recommender Systems: A Survey arXiv:2011.02260v1
![](https://img.haomeiwen.com/i9211006/5ed82520a4b07d42.png)
1. GCN-based recommendation
GCN由一系列推导得到的最重要的一个公式:
![](https://img.haomeiwen.com/i9211006/f21e476bbafcf5de.png)
1. Graph Convolutional Matrix Completion(GC-MC)
主要用的是基于GAE的图网络框架
![](https://img.haomeiwen.com/i9211006/f5702cd9e156cb62.png)
由三层网络组成(不同打分之间的adjacency matrix 由sum得到):OrdinalMixtureGCN、Dense、BilinearMixture
2. Spectral Collaborative Filtering(2018 Recsys)(SpectralCF)
spectral-based. 先用交互信息建立无向图(Bipartite Graph)文章在spectral的基础上对filter 进行了设计,用多项式进行拟合并推导(和GCN的区别是GCN是用Tschebyscheff 多项式近似
)再保留前2项来简化。最后推导得到的前向传播公式为:
![](https://img.haomeiwen.com/i9211006/23c0b8b9284dd4f9.png)
3.STAR-GCN: Stacked and Reconstructed Graph Convolutional Networks for Recommender Systems(2019IJCAI)(STAR-GCN)
本文是在GC-MC的模型上做改进。主要有2处改进:
-
decoder的输出不是rating prediction, 而是embedding。为了可以处理cold start,作者在input的时候随机将一定量的节点embedding置零或者是一定量的节点在训练时不更新。然后encoder得到node embedding(GCN-based),decoder试图通过恢复这些节点的input embedding,decoder的网络为
(2层前向网络)。
所以网络优化的时候有2部分loss,分别为task-specific loss (如prediction)和reconstruction loss。
loss expression
结构模型
-
针对label leakage issue。label leakage是因为在training时,建图的时候把本来需要做prediction的边也建进去了,导致
变成了
,网络过拟合,性能降低。本文采用的优化方法是每次训练都先把sample出来的边删掉,再做neighbor aggregation(sample-and-remove)如图所示。
sample and remove
4.Binarized Collaborative Filtering with Distilling Graph Convolutional Networks(IJCAI 2019)(Bi-HGNN)
这篇文章是binarized collaboratived filtering。之所以会有binarized embedding是因为要为用户进行top-K推荐非常耗时,所以采用了一个hash-based,因为如果是二值,[0,1],[-1,1],做内积会非常快。所以是在这个基础上做优化。
GCN的部分还是差不多,只是模仿crossNet又加上了高阶特征的寻找,然后用BPR进行优化。
知识蒸馏和hash的方法没看,略过。但以hash来加快推荐速度之后有时间可以看看。
![](https://img.haomeiwen.com/i9211006/c57173ffaa9630c5.png)
![](https://img.haomeiwen.com/i9211006/892afdc6cf6b5369.png)
![](https://img.haomeiwen.com/i9211006/91a57cbb0af8abf8.png)
![](https://img.haomeiwen.com/i9211006/8fb3453c3cc4dc7e.png)
![](https://img.haomeiwen.com/i9211006/b83e833ea78db20d.png)
5. Revisiting Graph Based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approach(AAAI 2020)(LR-GCCF)
- 表达了在GCN网络中增加非线性是无用的。网络加深反而效果也会变差,这是因为over smooth,证明了网络越深用户间的差异越小。一般K=2是最好的。
-
优化方式:通过优化predicted rate。并且predicted rate是累加的。其实就是相当于各层embedding concat。
累加rating
rating递归推导
loss
6. Learning to Hash with Graph Neural Networks for Recommender Systems(WWW2020)(HashGNN)
这篇论文的网络结构由2部分组成:graph encoder以及hash layer.本文的主要创新点在于hash layer. graph encoder的部分就是2层GCN。每层输出的presentation最后是meaning pooling组合到一起的。hash layer的部分很新颖,重点在于同时提高hash code的recall效率以及continous embedding的rank效率。这部分没有重点看,研究hash code的话感觉是很重要的一篇,值得研究。
![](https://img.haomeiwen.com/i9211006/00318dedf72567cc.png)
网友评论