小言_互联网的博客

STAR-GCN: Stacked and Reconstructed Graph Convolutional Networks for Recommender Systems 论文阅读

297人阅读  评论(0)

Motivation

以往的GC-MC模型效果虽然很好,但是它存在以下不足:

  1. 使用 one-hot 向量作为节点输入,导致输入维度和结点总数成比例,从而无法应用在大规模数据上
  2. 无法处理冷启动任务,因为不能将一个未知节点(新结点)表示为 one-hot vector

本论文针对冷启动场景,提出了 STAcked and Reconstructed Graph Convolutional Networks 架构,简称 STAR-GCN
STAR-GCN的特点是堆叠由 encoder-decoder 组成的 block

Contribution

STAR-GCN存在以下特点:

  1. 直接学习低维的用户和物品embedding作为网络的输入
  2. 在训练阶段遮挡结点的embedding(设置为0),然后通过由 encoder-decoder 组成的block去重构遮挡结点的embedding,这么做是模仿冷启动问题中新输入结点embedding为0的情形。本方法受到NLP中Bert的启发
  3. 引入中间监督
  4. 提出了sample-and-remove策略去缓解标签泄露问题


如图所示,Transductive rating prediction 是传统的预测任务,其预测节点在训练图中是可见的,而 Inductive rating prediction 是冷启动性质的预测任务,特点是预测节点在训练图中不可见

本论文在两个任务上做了实验,均达到了最优性能

论文新颖的地方在于针对冷启动场景做了优化

model由block组成,block由encoder和decoder组成
encoder:生成node的表示;使用与GC-MC相似的aggregator
decoder:由于论文针对冷启动场景优化,掩盖了部分结点,其embedding值为0,相当于模拟冷启动场景新结点进入的场景,论文提出了decoder去重构掩盖结点的embedding,相当于训练模型时也考虑了冷启动场景;两层神经网络作为decoder

论文对标签泄露导致过拟合问题提出了sample-and-remove策略

Solution

图的结构

STAR-GCN是由一系列的block堆叠而成,每一个block里面包含了encoder和decoder,它们的作用分别为:

  1. encoder:生成节点表示(通过编码图结构语义和输入内容特征来生成)
  2. decoder:恢复输入节点的embedding
    它们也有各自的损失函数
  3. encoder:task-specific loss
  4. decoder:reconstruction loss

STAR-GCN支持两种方式堆叠block:
5. stacking:连续放置block,独立参数
6. recurrence:展开一个block,共享参数


再放一下block的组成,图中说明了loss和堆叠方式

输入节点表示方式

如果直接将input node转换成embedding,就无法处理冷启动问题,因为我们没办法得到新节点的embedding(大意是这样)
论文采用了一个 mask node 策略去生成节点的表示,对于masked node,将它的embedding设为0,对于其它node,不做任何处理。在训练过程中,decoder负责重构masked node的embedding
这个 mask node 策略有两个优势:

  1. 对于冷启动场景,将新结点的embedding设为0,然后传入网络。这和训练时部分掩盖结点的操作一样。所以模型能处理冷启动场景
  2. 通过mask策略训练能够提高模型的效果

如果node具有额外的特征信息可以使用,那么把这些特征传给一个独立的网络,然后将特征embedding和node embedding拼接在一起得到最后的表示

Encoder和Decoder的说明

encoder

encoder负责聚合邻居节点的信息,这里aggregator和GC-MC的相似,具体细节在文中公式1给出

decoder

decoder将structural-encoded node representation 映射到 reconstructed embedding vector上,使用两层神经网络作为decoder


encoder-decoder和其它graph auto-encoder model不同的地方主要在于decoder
本论文的decoder恢复最初的输入结点向量,其它论文的decoder是特殊任务的分类器用于产生预测
另一个不同的地方在于我们的graph aggregator 考虑不同类型的链接,其它的aggregator只对单个链接建模

Loss

上面的是针对特定任务的loss,是encoder的loss
下面的是重构结点的loss,是decoder的loss

避免标签泄露

标签泄漏问题会导致过拟合,由于GCN中neighborhood aggregation operator的存在导致标签泄漏问题很常见,我们要预测的评分被聚合到结点表示里面了,如图3,为了避免标签泄漏问题,我们提出了 sample-and-remove 训练策略,简而言之就是移除要预测的边

Evaluation

数据集:

评价指标RMSE

Transductive Rating Prediction

与baseline的比较,这里的baseline的指标直接沿用GC-MC的

与本论文做消融实验

Inductive Rating Prediction


这里就用了两个baseline,一个DropoutNet,另一个CDL
这个20%item 和 user的意思是数据集中有20%的结点是从未见过的
下面的比例是表示表示新结点有多少比例的边可以供参考,50%是指一个新结点一半的边是可见的
论文说 reconstruction mechanism 机制对提升模型效果显著。另一个有趣的发现是使用 content information 来预测新结点不一定有帮助,可能的原因是重构机制已经包含了足够多的信息

Summarization

论文引入了一个新的基于GCN的框架,在transductive和inductive两个任务上达到了SOTA效果
STAR-GCN的框架是通用的,可以使用在其它应用上
论文还发现了标签泄露导致过拟合这一问题,并提出了相应的缓解策略


转载:https://blog.csdn.net/hhmy77/article/details/116354023
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场