Advertisement

【GCN-RS】Deep GCN with Hybrid Normalization for Accurate and Diverse Recommendation (DLP-KDD‘21)

阅读量:

memo-Deep Graph Convolutional Networks with Hybrid Normalization for Accurate and Diverse Recommendation (DLP-KDD’21)

一句话总结这篇文章就是在LR-GCCF和LightGCN的基础上,同时结合了 left normalization (给不同的邻居分配相等的归一化,PinSAGE)和 symmetric normalization (degree大的邻居分配小权重,LightCGN)。

Abstract

摘要完全概括了文章的内容:

现有的GCN RS模型在浅层就达到了最佳性能,这就没有用到高阶信号;现有的GCN模型对邻居信号聚合时,使用相同的归一化规则,要么PinSAGE那样同等重要,要么是LightGCN那样根据degree分配重要性。

但是同一套归一化规则肯定不能适配所有节点,所以提出了一个新的模型Deep Graph Convolutional Network with Hybrid Normalization (DGCN-HN)。

首先设计了一个residual connection 和 holistic connection**(LR-GCCF和LightGCN的混合版)**,以解决over-smoothing,可以训练深层GCN(8层)。

然后设计了hybrid normalization layer。通过一个简化的attention**(正常的attention没用)**实现hybrid 两种正则化。

实验结果还证明了这种做法有利于degree低的user。

Intro

又强调了一边现在的GCN RS都不深、使用了固定的归一化规则,使用相同的归一化规则会导致局部最优。

文章用一个例子解释了上述缺点:
image-20211108160823178

  • 浅层GCN不能利用高阶信号,给喜欢电子产品的U2推荐无人机就需要高阶信号。
  • 给所有节点使用 left normalization ,流行度很高的IPhone就会严重影响U1的兴趣,U1买IPhone只是刚需,兴趣并不在电子产品,因为U1经常购买纸质文具。
  • 给所有节点使用 symmetric normalization,流行度很高的IPhone就无法提供”电子产品“这一兴趣,U2和U3的兴趣就难以被刻画出来。

Model

在这里插入图片描述

所谓Residual就是在LightGCN的基础上加一个Residual:
\begin{aligned} \mathbf{h}_{u}^{(l+1)} &=\sum_{v \in N_{u}} \tilde{\mathrm{A}}_{u v} \mathbf{h}_{v}^{(l)}+\mathbf{h}_{u}^{(l)}, \quad \mathbf{h}_{u}^{(0)}=\mathbf{e}_{u} \\ \mathbf{h}_{v}^{(l+1)} &=\sum_{u \in N_{v}} \tilde{\mathrm{A}}_{v u} \mathbf{h}_{u}^{(l)}+\mathbf{h}_{v}^{(l)}, \quad \mathbf{h}_{v}^{(0)}=\mathbf{e}_{v} \end{aligned}
\tilde{\mathrm{A}}_{u v} 是Hybrid Normalization,混合了left normalization 和 symmetric normalization。一个简单的想法肯定两种正则化平均嘛,那进一步的想法就是做一个加权平均,上Attention:
\begin{aligned} \mathbf{h}_{N_{u}, L N}^{(l+1)} &=\sum_{v \in N_{u}} \frac{1}{\left|N_{u}\right|} \mathbf{h}_{v}^{(l)} \\ \mathbf{h}_{N_{u}, S N}^{(l+1)} &=\sum_{v \in N_{u}} \frac{1}{\sqrt{\left|N_{u}\right|} \sqrt{\left|N_{v}\right|}} \mathbf{h}_{v}^{(l)} \\ \mathbf{h}_{u}^{(l+1)} &=\mathbf{h}_{u}^{(l)}+\alpha_{u, L N}^{(l+1)} \mathbf{h}_{N_{u}, L N}^{(l+1)}+\alpha_{u, S N}^{(l+1)} \mathbf{h}_{N_{u}, S N}^{(l+1)} \end{aligned}
怎么算 Attention score?作者设计了一个Attention Layer:
z_{u, *}^{(l+1)}=\mathrm{W}_{1}^{(l)} \sigma\left(\mathrm{W}_{2}^{(l)}\left(\mathrm{h}_{N_{u}, *}^{(l+1)}+\mathrm{h}_{N_{u}, *}^{(l+1)} \odot \mathrm{h}_{u}^{(l)}\right)\right)
结果实验上训不起来无法收敛,换了一个简单的:
z_{u, *}^{(l+1)}=\operatorname{ave}\left(\mathbf{h}_{N_{u}, *}^{(l+1)}+\mathbf{h}_{N_{u}, *}^{(l+1)} \odot \mathbf{h}_{u}^{(l)}\right)

\alpha_{u, *}^{(l)}=\frac{\exp \left(z_{u, *}^{(l)}\right)}{\sum_{k \in\{L N, S N\}} \exp \left(z_{u, k}^{(l)}\right)}

Loss就是BPR loss,负采样比例1

实验结果

image-20211108163443010

提出的模型可以训到八层:
在这里插入图片描述

从Recall上看left normalization 和 symmetric normalization结合起来性能最好:
image-20211108164124076

文章从实验结果分析,对degree低的user提升更大:
在这里插入图片描述

我觉得是正常现象强行分析,因为degree低的user recall本来就低,基数小,所以显得提升大。

全部评论 (0)

还没有任何评论哟~