Sequential Recommendation with Self-Attentive Multi-Adversarial Network
https://arxiv.org/pdf/2005.10602.pdf
背景
序列推荐中,对于CTR的预估都是使用极大似然估计,然而极大似然估计存在的问题没法很好的处理数据的稀疏性以及曝光的偏差。文中提出了一个多因素的生成对抗网络(MFGAN),包括一个基于Transformer的生成器,来预测下一次点击;以及多个鉴别器,从不同的因素来评估生成器的推荐。
多因素生成对抗网络框架
上面的组件是预测组件(即generator G),它是一个序列推荐模型,并根据当前的历史序列生成下一个项目。并且生成器不会使用来自项目端的任何上下文信息。它仅以历史序列数据为预测条件。
下分量是一组m个鉴别器{D1,D2,Dm}利用多角度信息判断生成序列的合理性。每个鉴别器根据某个对应因素的信息从某个角度进行判断。例如,在音乐推荐系统中,可以有多个专门设计的鉴别器,分别具有音乐的类别信息、流行度统计、艺术家和专辑。
在生成器生成了第t个推荐物品后,鉴别器根据生成器的序列利用某些因素的信息,将评估结果发送回生成器,以指导下一轮生成器的学习。相应地,以生成的序列和实际序列(即真实用户行为)作为训练样本来更新鉴别器,以提高鉴别器的识别能力。因此,这两个组成部分以相互加强的方式训练。
生成器
由三部分组成:嵌入层由物品本身的嵌入和位置信息的嵌入两部分组成;自注意力层从子空间中提取不同的信息,使用的是多注意力而非单一注意力机制;预测层,对物品的点击率做出预估。
鉴别器
有m个鉴别器,每个鉴别器的功能是确定生成器生成的推荐序列是否合理。鉴别器的嵌入层将不同的因素对应于多个桶中,然后将输入的物品id通过查询表的方式进行嵌入。鉴别器使用一个自注意力模块防止鉴别器过于强大。并且鉴别器可以使用序列的双向信息得到更加全局的信息。
对抗学习
使用了强化学习的方法,对生成器建立一个reward,使用的是鉴别器得到的加权score,然后分步对生成器和鉴别器分别训练直至收敛。
实验
在movielens-1m、雅虎music和steam数据集上进行了实验,对比bsaeline均取得了最佳的效果
还对不同数据集为鉴别器选择的上下文信息作了对比
以及不同鉴别器个数对收敛结果的影响
总结
文中提出了一种基于生成对抗网络的多鉴别器结构应用在序列推荐场景下,我觉得还是比较有启发的,之前没怎么想过,原来GAN还能使用在推荐中。
Ref:Ren R, Liu Z, Li Y, et al. Sequential recommendation with self-attentive multi-adversarial network[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2020: 89-98.