Deep Interest Network for Click-Through Rate Prediction(2018)

Deep Interest Network for Click-Through Rate Prediction(2018)

摘要

点击率预测是在线广告等工业应用中的一项重要任务。最近提出了基于深度学习的模型,它遵循类似的 Embedding&MLP 范式。

Embedding&MLP范式:大规模稀疏输入特征首先映射为低维嵌入向量,然后以分组方式转换为固定长度向量,最后连接在一起输入多层感知器(MLP)以学习之间的非线性关系特征。

固定长度向量的使用将是一个瓶颈,这给Embedding&MLP方法从丰富的历史行为中捕获用户兴趣带来困难。本提出一种新颖的模型:深度兴趣网络(DIN)通过设计一个本地激活单元自适应从特定广告的历史行为中学习用户兴趣的表示来应对这一挑战。

该表示向量针对不同的广告而变化,极大地提高了模型的表达能力。此外,我们开发了两种技术:小批量感知正则化数据自适应激活函数,可以帮助训练具有数亿参数的工业深度网络。

1. 引言

Embedding&MLP方法通过将用户行为的嵌入向量转换为固定长度的向量来学习某个用户的所有兴趣的表示,该向量位于所有用户的表示向量所在的欧氏空间中。为了使表示足以表达用户的不同兴趣,需要大幅扩展固定长度向量的维度。不幸的是,它会极大地扩大学习参数的大小,并加剧有限数据下过拟合的风险。

另一方面,没有必要将某个用户的所有兴趣压缩到同一向量中,因为只有部分兴趣会影响他的行为(点击或不点击)。

提出一种新颖的模型:深度兴趣网络(DIN),通过考虑**给定候选广告的历史行为的相关性自适应计算用户兴趣的表示向量。**通过引入本地激活单元,DIN 通过软搜索历史行为的相关部分来关注相关的用户兴趣,并采用加权和池化来获得用户对候选广告的兴趣表示。与候选广告相关性较高的行为会获得较高的激活权重并主导用户兴趣的表示。

基于 SGD 的优化方法仅更新每个小批量中出现的稀疏特征的参数。然而,加上传统的 ℓ2 正则化,计算变得不可接受,它需要为每个小批量计算整个参数的 L2 范数。在本文中,开发了一种新颖的小批量感知正则化,其中只有每个小批量中出现的非零特征的参数参与 L2 范数的计算。此外,设计了一个数据自适应激活函数,它通过自适应调整校正点 w.r.t 来推广常用的 PReLU[12]。

  • 为解决使用固定长度向量表达用户多样化兴趣的限制,设计了一种新的深度兴趣网络(DIN),通过引入局部激活单元从历史行为中学习用户兴趣的表示。
  • 两种新技术帮助训练工业深度网络:i)小批量感知正则化器,减少具有大量参数的深度网络正则化的计算量,有助于避免过度拟合,ii)数据自适应激活函数,通过考虑输入的分布来总结PReLU,并表现出良好的性能。

2 相关工作

1.NNLM(神经网络语言模型): NNLM [2] 学习每个单词的分布式表示,旨在避免语言建模中的维数灾难。这种方法通常被称为嵌入(embedding)

2.LS-PLM [9]和FM [20]模型: 可以看作是一类具有一个隐藏层的网络,它首先在稀疏输入上使用嵌入层,然后施加专门设计的变换函数进行目标拟合,旨在捕获组合关系特征之间。

**3.Deep Crossing、Wide&Deep Learning和YouTube推荐CTR模型:**通过用复杂的MLP网络替换变换函数来扩展LS-PLM和FM,极大地增强了模型能力

**4.PNN:**尝试通过在嵌入层之后加入乘积层来捕获高阶特征交互

**5.DeepFM:**将分解机强加为 Wide&Deep [4] 中的“宽”模块,无需特征工程。

3 背景

我们将广告视为商品。图1简要说明了运行流程。

两个主要阶段:i)匹配阶段,通过协同过滤等方法生成与访问用户相关的候选广告列表,ii)排名阶段,预测每个给定广告的点击率,然后选择排名靠前的广告

在这里插入图片描述

图1 阿里巴巴展示广告系统运行流程示意图,其中用户行为数据发挥着重要作用。

