Motivation
以往的GC-MC模型效果虽然很好,但是它存在以下不足:
- 使用 one-hot 向量作为节点输入,导致输入维度和结点总数成比例,从而无法应用在大规模数据上
- 无法处理冷启动任务,因为不能将一个未知节点(新结点)表示为 one-hot vector
本论文针对冷启动场景,提出了 STAcked and Reconstructed Graph Convolutional Networks 架构,简称 STAR-GCN
STAR-GCN的特点是堆叠由 encoder-decoder 组成的 block
Contribution
STAR-GCN存在以下特点:
- 直接学习低维的用户和物品embedding作为网络的输入
- 在训练阶段遮挡结点的embedding(设置为0),然后通过由 encoder-decoder 组成的block去重构遮挡结点的embedding,这么做是模仿冷启动问题中新输入结点embedding为0的情形。本方法受到NLP中Bert的启发
- 引入中间监督
- 提出了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,它们的作用分别为:
- encoder:生成节点表示(通过编码图结构语义和输入内容特征来生成)
- decoder:恢复输入节点的embedding
它们也有各自的损失函数 - encoder:task-specific loss
- 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 策略有两个优势:
- 对于冷启动场景,将新结点的embedding设为0,然后传入网络。这和训练时部分掩盖结点的操作一样。所以模型能处理冷启动场景
- 通过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