推荐系统 之 DIEN

1. DIEN的由来

        其实,之前我们讨论的所有模型都是基于用户的过往历史进行物品的推荐,但是这个想法往往缺少了一个很重要的维度去模拟我们日常挑选商品的行为,那就是时间序列信息。为什么说时间序列信息对推荐来说是有价值的呢?一个典型的电商用户的现象可以说明这一点,我们在日常消费,或者日常逛淘宝的时候,其实发现自己的兴趣迁移是非常快的,例如用户在挑选一双篮球鞋的时候,这位用户上周的行为序列都会集中在篮球鞋整个品类的商品上,但在他完成购买后,本周他的购物兴趣可能变成买一个机械键盘了。但是用以往的模型(就拿最近的DIN吧),是拿所有历史行为去做处理,但是忽略了用户的兴趣(兴趣的趋势)已经发生转移了这个重要概念,所以我们应该把推荐的重心往转移的方向去移动。

        于是就诞生了DIEN模型,在DIN的基础上引入了时间序列模型GRU。

2. 模型的结构

        其实DIEN和DIN是相当的类似,唯一的不同点就是把DIN的注意力激活单元变换成一个兴趣网络了。这个兴趣网络由就是下图的 蓝色,黄色,红色区域了,分别是行为序列层,兴趣抽取层,兴趣进化层。

         行为序列层:主要是把原始的id类行为特征转化为Embedding特征,和DIN的Embedding层的处理手法是一样的。

        兴趣抽取层:主要通过模拟用户兴趣迁移的过程,抽取用户兴趣。

        兴趣进化层:主要是通过在兴趣抽取层的基础上,引入attention机制,模拟与当前目标广告相关的兴趣进化过程。

        最后将 兴趣变化的向量,广告的Embedding向量,用户画像对应的Embedding向量,还有上下文特征的Embedding向量给拼接起来,然后输入MLP里面,根据预测结果与真实label形成监督训练,计算误差,反向传播更新各个模块的参数,最终就得到了模型。

3. 兴趣抽取层( Interest Extractor Layer )

        在开篇的背景说了,我们需要引入一个时间序列模型来更好的做推荐,于是我们首先想到的是RNN,但是RNN由梯度消失问题,于是想到LSTM,但是模型计算太复杂,于是最后改用RNN的变种GRU来做了。他的参数更少,收敛速度更快,所以更加适用于电商系统:

        GRU从单个时间单元来看它每一个门的表达式是如下:

在这里插入图片描述

        z_t 叫更新门:更新门定义了前面记忆保存到当前时间步的量

        r_t 叫重置门:重置门决定了如何将新的输入信息与前面的记忆相结合

        这两个门决定了哪些信息最终能作为当前时刻循环单元的输出。这两个门控机制的特殊之处在于,它们能够保存长期

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值