S3-Rec: Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization
该模型解决了什么问题?
同样是序列化建模,为什么S3-Rec说自己要比其他的效果好?该文指出,现有的序列化推荐模型使用target item来计算loss的,例如阿里是用历史交互序列,预测下一个点击/转化的商品。这样有什么问题?一个是数据过于稀疏,还有就是上下文信息没有充分被利用。因此S3-Rec引入了自监督学习去解决序列化建模所面临的问题。
这篇论文的自监督学习简单来说就是用序列pretrain,然后再用target item做fine-tuning。只是因为推荐场景的特殊性,这篇论文设计了4个自监督学习目标,充分利用序列,属性,自序列等信息,学到最好的embedding表达。
模型架构图
直接看这张图,估计多半是懵逼的。说实话,图画的虽然复杂,实际模型其实是相当简单的。上面4个虚线框,就是4个pretrain的任务。分别是以下4个目标:
- 相关属性学习
- masked item预测
- masked 属性预测
- item段预测
说到pretrain,大家会想到啥?没错,就是bert。这篇论文原封不动的把bert模型搬了过来,但是改变了预训练的方式。