上周总结了一篇关于CPR_loss的文章,指导老师提出CPR_loss在采集正负样本标的标准和生成对抗学习方面有一些相似处,所以这周我就找到这一篇文章并加以总结。有趣的是,这一篇文章也是何向南老师组于2018年发表于SIGIR,下文我们简称为APR。
论文链接:https://arxiv.org/abs/1808.03908
代码链接:hexiangnan/adversarial_personalized_ranking(Tensorflow版)
https://github.com/nuonuoxiaopangdian/APR-PyTorch (Pytorch版)
问题:用 BPR 对广泛使用的 MF 模型进行优化会产生一个不健壮的推荐模型,尤其是模型非常容易有道模型参数的对抗扰动的影响。
贡献:提出了一种新的优化框架,即为APR。APR 通过进行对抗性训练来增强 BPR ,来提高模型的鲁棒性。
1. 准备工作
1.1.Matrix Factorization(矩阵分解)
MF 的核心思想就是将 user 和 item 分别表示成 embedding 向量, 通过 user 和 item 的内积当做 user 对 item 的喜好程度,其公式为:
1.2.Bayesian Personalized Ranking(贝叶斯个性化排名)
BPR模型的目标函数如下定义,(u,i,j)三元组作为一个样本,i 为正样本,j 为负样本,模型优化尽量希望(u,i)的打分