论文地址:https://arxiv.org/abs/1809.03672
开源代码:https://github.com/mouna99/dien
本文是原创,转载请注明出处:https://blog.csdn.net/ybjlucky/article/details/87888255
点击率(CTR)预测,其目标是估计用户点击该项目的概率,已经成为广告系统中的核心任务之一。对于CTR预测模型,有必要捕获用户行为数据背后的潜在用户兴趣。此外,考虑到外部环境的变化和内部认知,用户兴趣会随着时间的推移而动态变化。兴趣建模有几种CTR预测方法,但大多数都直接将行为表示为兴趣,缺乏针对具体行为背后潜在兴趣进行建模。此外,很少有工作考虑到兴趣的变化趋势。在这篇文章中,我们提出了一种新的模型,名为深度兴趣演化网络(DIEN)用于CTR预测。具体来说,我们设计兴趣提取器层以从历史行为序列中捕获时间兴趣。在这一层,我们引入辅助损失来监督每一步的兴趣提取。由于用户兴趣多种多样,特别是在电子商务系统中,我们提出了兴趣发展层来捕捉与目标项相关的兴趣演变过程。在兴趣演化层中,注意力机制(attention)被新颖地嵌入到序列结构中,并且在兴趣进化过程中相对兴趣的影响得到加强。在公共和工业数据集的实验中,DIEN明显优于最先进的解决方案。值得注意的是,DIEN已经部署在淘宝的显示广告系统中,并且点击率提高了20.7%。
单次点击费用(CPC)结算是广告系统中最常见的结算表单之一,即广告客户对其广告上的每次点击收费。 在CPC广告系统中,点击率(CTR)预测的性能不仅会影响整个平台的最终收入,还会影响用户体验和满意度。 CTR预测模型已经越来越受到学术界和工业界的关注。
在大多数非搜索电子商务场景中,用户不主动表达他们当前的意图。设计模型以捕获用户的兴趣及其动态是提高CTR预测性能的关键。最近,许多CTR模型从传统方法论(Friedman 2001; Rendle 2010)转变为深度CTR模型(Guo et al. 2017; Qu et al. 2016; Lian et al. 2018)。大多数深度CTR模型专注于捕获来自不同领域的特征之间的交互,并且较少关注用户兴趣表示。深度兴趣网络(DIN)(Zhou et al.1188c)强调用户兴趣是多样的,它使用基于注意力模型来捕获目标项目的相对兴趣,并获得适应性兴趣表示。然而,包括DIN在内的大多数兴趣模型都直接将行为视为兴趣,而潜在兴趣很难通过显性行为得到充分反映。以前的方法可以挖掘出行为背后真正的用户兴趣。此外,用户兴趣不断发展,捕获兴趣的动态对于兴趣表示很重要。
基于所有这些观察,我们提出深度兴趣演化网络(DIEN)来改善CTR预测性能。 DIEN中有两个关键模块,一个用于从显式用户行为中提取潜在的时间兴趣,另一个用于建模兴趣发展过程。适当的兴趣表示是兴趣演化模型的基石。在兴趣提取层,DIEN选择GRU(Chung et al.2014)来模拟行为之间的依赖关系。遵循兴趣直接导致连续行为的原则,我们提出辅助损失,它使用下一行为来监督当前隐藏状态的学习。我们将这些隐藏的状态称为兴趣状态。这些额外的监督信息有助于捕获兴趣表示的更多语义含义,并推动GRU的隐藏状态以有效地表示兴趣。此外,用户兴趣是多样的,这导致兴趣漂移现象:用户的意图在相邻访问中可能非常不同,并且用户的一种行为可能取决于很久以前的行为。每个兴趣都有自己的进化轨迹。同时,一个用户对不同目标项的点击动作受到不同兴趣部分的影响。在兴趣进化层,我们模拟相对于目标项目的兴趣进化轨迹。基于从兴趣提取器层获得的兴趣序列,我们设计具有注意力更新门(AUGRU)的GRU。利用兴趣状态和目标项来计算相关性,AUGRU加强了相对兴趣对兴趣演变的影响,同时削弱了兴趣漂移导致的无关兴趣效应。通过将注意力机制引入更新门,AUGRU可以为不同的目标项目带来特定的兴趣发展过程。 DIEN的主要贡献如下:
- 我们关注电子商务系统中的用户兴趣演变现象,并提出一种新的网络结构来模拟兴趣演化过程。 兴趣演化模型导致更具表现力的兴趣表达和更准确的CTR预测。
- 与直接将行为视为兴趣不同,我们特别设计了兴趣提取层。 针对GRU的隐藏状态不能有效表示兴趣的问题,我们提出了一个辅助损失。 辅助损失使用连续行为来监督每一步隐藏状态的学习。 这使隐藏的状态表达足以代表潜在的兴趣。
- 我们设计了新颖的兴趣发展层,其中具有注意力更新门的GPU(AUGRU)增强了从相关兴趣到目标项的效果,并克服了兴趣漂移的推断。
在公共和工业数据集的实验中,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中的注意力得分取决于从更新门计算的信息。 更新门和注意力得分的组合推动了更具体和敏感地发展的过程。
在本节中,我们将详细介绍深度兴趣进化网络(DIEN)。 首先,我们回顾一下名为BaseModel的基本Deep CTR模型。 然后我们展示了DIEN的整体结构,并介绍了用于捕捉兴趣和建模兴趣演化过程的技术。
BaseModel是从特征表示,模型结构和损失函数方面引入的。
在我们的在线显示系统中,我们使用四类特征:用户配置文件,用户行为,广告和上下文。值得注意的是,广告也是商品。我们将广告称为本文中的目标项目。每个类别的特征都有几个字段,用户配置文件字段是性别,年龄等;用户行为字段是用户访问的商品ID列表;广告字段是广告ID,商店ID等;上下文字段是时间等等。每个字段的特征可以编码成一个单热矢量(one-hot vector),例如,用户简档类别中的女性特征被编码为[0,1]。连接用户配置文件,用户行为,广告和上下文的不同字段的单热矢量(one-hot vector)分别为 x ⃗ p , x ⃗ b , x ⃗ a , x ⃗ c \vec x_p, \vec x_b, \vec x_a, \vec x_c xp,xb,xa,xc。在顺序CTR模型中,值得注意的是每个字段包含行为列表,每个行为对应一个单热矢量(one-hot vector),可以用 x ⃗ b = [ b ⃗ 1 ; b ⃗ 2 ; . . . ; b ⃗ T ] ∈ R K ∗ T \vec x_b = [\vec b_1;\vec b_2;...;\vec b_T] \in R^{K*T} xb=[b1;b2;...;bT]∈RK∗T表示, b t ∈ { 0 , 1 } K b_t \in \{0,1\}^K bt∈{0,1}K,其中 b ⃗ t \vec b_t bt被编码为单热矢量并表示第 t t t个行为, T T T是用户的历史行为数量, K K K是用户可以点击的商品总数。
大多数深度CTR模型都建立在embedding&MLR的基本结构上。 基本结构由几部分组成:
- Embedding 嵌入(embedding)是将大规模稀疏特征转换为低维密集特征的常见操作。 在嵌入层中,每个特征字段对应于一个嵌入矩阵,例如,被访问物品的嵌入矩阵可以用 E g o o d s = [ m 1 , m 2 , . . . , m K ] ∈ R n E ∗ K E_{goods}=[m_1,m_2,...,m_K] \in R^{n_E * K} Egoods=[m1,m2,...,mK]∈RnE∗K表示,其中 m j ∈ R n E m_j \in R^{n_E} mj∈RnE表示尺寸为 n E n_E nE的嵌入式向量。 特别是,对于行为特征 b ⃗ t \vec b_t bt,如果 b t [ j t ] = 1 b_t[j_t]=1 bt[jt]=1,则其对应的嵌入向量为 m ⃗ j t \vec m_{j_t} mjt,一个用户的行为的有序嵌入向量列表可以用 e ⃗ b = [ m ⃗ j 1 , m ⃗ j 1 , . . . , m ⃗ j T ] \vec e_b=[\vec m_{j_1}, \vec m_{j_1},...,\vec m_{j_T}] eb=[mj1,mj1,...,mjT]。 类似地, e ⃗ a \vec e_a ea表示广告类别中字段的嵌入嵌入向量。
- 多层感知器(MLP) 首先,来自一个类别的嵌入式矢量被喂入池化操作。 然后连接来自不同类别的所有这些汇集向量。 最后,将连接的矢量输入到下面的MLP中以进行最终预测。
深度CTR模型中广泛使用的损失函数是负对数似然函数,它使用目标项的标签来监督整体预测:
L t a r g e t = 1 N ∑ ( x , y ) ∈ D N ( y l o g ( p ( x ) ) + ( 1 − y ) l o g ( 1 − p ( x ) ) ) ( 1 ) L_{target}= \frac{1}{N}\sum_{(x,y)\in D}^N (ylog(p(x)) + (1-y)log(1-p(x))) \quad (1) Ltarget=N1(x,y)∈D∑N(ylog(p(x))+(1−y)log(1−p(x)))(1)
其中, x ⃗ = [ x ⃗ p , x ⃗ a , x ⃗ c , x ⃗ b ] ∈ D \vec x = [\vec x_p,\vec x_a,\vec x_c, \vec x_b] \in D x=[xp,xa,xc,xb]∈D,D是大小为N的训练集。 y ∈ { 0 , 1 } y \in \{0,1\} y∈{0,1}表示用户是否单击目标项。 p ( x ) p(x) p(x)是网络的输出,它是用户点击目标项目的预测概率。
与赞助搜索不同,在许多电子商务平台(如在线显示广告)中,用户并未明确表达其意图,因此捕获用户兴趣及其动态对于CTR预测非常重要。 DIEN致力于捕捉用户兴趣并模拟兴趣发展过程。 如图1所示,DIEN由几个部分组成。 首先,通过嵌入层转换所有类别的特征。 接下来,DIEN采取两个步骤来捕捉兴趣发展:兴趣提取器层基于行为序列提取兴趣序列;;兴趣发展层模型相对于目标项目的兴趣发展过程。 然后连接最终兴趣的广告,用户简档,上下文的表示和嵌入向量。 将连接的载体送入MLP进行最终预测。 在本节的剩余部分,我们将详细介绍DIEN的两个核心模块。
图1:DIEN的结构。 在行为层,行为按时间排序,嵌入层将单热表示 b ⃗ [ t ] \vec b[t] b[t]变换为嵌入向量 e ⃗ [ t ] \vec e[t] e[t]。 然后,兴趣提取器层在辅助损失的帮助下提取每个兴趣状态 h ⃗ [ t ] \vec h[t] h[t]。 在兴趣发展层,AUGRU模拟与目标项相关的兴趣发展过程。 最终兴趣状态 h ′ [ t ] h^{'}[t] h′[t]连接剩余特征的嵌入向量,并且被馈送到MLR以用于最终CTR预测
在电子商务系统中,用户行为是潜在兴趣的载体,在用户采取一种行为后兴趣会发生变化。 在兴趣提取器层,我们从顺序用户行为中提取一系列兴趣状态。
电子商务系统中用户的点击行为丰富,历史行为序列的长度即使在短时间内也很长,比如有两周。 为了实现效率和性能之间的平衡,我们采用GRU来模拟行为之间的依赖关系,其中GRU的输入是按其发生时间排序的行为。 GRU克服了RNN梯度消失的问题,并且比LSTM(Hochreiter and Schmidhuber 1997)更快,它适用于电子商务系统。 GRU的公式如下:
u t = σ ( W u i ⃗ t + U u h t − 1 + b u ) ( 2 ) u_t = \sigma(W^u\vec i_t + U^uh_{t-1} + b^u) \quad (2) ut=σ(Wuit+Uuht−1+bu)(2)
r t = σ ( W r i ⃗ t + U r h t − 1 + b r ) ( 3 ) r_t = \sigma(W^r\vec i_t + U^rh_{t-1} + b^r) \quad (3) rt=σ(Writ+Urht−1+br)(3)
h t ^ = t a n h ( W h i ⃗ t + r t ∘ U h h t − 1 + b h ) ( 4 ) \hat {h_t} = tanh(W^h\vec i_t + r^t \circ U^hh_{t-1} + b^h) \quad (4) ht^=tanh(Whit+rt∘Uhht−1+bh)(4)
h t = ( 1 − u t ) ∘ h t − 1 + u t ∘ h t ^ ( 5 ) h_t=(1-u_t) \circ h_{t-1} + u_t \circ \hat {h_t} \quad (5) ht=(1−ut)∘ht−1+ut∘ht^(5)
其中 σ \sigma σ是sigmoid激活函数。 ∘ \circ ∘是逐元素相乘, W u , W r , W h ∈ R n H ∗ n I W^u,W^r,W^h \in R^{n_H * n_I} Wu,Wr,Wh∈RnH∗nI, U u , U r , U h ∈ n H ∗ n H U^u,U^r,U^h \in n_H * n_H Uu,Ur,Uh∈nH∗nH, n H n_H nH是隐藏层的大小, n I n_I nI输入层大小。 i ⃗ t \vec i_t it是GRU的输入, i ⃗ t = e ⃗ b [ t ] \vec i_t = \vec e_b[t] it=eb[t]表示用户第 t t t个行为, h t h_t ht是第 t t t个隐藏状态。
然而,仅捕获行为之间依赖关系的隐藏状态 h t h_t ht并不能有效地代表兴趣。由于最终兴趣触发目标项目的点击行为, L t a r g e t L_{target} Ltarget中使用的标签仅包含监督最终兴趣预测的基本事实,而历史状态 h t ( t < T ) h_t(t < T) ht(t<T)无法获得适当的监督。众所周知,每一步的兴趣状态都会直接导致一连串行为。所以我们提出辅助损失,它使用行为 b t + 1 b_{t+1} bt+1来监督兴趣状态 h t h_t ht的学习。除了使用真实的下一个行为作为正实例之外,我们还使用负实例,即项目集中的样本超出了所单击的项目。存在 N N N对行为嵌入序列: { e b i , e b i ^ } ∈ D B , i ∈ 1 , 2 , . . . , N \{ e_b^i, \hat{e_b^i}\} \in D_B,i \in 1,2,...,N {ebi,ebi^}∈DB,i∈1,2,...,N,其中 e b i ∈ R T × n E e_b^i \in R^{T \times n_E} ebi∈RT×nE表示点击的行为序列, e b i ^ ∈ R T × n E \hat{e_b^i} \in R^{T \times n_E} ebi^∈RT×nE表示负样本序列。 T是历史行为的数量, n E n_E nE是嵌入的维数, e b i [ t ] ∈ g e_b^i[t] \in g ebi[t]∈g表示用户单击的第 t t t项嵌入向量, g g g是整个项目集合。 e b i ^ [ t ] ∈ g − e b i \hat{e_b^i}[t] \in g - e_b^i ebi^[t]∈g−ebi表示除了用户 i i i在第 t t t步点击的项目之外的样本的嵌入。辅助损失可以表述为:
L a u x = − 1 N ( ∑ i = 1 N ∑ t l o g ( σ ( h t i , e b i [ t + 1 ] ) ) + l o g ( 1 − σ ( h t i , e b i [ t + 1 ] ^ ) ) ) ( 6 ) L_{aux}=-\frac{1}{N}(\sum_{i=1}^N \sum_t log(\sigma(h_t^i,e_b^i[t+1])) + log(1-\sigma(h_t^i, \hat{e_b^i[t+1]}))) \quad (6) Laux=−N1(i=1∑Nt∑log(σ(hti,ebi[t+1]))+log(1−σ(hti,ebi[t+1]^)))(6)
其中, σ ( x 1 , x 2 ) = 1 1 + e x p ( − [ x 1 , x 2 ] ) \sigma(x_1,x_2)=\frac{1}{1+exp(-[x_1,x_2])} σ(x1,x2)=1+exp(−[x1,x2])1是sigmoid激活函数, h t i h_t^i hti用于表示用户 i i i的GRU第 t t t个隐藏状态。我们应用于CTR模型的全局损失函数为:
L = L t a r g e t + α ∗ L a u x ( 7 ) L = L_{target} + \alpha * L_aux \quad (7) L=Ltarget+α∗Laux(7)
其中 α \alpha α是超参数,它平衡了兴趣表示和CTR预测。
在辅助损失的帮助下,每个隐藏状态 h t h_t ht表达足以表示用户行为 i ⃗ t \vec i_t it后的兴趣状态。 所有 T T T个兴趣点 [ h 1 , h 2 , ⋅ ⋅ ⋅ , h T ] [h_1,h_2,···,h_T] [h1,h2,⋅⋅⋅,hT]序列组成了兴趣演化层,可以模拟兴趣演化的兴趣序列。
总的来说,辅助损失的引入有几个优点:从兴趣学习的角度来看,辅助损失的引入有助于GRU的每个隐藏状态表达兴趣。 对于GRU的优化,当GRU模拟长历史行为序列时,辅助损失降低了反向传播的难度。 此外,辅助损失为嵌入层的学习提供了更多的语义信息,从而产生更好的嵌入矩阵。
由于外部环境和内部认知的共同影响,不同类型的用户兴趣随着时间的推移而不断发展。 以兴趣是衣服为例,随着人口趋势和用户品味的变化,用户对衣服的偏好也在不断变化。 用户对衣服的兴趣的演变过程将直接决定候选衣服的CTR预测。 对不断演化的过程进行建模的优点如下:
- 兴趣进化模块可以提供最终兴趣表示和更多相关历史信息;
- 最好通过遵循兴趣演变趋势来预测目标项目的CTR。
值得注意的是,兴趣在发展过程中表现出两个特征
- 由于兴趣的多样性,可能会漂移。 兴趣漂移对行为的影响,例如用户可能在一段时间内对各种书籍感兴趣,并且在另一时间需要衣服。
- 虽然兴趣可能相互影响,但每种兴趣都有自己不断发展的过程,例如: 书籍和衣服的演变过程几乎是个体的。 我们只关注与目标项目相关的不断演化的过程。
在第一阶段,在辅助损失的帮助下,我们获得了兴趣序列的表达。 通过分析兴趣演变的特征,我们将注意力机制的局部激活功能和GRU的序列学习能力结合起来,模拟兴趣演化。 GRU每一步的局部激活可以增强相对兴趣的影响,减弱兴趣漂移的干扰,有助于建立与目标项相关的兴趣演化过程。
与公式(2-5)类似,我们用 i t ′ , h t ′ i_t^{'}, h_t^{'} it′,ht′表示兴趣演化模块中的输入和隐藏状态,其中第二个GRU的输入是兴趣提取层的相应兴趣状态: i t ′ = h t i_t^{'}=h_t it′=ht。最后隐藏状态 h T ′ h_T^{'} hT′代表最终兴趣状态。
我们在兴趣发展模块中使用的注意力模型可以表示为:
# a t = e x p ( h t W e a ) ∑ j = 1 T e x p ( h j W e a ) ( 8 ) a_t=\frac{exp(h_tWe_a)}{\sum_{j=1}^Texp(h_jWe_a)} \quad (8) at=∑j=1Texp(hjWea)exp(htWea)(8)
其中 e a e_a ea是来自不同类别广告字段的嵌入向量的连接(concat), W ∈ R n H × n A W \in R^{n_H \times n_A} W∈RnH×nA, n H n_H nH是隐藏状态的维度, n A n_A nA是广告的嵌入向量的维度。 注意力分数(Attention score)可以反映广告 e a e_a ea和输入 h t h_t ht之间的关系,并且强相对性导致较大的注意力得分。
接下来,我们将介绍几种将注意力机制和GRU结合起来模拟兴趣进化过程的算法。
为了在兴趣进化过程中激活相对兴趣,我们提出了一种简单的方法,称为基于注意力模型输入的GRU(AIGRU)。 AIGRU使用注意力分数来影响兴趣进化层的输入。 如公式9所示:
i t ′ = h t ∗ a t ( 9 ) i_t^{'}=h_t * a_t \quad (9) it′=ht∗at(9)
其中 h t h_t ht是GRU在兴趣提取器层的第 t t t个隐藏状态, i t ′ i_t^{'} it′是第二个GRU的输入,用于兴趣演变, ∗ * ∗表示标量矢量乘积。 在AIGRU中,注意力得分可以降低较少相关兴趣的规模。 理想情况下,较少相关兴趣的输入值可以减少到零。 但是,AIGRU工作得不是很好。 因为即使零输入也可以改变GRU的隐藏状态,因此较少相关兴趣也会影响学习兴趣的发展。
在问答(Xiong, Merity, and Socher 2016)领域,首先提出了基于注意力的GRU(AGRU)。 通过来自注意力机制的嵌入信息修改GRU架构后,AGRU可以有效地提取复杂查询中的关键信息。 在问答系统的启发下,我们转移了AGRU的使用,从查询中提取关键信息,变成以捕捉兴趣演变过程中的相对兴趣。 详细地说,AGRU使用注意分数来代替GRU的更新门,并直接改变隐藏状态。形式上:
h t ′ = ( 1 − a t ) ∗ h ^ t − 1 + a t ∗ h ^ i ′ ( 10 ) h_t^{'}=(1-a_t) * \hat{h}_{t-1} + a_t * \hat{h}_i^{'} \quad (10) ht′=(1−at)∗h^t−1+at∗h^i′(10)
其中, h t ′ , h t − 1 ′ , h ^ i ′ h_t^{'}, h_{t-1}^{'},\hat{h}_i^{'} ht′,ht−1′,h^i′是AGRU的隐藏层状态。
在兴趣发展的场景中,AGRU利用注意力得分直接控制隐藏状态的更新。 AGRU在兴趣变化期间削弱了相关兴趣减少的影响。 将注意力嵌入GRU可以改善注意力机制的影响,并有助于AGRU克服AIGRU的缺陷。
虽然AGRU可以使用注意力分数直接控制隐藏状态的更新,但它使用标量(注意力分数 a t a_t at)来替换矢量(更新门 u t u_t ut),这忽略了不同维度之间的重要性差异。 我们提出GRU与注意更新门(AUGRU)无缝结合注意力机制和GRU:
u ^ t ′ = a t ∗ u t ′ ( 11 ) \hat{u}_t^{'} = a_t * u_t^{'} \quad (11) u^t′=at∗ut′(11)
h t ′ = ( 1 − u ^ t ′ ) ∘ h t − 1 ′ + u t ′ ∘ h ^ t ′ ( 12 ) h_t^{'} = (1-\hat{u}_t^{'}) \ \circ h_{t-1}^{'} + u_t^{'} \ \circ \hat{h}_t^{'} \quad (12) ht′=(1−u^t′) ∘ht−1′+ut′ ∘h^t′(12)
其中 u t ′ u_t^{'} ut′是AUGRU的原始更新门, u ^ t ′ \hat{u}_t^{'} u^t′是我们为AUGRU设计的注意更新门, h t ′ , h t − 1 ′ , h ^ t ′ h_t^{'}, h_{t-1}^{'},\hat{h}_t^{'} ht′,ht−1′,h^t′是AUGRU的隐藏状态。
在AUGRU中,我们保留更新门的原始尺寸信息,这决定了每个尺寸的重要性。 基于差异化信息,我们使用注意力得分 a t a_t at来扩展更新门的所有维度,这导致较少相关兴趣对隐藏状态的影响较小。 AUGRU可以更有效地避免兴趣漂移的干扰,并推动相对兴趣的顺利进化。
在本节中,我们将DIEN与公共和工业数据集的最新技术进行比较。 此外,我们设计实验分别验证辅助损失和AUGRU的影响。 为了观察兴趣演化的过程,我们展示了兴趣隐藏状态的可视化结果。 最后,我们分享在线服务的结果和技术。
我们使用公共(public Dataset)和工业数据(Industrial Dataset)集来验证DIEN的效果。 所有数据集的统计数据如表1所示。
表1:数据集的统计数据
亚马逊数据集(McAuley et al.2015)由亚马逊的产品评论和元数据组成。 我们使用亚马逊数据集的两个子集:Books和Electronics,来验证DIEN的效果。 在这些数据集中,我们将评论视为行为,并按时间对来自一个用户的评论进行排序。 假设存在用户 u u u的 T T T个行为,我们的目的是使用前 T − 1 T-1 T−1个行为来预测用户是否会写出第T次评论中显示的评论。
工业数据集是通过我们的在线展示广告系统的压缩和点击日志构建的。 对于训练集,我们会将过去49天点击的广告作为目标项目。 每个目标项及其相应的点击行为构成一个实例。 例如,使用一个目标项 a a a,我们将 a a a被点击的日期设置为最后一天,该用户在过去14天中采取的行为作为历史行为。 同样,测试集中的目标项目从以下一天中选择,行为与训练数据相同。
表2:公共数据集的结果(AUC)
我们将DIEN与一些主流CTR预测方法进行比较:
BaseModel使用与DIEN相同的embed-ding&MLR设置,并使用求和池化操作来集成行为嵌入。
Wide&Deep (Chengetal.2016) 由两部分组成:其Deep模型与BaseModel相同,其Wide模型是线性模型。
PNN(Qu et al.2016)使用产品层(product layer)来捕获场类别之间的交互模式。
DIN (Zhou et al. 2018c) 使用注意机制力来激活相关的用户行为。
与(Parsanaetal.2018)类似,我们使用两层GRU来模拟序列行为,并将注意力层用于激活相对行为。
总的来说,如图1所示,DIEN的结构包括GRU,AUGRU和辅助损失以及其他普通组件。 在公共数据中。 每个实验重复5次。
从表2中,我们可以发现Wide&Deep手动设计的功能表现不佳,而功能之间的自动交互(PNN)可以提高BaseModel的性能。 同时,旨在获取兴趣的模型显然可以提高AUC:DIN激活了与广告相关的利益,两层GRU注意力进一步激活了兴趣序列中的相关兴趣,所有这些探索获得了积极的反馈。 DIEN不仅可以更有效地捕获连续的兴趣,还可以模拟与目标项目相关的兴趣演化过程。 兴趣演化的建模有助于DIEN获得更好的兴趣表示,并且准确地捕捉兴趣的动态,从而大大提高了绩效。
我们进一步对真实显示广告的数据集进行实验。 工业数据集中使用6个全连接层,每一层维度分别为600,400,300,200,80,2,历史行为的最大长度设置为50。
如表3所示,Wide&Deep和PNN比BaseModel获得更好的性能。 与亚马逊数据集中的仅一类商品不同,在线广告的数据集同时包含所有类型的商品。 基于这一特性,基于注意力的方法在很大程度上改善了性能,如DIN。 DIEN捕获与目标项目相关的兴趣演化过程,并获得最佳性能。
表3:工业数据集结果(AUC)
在本节中,我们将分别显示AUGRU和辅助损耗的影响。
表4:AUGRU和辅助损失的影响(AUC)
表4显示了不同方法兴趣演化的结果。 与BaseMode相比,两层GRU注意力得到改善,而建模演化的缺乏限制了它的能力。 AIGRU采用基本思想来建模演化过程,尽管它有进步,但在兴趣演化过程中,注意力发生了分离和演化丢失了信息。 AGRU进一步尝试融合注意力和演化,正如我们之前提出的,它在GRU中的注意力无法充分利用更新门的资源。 AUGRU获得了明显的改善,反映了它理想地融合了注意力机制和序列学习,有效地捕捉了相对兴趣的演化过程。
基于AUGRU获得的模型,我们进一步探讨了辅助损失的影响。 在公共数据集中,除了相应评论中显示的项目之外,从项目集中随机抽取辅助损失中使用的负样本。 对于工业数据集,未点击时显示的广告为负样本。 如图2所示,全损失 L L L和辅助损失 L a u x L_{aux} Laux保持相似的下降趋势,这意味着CTR预测的全局损失和兴趣表示的辅助损失都会产生影响。
图2:公共数据集的学习曲线, α \alpha α设定为1
表5:在线A/B测试结果
如表4所示,辅助损失为公共数据集带来了极大的改善,它反映了监督信息对于序列感知和嵌入表示学习的重要性。对于表3中所示的工业数据集,具有辅助损耗的模型进一步提高了性能。但是,我们可以看到改善并不像公共数据集那样明显。差异来自几个方面。首先,对于工业数据集,它有大量实例来学习嵌入层,这使得它从辅助损失中获得的收益更少。其次,与亚马逊数据集中一个类别的所有项目不同,工业数据集中的行为是来自所有场景的点击商品和我们平台中的所有类别。我们的目标是在一个场景中预测广告的点击率。来自辅助损失的监督信息可能与目标项目不同,因此对于公共数据集,工业数据集的辅助损失的影响可能较小,而AUGRU的影响则被放大。
AUGRU隐藏状态的动态可以反映不断演化的兴趣过程。 在本节中,我们将这些隐藏状态可视化,以探索不同目标项对兴趣进化的影响。
选择性历史行为来自计算机扬声器,耳机,车载GPS,SD和SDHC卡等类别项目,微型SD卡,外置硬盘,耳机,机箱等。 AUGRU中的隐藏状态通过主成分分析(PCA)投射到二维空间(Wold,Esbensen and Geladi 1987)。预计的隐藏状态按顺序链接。由不同目标项激活的隐藏状态的移动路线如图3(a)所示。具有无目标的黄色曲线表示在方程式(12)中使用的注意分数相等,即感兴趣的进化不受目标项目的影响。蓝色曲线显示隐藏状态由屏幕保护程序类别中的项目激活,该项目与所有历史记录行为的关系较少,因此它显示与黄色曲线类似的路径。红色曲线显示隐藏状态由类别案例中的项目激活,目标项目与最后一个行为强烈相关,这引起很大的变动如图3(a)所示。相应地,最后的行为获得了图3(b)所示大的注意力分数。
图3:兴趣演化可视化,(a)AUGRU的隐藏状态由PCA减少为二维。 不同的曲线显示相同的历史行为由不同的目标项激活。 None意味着兴趣的演化不受目标项目的影响。 (b)面对不同的目标项目,显示所有历史行为的注意力分数。
从2018-06-07到2018-07-12,在淘宝的显示广告系统中进行了在线A / B测试。 如表5所示,与BaseModel相比,DIEN将点击率提高了20.7%,eCPM提高了17.1%。 此外,DIEN已将每次点击付费(PPC)减少3.0%。 现在,DIEN已经在线部署并为主要流量提供服务,从而带来了显着的业务收入增长。
值得注意的是,DIEN的在线服务对商业系统来说是一个巨大的挑战。在线系统在我们的显示广告系统中拥有非常高的流量,该系统在流量高峰期为每秒超过100万用户提供服务。为了保持低延迟和高吞吐量,我们部署了几项重要技术来提高服务性能:i)元素并行GRU和内核融合(Wang,Lin and Yi 2010),我们融合了尽可能多的独立内核。此外,GRU隐藏状态的每个元素可以并行计算。 ii)批处理:来自不同用户的相邻请求合并为一批以利用GPU。 iii)使用火箭发射(Rocket Launching)进行模型压缩(Zhou et al.2018b):我们使用(Zhou et al. 2018b)中提出的方法来训练一个轻量级网络,该网络是一个具有较小的尺寸但接近更深和更复杂的轻量级网络。例如,在Rocket Launching的帮助下,GRU隐藏状态的维度可以从108压缩到32。借助这些技术,DIEN服务的延迟可以从38.2 ms减少到6.6 ms,每个工作人员的QPS(每秒查询)容量可以提高到360。
在本文中,我们提出了一种新的深度网络结构,即深度兴趣演化网络(DIEN),以建模兴趣演化过程。 DIEN主要在在线广告系统中提高了CTR预测的性能。 具体来说,我们设计兴趣提取层来特别捕获兴趣序列,它使用辅助损失来提供更多监督的兴趣状态。 然后我们提出兴趣演化层,其中DIEN使用GRU和注意更新门(AUGRU)来模拟与目标项相关的兴趣演化过程。 在AUGRU的帮助下,DIEN可以克服兴趣漂移带来的干扰。 兴趣演化建模有助于我们有效地获取兴趣,进一步提高了CTR预测的性能。 将来,我们将尝试为CTR预测构建更个性化的兴趣模型。
[Cheng et al. 2016] Cheng, H.-T.; Koc, L.; Harmsen, J.; Shaked, T.; Chandra, T.; Aradhye, H.; Anderson, G.; Cor- rado, G.; Chai, W.; Ispir, M.; et al. 2016. Wide & deep learning for recommender systems. In Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, 7–10. ACM.
[Chung et al. 2014] Chung, J.; Gulcehre, C.; Cho, K.; and Bengio, Y. 2014. Empirical evaluation of gated recur- rent neural networks on sequence modeling. arXiv preprint arXiv:1412.3555.
[Friedman 2001] Friedman, J. H. 2001. Greedy function ap- proximation: a gradient boosting machine. Annals of statis- tics 1189–1232.
[Guo et al. 2017] Guo, H.; Tang, R.; Ye, Y.; Li, Z.; and He, X. 2017. Deepfm: a factorization-machine based neural network for ctr prediction. In Proceedings of the 26th Inter- national Joint Conference on Artificial Intelligence, 2782– 2788.
[He and McAuley 2016] He, R., and McAuley, J. 2016. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering. In Proceedings of the 25th international conference on world wide web, 507–517.
[Hidasi and Karatzoglou 2017] Hidasi, B., and Karatzoglou, A. 2017. Recurrent neural networks with top-k gains for session-based recommendations. arXiv preprint arXiv:1706.03847.
[Hochreiter and Schmidhuber 1997] Hochreiter, S., and Schmidhuber, J. 1997. Long short-term memory. Neural computation 9(8):1735–1780.
[Lian et al. 2018] Lian, J.; Zhou, X.; Zhang, F.; Chen, Z.; Xie, X.; and Sun, G. 2018. xdeepfm: Combining explicit and implicit feature interactions for recommender systems. In Proceedings of the 24th ACM SIGKDD International Con- ference on Knowledge Discovery & Data Mining.
[McAuley et al. 2015] McAuley, J.; Targett, C.; Shi, Q.; and Van Den Hengel, A. 2015. Image-based recommendations on styles and substitutes. In Proceedings of the 38th Inter- national ACM SIGIR Conference on Research and Develop- ment in Information Retrieval, 43–52. ACM.
[Parsana et al. 2018] Parsana, M.; Poola, K.; Wang, Y.; and Wang, Z. 2018. Improving native ads ctr prediction by large scale event embedding and recurrent networks. arXiv preprint arXiv:1804.09133.
[Qu et al. 2016] Qu, Y.; Cai, H.; Ren, K.; Zhang, W.; Yu, Y.; Wen, Y.; and Wang, J. 2016. Product-based neural networks for user response prediction. In Proceedings of the16th In- ternational Conference on Data Mining, 1149–1154. IEEE.
[Ren et al. 2018] Ren, K.; Fang, Y.; Zhang, W.; Liu, S.; Li, J.; Zhang, Y.; Yu, Y.; and Wang, J. 2018. Learning multi- touch conversion attribution with dual-attention mechanisms for online advertising. arXiv preprint arXiv:1808.03737.
[Rendle et al. 2009] Rendle, S.; Freudenthaler, C.; Gantner, Z.; and Schmidt-Thieme, L. 2009. Bpr: Bayesian person- alized ranking from implicit feedback. In Proceedings of the twenty-fifth conference on uncertainty in artificial intel- ligence, 452–461. AUAI Press.
[Rendle 2010] Rendle, S. 2010. Factorization machines. In
Proceedings of the 10th International Conference on Data Mining, 995–1000. IEEE.
[Song, Elkahky, and He 2016] Song, Y.; Elkahky, A. M.; and He, X. 2016. Multi-rate deep learning for temporal recom- mendation. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Infor- mation Retrieval, 909–912. ACM.
[Wang, Lin, and Yi 2010] Wang, G.; Lin, Y.; and Yi, W. 2010. Kernel fusion: An effective method for better power efficiency on multithreaded gpu. In Proceedings of the 2010 IEEE/ACM Int’L Conference on Green Computing and Communications & Int’L Conference on Cyber, Physical and Social Computing, 344–350.
[Wold, Esbensen, and Geladi 1987] Wold, S.; Esbensen, K.; and Geladi, P. 1987. Principal component analysis. Chemo- metrics and intelligent laboratory systems 2(1-3):37–52.
[Xiong, Merity, and Socher 2016] Xiong, C.; Merity, S.; and Socher, R. 2016. Dynamic memory networks for visual and textual question answering. In Proceedings of the 33rd In- ternational Conference on International Conference on Ma- chine Learning, 2397–2406.
[Yu et al. 2016] Yu, F.; Liu, Q.; Wu, S.; Wang, L.; and Tan, T. 2016. A dynamic recurrent model for next basket recom- mendation. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Infor- mation Retrieval, 729–732. ACM.
[Zhang et al. 2014] Zhang, Y.; Dai, H.; Xu, C.; Feng, J.; Wang, T.; Bian, J.; Wang, B.; and Liu, T.-Y. 2014. Se- quential click prediction for sponsored search with recurrent neural networks. In Proceedings of the 28th AAAI Confer- ence on Artificial Intelligence, 1369–1375.
[Zhou et al. 2018a] Zhou, C.; Bai, J.; Song, J.; Liu, X.; Zhao, Z.; Chen, X.; and Gao, J. 2018a. Atrank: An attention-based user behavior modeling framework for recommendation. In Proceedings of the 32nd AAAI Conference on Artificial In- telligence.
[Zhou et al. 2018b] Zhou, G.; Fan, Y.; Cui, R.; Bian, W.; Zhu, X.; and Gai, K. 2018b. Rocket launching: A universal and efficient framework for training well-performing light net. In Proceedings of the 32nd AAAI Conference on Artifi- cial Intelligence.
[Zhou et al. 2018c] Zhou, G.; Zhu, X.; Song, C.; Fan, Y.; Zhu, H.; Ma, X.; Yan, Y.; Jin, J.; Li, H.; and Gai, K. 2018c. Deep interest network for click-through rate prediction. In Proceedings of the 24th ACM SIGKDD International Con- ference on Knowledge Discovery & Data Mining, 1059– 1068. ACM.