前言

本次分享一篇使用Transformer作为用户行为序列建模的CTR预估文章。论文较短,只有4页,感兴趣的同学可以阅读下原文[1]。
本文约1.7k字,预计阅读10分钟。

概要

本文“Behavior Sequence Transformer for E-commerce Recommendation in Alibaba”[1]是2019年阿里团队发表在DLP(Deep Learning Practice for High-Dimensional Sparse Data)-KDD上关于序列推荐的一篇论文。文章最主要的内容就是「通过Transformer模型在用户行为序列中捕获序列信息来进行推荐」。其余内容与其他Embedding&MLP的模型没有本质上的变化。本文主要聚焦于推荐系统中排序阶段的任务,「即可以把它看作是一个CTR预估任务」

与WDL、DIN的对比

WDL(Wide&Deep)模型只是单纯的将所有Embedding特征进行拼接,且忽略了用户行为序列的先后信息。

DIN(Deep Interest Network)则是应用一个Attention机制来加大与目标物品相似的历史物品的权重,但Attention没有位置的先后顺序(即打乱历史物品的顺序,并不影响最后的结果),因此DIN依旧没有考虑到用户行为的序列特征。

为了解决上述模型缺陷,作者受Transformer的启发---“可以通过自注意机制更好地捕捉句子中单词之间的依赖关系”,使用Transformer来提取用户行为序列中物品之间的“依赖关系”。

【题外话】作者在该篇文章中,只与WDL、DIN这些非序列化模型进行对比,个人认为只能证明序列化推荐的有效性,很难说明Transformer在序列推荐有很好的应用,后期实验也证明了这一点。

模型结构

BST的模型结构主要由Embedding层、Transformer层与MLP层组成,如下所示:

Embedding层

Embedding层依旧是将所有的高维稀疏的输入特征映射为低维密集型特征。但由于是序列推荐,所以将所有的特征分成了三块内容:Other FeaturesUser Behavior SequenceTarget Item

  • Other Features:包括用户的基本特征、目标物品的基本特征、上下文信息、交叉特征,先将每个大的种类特征内的所有内容进行拼接,再分别进行embedding映射为一个低维向量,最后得到一个embedding矩阵,

























    ,其中







    为embedding维度,




    为特征数量(这里指的是用户的基本特征等4个大的类别);

  • User Behavior Sequence:由于表示一个序列特征,且不使用RNN神经网络,因此需要一个Positional Feature表示相对位置,Sequence Item Features表示历史物品信息。其中文中指出,item_id, category_id已经完全充分能表示物品信息。Positional Feature与Sequence Item Feature分别得到两个embedding低维向量,再进行拼接,得到一个embedding矩阵,

























    ,其中







    为embedding维度,






    为物品数量。

  • Target Item:与上述相同的处理方式;

关于Positional Feature Embedding,文章单独进行了说明:“Attention is all you need”[2]一文中提到,可以使用位置的Embedding方法来捕捉句子的顺序信息。当然,在序列推荐中,也能捕捉用户历史行为的一个先后顺序。对于每一个历史物品







的位置特征,文中给出计算方式:






























其中










表示推荐时间,










表示点击







的时间。简单来说,就是做一个与当前的时间差。

Transformer层

该部分,作者直接引入了Transformer模型来捕获用户的行为序列信息。

「自注意力机制层:」

使用多头自注意力机制:

其中




表示所有历史物品的embedding矩阵,







































表示






的数量;

「前向网络层:」

















为了克服过拟合等问题,作者在原有Transformer模型上,加入了dropoutLeakyReLU在自注意力机制层与前向网络层之间:

「堆叠多个自注意力机制块:」

以上部分称为一个attention block,对于




个block,可以定义为:

作者在实验中也对这个超参数进行了讨论。

具体的Transformer模型的内容可以参考原文:“Attention is all you need”,或阅读NIPS2017|行为序列建模的方式---Transformer。

MLP层

使用了如上图图所示的全连接神经网络。

损失函数使用了CTR预估最为常见的交叉损失:

实验

文章提出的BST模型整体结构非常简单,最主要的内容就是在序列推荐中引入Transformer进行了尝试,且取得了不错的效果。

但我们发现,






取得了最好的结果,随着其增大而结果变差。作者的理由是:

This may be due to the fact that the sequential dependency in users’ behavior sequence is not as complex as that in sentences in machine translation task, thus smaller number of blocks are enough to obtain good performance.Similar observation is reported in [7].

即用户行为序列并不像机器翻译序列那样复杂,很小的block也能充分获得不错的性能。并且表示“「Self-attentive sequential recommendation」”[3]一文中也是相似的情况。

讨论

1、文中只和两个非序列推荐模型进行比较,那和其他序列模型,例如DIEN进行对比,结果会怎么样?

2、关于文中提到的block数量的解释是否具有说服力?(个人并不清楚)

3、关于位置编码的设计,文章使用的方法与Transformer不同,不过时间差确实能反应两个历史物品的一个先后顺序大小。

