学习总结
文章目录
- 学习总结
- 论文简介
- 一、Introduction
- 1.1 聚合 Aggregation
- 1.2 池化 Pooling
- 1.3 负采样优化
- 1.4 负采样问题
- 二、MixGCF算法
- 2.1 positive mixing
- 2.2 Hop Mixing
- 2.3 optimization with MixGCF
- 2.4 关于MixGCF的相关讨论
- 三、实验环节
- 3.1 experimental settings
- 3.2 Performance comparison
- 四、相关工作
- 4.1 基于GNN的推荐算法
- 4.2 推荐系统中的负采样
- Reference
论文简介
论文题目:MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems
论文链接:http://keg.cs.tsinghua.edu.cn/jietang/publications/KDD21-Huang-et-al-MixGCF.pdf
论文代码:https://github.com/huangtinglin/MixGCF
论文作者:Tinglin Huang,唐杰老师等人
一、Introduction
GNN被广泛应用于embedding的生成场景,对user和item分别进行embedding化,使用双塔模型;类似像Graphsage、PinSage、LightGCN等算法也有被应用在工业界的推荐系统上,但是GNN的负采样技术还有待研究,过去大多数算法是从真实的数据中选取负样本,而忽略了embedding的信息,而MixGCF是经过数据增强、聚合的方法获取负样本及其表示。NGCF和LightGCN在使用MixGCF后,在NDCG指标上分别提高了26%和22%。
1.1 聚合 Aggregation
聚合获得邻居节点信息,以LightGCN的聚合过程为栗子:
1.2 池化 Pooling
池化过程,以LightGCN为栗的池化如下,将每一层的嵌入加权求和:
而NGCF是对多层的结果做拼接操作:
1.3 负采样优化
一般LTR任务的损失函数常用BPR loss,最大化正负样本之间的评分差,在不断优化的过程中差值越大:
其中参数:
和
分别表示positive items和negative items
表示用户u,相比于item b来说,更加偏爱于item a
是negative sampling的分布,很多推荐算法(如LightGCN、NCF、BPR、NGCF等算法)都是将negative sample服从于uniform均匀分布(
)
1.4 负采样问题
- 负采样一般使用uniform distribution,为了改进GNN的负采样:
- PinSage根据PageRank的得分进行负采样;
- MCN考虑正负样本之间的结构相关性,重新设计了正负样本的分布;
- 但是这些算法只是主要在discrete graph space中负采样,而忽略了GNN在embedding空间中独特的邻居聚合过程。
- MixGCF受数据增强和metric learning的思想而提出,进行hard负样本的生成。
一般我们在数据集中,所有交互过的行为统一视为正样本,没有发生过交互的物品(往往很多)可以采样出一部分作为负样本,和正样本相似的负样本称为hard负样本。研究认为采样出难负样本会对模型帮助更大,因为模型能更好的学习到正负样本的边界。
二、MixGCF算法
2.1 positive mixing
positive mixing,混合来自不同局部图的信息成负样本:
其中:
是每一个hop的均匀采样的mixing因子;
- mixup的mixing因子是从beta分布
中采样而来的,对模型的泛化能力有很大影响;
- 为了缓解上面提到的这个影响,positive mixing中的mixing因子
统一从(0, 1)中进行采样;
是候选negatives M增强后的embedding集合(远小于总items)。
positive mixing增强negatives通过以下两种方式:
- 把positive information加入到negative samples,这样有助于让模型专注于决策边界。
- mixing因子引入随机不确定性。
2.2 Hop Mixing
在positive mixing得到的新负样本中,对每一层随机选择一个负样本,再通过pool操作得到新负样本:
其中具体方法:
刚才的pool在GNN模型中常用的两种有:
- Sum-based pooling:
- Concat-based pooling:
.
2.3 optimization with MixGCF
2.4 关于MixGCF的相关讨论
- 通用插件:即插即用
- 数据增强:可以看作增强,因为负样本是基于现有实例生成的
- 多个负样本近似:度量学习中指出在每次更新的损失函数中使用多个负实例,可以加快底层模型的收敛速度,并提供更好的性能;MixGCF通过hop-mixing提供多个负样本的近似
三、实验环节
3.1 experimental settings
- 数据集:Alibaba, Yelp2018 和 Amazon
- 评估指标:Recall 和 NDCG
- Recommender:LightGCN、NGCF、PinSage
- 负采样的Baselines:RNS、DNS、IRGAN、AdvIR、MCNS
- 超参数设置
3.2 Performance comparison
四、相关工作
4.1 基于GNN的推荐算法
- PinSage、GC-MC、NGCF、LightGCN
- 利用side info:社交网络、知识图谱 …
4.2 推荐系统中的负采样
- Static Sampler 从一个固定的分布中进行负采样
- 均匀分布、流行度 指数 3/4
- GAN-based Sampler 基于生成对抗网络进行负采样
- IRGAN、KBGAN、AdvIR
- Hard Negative Sampler 为当前的用户自适应地选择 hardest 负样本
- DNS
- Graph-based Sampler 根据图信息进行负采样
- MCNS、KGPolicy、PinSage(基于Personalized PageRank)
Reference
[1] http://keg.cs.tsinghua.edu.cn/jietang/publications/KDD21-Huang-et-al-MixGCF.pdf
[2] https://huangtinglin.github.io/experience/
[3] 贝叶斯个性化排序算法BPR [4] 上百篇论文概览『负采样方法』的前世今生