STAR-GCN论文笔记

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。模型结果如下:


实验

实验
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容