前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5分钟读完史上第一篇二维卷积序列推荐的论文

5分钟读完史上第一篇二维卷积序列推荐的论文

作者头像
炼丹笔记
发布2021-05-14 15:57:02
8240
发布2021-05-14 15:57:02
举报
文章被收录于专栏:炼丹笔记

CosRec_2D Convolutional Neural Networks for Sequential Recommendation(CIKM19)

对于序列化推荐的问题,如何利用序列化的信息, 目前大致可以分为如下几类,基于GRU等的RNN模型; 基于CNN的(一维度CNN,二维的CNN)等的CNN模型; 以及基于Attention的模型。本文介绍的文章属于第二类,基于二维卷积的方法。

相较于之前很多模型直接将购买的物品构建为序列不同,本文认为对成对关系进行建模, 可以学习到序列化特征数据的更好的表示。

一维&二维序列建模

  • 参考上图1a,传统的建模方式是基于一维的链式序列形式,这样可以保持局部集中动力.
  • 本文惊讶地发现,如果我们令不相邻的商品进行交叉(通过引入一种简单高效的编码方法),利用二维的卷积Kernel,我们可以获得更好的效果
  • PS:CosRec是第一篇用于下一个商品推荐的基于二维CNN的方法。

模型

模型的大致框架如下:

  • : 用户集合
  • : 商品集合

对于每个用户,我们有之前交叉的商品的序列, , 我们希望能找到下一个满足用户爱好的商品。

上面的模型可以分为三个模块,用户的Embedding层,中间的核心Pairwise Encoding,以及二维卷积层。

Embedding Look-up层

我们将用户和商品分别embed为两个矩阵,, , 其中为embedding的维度, , 分别表示和的第和第行。

对于用户在时刻,我们抽取输入embedding矩阵,,

Pairwise Encoding层

此处我们在输入embedding 上面构建一个three-way的张量,,其中第个向量就是商品对的拼接embedding, ,和之前的工作不一样的地方在于我们没有直接对输入矩阵建模,此处我们对最终的张量进行建模。

2D卷积

为了捕捉高阶的序列关系,我们使用二维的卷积NN。具体的细节如下:

最后我们使用binary cross-entropy作为Loss并使用Adam优化器进行模型的训练。

实验

从上面的实验中,我们发现:

  • 序列化的模型(例如Caser)比非序列化的模型(例如BPR)效果要好很多;
  • CosRec比FMC/FPMC效果要好,因为后者仅仅考虑了一阶的Markov chain信息,但是CosRec却可以捕捉高阶的关系;

通过可视化Kernel的结果,我们发现:

  • CosRec不仅能够对“最近性(‘recency’)”和“局部性(‘locality’)”(如现有模型中所示),但灵活地捕获更复杂的模式,如“跳过(skip)”行为。

小结

本文提出了一种二维CNN框架CosRec用于处理序列化的数据, CosRec将历史的商品进行枚举式的concat然后组成pair,最终使用二维的CNN提取序列特征。CosRec在数据集上的表现都明显优于最近的序列方法,表现了它作为顺序推荐任务的通用模型的有效性。

参考文献

  1. CosRec: 2D Convolutional Neural Networks for Sequential Recommendation:https://cseweb.ucsd.edu/~jmcauley/pdfs/cikm19b.pdf
  2. https://github.com/zzxslp/CosRec

我是二品炼丹师一元,目前跟着大哥们学习CTR炼丹已经快三个月了,有兴趣的欢迎关注我们的公众号

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 炼丹笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档