8.Deep Interest Evolution Network for Click-Through Rate Prediction论文详解
作者:互联网
一、背景总述
2017年6月阿里妈妈的精准定向检索及基础算法团队放出了论文Deep Interest Network(DIN),用于解决电子商务的CTR预估,再次基础上,最近又放出了改进版本Deep Interest Evolution Network(DIEN),主要解决了以下两个问题:
- 更加精确的刻画用户的长期兴趣和短期兴趣
- 用户的兴趣是时刻变化的,需要更加准确的刻画用户兴趣的变化
二、摘要
点击率预估的目标是评估用户点击的可能性,这是广告系统的核心之一。对于CTR预估模型,需要捕捉用户行为数据背后的用户兴趣。另外,考虑到外部环境和内部感知的变化,用户兴趣也会随着时间动态变化。兴趣建模的CTR模型有几种,其中大多数是将行为的表现直接视为兴趣,而缺乏对具体行为背后的潜在兴趣进行建模。此外,几乎没有研究考虑兴趣的变化。在本文中提出一种新颖的CTR模型:Deep Interest Evolu-tion Network (DIEN)。具体来说,设计了兴趣提取层(interest extractor layer )从历史行为序列中捕捉暂时的兴趣。在这一层,我们引入辅助损失(auxiliary loss)来监督每一个兴趣提取。由于用户的兴趣多的多样性,尤其是电子商务中,我们提出了兴趣进化层(interest evolving layer)来捕捉在给定item下的用户兴趣进化过程。在兴趣进化层,attention机制被新颖的嵌入到顺序结构中,使得相关兴趣的作用在兴趣进化过程中得到加强。在公共和工业数据集的实验中,DIEN明显优于迄今为止的解决方案。值得注意的是,DIEN已经部署到淘宝的展示广告体系中,CTR提高了20%。
在推荐场景,捕捉到用户的兴趣并考虑兴趣的动态变化将是提升模型效果的关键。以Wide&Deep为代表的深度模型更多的是考虑不同field特征之间的相互作用,未关注用户的兴趣。Deep Interest Network(DIN)将用户行为序列中的每个商品当做用户的兴趣,并使用注意力机制来建模行为序列中每个商品和target item的相关性。但DIN还是直接将用户的行为看做兴趣,而其实用户的潜在兴趣往往很难通过行为来完全表示,并且这种潜在的兴趣是不断演化和变化的。因此怎么挖掘用户行为背后真正的兴趣就显得十分重要。
本文提出的Deep Interest Evolution Network(DIEN)模型,就可以挖掘用户行为背后真实的兴趣,并建模了用户兴趣的动态演变过程。
三、简介
CPC(Cost per click)计费方式是广告系统中最常见的计费方式之一,广告客户为广告的每次点击进行付费。在CPC广告体系中,CTR预估不仅影响整个平台的最终收入,而且还影响着用户体验。CTR预估模型在工业界和学术界得到越来越多的关注。
在大多非搜索的电子商务场景中,用户不会主动的表达其当前意图。设计模型捕捉用户的兴趣和其变化是提高CTR模型性能的关键。最近,许多CTR模型已经由传统的方法论转换到深度方法论。许多深度CTR模型关注捕捉不同领域特征之间的交互,而较少关注用户的兴趣表示。DIN强调了用户兴趣的多样性,它使用attention机制来捕捉给定item下的相关兴趣,获得兴趣的自适应性的表示。然而,包括DIN在内的很多模型都是直接将用户行为视为兴趣,而很难通用户展示的行为来体现潜在的兴趣。先前的方法忽略了挖掘行为背后的用户真正的兴趣。此外,用户的兴趣不断变化,捕捉用户的兴趣的动态变化是很重要的。
基于这么观察,本文提出DIEN模型。DIEN中有两个关键模块,一个是从用户的显示行为中捕捉用户的暂时兴趣,另外一个是对用户兴趣进化进行建模。正确的兴趣表示是建模兴趣变化的基础。在兴趣抽取层,DIEN采用GRU对行为之间依赖关系进行建模。遵循的原则是兴趣直接导致了连续的行为,提出辅助损失,即用用户的下一个行为来监督当前的隐藏状态。称这些额外监督的隐藏状态为兴趣状态。这些额外的监督信息有助于捕捉更多兴趣表征的语义含义和推动GRU隐藏状态有效的表示兴趣。此外,用户的兴趣是多样性的,这导致了兴趣漂移现象:相邻的访问行为中用户的意图可能非常不同,一个用户行为可能依赖于很久之前的行为。每个兴趣都有自己的进化轨迹。同时,一个用户的对不同候选item的点击动作受不同兴趣的部分影响。在内部的进化层,对特定item相关的兴趣进化轨迹进行建模。基于兴趣提取层的兴趣序列,设计了AUGRU( GRU withattentional update gate)。使用兴趣状态(就是带监督状态的GUR隐藏状态)和目标item计算相关性,AUGRU增强了兴趣进化层的兴趣影响,弱化了由于兴趣漂移而产生的不相关的兴趣影响。将attention机制引入到更新门之中,AUGRU可以导致针对不同目标item而产生不同兴趣的进化过程。
DIEN的主要贡献如下:
- 本文关注电子商务中的兴趣进化现象,并提出新的网络结构来模拟兴趣进化的过程。兴趣进化层可带来更具有表现力的兴趣表示和更准确的CTR预估。
- 与直接将行为做完兴趣不同,设计了兴趣提取层。针对GRU的隐藏状态对内部表示较差问题,突出了辅助损失。辅助损失利用连续的行为来监督隐藏状态的每一步学习,这使得隐藏状态更加的表示潜在的兴趣。
- 设计了兴趣进化层,AUGRU更加有效的模拟与目标item相关的兴趣进化过程。在公共和工业数据集上进行实验,DIEN的性能是最优的。并且DIEN已经部署在淘宝的展示广告中,在各种指标下获得显著的提升。
四、相关工作
凭借深度学习特征表示和组合的强大能力,最近的CTR模型从传统的线性或非线性模型(Fried-man 2001; Rendle 2010)转变为深层模型。大多数深层模型遵循嵌入和多层感知机(MLP)结构(Zhou et al. 2018c)。基于这种基本结构,越来越多的模型关注特征之间的相互作用:Wide & Deep(Cheng et al. 2016)和deep FM(Guo et al. 2017)结合低阶和高阶特征来改进表达能力; PNN(Qu et al. 2016)提出了一个乘积层(product layer)来捕捉场间类别之间的交互模式。但是,这些方法无法清楚地反映数据背后的兴趣。 DIN(Zhou et al.2018c)引入了关注激活目标对象的历史行为机制,并成功地捕捉了用户兴趣的多样性特征。但是,DIN在捕获序列行为之间的依赖关系方面很弱。
许多应用程序可以随时记录用户项交互。最近的一些研究表明,这些信息可用于构建更丰富的个人用户模型并发现其它行为模式。在推荐系统中,TDSSM(Song,Elkahky and He 2016)共同优化长期和短期用户兴趣,以提高推荐质量; DREAM(Yu et al.2016)使用递归神经网络(RNN)的结构来研究每个用户的动态表示和项目购买历史的全局序列行为。他和McAuley(2016)建立了视觉感知推荐系统,该系统使产品更贴近用户和社区不断变化的兴趣。(zhang et al. 2014)根据用户的兴趣顺序测量用户的相似性,并提高协同过滤推荐的性能。(Parsana et al. 2018)通过使用大规模事件嵌入和重复网络的注意力输出来改进原生广告CTR预测。 ATRank(Zhou et al. 2018a)使用基于注意力的序列框架来模拟异构行为。与序列无关的方法相比,这些方法可以显着提高预测准确性。
然而,这些基于传统RNN的模型存在一些问题。 一方面,大多数人将序列结构的隐藏状态直接视为潜在利益,而这些隐藏状态缺乏对利益表征的特殊监督。 另一方面,大多数现有的基于RNN的模型连续且同等地处理相邻行为之间的所有依赖关系。 众所周知,并非所有用户的行为都严格依赖于每个相邻的行为。 每个用户都有不同的兴趣,每个兴趣都有自己不断发展的轨迹。 对于任何目标项目,这些模型只能获得一个固定兴趣进化轨迹,因此这些模型可能会受到兴趣漂移的干扰。
为了有效地推动序列结构的隐藏状态来代表潜在兴趣,应该引入对隐藏状态的额外监督。 DARNN(Ren et al.2018)使用点击级序列预测,该预测模拟每次向用户显示每个广告时的点击操作。 除了点击动作,还可以进一步引入排名信息。 在推荐系统中,排名损失已被广泛用于排名任务(Rendle et al. 2009; Hidasi and Karatzoglou 2017)。 与这些排名损失类似,我们提出了利息学习的辅助损失。 在每个步骤中,辅助损失使用针对未点击项目的连续点击项目来监督兴趣表示的学习。
为了捕捉与目标项目相关的兴趣发展过程,我们需要更灵活的序列学习结构。 在问答(QA)领域,DMN+ (Xiong, Merity, and Socher 2016) 使用基于注意力的GRU(AGRU)来推动注意力机制对输入内容的位置和排序信息敏感。 在AGRU中,更新门的向量简单地由注意力得分的标量代替。 此替换检测更新门的所有维度之间的差异,其中包含从先前序列传输的丰富信息。 受QA中这种新颖序列结构的启发,我们提出GRU结合注意门(AUGRU),在兴趣发展过程中激活相对兴趣。 与AGRU不同,AUGRU中的注意力得分取决于从更新门计算的信息。 更新门和注意力得分的组合推动了更具体和敏感地发展的过程。
五、特征表示
网络的输入主要分为四个部分,第一个是用户的行为特征,再上一篇文章DIN中我们说用户的行为特征是一个multi_hot,但是DIN的行为特征并不是时序的,也就是说DIN就是所有点击行为的聚合,点击的过程是无序的,而DIEN的行为特征如下图所示,bi代表了第i次行为,bi是一个one_hot vector,vector的维度是全部的goods,也就是淘宝所有的商品,这是与DIN的特征表示不一样的地方,其他的三个特征与DIN的输入特征一致。
六、baseModel结构和广泛使用的损失函数
6.1 大多数深度CTR模型都建立在embedding&MLR的基本结构上。 基本结构由几部分组成:
6.2 损失函数
深度CTR模型中广泛使用的损失函数是负对数似然函数,它使用目标项的标签来监督整体预测:
七、DIEN网络模型
与赞助搜索不同,在许多电子商务平台(如在线显示广告)中,用户并未明确表达其意图,因此捕获用户兴趣及其动态对于CTR预测非常重要。 DIEN致力于捕捉用户兴趣并模拟兴趣发展过程。 如图1所示,DIEN由几个部分组成。 首先,通过嵌入层转换所有类别的特征。 接下来,DIEN采取两个步骤来捕捉兴趣发展:兴趣提取器层基于行为序列提取兴趣序列;;兴趣发展层模型相对于目标项目的兴趣发展过程。 然后连接最终兴趣的广告,用户简档,上下文的表示和嵌入向量。 将连接的载体送入MLP进行最终预测。 DIEN旨在获取获取用户的兴趣以及模型化用户的兴趣进化过程,其结构如下图:
7.1 网络抽取层(Interest Extractor Layer)
我们想通过时序的信息获取用户的interests,但是这里传统的RNN存在着两个问题:第一,我们在获取时序上用户兴趣表示的时候其实是将RNN的hidden states作为用户当前的一个interests,但是这个vector其实是缺少监督信息的,我在计算RNN的loss时只有最后时刻的输出才会得到target的反应,也就是最后作为target的那个点击行为;第二问题:我们知道RNN是用来获取不同时间行为的依赖性的,也就是说在时间序列上如果行为之间有很好的关联依赖性,那么RNN可以发挥很好的效果,但是对于用户行为来说可能在短时间内的就会有很多的点击行为,而且这些点击行为之间没有很好的依赖性,就比如我先点击一个衣服,又点击了一个猪饲料,依赖性不强,所以基于这两个问题,DIEN提出了两个网络结构来解决。
首先是针对第一个关于RNN的hidden states缺少监督信息问题,DIEN提出了auxiliary loss,如下图所示:
e(t+1)是在t+1时刻用户点击的goods的embedding,h(t)是用户在t时刻GRU的hidden stats,e(t+1)'是经过负采样的用户没有点击的goods,这样就一目了然了,h(t)代表了模型预测用户在t+1时刻的interests,而e(t+1)则是用户在t+1时刻真实的interests,这样做一个inner product 来计算相似度,外边再加一层sigmoid,就得到了auxiliary loss,公式如下:
然后模型的total loss就变成了target loss + auxiliary loss(其中α是超参数,它平衡了兴趣表示和CTR预测。)。
这个样就解决了RNN的hidden states缺少监督信息的问题。
总的来说,引入 auxiliary loss有如下优势:
- 兴趣学习的角度,可以帮助GRU的隐藏层更好的表达用户的兴趣;
- 对于长序列GRU模型的训练,降低了BP算法的难度;
- 给予embedding层学习更多的语义信息,可以训练出更好的embedding矩阵。
7.2 兴趣演化层(Interest Evolving Layer)
DEIN网络提出了AUGRU的结构来解决传统的RNN时序依赖的问题。首先先回顾一下GRU:
电子商务系统中用户的点击行为丰富,历史行为序列的长度即使在短时间内也很长,比如有两周。 为了实现效率和性能之间的平衡,我们采用GRU来模拟行为之间的依赖关系,其中GRU的输入是按其发生时间排序的行为。 GRU克服了RNN梯度消失的问题,并且比LSTM(Hochreiter and Schmidhuber 1997)更快,它适用于电子商务系统。
GRU公式如下:
由于外部环境和内部认知的共同影响,不同类型的用户兴趣随着时间的推移而不断发展。 以兴趣是衣服为例,随着人口趋势和用户品味的变化,用户对衣服的偏好也在不断变化。 用户对衣服的兴趣的演变过程将直接决定候选衣服的CTR预测。 对不断演化的过程进行建模的优点如下:
- 兴趣进化模块可以提供最终兴趣表示和更多相关历史信息;
- 最好通过遵循兴趣演变趋势来预测目标项目的CTR。
值得注意的是,兴趣在发展过程中表现出两个特征:
- 由于兴趣的多样性,可能会漂移。 兴趣漂移对行为的影响,例如用户可能在一段时间内对各种书籍感兴趣,并且在另一时间需要衣服。
- 虽然兴趣可能相互影响,但每种兴趣都有自己不断发展的过程,例如: 书籍和衣服的演变过程几乎是个体的。我们只关注与目标项目相关的不断演化的过程。
用户在时间序列上的行为可能是相互独立的,也就是说,我在这一天可能看了一些衣服,第二天可能去看了电脑,但是这样来看RNN这种能够捕获时序依赖关系的网络结构,可能表现就不是很好,所以,我们就只关注与target相关的兴趣,举个例子,比如我的target是一件衣服,而我通过观察用户时间序列上点击衣服的行为就可以学到他对于衣服这类商品的兴趣进化,所以,DIEN使用了attention的机制,同样是和DIN一样使用attention,但是方式略有不同。
DIEN的attention机制,如下图公式所示:
接下来,我们将介绍几种将注意力机制和GRU结合起来模拟兴趣进化过程的算法。
八、GRU with attentional input (AIGRU)
AIGRU是注意力机制控制输入的GRU模块,主要目的是为了在兴趣进化过程中激活相关的兴趣,AIGRU使用注意力分数来影响兴趣进化层的输入:
九、Attention based GRU(AGRU)
十、GRU with attentional update gate (AUGRU)
十一、实验
11.1 数据
-
public Dataset
亚马逊数据集(McAuley et al.2015)由亚马逊的产品评论和元数据组成。 我们使用亚马逊数据集的两个子集:Books和Electronics,来验证DIEN的效果。 在这些数据集中,我们将评论视为行为,并按时间对来自一个用户的评论进行排序。 假设存在用户u的T 个行为,我们的目的是使用前T − 1个行为来预测用户是否会写出第T次评论中显示的评论。 -
Industrial Dataset
工业数据集是通过我们的在线展示广告系统的压缩和点击日志构建的。 对于训练集,我们会将过去49天点击的广告作为目标项目。 每个目标项及其相应的点击行为构成一个实例。 例如,使用一个目标项a aa,我们将a aa被点击的日期设置为最后一天,该用户在过去14天中采取的行为作为历史行为。 同样,测试集中的目标项目从以下一天中选择,行为与训练数据相同。
11.2 公共数据集结果
总的来说,如图1所示,DIEN的结构包括GRU,AUGRU和辅助损失以及其他普通组件。 在公共数据中。 每个实验重复5次。
从表2中,我们可以发现Wide&Deep手动设计的功能表现不佳,而功能之间的自动交互(PNN)可以提高BaseModel的性能。 同时,旨在获取兴趣的模型显然可以提高AUC:DIN激活了与广告相关的利益,两层GRU注意力进一步激活了兴趣序列中的相关兴趣,所有这些探索获得了积极的反馈。 DIEN不仅可以更有效地捕获连续的兴趣,还可以模拟与目标项目相关的兴趣演化过程。 兴趣演化的建模有助于DIEN获得更好的兴趣表示,并且准确地捕捉兴趣的动态,从而大大提高了绩效。
11.3 工业数据集结果
我们进一步对真实显示广告的数据集进行实验。 工业数据集中使用6个全连接层,每一层维度分别为600,400,300,200,80,2,历史行为的最大长度设置为50。
如下图所示,Wide&Deep和PNN比BaseModel获得更好的性能。 与亚马逊数据集中的仅一类商品不同,在线广告的数据集同时包含所有类型的商品。 基于这一特性,基于注意力的方法在很大程度上改善了性能,如DIN。 DIEN捕获与目标项目相关的兴趣演化过程,并获得最佳性能。
11.3 应用研究
从实验对比上来说,DIEN即GRU+AUGRU+auxiliary loss + 其他常规模块的方式有明显的优势,这表明监督信息对于序列化兴趣和嵌入表示学习过程的重要性。
11.4 基于注意更新门的GRU(AUGRU)的影响
表4显示了不同方法兴趣演化的结果。 与BaseMode相比,两层GRU注意力得到改善,而建模演化的缺乏限制了它的能力。 AIGRU采用基本思想来建模演化过程,尽管它有进步,但在兴趣演化过程中,注意力发生了分离和演化丢失了信息。 AGRU进一步尝试融合注意力和演化,正如我们之前提出的,它在GRU中的注意力无法充分利用更新门的资源。 AUGRU获得了明显的改善,反映了它理想地融合了注意力机制和序列学习,有效地捕捉了相对兴趣的演化过程。
11.5 辅助损失的影响
十二、代码实现
github链接:https://github.com/shenweichen/DeepCTR
标签:Evolution,GRU,Network,CTR,用户,Prediction,DIEN,行为,兴趣 来源: https://blog.csdn.net/zhaozhiwei314/article/details/123216275