作  者:一元
公众号:炼丹笔记

背景

现在诸多的推荐算法在处理时间信息上, 除了在自然语言常用的RNN,CNN等模型, 就是基于Transformer的模型,但是和SASRec类似, 效果不错,但是缺少个性化,而且没有加入基于个性化的用户embedding。为了克服这种问题,本文提出来一种个性化的Transformer(SSE-PT),该方法相较于之前的方案提升了5%。

方案

模型框架

序列化推荐

个性化Transformer架构

SSE-PT使用随机共享embedding技术,

1. Embedding 层

2. Transformer的Encoder

这一块和之前的许多Transformer Encoder是类似的,所以此处我们跳过。

3. 预测层

4. 随机共享Embedding

对于提出的SSE-PT算法最为重要的正则技术是SSE(Stochastic Shared Embedding), SSE的主要思想是在SGD过程中随机地用另一个具有一定概率的Embedding来代替现在的Embedding,从而达到正则化嵌入层的效果。在没有SSE的情况下,现有的所有正则化技术,如层规范化、丢失和权重衰减等都会失效,不能很好地防止模型在引入用户嵌入后的过拟合问题。

  • SSE_PE: 以概率p均匀地使用另外一个embedding替代当前的embedding;

在本文中,有三处不同的地方可以使用SSE-SE, 我们对输入/输出的用户embedding, 输入的商品embedding以及输出的商品embedding分别以概率pu,pi,以及py进行替换。

我们注意到输入用户embedding和输出用户embedding同时被SSE概率代替。经验上,我们发现SSE-SE在用户的embedding和输出项的embedding总是有帮助的,但是SSE-SE到输入项的embedding只有在平均序列长度较大时才有用,例如Movielens1M和Movielens10M都超过100。

处理长序列的SSE-PT++

实验

1. 效果比较

  • SSE-PT算法在所有的4个数据集上的效果都好于其它的算法;

2. 正则化方案的比较

  • SSE-SE+dropout+weight decay是正则化里面最好的。

3. 模型训练速度

  • SSE-PT和SSE-PT++模型的训练速度与SASRec相当,其中SSE-PT++是速度最快、性能最好的模型。很明显,使用相同的训练时间,我们的SSE-PT和SSE-PT++比我们的基准SASRec取得了更好的排名性能.

4. 解耦研究

4.1 SSE概率

鉴于SSE正则化对于我们的SSE-PT模型的重要性,我们仔细检查了输入用户嵌入的SSE概率。我们发现适当的超参数SSE概率不是很敏感:在0.4到1.0之间的任何地方都能得到很好的结果,比参数共享和不使用SSE-SE要好

4.2 采样概率

  • 当最大长度相同时,使用适当的抽样概率(如0.2→0.3)将使其优于SSE-PT。

4.3 Attention Block的个数

  • 对于Movielens1M数据集,在B=4或5时达到最佳排序性能,对于Movielens10M数据集,在B=6时达到最佳排序性能

4.4 个性化以及负样本的采样个数

  • 当我们使用相同的正则化技术时,个性化模型总是优于非个性化模型。不管在评估过程中采样了多少个负数或者使用了什么排名标准,这都是正确的。

小结

在这篇论文中,作者提出了一个新的神经网路架构-Personal Transformer来解决时间协同排序问题。它拥有个性化模型的好处,比目前最好的个人用户获得更好的排名结果。通过研究推理过程中的注意机制,该模型比非个性化的深度学习模型更具解释性,并且更倾向于关注长序列中的最近项目。

参考文献

  1. SSE-PT: Sequential Recommendation Via Personalized Transformer:dl.acm.org/doi/pdf/10.1
  2. github.com/SSE-PT/SSE-P