一位年轻妈妈最近浏览的商品包括呢子大衣、T恤、耳环、手提包、皮包、童装等。这些行为数据向我们暗示了她的购物兴趣。行为丰富的用户兴趣是多样化的,并且可以在特定广告的情况下进行本地激活。

4 深度兴趣网络

在构建CTR预测模型时,需要有效的方法从丰富的历史行为中提取用户兴趣。描绘用户和广告的特征是广告系统CTR建模的基本要素。

4.1特征表示

工业CTR预测任务中的数据大多是多组分类形式,例如,[weeday=Friday,gender=Female,visited_cate_ids={Bag,Book},ad_cate_id=Book],通常通过编码将其转换为高维稀疏二进制特征(one-hot编码/multi-hot编码)

假设有M个特征组,则每个特征的编码为ti,ti维度 ∈ \in Ki,Ki表示特征组i的维度。则特征可以表示为x=[ t 1 T , t 2 T , . . . . , t M T t_1^T,t_2^T,....,t_M^T t1T,t2T,....,tMT ] T ]^T ]T ∑ i = 1 M K i = K \sum_{i=1}^M K_i = K i=1MKi=K,K是整个特征空间的维度。

一下是4组特征被表示的例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们的系统中使用的整个特征集如表1所示。它由四类组成,其中用户行为特征通常是多热点编码向量,包含丰富的用户兴趣信息。请注意,在我们的设置中,没有组合功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.2基础模型(Embedding&MLP)

大多数流行的模型都共享同一个范式即**Embedding&MLP,**下图为其模型结构。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该模型结构由及部分组成:

  • Embedding层:由于输入是高维二进制矢量,因此使用嵌入层将它们转换为低维密集表示。对于第i个特征组 t i t_i ti,其嵌入层词典为 W i = [ w 1 i , . . . , w j i , . . . , w K i i ] ∈ R D × K i W^i = [w_1^i,...,w_j^i,...,w_{K_i}^i]\in R^{D \times K_i} Wi=[w1i,...,wji,...,wKii]RD×Ki。其中 w j i w_j^i wji是D维向量。嵌入操作遵循表查找机制。
    1) t i t_i ti
    ont-hot编码
    ,且 t i [ j ] = 1 t_i[j] = 1 ti[j]=1.则 t i t_i ti的嵌入表示是单个嵌入向量 e i = w j i e_i=w_j^i ei=wji.
    2) t i t_i timulti-hot编码, t i [ j ] = 1 , j ∈ [ i 1 , i 2 , . . . , i k ] t_i[j] = 1 , j \in [i_1,i_2,...,i_k] ti[j]=1,j[i1,i2,...,ik]. 则 t i t_i ti的嵌入表示是一个嵌入向量列表L: { e i 1 , e i 2 , . . . , e i k } = { w i 1 i , w i 2 i , . . . , w i k i } \{e_{i_1},e_{i_2},...,e_{i_k}\}=\{w_{i_1}^i,w_{i_2}^i,...,w_{i_k }^i\} {ei1,ei2,...,eik}={wi1i,wi2i,...,wiki}.
  • 池化层和Concat层:由于不同用户有不同数量的行为,因此,multi-hot行为特征向量 t i t_i ti的非零值数量不同(即上述 i k i_k ik的数量),导致嵌入向量列表(即 L)的长度可变。但全连接网络只能处理固定长度输入,故需要池化层处理嵌入向量列表以获得固定长度向量:
    e i = p o o l i n g ( e i 1 , e i 2 , . . . , e i k ) e_i=pooling(e_{i_1},e_{i_2},...,e_{i_k}) ei=pooling(ei1,ei2,...,eik)

两个常用池化操作为sum poolingaverage pooling,通过逐元素求和或求平均获得向量。
嵌入层
池化层
都以分组方式操作,将原始稀疏特征映射到多个固定长度的表示向量中。后将所有向量连接在一起,以获得总表示向量。

  • **MLP:**给定级联的密集表示向量,使用全连接层来自动学习特征的组合。最近开发的方法(Wide & deep、PNN、DeepFM)侧重于设计MLP的结构以更好地提取信息。
  • Loss:基本模型中使用的目标函数是负对数似然函数,定义为:
    S S S是大小为N的训练集, x x x是网络的输入, y ∈ { 0 , 1 } y\in\{0,1\} y{0,1}是标签, p ( x ) p(x) p(x)是softmax层之后网络的输出,表示样本x被点击的预测概率。)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3深度兴趣网络结构

