前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >又是一篇猛货!

又是一篇猛货!

作者头像
炼丹笔记
发布2021-05-14 16:10:55
3040
发布2021-05-14 16:10:55
举报
文章被收录于专栏:炼丹笔记

作者:一元,炼丹笔记三品炼丹师

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信息,用户的历史行为,上下文信息以及目标商品信息。

  • 用户Profile信息:例如用户的id, 国家等信息;
  • 目标商品(Target Item):带有特定特征的候选商品,例如item id,类别id,统计的ctr等信息;
  • 用户历史行为: 用户历史点击/加购/购买的商品;
  • 上下文信息: 包括时间,匹配类型,trigger id等;

每个特征可以被编码为高维度的one-hot向量, 这些特征经常是稀疏的,而且往往会通过embedding层转换为低维的dense特征. 例如:item id可以被表示为一个矩阵, 其中为商品的总的个数, 为商品的embedding大小, , 用户的Profile,历史行为,上下文以及目标商品可以被表示为:,,,.特殊地,, 其中为用户历史行为的长度, 为商品embedding的维度。为第个商品的位置编码, 为的维度。

Behavior Refiner Layer

我们对用户的行为序列使用multi-head self-attention来微调商品的表示。

head_h = Attention(x_bW_h^Q,x_bW_h^K,x_bW_h^V)\\ =Softmax(\frac{x_b W_h^Q \cdot (x_b W_h^K)^T}{\sqrt{d_h}} \cdot x_bW_h^V)

其中, 为第个head的投影矩阵,因此,表示在子空间的潜在商品表示。最后, 我们将商品的表示拼起来得到:

Z = MultiHead(x_b) = Concat(head_1,head_2,...,head_{H_R})W^O

其中表示heads的个数, 为线性矩阵。

1. 辅助Loss

本文采用辅助的Loss来监督得到更好的商品表示, 我们使用第次的行为来监督在时刻的学习得到的商品表示,为的第行向量,正样本是从下一次的点击行为,而负样本则是从整个未点击的商品集合里面随机采样,

L_{aux} = - \frac{1}{N}(\sum_{i=1}^N \sum_{t} log \sigma( \left< z_t^i, e_{t+1}^i \right>)) + log( 1- \sigma(\left< z_t^i, \bar{e}_{t+1}^i \right>))

Multi-Interest Extractor Layer

在获得提炼的商品表示之后,我们需要从提炼的商品表示中抽取大量的兴趣。我们使用另外一个multi-head self-attention来获取这些兴趣。

head_h' = Attention(ZW'^Q_h,ZW'^K_h,ZW'^V_h) \\ =softmax(\frac{ ZW'^Q_h \cdot ( ZW'^K_h )^T }{\sqrt{d_{model}}} \cdot ZW'^V_h )

类似地, ,, 为第个head的query,key和valye. 最后我们将输出的head向量进行包装得到, 于是我们得到, 其中表示head的个数, 这也等价于用户兴趣的个数。

最后我们使用attention单元来捕捉每个输出的head和目标商品的相关性,此外,我们加入位置的embedding来引入位置信息,因为,第个用户的兴趣可以被表示为:

interest_h = \sum_{j=1}^T a(I_{jh}, x_t, p_j)I_{jh} = \sum_{j=1}^{T}w_jI_{jh}

其中表示第个item的第个head的向量, 表示第个item的位置编码。

注意,每个商品在用户行为中的位置是按照发生时间戳的逆序进行排序的,也就是说:越近发生的行为商品将被放在更前面。表示attention单元.它表面了兴趣与目标商品的相关性。

于是用户的多兴趣可以被表示为: ,注意,用户的兴趣直接依赖于heads的个数。

最终的Loss

L_{total} = L_{target} + \lambda L_{aux} \\ L_{target} = - \frac{1}{N} (\sum_{i=1}^N y_ilog(f(x_i) + (1-y_i) log(1-f(x_i)) ))

其中为两个子任务的平衡参数, , 是大小为的训练集合, 表示点击的标签, 为网络的预测输出。

实验

  • Wide & Deep和手工设计的特征表现不佳。
  • PNN是一个自动学习特征间交互的表,它比Wide & Deep要好。
  • DIN表示用户对目标项的兴趣,结果优于Wide&Deep和PNN。
  • DIEN使用一个特别设计的GRU结构来捕捉用户兴趣的变化,这有助于获得比DIN更好的兴趣表示。
  • DMIN在三个数据集中的AUC得分最高,显示了对用户潜在的多重兴趣进行建模和跟踪的有效性。
  • 辅助损失函数和位置嵌入的使用带来了非常大的增益

小结

针对CTR预测任务,本文提出了一种新的用户潜在多重兴趣网络(DMIN)建模方法。具体地说,我们设计了一个行为提炼(Refined)层,使用多头自我注意来捕捉更好的用户历史商品表示。然后应用多兴趣提取层提取多用户兴趣。实验结果也验证该方案的优势。

参考文献

  1. Deep Multi-Interest Network for Click-through Rate Prediction:https://dl.acm.org/doi/pdf/10.1145/3340531.3412092
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 炼丹笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档