本文介绍阿里提出的兴趣进化网络(Deep Interest Evolution Network,以下简称DIEN。
前一篇文章介绍的 DIN 模型如下图所示:
DIN 直接把用户的某个行为作为用户的兴趣,在实际的电商场景中这并不完全准确。
用户的兴趣受到环境因素与自身因素的影响,会不断的变化。例如用户会在一段时间内关注手机相关的商品,另一段时间内又会关注书籍相关的商品,而手机与书籍之间的关系就比较小了。本文的介绍的 DIEN 模型就是要捕捉用户兴趣的演变过程。DIEN 仍然采用了 attention 机制,捕捉与候选广告相关的兴趣发展路径。
模型概览
DIEN 模型结构如下图所示:
与 DIN 相比,DIEN 将 User behaviors 的部分加以调整,变成了上图中绿色区域的Behavior Layer、黄色区域的Interest Extractor Layer、粉色区域的Interest Evolving Layer三个部分。
Behavior Layer
Behavior Layer 主要就是对用户行为数据进行 embedding,在此不做过多讲解。
Interest Extractor Layer
Interest Extractor Layer ,也就是兴趣提取层。用户行为是用户兴趣的载体,兴趣也会随着用户采取某个行动之后改变。因此要对兴趣建模,首先要对行为之间的依赖关系进行建模。考虑到效率与性能,文中使用 GRU 对行为之间的依赖关系进行建模。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