推荐系统炼丹笔记:RecSys2020-SSE-PT解锁序列数据挖掘新姿势相关推荐

  1. 推荐系统炼丹笔记:阿里推荐算法特征交叉新方式CAN

    作 者:一元 公众号:炼丹笔记 昨天看非常多的群友在讨论该篇文章,很是好奇,今天就读了一下,个人感觉本文的co-action操作还是第一次碰到,但该方案在amazu等数据集上对比的方案还是较为弱的,所 ...

  2. 自动唤醒解锁电脑 bat_吉行贴士 | 一键解锁智能语音新姿势

    有时候爱死语音助理的便捷 有时候却又怪它的过分灵敏 语音助理表示 "怪我咯,反正怪我咯" 咱的语音助理为了给广大吉利车主们提供更贴心的服务,所以变得hin灵敏,你聊天中的一句&qu ...

  3. 一起解锁 GIL 的新姿势

    学 Python 的人有一个东西始终规避不开,那就是 GIL (Global Interpreter Lock).顾名思义,它使得任何时刻仅有一个线程在执行.即便在多核心处理器上,使用 GIL 的解释 ...

  4. 程序员解锁520告白“新姿势”,你get了吗?

    因为"2020520"这一组数字中所蕴含的特殊含义,今天5月20日,成为了名副其实的"良辰吉时",在这个万里挑一的告白日里,小哥哥小姐姐纷纷大胆表白 . 在IT ...

  5. 推荐系统炼丹笔记:EdgeRec阿里边缘计算推荐系统

    作者:一元 公众号:炼丹笔记 背景 推荐系统(RS)已经成为大多数web应用程序的关键模块.最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如 ...

  6. 推荐搜索炼丹笔记:SIM 用户行为序列点击率预估模型

    作者:十方,公众号:炼丹笔记 Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click- ...

  7. 推荐系统炼丹笔记:推荐系统Bias/Debias大全

    作者:一元 公众号:炼丹笔记 背景 在实践中,做推荐系统的很多朋友思考的问题是如何对数据进行挖掘,大多数论文致力于开发机器学习模型来更好地拟合用户行为数据.然而,用户行为数据是观察性的,而不是实验性的 ...

  8. 推荐系统炼丹笔记:阿里边缘计算+奉送20个推荐系统强特

    作者:一元 公众号:炼丹笔记 背景 推荐系统(RS)已经成为大多数web应用程序的关键模块.最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如 ...

  9. 推荐系统炼丹笔记:边缘计算+奉送20个推荐系统强特

    作者:一元 公众号:炼丹笔记 背景 推荐系统(RS)已经成为大多数web应用程序的关键模块.最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如 ...

最新文章

  1. flowable更换数据源与连接池
  2. 知道python不_为什么自学Python看不进去?
  3. 发现一个CentOS第三方源epel的仓库地址(repos.fedorapeople.org)
  4. 深度学习之基于卷积神经网络实现花朵识别
  5. java篇 之 变量存放位置
  6. 【干货】2021年技术趋势:全球企业加速数字化转型-德勤.pdf(附下载链接)
  7. JAVA导入gpx文件_用于Java的GPX解析器?[关闭]
  8. 【软件应用】word等office软件中好用的数学公式编辑器插件
  9. Ubuntu常用软件下载
  10. 会c语言写贪吃蛇,C语言写贪吃蛇
  11. 抖音那种一道光闪过转场效果是怎么做的?
  12. Zigbee 应用层协议自定义
  13. iOS UITextField实时监听获取输入内容,中文状态去除预输入拼音
  14. 二十五、PHP内核探索:常量的实现 ☞ 脱离C语言和数学讨论底层都是耍流氓
  15. 语音识别(ASR)论文优选:A comparison of streaming models and data augmentation methods for robust speech recog
  16. Win7系统彻底删除打印机驱动
  17. 科普--电脑内存和固态硬盘谁更重要?
  18. 杰理之实现蓝牙三方通话功能【篇】
  19. python批量删除图片和空文件夹
  20. 日本现场常用日语词汇

热门文章

  1. vue2.0 练习项目-外卖APP(2)
  2. 2021-11-14Iterator迭代器
  3. Mac配置Java环境变量等
  4. 如何让自己的网站快速被百度搜索引擎搜索到
  5. 问题 | 解决Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll 问题(pycharm+Tensorflow)
  6. 神经网络 | 基于脉冲耦合神经网络(PCNN)的图像特征提取(Matlab源代码)
  7. ISO13485 相关
  8. 男高音,女高音,男中音,女中音,男低音,女低音
  9. Hello, World!我的房车编程生活,已经 150 天了
  10. 想要成为软件开发中的王者,需要明白的 21 条准则