背景
DIEN(Deep Interest Evolution Network)是DIN的改进版,先回顾一下DIN模型:
DIN模型的核心思想是:在用户兴趣多样性的推荐背景下,利用用户的历史行为数据,通过Attention机制来捕捉被推荐物品的相对兴趣。DIN模型没有考虑到用户的兴趣的动态变化,如何在CTR中捕捉到用户兴趣的发展变化,就是DIEN要解决的问题。与DIN相似的是:DIEN也是用Attention机制来捕捉与候选广告相关的兴趣发展路径。
基本原理
DIEN致力于捕捉用户的兴趣和模型兴趣的演变过程。如下图所示,DIEN由几个部分组成:首先,通过嵌入层对各类特征进行变换。其次,DIEN采用两个步骤来捕获兴趣的演化:interest extractor layer根据行为序列提取兴趣序列;兴趣进化层描述了与目标物品相关的兴趣进化过程。然后将User Profile, Ad and Context的最终兴趣表示和嵌入向量连接起来。输入MLP进行最终的预测。
以下是模型的详细说明:
1. 模型的输入
包括四个部分,User Profile包括用户性别,年龄等;User Behacior是用户的历史行为序列,如用户的访问商品id列表;Ad是指被推荐物品的id,商店id等;Context是指设备类型id和时间等。
2. Interest Extractor Layer
DIEN采用GRU捕捉用户兴趣的演变过程,GRU的输入是按其发生时间排序的行为。GRU克服了RNN的消失梯度问题,比LSTM 更快。
GRU的公式如下:
u t = σ ( W u i t + U u h t − 1 + b u ) , r t = σ ( W r i t + U r h t − 1 + b r ) , h ~ t = t a n h ( W h i t + r t ∘ U h h t − 1 + b h ) , h t = ( 1 − u t ) ∘ h t − 1 + u t ∘ h ~ t , u_t = \sigma(W^ui_t+U^uh_{t-1}+b^u), \\ r_t = \sigma(W^ri_t+U^rh_{t-1}+b^r), \\ \tilde{h}_t = tan h(W^hi_t+r_t \circ U^h h_{t-1} + b^h), \\ h_t = (1-u_t) \circ h_{t-1} + u_t \circ \tilde{h}_t, ut=σ(Wuit+Uuht−1+bu),rt=σ(Writ+Urht−1+br),h~t=tanh(Whit+rt∘Uhht−1+bh),ht=(1−ut)∘ht−1+ut∘h~t</