美文网首页
GCN在推荐系统中的应用

GCN在推荐系统中的应用

作者: syat_e6da | 来源:发表于2020-12-11 21:33 被阅读0次

图网络(graph neural network, GNN)

Category:

  1. Recurrent Graph Neural Networks(RecGNNs)
  2. Convolutional Graph Neural Networks (ConvGNNs)
    -Spectral methods
    -Spatial methods
  3. Graph Autoencoders (GAEs)
  4. Spatial-temporal Graph Neural Networks (STGNNs)

推荐系统中常用的4中图网络:

  1. GCN
    spectrial-based的理论推导以及GCN的推导:


    spectral-based1.jpg
spectral-based2.jpg spectral-based3.jpg
  1. GraphSage
  2. GAT
  3. GGNN

图摘自论文:Graph Neural Networks in Recommender Systems: A Survey arXiv:2011.02260v1


与图网络结合的顶会论文整理

1. GCN-based recommendation

GCN由一系列推导得到的最重要的一个公式:


GCN

1. Graph Convolutional Matrix Completion(GC-MC)

主要用的是基于GAE的图网络框架


GC-MC网络框架

由三层网络组成(不同打分之间的adjacency matrix 由sum得到):OrdinalMixtureGCN、Dense、BilinearMixture

2. Spectral Collaborative Filtering(2018 Recsys)(SpectralCF)

spectral-based. 先用交互信息建立无向图(Bipartite Graph)文章在spectral的基础上对filter g_{\theta}进行了设计,用多项式进行拟合并推导(和GCN的区别是GCN是用Tschebyscheff 多项式近似g_{\theta})再保留前2项来简化。最后推导得到的前向传播公式为:

SpectralCF

3.STAR-GCN: Stacked and Reconstructed Graph Convolutional Networks for Recommender Systems(2019IJCAI)(STAR-GCN)

本文是在GC-MC的模型上做改进。主要有2处改进:

  1. decoder的输出不是rating prediction, 而是embedding。为了可以处理cold start,作者在input的时候随机将一定量的节点embedding置零或者是一定量的节点在训练时不更新。然后encoder得到node embedding(GCN-based),decoder试图通过恢复这些节点的input embedding,decoder的网络为\hat{x} = W_4\alpha(W_3h)(2层前向网络)。
    所以网络优化的时候有2部分loss,分别为task-specific loss (如prediction)和reconstruction loss。

    loss expression
    结构模型
  2. 针对label leakage issue。label leakage是因为在training时,建图的时候把本来需要做prediction的边也建进去了,导致y=f_\theta(x) 变成了y = f_\theta(x, y),网络过拟合,性能降低。本文采用的优化方法是每次训练都先把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来加快推荐速度之后有时间可以看看。

GCN
Cross operation GCN-based feedforward
concat
Loss

5. Revisiting Graph Based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approach(AAAI 2020)(LR-GCCF)

  1. 表达了在GCN网络中增加非线性是无用的。网络加深反而效果也会变差,这是因为over smooth,证明了网络越深用户间的差异越小。一般K=2是最好的。
  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的话感觉是很重要的一篇,值得研究。


网络结构

相关文章

网友评论

      本文标题:GCN在推荐系统中的应用

      本文链接:https://www.haomeiwen.com/subject/bogjgktx.html