DIN模型与DIEN模型总结

DIN模型(Deep Interest Network)

DIN模型是阿里妈妈团队提出的CTR预估模型,虽然是几年前提出的,但是现在应用仍比较广泛。
原论文地址:Deep Interest Network for Click-Through Rate Prediction

对论文的核心总结:利用用户历史行为序列信息,使用类似Attetion的机制动态构建用户兴趣embeeding,使得模型能够捕获用户的兴趣。

该论文的主要贡献:

  • 提出DIN模型,利用用户兴趣信息进行建模。
  • 提出mini-batch aware regularization,MBA正则化,简化版L2正则,避免模型过拟合的同时,减少计算量,加快模型训练
  • data adaptive activation function,数据自适应激活函数Dice。该激活函数可以根据数据的实际分布来动态调整系数。

模型结构

在这里插入图片描述
上图中,左边部分是Base模型,用来与DIN模型进行对比。可以看出,DIN的主要区别就在于对用户历史行为序列的处理,其实就是动态加权sum pooling的操作。所以,该模型的核心也就在于Activation Weight这个模块。
在这里插入图片描述
Activation Weight这个模块类似于门控机制,用来输出当前用户历史行为中每个商品对应的权重。
类似于Attention机制,该层的输入为当前商品的embedding以及广告对应的embedding,然后这两个embedding进行外积,得到一个结合的embedding,再将结合的embedding与商品、广告embedding进行拼接,最终拼接好的embedding进行全连接变化,输出权重值。

值得注意的是,该模块与传统的Attetnion机制不同,这里未使用softamax对打分进行归一化,这样做是为了更好区别兴趣程度,使得权重间的值差距更大。

得到用户历史行为embedding后,再与广告侧、上下文侧和用户侧的特征embedding进行拼接,经过多层的Dense变化,输出最终的CTR预测概率。

MBA 正则化

传统的L2正则化会对所有参数进行计算,这对于广告这种具有大规模稀疏特征的应用场景来说,会增加很大的计算开销。故作者提出改进版的L2正则化,在避免模型过拟合的同时,也加快了模型的训练速度,减少了计算开销。
传统的L2正则化公式,可以在mini-batch的训练方式中,等价转化为下面的公式:
在这里插入图片描述
其中 n j n_j nj表示该特征j在总样本中出现的次数, I I I为指示函数,表明在当前batch的训练样本中,是否出现特征 j j j

为了减少计算量,作者进行了以下的化简:
在这里插入图片描述
α m j α_{mj} αmj表示当前batch中,该特征 j j j是否出现过。即,对于每一批batch样本进行训练时,只对该batch中,出现过的特征对应的参数进行正则化,且与该特征在总样本中出现的次数相关。如该特征在数据中出现很多次数,则减少对该特征参数的惩罚力度。

数据自适应激活函数

Data Adaptive Activation Function
PReLU激活函数如下图所示:
在这里插入图片描述

在这里插入图片描述
PReLU激活函数在0点处进行了强修正,rectified point固定为0,这在每一层的输入分布发生变化时是不适用的,所以文章对该激活函数机型了改进,平滑了rectified point附近曲线的同时,激活函数会根据每层输入数据的分布来自适应调整rectified point的位置。
在这里插入图片描述
在这里插入图片描述


DIEN模型(Deep Interest Evolution Network for Click-Through Rate Prediction)

原论文地址:Deep Interest Evolution Network for Click-Through Rate Prediction

DIEN模型是DIN模型的改进版本。已经有的DIN模型,它强调用户兴趣是多样的,并使用基于注意力模型来捕获目标项目的相对兴趣。但是用户的兴趣是不断进化的,而DIN抽取的用户兴趣之间是独立无关联的,没有捕获到兴趣的动态进化性。但是在电商推荐的场景下,用户的兴趣是不断变化的,故提出DIEN模型来捕获与目标商品相关商品的兴趣发展路径。DIEN最大的特点是不但要找到用户的interest,还要抓住用户interest的进化过程。

该文的主要贡献:

  • DIEN关注兴趣演化的过程,并提出了新的网络结构来建模兴趣进化的过程。
  • 设计了兴趣抽取层,并通过计算一个辅助loss,来提升兴趣表达的准确性。
  • 设计了兴趣进化层,来更加准确的表达用户兴趣的动态变化性。

模型结构

在这里插入图片描述
与DIN模型类似,DIEN的区别主要表现在对用户历史行为序列的embedding构建。
用户历史行为序列的embedding构建要经过三层:1.Dense embedding 2.兴趣抽取层 3.兴趣进化层
第一层其实就是一个Dense层,对商品进行embedding。

兴趣抽取层

与DIN相比,DIEN这一层引入了序列模型,因为上一时刻的行为,对下一刻的行为起重要决定作用,故引用序列模型会更好的表示用户的隐式兴趣。论文认为GRU比LSTM训练更快,故采用了GRU。
GRU输出h(t)如下所示:
在这里插入图片描述
这里可以认为 h t h_t ht是用户的初步兴趣表示,每一步的兴趣状态会直接引导下一步的行为,为了更好地表达用户的兴趣,作者引入了辅助loss。
在这里插入图片描述
利用真实的下一个行为作为正样本,随机从行为序列中负采样得到负样本。用户下一时刻真实的行为 e t + 1 e_{t+1} et+1作为正例,负采样得到的行为作为负例 e t + 1 ′ e_{t+1}' et+1,分别与抽取出的兴趣 h t h_t ht结合输入到设计的辅助网络中。

在这里插入图片描述
在这里插入图片描述
辅助Loss的好处:

  • 更好的表达用户兴趣
  • 类似引入多目标,增加辅助函数只增加了线下训练的成本,但并没增加线上serving时间。

兴趣进化层

随着外部环境和内部认知的变化,用户兴趣也不断变化。
兴趣在进化时,有两个特征:

  • 多样性:兴趣漂移
  • 独立性:虽然兴趣可能相互影响,但每种兴趣都有自己不断发展的过程

在兴趣抽取阶段,已经获取了用户的隐式兴趣表达,为了分析用户兴趣演化的特性,作者结合attention机制和GRU序列学习的能力去建模用户兴趣的演化。局部attention可以加强相关兴趣的影响,并减弱兴趣偏移的影响。

在attention阶段,使用的计算方式为:
在这里插入图片描述
文章介绍几种将注意力机制和GRU结合起来模拟兴趣进化过程的算法:

GRU with attentional input (AIGRU)

这种方式将attention直接作用于输入,无需修改GRU的结构:
在这里插入图片描述
在AIGRU中,注意力得分可以降低较少相关兴趣的规模。 理想情况下,较少相关兴趣的输入值可以减少到零。但是,AIGRU有一定局限性, 因为即使零输入也可以改变GRU的隐藏状态。

Attention based GRU(AGRU)

这种方式需要修改GRU的结构,此时hidden state的输出变为:
在这里插入图片描述
原来公式为:
在这里插入图片描述
AGRU使用Attention score来代替GRU的 u t u_t ut(更新门),AGRU利用Attention score直接控制隐藏状态的更新。 并且在兴趣变化期间削弱了相关兴趣减少的影响。但是它使用标量(注意力分数 a t a_t at )来替换矢量(更新门 u t u_t ut),这忽略了不同维度之间的重要性差异。

GRU with attentional update gate (AUGRU)

因为前面几种方式都有不同的缺陷,所以又提出了一种更好的:
在这里插入图片描述
DIEN使用AUGRU。得到兴趣进化embedding后,将其连接其它的信息(广告侧特征、上下文信息等等)并最后送入MLP进行最终CTR预测。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值