美文网首页
STAR-GCN论文笔记

STAR-GCN论文笔记

作者: 第一个读书笔记 | 来源:发表于2019-11-17 22:02 被阅读0次

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

目的:学习节点表达来提升推荐系统的效果。

模型结构:一组GCN的encoder-decoder,结合中间监督(intermediate supervision),来提高预测结果。

  1. 其他图卷积矩阵补全模型的输入是节点的one-hot,STAR-GCN学习的是低维空间的用户和商品潜在特征,这些特征作为输入来控制模型的空间复杂度;
  2. 新的节点,可以作为重建的被masked的输入节点,来获得节点向量,这种方式,可以解决冷启动的问题。

Contribution

  1. 为推荐系统提供了新模型来学习用户和商品的潜在特征,并应用到在trasductive和inductive任务;
  2. 在做link-prediction任务时,发现以GCN为基础的模型会产生label leakage,并阐述了一种sample-and-remove的训练策略来解决这个问题;
  3. 实验结果表明,该模型在multiple rating prediction上,4/5的transductive任务结果都达到SOTA,在inductive任务上(冷启动),结果优于其他模型。

背景

对内容提供者,电商,搜索引擎来说,分析用户倾向,从而提供目标商品的推荐系统是不可或缺的。在推荐系统中,主要的数学问题就是矩阵补全。如果有n个用户m个商品,那么推荐算法主要目标就是在 的矩阵上,根据已有的数据,填上其他缺失的数据。解决办法有以下几种:

  1. 矩阵分解,通过学习潜在的特征或者用户/商品的向量来获得分数;

  2. GCN,通过局部参数共享操作器(又称为图聚合器),经过转换和聚合局部节点的特征,生成节点表达。由于局部邻接集合可以被视为卷积核中的receptive field,因此这种聚合邻接的方法为图卷积;

  3. Monti et al. [2017] 首创了GCN在推荐系统中的应用。GCN从user-user和item-item这两个图上,聚合信息,每经过聚合,更新user和item的特征,用GCN和MF作为损失函数来训练模型;

  4. Berg et al. [2017]提出了Graph Convolutional Matrix Completion (GC-MC) model,用户和商品构成的图,通过预测边标签来学习特征表达,并获得很好的实验结果。但它还是有2个缺陷:

    1. 为区别节点,节点的输入是one-hot,输入的维度和整个图的节点数有关,不适用巨大图;
    2. 由于无法将未知点转成one-hot,无法对未知点进行预测(这种对新用户/新商品的预测又称为冷启动问题)。

实验任务:

  1. transductive rating: 测试的节点在训练数据中
  2. inductive ratng:对新节点的预测

Rating prediction tasks

任务目标:给定一小部分的用户对商品的打分,预测用户对其他商品的打分情况。

图由(用户U,商品V,评分R)组成,评分级别表示用户u和商品v连接类型。在训练图上的所有rating pairs,都会在测试集上。

  1. Transductive: 使用协同过滤,比如矩阵分解来预测评分。
  2. inductive:测试图上的u_1 ,v_1 ,不在训练图中,在预测前,这些节点首先经过一些评分边,协同过滤是没有办法对未知节点进行预测的。Collaborative Deep Learning (CDL) [Wang et al., 2015] model and DropoutNet可以通过学习节点内容来进行预测。STAR-GCN不仅可以学习到节点内容,还能考虑到结构信息。因此,当节点的内容信息无法使用时,还可以根据节点的结构信息来得到节点表达。
    rating prediction task

Graph convolutional matrix completion

GC-MC[Berg et al.,2017]. 使用multi-link图卷积encoder生成节点表达。每个link的类型r经过转换,将商品信息传递到用户,
y_{u_i}^r = \sum_{v_j∈N_r(u_i)} 1/c_{ij}W_{\alpha}^r x_{vj}
h_{u_i} = \alpha(W_h\alpha(\sum_ry_{u_i}^r))
其中:
y_{u_i}^r:连接类型r的聚合输出
W_{\alpha}^rd_{\alpha} x d_{in}
c_{ij} = \sqrt(|N_r(u_i)||N_r(v_j)|):归一化常数
STAR-GCN采用同样的方法。

Model

STAR-GCN由多个block组成,每个block,有一个encoder-decoder,block之间参数共享。


模型结构

Input Node Representations

为了能对未知节点进行向量表示,使用掩码技术,随机对部分(比如20%的)节点进行掩蔽,一定概率的节点的向量初始化为0,剩余概率的节点保持不变,然后重建这些节点向量。使用掩码技术,一方面可以对未知节点进行向量学习,在冷启动时,初始化新节点向量为0,然后通过一组GCN encoder-decoder调整向量表达。比如,在第一个block,通过邻接数据来预测新节点向量,在第二个block,预测分数并调整向量,使得向量表达和评分损失一起达到最优。

当节点内容不适用时,输入的节点向量为:x_e

当节点有其他特征时,这些特征首先进入一个网络,然后和节点向量合并,此时输入的节点向量为:
[x_e;x_f] = [x_e;W_{2\alpha}(W_1f)]

encoder: a stack of gcn
decoder: 恢复输出的节点向量

Loss

L = \sum _l (L_t^l + \lambda^l L_r^l)

下游任务损失: L_t^l
重构损失:L_r^l

比如:对两种节点进行掩码,在评分预测任务中的损失为:
L_t = 1/|E_b| \sum _{(u_i,v_i)\epsilon E_b} (r_{i,j} - u_i^Tv_j)^2
L_r = 1/2|U_m| \sum _{u\epsilon U_m} ||x_u -\hat x_u||^2 + 1/2|V_m| \sum _{v\epsilon V_m} ||x_v -\hat x_v||^2

Linkage issue

Sample-and-remove

sample and remove

每次迭代,从rating pairs中采样固定数量的样本,在训练前,将这些被采样的样本(边)从训练图中移除。

实验

在5个推荐数据集上进行transductive和inductive的评分预测。评价指标为RMSE。模型结果如下:


实验
实验

相关文章

网友评论

      本文标题:STAR-GCN论文笔记

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