【综述】GAN在推荐系统中的应用

3,693 阅读3分钟

1.GAN和推荐系统融合问题:

(选自论文APL)

2.发展历程

  1. 2017年满分论文IRGAN,是首个将GAN应用于推荐系统当中的。最开始提出的目的是统一检索领域的两大模型。生成器预测和查询最为相关的文档,判别器判别送过来的两个文档和查询的相关性。
  2. 2018年8月SIGIR上发表的APR改进了BPR(Bayesian Personalized Ranking)。GAN的对抗思想融合到BPR中,在模型中加入扰动(根据FGSM算法),最终提高了模型的鲁棒性。
  3. 2018年10月CIKM上发表的CFGAN 解决了IRGAN中的一些问题,并对协同过滤进行了优化。CFGAN重点关注在那些“购买”的商品,即框架丢了部分生成器生,用户实际上未购买的物品。解决了disctete item index genneration的局限性。如:物品1,被标记未真实数据,但又被标记未生成数据。判别器会收到干扰,使性能下降。
  4. 2019年3月在ScienceDirect上的APL提高了对抗学习的稳定性和收敛效果。与IRGAN不同,IRGAN解决离散项目生成使用的使SeqGAN中提到的策略梯度算法。APL使用的是用可微程序模拟离散项目生成,并通过反向传播优化模型。
  5. 2019年Rescys上发表的Adversarial Attacks on an Oblibious Recommender 从机器学习优化角度重新审视了对推荐的对抗攻击。假设推荐系统不知道攻击者的存在,攻击者知道推荐系统的损失函数以及参数表示,但是不知梯度。利用GAN的生成器生成虚假的交互矩阵来保留用户的评分分布。并且使用投影梯度下降法来解决梯度问题。
  6. 2019年,AugCF通过数据扩充来缓解协同过滤中的稀疏性问题。比较巧妙地是AugCF的判别器有两个过程:1)生成器生成数据,判别器判断数据真假;2)生成器固定,训练判别器,判别器预测用户喜欢活着不喜欢的东西。该方法也是用了Gumbel-softmax方法解决离散抽样问题。(与APL中解决方法一致)
  7. 2019年RAGAN(BT)通过数据填充来缓解稀疏性问题。着重解决的是,数据填充过程中,评级偏差的影响(算是OCCF问题:仅给出积极例子的协同过滤。只有正反馈无负反馈)。因为一般人们会给喜欢的进行评分,所以评分数据可能都比较高,影响填充效果。因此使用CDAE挑选负反馈样本,之后再用GAN进行数据增强,最后在使用AutoRec方法进行推荐。这也是提出方法的步骤。
2019年SICIR上发表的ACAE和FG-ACAE是对CDAE的改进。是基于协同去噪的自编码方法。这个改进方法有点儿类似于BPR改进APR。(是自编码在推荐上的应用)