在阿里的DIN之后,随后推出了DIEN,发表于2018年,论文地址点击这里 。
重点:
论文精读
在ctr预估中,捕捉用户历史行为数据中的潜在兴趣是比较重要的一项工作。考虑到外部环境的内部认知的变化,用户兴趣也在动态的发生变化。有很多ctr方法对兴趣进行建模,这些方法直接将行为的表示视为兴趣,缺少对潜在兴趣的建模,对当前行为的深入挖掘。很少有方法考虑兴趣的变化,本文,提出DIEN,设计了interest extractor layer 从用户历史行为序列中捕捉当时的兴趣。在兴趣提取层我们多加入了一个loss,去监督每一步的兴趣提取情况。在电商领域,用户的兴趣是多种多样的,我们提出兴趣进化层(interest evolving layer )去捕捉兴趣随着目标item的进化过程。
在大多数的非搜索场景下,用户没有表现出他们当前的意图。设计模型去捕捉用户的兴趣是ctr预估性能提升的一个方面。DIN指出用户的兴趣是多样性的,引入attention模型捕捉用户相对于target item的兴趣,得到自适应的兴趣表示。然而,DIN建模的兴趣是直接将行为视为了兴趣。我们知道,潜在的兴趣很难从显示的行为中反应出来。前面的方法忽略了从用户行为中挖掘用户的真实兴趣。用户的兴趣是持续变化的,从兴趣表示中捕捉兴趣的动态变化是非常重要的。
DIEN的两个主要创新:
1.从显示的行为中,提取潜在的当前兴趣。
2.对兴趣进化过程进行建模。
兴趣表示是对兴趣进化建模的重要基础。在兴趣提取层,DIEN使用GRU来建模行为之间的依赖。兴趣最终来源于连续的序列行为中,我们使用了额外的loss,用下一个行为来监督当前hidden state的学习。我们将这个hidden state作为兴趣状态,额外的监督信息有助于捕捉更多兴趣表示的语义信息,使用GRU的hidden state去表示兴趣。用户的兴趣是多样的,会存在兴趣漂移现象,比如,在近邻的一些访问中,用户的意图是非常不同的。一个用户的行为可能依赖于另一个停留时间比较久的行为。每一个兴趣都有自己的进化轨迹。用户对不同item的点击行为会受到兴趣的影响。兴趣进化层建模时,依赖于target item。从兴趣提取层获得兴趣序列,设计了带有AUGRU(attentional update gate )的GRU。用兴趣状态和target item的计算相关性,AUGRU增强了相关兴趣对兴趣进化的影响,弱化了不相关兴趣对结果的影响(避免了兴趣漂移现象,这个地方我的理解是,比如真实想买一个裙子,可能看到短裤后,点击,并且有过停留,但最终还是想要买裙子,此时会把短裤的行为认为是兴趣漂移)。
文章DIEN 主要贡献:
1.聚焦于电商系统的兴趣演化现象,提出新的网络给兴趣演化过程进行建模。
2.设计了兴趣提取层。GRU的hidden state对兴趣的表示缺少针对性,我们提出额外的loss,用连续的行为去监督hidden state的学习。是的hidden state充分的表示潜在兴趣。
3.设计了兴趣演化层,AUGRU增强了跟目标item的相关性,客服了兴趣的漂移。
wide&deep和deepFM组合低阶和高阶特征去提升表达能力。PNN提出一个product层捕捉不同类别的交互形式。这些模型中,用户的历史行为通过embeding和pooling的方式转换为低阶向量,但是这并不能反映出隐藏在数据背后的用户兴趣。DIN通过引入attention机智,来激活跟给定target item相关的历史行为,捕捉用户行为的多样性,但是,DIN获取序列行为之间的关联时,能力较弱。
基于RNN的模型,可以通过item被购买的序列,得到每个用户的动态表示,也存在一些问题,比如,RNN将序列结构的hidden state直接作为潜在的兴趣,其实hidden state在表示兴趣时,缺少一定的监督。另一方面,现存的RNN模型一视同仁的处理近邻行为之间的依赖关系。用户的行为并不是严格依赖最近一段时间内的行为。每个用户的兴趣是多样的,每个兴趣有自己的演化轨迹,对于任意的target item,这些模型只能获得一个固定的演化轨迹,可能会被兴趣漂移所干扰。
为了使用序列结构的hidden state表示潜在兴趣,额外的监督行为引入了进来。DARNN引入ranking information,建模点击行为。还有人将ranking loss引入的ranking task中。类似的,本文提出了一个额外的loss用于学习用户的潜在兴趣。这个loss用连续点击的item,跟非点击的item对比,去监督兴趣表示的学习。
为了捕捉跟target item相关的兴趣演化进程,我们需要更加灵活的序列学习结构。在问答系统中,AGRU引入attention机制保持位置和输入的实际顺序的敏感度。在AGRU中,attention score替代了更新gate的vector,这个表示胡烈了不同维度update gate之间的区别,这些不同的维度中从先前的序列中提取出了丰富的信息。收到这个方法的启发,本文提出了AUGRU去激活在兴趣演化进程中跟target item相关的兴趣。跟AGRU不同的是,AUGRU的attention score从update gate中获取信息,使得演化过程更加敏感和精确。
Review of BaseModel
4中类别特征:用户画像,用户行为,Ad和context。每一个类别进行one hot,然后组成一个list。
Embedding :将高维稀疏特征映射到低维dense特征的通用操作。在embeding层中,每一个field的特征尤其对应的embeding矩阵。
Multilayer Perceptron (MLP) :某一个类别的embeding向量,会进行一个pooling的操作,不同类别的embeding向量经过pooling之后的向量进行拼接concatenated。最后送入到mlp去预测最终结果。
交叉熵损失函数:
p(x)表示预测用户点击target item的概率。
DIEN通过对兴趣进化过程建模,捕捉用户兴趣。兴趣提取层从行为序列中提取兴趣序列,兴趣演化层留下了跟target item相近的兴趣演化轨迹。
Interest Extractor Layer