由于基本模型的表示向量维度是固定的(即pooling层后的ei),有限维度的用户表示向量将限制表达用户多样性。虽然扩展嵌入向量的维度可以解决,但会增加学习参数的大小,也会导致过拟合并加重计算负担

用户兴趣的局部激活特性(类似于注意力机制)可以在一个向量中表示用户不同兴趣。DIN通过关注给定广告的局部激活兴趣计算。DIN没有使用同一向量表示用户的不同兴趣,而是通过关注用户历史行为和候选广告的相关性动态计算用户兴趣表示向量。

下图为DIN的架构。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

与基本模型相比,DIN引入了一种新设计的局部激活单元,并保持了其他结构的不变.具体地,激活单元被应用于用户行为特征,其作为加权求和池化层来自适应计算候选广告A的用户表示 v U v_U vU:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中, { e 1 , e 2 , . . . , e H } \{e_1,e_2,...,e_H\} {e1,e2,...,eH}是用户U行为嵌入向量列表,长度为H . v A v_A vA为广告A的嵌入向量,a(·)是一个前反馈神经网络其输出作为权重。
方程(3)与注意力机制相似,与其不同的是方程(3)放松了 ∑ i w i = 1 \sum_i w_i = 1 iwi=1的约束,旨在保留用户兴趣的强度(即在a(·)的输出上不使用softmax的归一化)。相反, ∑ i w i \sum_i w_i iwi的值被视为激活的用户兴趣强度的近似值。

我们尝试使用LSTM对用户历史行为数据进行建模,但没有改善。用户历史行为序列可能包含多个并发兴趣,导致序列数据看起来嘈杂。一个可能的方向是设计特殊的结构,以序列方式对这些数据进行建模,留给以后探索。

5 模型训练

在阿里巴巴的广告系统中,商品和用户的数量高达数亿。实际上,训练具有大规模稀疏输入特征的工业深度网络是一个巨大挑战。在本节中,我们将介绍两种重要的技术。

5.1 Mini-batch Aware Regularization

过拟合是训练工业网络的一个关键挑战,由于加入细粒度特征必须得正则化。但在具有稀疏输入和数亿个参数的训练网络上,直接应用传统的正则化方法是不现实的(L1/L2)。以L2正则化为例,在没有L2正则化时,仅需要更新每个小批量中非零稀疏特征的参数。当加入L2正则化时,则需要为每个小批量计算整个参数的L2范数。

本文提出一种小批量感知正则化项(mini-batch aware regularizer)只计算出现在每个小批量中稀疏特征参数的L2范数。

事实上,嵌入字典(embedding)增加了大量参数,令 W i ∈ R D × K W^i \in R^{D \times K} WiRD×K代表整个嵌入字典的参数,D是嵌入向量维数、K是特征空间维数。展开W样本上的L2正则化:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中, I ( x j ≠ 0 ) n j \frac{I(x_j\neq 0)}{n_j} njI(xj=0)代表实例x中是否包含特征id j n j n_j nj代表特征id j在所有样本中的出现次数。等式(4)可以以小批量感知的方式转换为等式(5):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中B表示小批量的数量, B m B_m Bm代表第m个小批量,令 α m j = m a x ( x , y ) ∈ B m I ( x j ≠ 0 ) \alpha_{mj}=max_{(x,y)\in B_m}I(x_j\neq 0) αmj=max(x,y)BmI(xj=0)代表在小批量 B m B_m Bm中是否存在至少一个具有特征id j的实例。那么方程(5)可以近似为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以此,导出了近似L2正则化的小批次感知版本,对于第m个小批量,特征j的嵌入权重的梯度w.r.t.为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中只有出现在第m个小批次中的特征的参数参与正则化的计算。

5.2 Data Adaptive Activation Function

PReLU [12]是一个常用的激活函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中s是激活函数f(·)输入的一维, p ( s ) = I ( s > 0 ) p(s)=I(s>0) p(s)=I(s>0)是控制 f ( s ) f(s) f(s) f ( s ) = s f(s)=s f(s)=s f ( s ) = α s f(s)=αs f(s)=αs两个通道之间切换的指示函数。第二个通道中的α是学习参数。这里我们将p(s)称为控制函数。图3的左侧绘制了PReLU的控制功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PReLU取一个硬校正点,取值为0,当每层的输入遵循不同的分布时,这可能不适用。

