Abstract
对 CTR 预测模型来讲,通过用户行为数据来发掘潜在的用户兴趣特征是很有必要的。并且由于受外部环境和内部认知的影响,用户的兴趣是随着时间而不断进化和变化的。而当前大都数 CTR 模型都直接将用户的行为特征表示为用户的兴趣,缺乏对用户兴趣的建模过程和兴趣的演变过程。本文介绍了 Deep Interest Evolution Network (DIEN)模型,包含 interest extractor layer(兴趣抽取层),目的是从历史行为序列中获取 temporal 的兴趣;interest evolving layer(兴趣演化层),目的是获取与目标 item 相关的兴趣演化过程。DIEN 模型在淘宝的广告 CTR 预估上获得了 20.7%的提升。
Introduction
在推荐场景,捕捉到用户的兴趣并考虑兴趣的动态变化将是提升模型效果的关键。以 Wide&Deep 为代表的深度模型更多的是考虑不同 field 特征之间的相互作用,未关注用户的兴趣。Deep Interest Network (DIN)考虑了用户兴趣,提出用户兴趣是多样的,并使用注意力机制来捕捉和 target item 的相对兴趣,将这种自适应的兴趣表示用于模型预估。但是大多该类模型将用户的行为直接看做兴趣,而用户的潜在兴趣往往很难通过行为来完全表示。因此本文提出了 Deep Interest Evolution Network(DIEN)模型,可挖掘行为背后用户的真实兴趣,并考虑用户兴趣的动态变化。
Model
input 层:user 行为序列、Target Ad、Context 和 User Profile
interest extractor layer:使用 GRU 对用户行为之间的依赖进行建模,输入是用户按时间排序的行为序列,也就是行为对应的商品。
但是只使用 GRU 只能学习到用户行为之间的依赖,并不能反映用户的兴趣。所以在提取 GRU 隐藏 ht 状态时提出了一个辅助 loss,使用下一个时间刻的行为 bt+1 来指导 ht 的学习,其中正样本就是真实的下一个 item,负样本就是从 item set 中随机抽取的一个 item。
假设有 N 对行为 embedding 序列[公式],其中[公式]表示点击行为的序列,[公式]表示负样本序列。辅助 loss 的表达式为:
最终损失函数为[公式],其中[公式]是平衡最终预测和兴趣表示的超参数。
辅助 loss 的好处:1、可帮助 GRU 的隐状态 ht 更好地表示用户兴趣。2、RNN 在长序列建模场景下梯度传播可能并不能很好的影响到序列开始部分,如果在序列的每个部分都引入一个辅助的监督信号,可一定程度降低优化难度。3、辅助 loss 可给 embedding 层的学习带来更多语义信息,学习到 item 对应的更好的 embedding。
interest evolving layer:对与 target item 相关的兴趣演化轨迹进行建模。这部分结合注意力机制中的局部激活能力和 GRU 的序列学习能力来实现建模用户的兴趣演化。该层 GRU 的输入就是 interest extractor layer 中 GRU 的输出,[公式],输出是[公式],最后一个状态[公式]是最终的输出,和其他各类特征 concat 一起送给全连接。
其中,attention 的计算方式如下:
其中[公式]表示一个候选 ad 中不同 field 特征的 embedding 向量的 concat。而 attention 和 GRU 结合的方式有三种:
GRU with attentional input (AIGRU):这种方式将 attention 直接作用于输入,无需修改 GRU 的结构:
Attention based GRU(AGRU):这种方式需要修改 GRU 的结构,将 attention 系数来替换 GRU 的 update gate,此时 hidden state 的输出变为:
GRU with attentional update gate (AUGRU):这种方式需要修改 GRU 的结构,此时 hidden state 的输出变为:
Experiments
参考文献:
https://arxiv.org/pdf/1809.03672.pdf
https://zhuanlan.zhihu.com/p/50758485
https://www.jianshu.com/p/6742d10b8
本文转载自 Alex-zhai 知乎账号。
原文链接:https://zhuanlan.zhihu.com/p/71224014
评论