目录
1.兴趣抽取层(Interest Extractor Layer)
2.兴趣进化层(Interest Evolving Layer)
DIEN模型提出地动机:用户的兴趣会随着时间会变化,捕捉用户兴趣的动态性是很重要的。从而提出了两个创新点:
兴趣抽取层(interest extractor layer):通过模拟用户的兴趣迁移过程,抽取用户兴趣
兴趣进化层(interest evolving layer):在星期抽取层的基础上加入注意力机制,学习与目标物品相关的兴趣进化趋势。
CTR预估的损失函数仍然如下:
1.兴趣抽取层(Interest Extractor Layer)
在这里使用GRU来学习用户行为序列从而提取用户的兴趣,目标商品的点击行为是由最后的兴趣触发的,而label只能监督最后的兴趣,对隐藏层的的状态不能监督。 考虑到用户的兴趣导致一系列行为的发生,所以当前的行为和下一时刻的行为是有紧密的关系的,所以这里的改进就是每个时刻的隐藏层都加了一个监督信息就是下一个时刻的点击行为,引入了auxilary loss,公式如下:
作者在这里总结了auxiliary loss的几个优点,这里一块总结下:
- 使得每个隐藏层能合理训练,充分表达用户当前兴趣
- 降低反向传播的难度
- 为embedding矩阵提供了更多语义信息,方便这个东西的学习
所以DIEN最终的损失函数是:
2.兴趣进化层(Interest Evolving Layer)
这层的创新是引入了注意力机制,修改了GRU的更新门。注意力分数的计算公式如下:
这里是候选商品的embedding向量,是某个时间步t的兴趣抽取层GRU的隐藏状态(因为兴趣抽取层的隐藏层输出会作为兴趣进化层GRU的输入) ,W可学习的参数矩阵。
修改了GRU的更新门,将注意力分数加入了里面,公式如下所示:
这个东西能使得每一步的局部激活都能强化相关兴趣的作用,减弱兴趣漂移的干扰,有助于模拟相对目标项目的兴趣演化过程.
DIEN主要的创新点就是上面的这些内容。