考虑到这一点,本文设计了一个新的数据自适应激活函数Dice:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在训练阶段, E [ s ] E[s] E[s] V a r [ s ] Var[s] Var[s]为每个小批量输入的均值和方差。

在测试阶段, E [ s ] E[s] E[s] V a r [ s ] Var [s] Var[s]是通过数据上的移动平均线 E [ s ] E[s] E[s] V a r [ s ] Var [s] Var[s]计算出来的。 ϵ \epsilon ϵ是个小常数,本文定为 1 0 − 8 10^{-8} 108

Dice可以看作是PReLu的推广。Dice的关键思想是根据输入数据的分布自适应调整纠偏点。另外,Dice可平滑地控制两个通道之间切换。当 E ( s ) = 0 E(s) = 0 E(s)=0 V a r [ s ] = 0 Var[s] = 0 Var[s]=0时,Dice退化为PReLU

6 实验

6.1数据集和实验设置

Amazon Dataset:包含来自Amazon的产品评论和元数据。本文在电子产品子集上进行实验,该子集包含192403个用户、63001个商品、801个类别和1689188个样本。每个用户和商品的评论超过5条,特征包括goods_id、cate_id、user reviewed goods_id_list和cate_id_list。将一个用户的所有行为表示为 ( b 1 , b 2 , . . . , b k , . . . , b n ) (b_1,b_2,...,b_k,...,b_n) (b1,b2,...,bk,...,bn),则任务是利用前k个评论的商品预测第k+1个评论的商品。

训练数据为前n-2条数据,测试集为根据前 n − 1 个评论商品预测最后一个。我们使用 SGD 作为具有指数衰减的优化器,其中学习率从 1 开始,衰减率设置为 0.1。小批量大小设置为 32。

**MovieLens Dataset:包含 138,493 个用户、27,278 部电影、21 个类别和 20,000,263 个样本。电影的原始用户评分是从0到5的连续值。我们将评分为4和5的样本标记为正,其余标记为负。总共 138,493 个用户中,其中 100,000 个被随机选入训练集(约 14,470,000 个样本),其余 38,493 个被随机选入测试集(约 5,530,000 个样本)。任务是根据历史行为预测用户是否会对给定电影评分高于 3(正标签)。特征包括movie_id、movie_cate_id和用户评分movie_id_list、movie_cate_id_list。

***Alibaba Dataset:***从阿里巴巴的在线展示广告系统中收集流量日志,其中两周的样本用于训练,后来的样本用于测试。训练集和测试集的规模分别约为20亿和1.4亿。对于所有的深度模型,全部16组特征的嵌入向量维数为12。MLP的层数设置为 192 × 200 × 80 × 2 192 × 200 × 80 × 2 192×200×80×2。由于数据量巨大,我们将小批量大小设置为5000,并使用Adam作为优化器。应用指数衰减,其中学习率从0.001开始,衰减率设置为0.9。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.2 Competitors

  • **LR:**在深度网络之前广泛使用的浅层模型,用于CTR预测任务。把它作为一个弱基线。
  • **BaseModel:**遵循Embedding&MLP架构,是大多数用于CTR建模的深层网络的基础。提供了一个强有力的基准。
  • **Wide&Deep:**在实际工业应用中,Wide&Deep模型已被广泛接受。遵循[10]中的做法,将用户行为和候选对象的叉积作为Wide的输入。
  • **PNN:**可看作是BaseModel的改进版本,它在embedding层之后引入一个product层捕获高阶特征交互。
  • **DeepFM:**它在Wide&Deep保存的特征工程工作中将factorization machines强加为“宽”模块。

6.3 度量

AUC是一个广泛使用的度量。在[7,13]中引入了用户加权AUC的变体,其通过对用户的AUC进行平均来测量用户内订单的良好性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中n是用户的数量,# i m p r e s s i o n i impression_i impressioni A U C i AUC_i AUCi是与第i个用户相对应的记录数和AUC。

此外,我们按照[25]引入RelaImpr指标来衡量模型的相对改进。对于随机猜测者,AUC 的值为 0.5。因此 RelaImpr 定义如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.4 Amazon 数据集和 MovieLens 数据集上的模型比较结果

表 3 显示了 Amazon 数据集和 MovieLens 数据集上的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

