DIN, KDD18, 阿里妈妈基于attention建模用户行为序列

Deep Interest Network for Click-Through Rate Prediction

1. Motivation

本文是阿里妈妈发表在KDD18上的论文,最主要的贡献表现在对于用户的输入行为序列与当前要打分的target item之前进行attention操作,对输入行为序列进行加权求和得到user的个性化的向量表示。

Motivation就是作者注意到用固定的embedding来表示user,在面对不同的打分item时不够灵活,表达能力不足;从而基于与attention类似的方式(与attention不完全相似,主体思想类似)学习user与item之间的显式交互

2. DIN

din.jpg

2.1 Attention

看上去很直接,现在基于attention建模用户行为序列也称为标配了。与传统的attention不完全一致,输出的时候不用softmax对所有item的权重归一化。

2.2 Mini-batch Aware Regularization

作者认为传统的L1或者L2正则化需要对全局的参数计算,可能涉及到参数量过大。

W \in \mathbb{R}^{D \times K}是embeding table, K是embedding的维度。作用于W的L2正则表示为,

L_2(W) = ||W||_2^2 = \sum_{j=1}^K ||w_j||_2^2 = \sum_{(x, y) \in S}\sum_{j=1}^K \frac{I(x_j \ne 0)}{n_j}||w_j||_2^2

Mini-batch L2正则表示为,

L_2(W) = \sum_{j=1}^K \sum_{m=1}^B \sum_{(x, y)\in B_m} \frac{I(x_j \ne 0)}{n_j}||w_j||_2^2

B_m代表第m个mini-batch,n_j表示feature id j在全体样本中出现的次数。只对每个mini-batch中出现(非零)的参数做正则化。

这属于对于大规模embedding table的正则化工程层面的优化实现。

2.3 Data Adaptive Activation Function

PReLU是,

f(s) = p(s) s + (1 - p(s)) \alpha s

p(s) = I(s > 0)是一个示性函数。

作者认为PReLU不能适应每一个layer的输入的分布不同的情形,从而提出了Dice的激活函数,

f(s) = p(s) s + (1 - p(s) \alpha s

p(s) = \frac{1}{1 + e ^{-\frac{s-E(s)}{\sqrt{Var(s) + \epsilon}}} }

本质上对每一个输入都维护类似Batch LayerNormalization一样需要记录的均值与方差,在激活之前进行标准化。

3. Experiment

din_result.jpg

优点:
(1)
现在对于用户行为序列做attention或者self-attention已经成为标配了,阿里妈妈团队确实思考与行动非常超前。

思考:
(1)对于冷启动item,或者用户行为序列里并没有的兴趣、临时可能迸发出来的兴趣,除了探索(exploitaion),还有没有更高效的方法?

4. References

[1] Zhou, Guorui, et al. "Deep interest network for click-through rate prediction." Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容