总结

本篇文章提出的模型BST是简单的应用Transformer结构,实现序列推荐,完成CTR预估。

本篇论文也会进行复现,大家可以star一下我的github项目:https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0,目前已有138????。

参考文献

[1] Chen Q, Zhao H, Li W, et al. Behavior sequence transformer for e-commerce recommendation in Alibaba[C]//Proceedings of the 1st International Workshop on Deep Learning Practice for High-Dimensional Sparse Data. 2019: 1-4.
[2] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
[3] Wang-Cheng Kang and Julian McAuley. 2018. Self-attentive sequential recommendation. In ICDM. 197–206.

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群请扫码进群(如果是博士或者准备读博士请说明):

【论文导读】DLP-KDD2019|BST---使用Transformer进行序列推荐相关推荐

  1. 【论文导读】ICDM2018|SASRec---基于自注意力机制的序列推荐(召回)

    前言 本次分享2018年发表在ICDM上的论文----「Self-Attentive Sequential Recommendation」.主要是应用self-attention机制来做一个序列推荐, ...

  2. 关于计算机视觉的那些论文 | CCF推荐论文导读

    目 录 1 Quality Evaluation for Image Retargeting With Instance Semantics 2 PFAN++: Bi-Directional Imag ...

  3. mysql8.0其他机器访问_论文导读|基于机器学习的高速缓存预取

    作者:北京大学杨磊 这篇文章通过机器学习方法预测未来访问来解决LSM-tree存储引擎下的缓存失效问题,目前该论文已经被数据库顶会VLDB2020接收. 问题背景 传统的缓存替换机制,比如LRU.LF ...

  4. AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器???

    Informer:最强最快的序列预测神器??? AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器! 01 简介 在很多实际应用问题中,我们需要对长序列时间序列进行预 ...

  5. AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器!

    Informer:最强最快的序列预测神器 AAAI21最佳论文Informer:效果远超Transformer的长序列预测神器! 作者:一元,公众号:炼丹笔记 01 简介 在很多实际应用问题中,我们需 ...

  6. 3维线程格 gpu_论文导读 | GPU加速子图同构算法

    GPU加速子图同构算法 作者: 曾立 邹磊 M. Tamer Özsu 胡琳 张藩 论文链接:https://arxiv.org/abs/1906.03420 本次论文讲解的是曾立.邹磊.M. Tam ...

  7. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

  8. Interactive natural language question answering over knowledge graphs论文导读

    论文导读 目录 Abstract introduction 1 抛砖引的玉(砖见于图谱构建综述吧) 2 现有方法介绍 3 问题驱动 4 挑战与贡献 Interaction approach overv ...

  9. 论文导读:Deep Attentive Learning for Stock Movement Prediction From Social Media Text and Company Correl

    1. Introduction 股票走势受到多方面影响,没有了解相关信息的投资决策会面临金融风险以及金钱损失,而仔细考虑过的投资可以使收益增大.传统的方法依赖于时间序列,以及对股票的分析,比如利用历史 ...

最新文章

  1. 扩增子图表解读8网络图:节点OTU或类Venn比较
  2. 产品经理成长三五事儿:搭建自己的成长模型
  3. 朱林北京大学计算机学院,北大、清华状元谈英语学习经验-20210411145045.docx-原创力文档...
  4. GDCM:gdcm::Filename的测试程序
  5. vue从入门到进阶:简介(一)
  6. 毕设日志——特征融合修改vgg16.py
  7. Python 2 和 3 的区别记录
  8. c语言知识竞赛题库答案及,《C语言程序设计》复习题库.docx
  9. 人工智能-10种机器学习常见算法
  10. red5流媒体服务器安装
  11. 逻辑函数卡诺图法化简(一)
  12. Java对接(顺丰、京东、跨越、EMS、DHL、FedEx、UPS)七大快递
  13. LeetCode: 868. Binary Gap
  14. go语言实现发送邮件带附件
  15. linux下system函数
  16. 嵌入式Web项目(二)——CGI的引入
  17. 学术诚信的重要性_增强学术诚信意识,弘扬严谨学风
  18. 阿里副总裁凌晨4 点“逃离上海”?贾扬清回应是前往美国看病,网友:双面人!...
  19. 实践经验-仪器工程-整机系统
  20. mysql考试题,测试题

热门文章

  1. Linux更改终端的用户名和主机名的颜色
  2. [分治FFT]「CTSC2018」青蕈领主
  3. getopt实现传参自动识别
  4. Java 读书笔记 (十一) Number Math 类
  5. ASP.NET Core的配置(2):配置模型详解
  6. .net面试题目51-100
  7. 转载:掩膜矩阵操作数学解释(权重表,锐化)
  8. 计算机网络基础学测,《计算机网络技术基础》第二1章单元学习测习题-20210622072616.docx-原创力文档...
  9. Java实现选择排序及其优化
  10. 毕业论文 | 人工智能侵权责任法律问题研究——以无人驾驶汽车为例