作者:一元,炼丹笔记三品炼丹师
Deep Multi-Interest Network for Click-through Rate Prediction(CIKM 2020)
背景
许多现有的建模开始基于用户的历史行为序列进行建模并且取得了相当不错的效果,为了捕获用户动态和变化的兴趣, 我们观测到用户经常在某个时间点拥有大量的兴趣, 与此同时, 潜在的主导兴趣是通过行为表现出来的。潜在主导兴趣的切换会导致最终的行为变化。因此,建模和跟踪潜在的多重兴趣将是有益的。本篇文章,我们提出了一种新的方法DMIN(Deep Multi-Interest Network),通过建模用户潜在的对于CTR任务的多兴趣,来提升模型的效果。
模型
本文的核心框架如下:
和其它文章不一样的地方在于,DMIN有两大核心的组成成份, Behavior Refiner Layer以及Multi-Interest Extractor Layer。
Embedding Layer
此处共存在四组特征:用户的Profile信息,用户的历史行为,上下文信息以及目标商品信息。
每个特征可以被编码为高维度的one-hot向量, 这些特征经常是稀疏的,而且往往会通过embedding层转换为低维的dense特征. 例如:item id可以被表示为一个矩阵, 其中为商品的总的个数, 为商品的embedding大小, , 用户的Profile,历史行为,上下文以及目标商品可以被表示为:,,,.特殊地,, 其中为用户历史行为的长度, 为商品embedding的维度。为第个商品的位置编码, 为的维度。
Behavior Refiner Layer
我们对用户的行为序列使用multi-head self-attention来微调商品的表示。
其中, 为第个head的投影矩阵,因此,表示在子空间的潜在商品表示。最后, 我们将商品的表示拼起来得到:
其中表示heads的个数, 为线性矩阵。
1. 辅助Loss
本文采用辅助的Loss来监督得到更好的商品表示, 我们使用第次的行为来监督在时刻的学习得到的商品表示,为的第行向量,正样本是从下一次的点击行为,而负样本则是从整个未点击的商品集合里面随机采样,
Multi-Interest Extractor Layer
在获得提炼的商品表示之后,我们需要从提炼的商品表示中抽取大量的兴趣。我们使用另外一个multi-head self-attention来获取这些兴趣。
类似地, ,, 为第个head的query,key和valye. 最后我们将输出的head向量进行包装得到, 于是我们得到, 其中表示head的个数, 这也等价于用户兴趣的个数。
最后我们使用attention单元来捕捉每个输出的head和目标商品的相关性,此外,我们加入位置的embedding来引入位置信息,因为,第个用户的兴趣可以被表示为:
其中表示第个item的第个head的向量, 表示第个item的位置编码。
注意,每个商品在用户行为中的位置是按照发生时间戳的逆序进行排序的,也就是说:越近发生的行为商品将被放在更前面。表示attention单元.它表面了兴趣与目标商品的相关性。
于是用户的多兴趣可以被表示为: ,注意,用户的兴趣直接依赖于heads的个数。
最终的Loss
其中为两个子任务的平衡参数, , 是大小为的训练集合, 表示点击的标签, 为网络的预测输出。
实验
小结
针对CTR预测任务,本文提出了一种新的用户潜在多重兴趣网络(DMIN)建模方法。具体地说,我们设计了一个行为提炼(Refined)层,使用多头自我注意来捕捉更好的用户历史商品表示。然后应用多兴趣提取层提取多用户兴趣。实验结果也验证该方案的优势。
参考文献