DIEN: Deep Interest Evolution Network
DIEN: Deep Interest Evolution Network for Click-Through Rate Prediction
基本信息
| 字段 | 内容 |
|---|---|
| 标题 | Deep Interest Evolution Network for Click-Through Rate Prediction |
| 作者 | Guorui Zhou, Na Mou, Ying Fan, Qi Pi, Weijie Bian, Chang Zhou, Xiaoqiang Zhu, Kun Gai |
| 机构 | Alibaba Group |
| 年份 | 2019 (AAAI’19) |
| 方向 | Sequential Modeling, Interest Evolution, GRU + Attention, Auxiliary Loss |
| 场景 | 电商 CTR 预估中的用户兴趣演化建模 |
| arXiv | https://arxiv.org/abs/1809.03672 |
动机/背景/创新点
- DIN模型对于从用户行为中抽取用户对候选商品兴趣的方式太过直接,无法充分反映用户隐性兴趣
作者在论文中遵循了一个原则——“用户兴趣会引发连续的直接用户行为”,即时间t的用户交互行为能够指导时间t+1的用户交互行为,这是作者提出auxiliary loss的直观原因。
作者通过研究用户行为的演变,发现了Interest Drifting现象:用户的兴趣是多样的,从一个更长的时间宽度来看,用户的相邻交互行为可能是不同的,同时某一个交互行为反应的兴趣可能对另外一个较长时间跨度的行为有着较高依赖,每个用户兴趣都有自己的进化轨迹。同时用户对于候选商品的点击是受不同的兴趣偏好驱动的。
即用户兴趣是微观连续,宏观漂移的。
主要创新点:
- AUGRU,基于单层GRU+基于注意力的GRU
- 提出auxiliary loss,用来学习用户兴趣进化过程
两个创新点帮助克服了Interest Drifting现象
模型改进

重点介绍Interest Extractor Layer和Interest Evolving Layer,以及对应的创新点。
后面Dice ReLU和MLP的方式和DIN相同,没有任何区别。
GRU能够克服RNN梯度消失的问题,同时比LSTM具有更少参数,训练时收敛速度更快,因此作者使用GRU。
Interest Extractor Layer


这部分是传统GRU的训练过程,t时间步的输入是用户在t时间的交互行为向量。
这一部分引入了Axiliary Loss(下面具体介绍),训练任务的损失函数变为:

Interest Evolving Layer

这部分使用了AUGRU,引入了用户交互行为(上一层t时间步GRU的隐变量h)与候选商品的注意力分数,并将最后一个时间步AUGRU的输出作为最后的用户行为序列兴趣向量表征,比较符合直觉。
Auxiliary loss


引入的额外损失函数采用对比学习的方式。
正样本:真实的下一个交互行为Embedding向量
负样本:随机采样除用户点击以外的交互行为Embedding向量
激活函数:
Sigmoid
相似计算:点积相似度
AUGRU

在更新门向量上乘一个注意力分数,效果比当时存在的融合GRU与Attention Score的方法要好。
AGRU

AIGRU

Loss Function

和DIN一样,依旧是负对数似然函数,只是DIEN又加上了对比学习损失。
实验设计
数据集:
-
公开数据集
-
Amazon Dataset: Books
-
Amazon Dataset: Electronics
-
工业数据集
Baseline:
- BaseModel
- Wide&Deep
- PNN
- DIN
- Two layer GRU + Attention Unit
评估函数:
- AUC(GAUC)
- 针对多种Attention GRU的对比实验
- auxiliary loss效果验证实验
- 线上A/B实验
注意点
- 源码中DIEN的auxiliary loss是通过将正样本/负样本分别与隐向量拼接在一起然后送入三层MLP得到的最终输出值标量