表 3:Amazon 数据集和 MovieLens 数据集上的模型比较。所有行都通过分别与每个数据集上的 BaseModel 进行比较来计算 RelaImpr。

具有特殊设计结构的 PNN 和 DeepFM 性能优于 Wide&Deep。其是在用户行为丰富的亚马逊数据集上,DIN 表现尤为突出。

6.5 正则化的表现

由于 Amazon 数据集和 MovieLens 数据集中的特征维度都不高(约 10 万),因此包括我们提出的 DIN 在内的所有深度模型都不会遇到严重的过拟合问题。

当涉及到来自在线广告系统的阿里巴巴数据集时,该数据集包含更高维度的稀疏特征,过度拟合成为一个巨大的挑战。例如在训练具有细粒度特征的深度模型时,在没有任何正则化的情况下,在第一个epoch之后发生严重的过拟合,导致模型性能迅速下降,因为深绿色线如图4所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 4:具有不同正则化的 BaseModel 在阿里巴巴数据集上的性能。使用没有正则化的细粒度 дgoods_ids 特征进行训练会在第一个 epoch 后遇到严重的过拟合。所有正则化都显示出改进,其中我们提出的小批量感知正则化表现最好。此外,训练有素且具有“goods_ids”特征的模型比没有这些特征的 AUC 更高。它来自于细粒度特征所包含的更丰富的信息。

为此,进行了仔细的实验来检查几种常用正则化的性能。

  • **Dropout:**随机丢弃每个样本中 50% 的特征 ID。
  • Filter:按样本中出现的频率过滤访问的 goods_id,只留下最频繁的。在我们的设置中,剩下前 2000 万个 goods_ids。
  • **Regularization in DiFacto:**与频繁特征相关联的参数较少过度正则化。
  • **MBA.:**本文提出的Mini-Batch Aware正则化方法(公式4)。DiFacto和MBA的正则化参数λ设置为0.01。

图4和表4给出了比较结果。Dropout 可防止快速过度拟合,但会导致收敛速度变慢。Filter在一定程度上缓解了过度拟合。DiFacto 中的正则化对高频的 goods_id 设置了更大的惩罚,其性能比filter更差。MBA正则化效果最好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

表4:不同正则化的BaseModel在阿里巴巴数据集上的最佳AUC,对应于图4。所有其他行通过与第一行比较来计算 RelaImpr。

此外,具有 goods_ids 特征的模型表现出更好的 AUC 性能。这是由于细粒度特征包含更丰富的信息。考虑到这一点,虽然filter的性能比 dropout 稍好,但它丢弃了大部分低频 id,并且可能会失去模型更好地利用细粒度特征的空间。

6.6 阿里巴巴数据集模型对比结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

表 5:具有完整特征集的阿里巴巴数据集上的模型比较。所有行都通过与 BaseModel 进行比较来计算 RelaImpr。 DIN 的表现明显优于所有其他竞争对手。此外,使用我们提出的小批量感知正则化器和 Dice 激活函数来训练 DIN 带来了进一步的改进。

6.7 在线A/B测试结果

在近一个月的测试中,与引入的 BaseModel(我们在线服务模型的最后一个版本)相比,使用所提出的正则化器和激活函数进行训练的 DIN 贡献了高达 10.0% 的 CTR 和 3.8% RPM(每千次收入)提升4。

6.8 DIN 的可视化

最后我们通过案例研究来揭示阿里巴巴数据集上 DIN 的内部结构。我们首先检查局部激活单元的有效性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5:DIN 中自适应激活的图示。与候选广告高度相关的行为获得高激活权重。

图5示出了用户行为对于候选广告的激活强度。正如预期的那样,与候选广告高度相关的行为的权重较高。然后我们可视化学习到的嵌入向量。

图6显示了通过DIN学习的t-SNE[17]对商品的嵌入向量的可视化,其中相同形状的点对应于相同的类别。我们可以看到,同一类别的商品几乎属于一个簇,这清楚地表明了 DIN 嵌入的聚类特性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 6: DIN 中货物嵌入的可视化。点的形状代表商品的类别。点的颜色对应于CTR预测值。

7 结论

设计了一种名为 DIN 的新方法来激活相关的用户行为,并获得针对不同广告的用户兴趣的自适应表示向量。此外,还引入了两项新技术来帮助训练工业深度网络并进一步提高 DIN 的性能.

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值