美文网首页
推荐系统 - BST模型

推荐系统 - BST模型

作者: nlpming | 来源:发表于2021-07-31 16:34 被阅读0次

    1. 简介

    Behavior Sequence Transformer由阿里巴巴淘宝团队19年发表在KDD2019会议上,论文的主要思想如下:通过引入transformer对用户历史行为序列建模,从而引入用户历史行为序列信息。 相比之前提出的DIN模型(DIN模型引入Attention机制增强模型序列建模能力),线上CTR指标提升3.02pp。在WDL的基础上引入用户历史序列信息,通过平均他们的Emb向量获取序列信息,论文中称此模型为WDL(+Seq),BST模型与此模型相比线上CTR指标提升更为显著4.54pp。

    2. BST模型结构

    • 首先,介绍下Embedding层。每个Item都对应两类特征:Sequence Item Features和Positional Feature。其中,Sequence Item Features包含两类:Item_id 和 category_id。Positional Feature就是Transformer中引入的位置信息,但是在这里计算Position val的方式与原论文不同,计算公式如下:pos(v_i) = t(v_t) - t(v_i)。每一个item v_i其对应的pos信息为,当前推荐的时间t(v_t)减去用户点击item的时间t(v_i)。最后通过将Sequence Item Features和Positional Feature产生的Embedding向量进行拼接,得到此item最终的Embedding向量输入到Transformer Encoder block中。
    • 对于Transformer Layer其实就是利用了Transformer Encoder block,论文中经过试验发现层数 b = 1的时候,试验效果最好。可能的原因是因为,相比NLP中的机器翻译任务,推荐中用户行为序列信息更加的简单,所以不需要很深的网络结构。
    • BST通过引入Transformer Layer感觉同时实现DIN中的Attention机制,和DIEN中序列信息的建模。以一种非常简单的方式引入的Self Attention,并且很好的利用用户历史行为序列信息。 论文中将预测用户是否点击item的问题,建模成了一个二分类问题。使用的交叉熵损失函数,最终的试验数据集如下。用户规模在2亿多,商品规模在千万级别,样本数量在百亿级别。训练数据来自Taobao app日志,使用7天的数据作为训练,1天的数据作为测试。
    BST模型结构.png 试验数据集.png

    3. 实验参数及结果

    • 最终实验中选用的Embedding维度为 4-64。batch size大小设置为 256;dropout设置维0.2;序列长度为20;MLP总共三层,每层的参数数量为:1024 * 512 * 256;学习率设置为 0.01;优化算法为AdaGrad。


      实验参数.png
    • 实验结果如下,可以看出BST模型相比DIN, WDL(+Seq)在离线AUC指标上的提升不是很显著。但是在线上CTR指标的提升比较显著。论文中作者给出的实际经验是,即使离线AUC指标有轻微的提升,对线上的指标都是非常巨大的提升。Google WDL论文也给出了相似的结论。


      实验结果.png

    4. BST模型理解

    BST模型理解.png

    参考资料

    相关文章

      网友评论

          本文标题:推荐系统 - BST模型

          本文链接:https://www.haomeiwen.com/subject/fxckvltx.html