论文阅读:《Deep Interest Network for Click-Through Rate Prediction》

论文地址:https://arxiv.org/abs/1706.06978
开源代码:https://github.com/zhougr1993/DeepInterestNetwork
本文是原创,转载请注明出处:https://blog.****.net/ybjlucky/article/details/87196280

摘要

点击通过率(CTR)预测在工业级应用中是一个很重要的任务,比如在线广告。最近有学者提出了基于深度学习的模型,该模型遵从词嵌入结合多层感知机的范例。首先,大规模稀疏的输入特征被映射为低维的嵌入向量,然后这些向量会以批量的方式地转化为固定长度的向量,最终以级联的方式喂到多层感知机中学习特征之间的非线性关系。根据这种方式,不管候选广告是什么,用户特征都被压缩为固定长度的表达向量。使用固定长度向量将成为性能瓶颈,因为它使得词嵌入结合多层感知机(MLP)模型难以有效地从丰富的历史行为中获取用户的不同兴趣。在这篇论文中,我们提出一个新的模型:深度兴趣网络(DIN),该模型根据对应的广告和用户的历史行为,设计一个局部**单元来自适应学习用户的兴趣表达,从而解决这个挑战。这个表达向量会因为不用的广告而不同,这个极大地提高了模型的表达能力。此外,我们开发了两个技术:小批量感知正则化和有助于数十亿参数的工业级模型训练的数据自适应**函数。实验是在两个公开数据集和采样了阿里巴巴20亿真实场景数据上进行的,这证明了模型的有效性,达到了很高的性能,在目前是领先的(state-of-the-art)。DIN模型已经成功部署在阿里巴巴吧在线广告系统,为高吞吐量网络提供服务。
关键词: 点击率预测,展示广告, 电子商务

1 介绍

在点击单价(CPC)广告系统中,广告根据eCPM(每一千次点击收入)来排行。这是广告投标价格和ctr的乘积,CTR需要通过系统预测。因此,CTR预测性能对最终的收入有直接的影响,在广告系统中扮演重要角色。CTR建模在学术界和工业界都引起了极大地关注。
最近,受深度学习在计算机视觉[14]和自然语言处理[1]两个方向的成功启发,有人提出了基于深度学习模型预测点击通过率任务[3,4,21,26]。这些模型遵从一下范例:首先,大规模稀疏的输入特征被映射为低维的嵌入向量,然后这些向量会以批量的方式地转化为固定长度的向量,最终以级联的方式喂入全连接层(即多层感知机)多层感知机中学习特征之间的非线性关系。相对于普遍使用的逻辑回归模型[19],深度学习能减少很多特征工程工作量和极大地提高模型的表达能力。为简单起见,我们将这些模型命名为词嵌入结合多层感知机模型,现在已经在点击通过率预测任务变得流行起来。
然而,词嵌入结合多层感知机(Embedding&MLP)方法的有限维用户表示向量将成为表达用户不同兴趣的瓶颈。当用户访问电子商务网站时,他们可能同时对不同的商品感兴趣。也就是说,用户的兴趣是多样性的。当涉及到点击通过率预测任务时,用户兴趣有用户的历史行为记录来提取。Embedding&MLP模型通过将用户行为的嵌入向量转换为一个固定长度的向量来学习特定用户的兴趣表示,所有的向量为欧几里得空间。换言之,用户的不同兴趣被压缩成一个固定长度的向量,这限制了Embedding&MLP模型的表达能力。为了能表达向量足以表达用户的不同兴趣,需要对固定长度向量的维度数进行较大的扩展。不幸的是,这会极大地扩大学习参数量,并增加在有限数据下过拟合的风险。此外,这增加了计算和存储负担,可能限制其在工业在线系统上的应用。
另一方面,在预测候选广告时,没有必要将某个用户的所有不同兴趣压缩到同一个向量中,因为只有用户的部分兴趣会影响他/她的行动(即单击或不单击)。例如,一位女游泳运动员会点击推荐的护目镜,主要是因为她上星期购物清单上买了泳衣而不是鞋子。受此启发,我们提出一个新的模型:深度兴趣网络(DIN),该模型考虑了候选广告的历史行为相关性,自适应地计算出用户兴趣的表示向量,通过引入局部**单元,通过对历史行为相关部分的软搜索,注意到相关用户兴趣,并对候选广告进行加权池化。得到用户对候选广告的兴趣表达。与候选广告相关度较高的行为会获得更高的**权重,并主导用户兴趣的表示。我们在实验部分将这种现象可视化。通过这种方式,在不同的广告上用户的兴趣表达会有所不同,从而提高了在有限维度下模型的表达能力,使DIN能够更好地捕捉用户的不同兴趣。
训练具有大规模稀疏特征的工业级深度网络是一项巨大的挑战。 例如,基于SGD的优化方法仅更新每个小批量中出现的稀疏特征参数。 然而,加上传统的L2正则化,计算变得不可接受,这需要针对每个小批量计算整个参数(在我们这个场景中参数量扩展到数十亿)的L2范数。 在本文中,我们开发了一种新颖的小批量感知正则化,其中每个小批量中只出现非零特征的参数参与L2范数的计算,使得计算可以接受。 此外,我们设计了一个数据自适应**函数,它通过自适应调整整流点来推广常用的PReLU[12]。 输入的分配和显示有助于训练具有稀疏特征的工业级网络。
本文的贡献总结如下:

  • 我们指出,使用固定维度向量来表达用户不同兴趣所带来的限制,并设计了一个新颖深度兴趣网络(DIN),它引入了一个局部**单元,基于给定广告自适应地从历史行为中学习用户的兴趣表示。 DIN可以大大提高模型的表达能力,更好地捕捉用户兴趣的多样性特征。
  • 我们开发了两种新技术来帮助训练工业级深度网络:i)小批量感知正则化,可以在具有大量参数的深度网络上节省大量正则化计算,有助于避免过拟合,ii)数据自适应**函数, 通过考虑输入的分布来概括PReLU,显示出了良好的性能。
  • 我们对开源和Albaba数据集进行了大量实验,实验结果验证了所提出的DIN和训练技术的有效性。 我们的代码是公开的。 所提出的算法已经部署在阿里巴巴的商业展示广告系统中,阿里巴巴是世界上最大的广告平台之一,为业务做出了重大改进。

在本文中,我们关注电子商务行业中显示广告场景中的CTR预测建模。 这里讨论的方法可以应用于具有丰富用户行为的类似场景,例如电子商务站点中的个性化推荐,社交网络中的订阅源排名等。
本文的其余部分安排如下。 我们在第2节讨论相关工作,并在第3节介绍电子商务网站显示广告系统中用户行为数据特征的背景。第4节和第5节详细描述了DIN模型的设计以及两种提出的训练技术。 我们在第6节中介绍了实验,在第7节中进行了总结。

2 相关工作

CTR预测模型的结构从浅到深演变。 同时,CTR模型中使用的样本数量和特征尺寸变得越来越大。 为了更好地提取特征关系以提高性能,一些工作注重模型结构的设计。
作为先锋作品,NNLM[2]学习每个单词的分布式表示,旨在避免语言建模中的维度诅咒。 这种方法通常被称为嵌入,它激发了许多需要处理大规模稀疏输入的自然语言模型和CTR预测模型。
LS-PLM[9]和FM[20]模型可以看作是一类具有一个隐藏层的网络,首先它在稀疏输入上使用嵌入层,然后施加专门设计的变换函数拟合目标,目的在于捕捉特征之间的组合关系。
Deep Crossing[21],Wide&Deep Learning [4]和YouTube推荐CTR模型[3]通过用复杂的MLP网络取代转换函数来扩展LS-PLM和FM,这极大地增强了模型的容量。 PNN[5]试图通过在嵌入层之后引入乘积层来捕获高阶特征的组合关系。 DeepFM[10]将分解机加入Wide&Deep[4]中的“wide”模块,无需进行特征工程。总体而言,这些方法遵循类似的模型结构,其中嵌入层(用于学习稀疏特征的密集表示)和MLP(用于自动学习特征的组合关系)的组合。这种CTR预测模型大大减少了手动特征工程工作量。我们的基础模型也遵循这种模型结构。然而,在具有丰富用户行为的应用中,功能通常包含可变长度的ID列表,例如,在YouTube推荐系统[3]中搜索的术语或观看的视频。这些模型经常通过求和/平均合并将相应的嵌入向量列表转换为固定长度向量,这会导致信息丢失。我们提出的DIN通过自适应学习表示来解决它。基于给定的广告,提高模型的表达能力。
注意力(Attention)机制源于神经机器翻译(NMT)领域[1]。 NMT对所有注释进行加权求和以获得预期注释,并仅关注与下一个目标词的生成相关信息。 最近的一项工作,Deep-Intent[26]在搜索广告的背景下引起了关注。 与NMT类似,他们使用RNN[24]对文本进行建模,然后学习一个全局隐藏向量,以助于关注每个查询中的关键词。 结果表明,使用注意力可以帮助捕获查询或广告的主要意图。 DIN设计局部**单元以软搜索相关用户行为,并采用加权和池来获得关于给定广告的用户兴趣的自适应表示。 用户表示向量因不同广告而异,和广告与用户之间没有互动的DeepIntent不同。
我们开源代码,并进一步展示如何在世界上最大之一的广告系统中成功部署DIN,并采用新颖的技术训练具有数亿参数的大规模深度网络。

3 背景

在阿里巴巴等电子商务网站中,广告即商品。在本文的其余部分,没有特别声明,我们将广告视为商品。图1简要说明了阿里巴巴展示广告系统的运行过程,包括两个主要阶段:i)匹配阶段,通过协同过滤等方法生成与访问用户相关的候选广告列表; ii)预测点击率的排名阶段每个给定的广告,然后选择排名靠前的广告。每天,数以亿计的用户访问电子商务网站,留下了大量用户行为数据,这些数据在构建匹配和排名模型方面起到了重要作用。值得一提的是,具有丰富历史行为的用户包含不同的兴趣。例如,一位年轻的母亲最近浏览过的商品包括羊毛大衣,T-shits,耳环,手提包,皮革手提包和儿童外套。这些行为数据为我们提供了有关其购物兴趣的提示。当她访问电子商务网站时,系统会向她显示合适的广告,例如新的手提包。显然,所显示的广告仅匹配或**该母亲的部分兴趣。总之,具有丰富行为的用户的兴趣是多样的,并且可以在给定特定广告的情况下在局部**。我们在本文后面展示利用这些特征对建立CTR预测模型起着重要作用。
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图1:阿里巴巴显示广告系统运行过程示意图,其中用户行为数据起着重要作用。

4 深度兴趣网络

与赞助搜索不同,用户在没有明确表达意图的情况下进入显示广告系统。 在构建CTR预测模型时,需要有效的方法来从丰富的历史行为中提取用户兴趣。 描述用户和广告的特征是广告系统CTR建模的基本要素。 合理利用这些特征并从中挖掘信息至关重要。

4.1 特征表达

工业级CTR预测任务中的数据大多采用多组分类形式,例如,[weekday=Friday, gender=Female, visited_cate_ids={Bag,Book}, ad_cate_id=Book],这通常会通过编码转换为高维稀疏二进制[4,19,21]。 在数学上,第i个特征组的编码向量被转化为tiRKit_i\in R^{K_i}KiK_i表示特征组i的维度,这意味着特征组i包含Ki唯一ID。 ti[j]t_i [j] 表示tit_i的第j个元素,ti[j]{0,1}t_i [j] \in \{0,1\}j=1Kiti[j]=k\sum_{j=1}^{K_i} t_i[j] = k
其中k = 1指的是单热编码(one-hot encoding),k>1指的是多热编码(multi-hot encoding)。 那么一个实例可以以分组方式表示为
x=[t1Tt2T...tMT]Tx = [t_1^T,t_2^T,... t_M^T]^T,其中M是特征组的数量。
i=1MKi=K \sum_{i=1}^{M} K_i = K
K是整个特征空间的维度。 通过这种方式,具有四组特征的上述实例可表示为:
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
表1:阿里巴巴显示广告系统中使用的特征集合统计。 特征由以分组方式的稀疏二进制向量组成。
表1中描述了我们系统中使用的整个特征集合。它由四个类别组成,其中用户行为特征通常是多热编码向量,包含用户兴趣的丰富信息。 请注意,在我们的设置中,没有组合功能。 我们通过深度神经网络捕捉特征之间的组合关系。

4.2 基本模型(Embedding&MLP)

大多数流行的模型结构共享一个类似的Embedding&MLP范例[3,4,21],我们将其称为基本模型,如图2左侧所示。 它由几部分组成:
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图2:网络架构。 左侧部分说明了基本模型的网络(Embedding&MLP)。 cate_id,shop_id和goods_id嵌入得到低维稠密向量,属然后通过级联表达用户行为中的一个访问的商品。右边部分是我们提出的DIN模型。 它引入了一个局部**单元,通过利用该单元在给定不同的候选广告时,用户兴趣的表示可以自适应地变化。

Embedding layer

由于输入是高维二进制向量,因此使用嵌入层将它们转换为低维稠密向量表示。 对于ti的第i个特征组,设为
Wi=[W1i,...,Wji,...,WKii]RDKi W^i = [W_1^i,...,W_j^i,...,W_{K_i}^i] \in R^{D*K_i}
表示第i个嵌入式字典,其中wji=RDw_j^i = R^D是嵌入维数为D的向量。嵌入操作遵循表查找机制,如图2所示。

  1. 如果tit_i是具有第j个元素ti[j]=1t_i [j] = 1的单热矢量,则ti的嵌入表示是单个嵌入向量ei=wjie_i = w_j^i
  2. 如果对于j{i1i2...ik}j\in \{i_1,i_2,...,i_k\}tit_iti[j]=1t_i [j] = 1的多热矢量,则tit_i的嵌入表示是嵌入向量列表:{ei1,ei2,...,eik}={wi1i,wi2i,...,wiki}\{e_{i_1},e_{i_2},...,e_{i_k}\} = \{w_{i_1}^i,w_{i_2}^i,...,w_{i_k}^i\}

池化层和Concat层

请注意,不同的用户具有不同的行为数。 因此,多热行为特征向量ti的非零值的数量随着实例而变化,导致相应的嵌入向量列表的长度是可变的。 由于全连接层网络只能处理固定长度的输入,通常的做法[3,4]是通过池化层转换嵌入向量列表以获得固定长度的向量:ei=pooling(ei1,ei2,...,eik)(1)e_i = pooling(e_{i_1},e_{i_2},...,e_{i_k}) \quad \quad(1)
两个最常用的池化层是总和池和平均池,它将以元素级方式(一个一个元素计算)的和/平均操作应用于嵌入向量列表。
嵌入层和池化层都以分组方式操作,将原始稀疏特征映射到多个固定长度表示向量。 然后将所有向量连接(concatenated)在一起以获得实例的整体表示向量。

多层感知机

给定级联密集表示向量,全连接层用于自动学习特征的组合。 最近提出的算法[4,5,10]专注于设计MLP的结构以便更好地提取信息。

损失函数

基本模型中使用的目标函数是负对数似然函数,定义如下:L=1N(x,y)SN(ylog(p(x))+(1y)log(1p(x)))(2)L= \frac{1}{N}\sum_{(x,y)\in S}^N (ylog(p(x)) + (1-y)log(1-p(x))) \quad (2)
其中S是大小为N的训练集,其中x作为网络的输入,并且x{0,1}x\in \{0,1\}作为标记,p(x)是softmax层之后的网络输出,表示样本x被点击的预测概率。

4.3 深度兴趣网络结构

在表1的所有特征中,用户行为特征是至关重要的,并且在电子商务应用场景中对用户兴趣建模中起关键作用。
基本模型通过将所有嵌入向量汇集在用户行为特征组上来获得用户兴趣的固定维度表示向量,如公式(1)所示。 无论候选广告是什么,该表示向量对于给定用户保持相同。 这样,具有有限维度的用户表示向量将成为表达用户不同兴趣的瓶颈。 为了使其足够强大,一种简单的方法是扩展嵌入向量的维度,遗憾的是,这会大大增加学习参数量。 在有限的训练数据下会导致过拟合,并增加计算和存储的负担,这对于工业在线系统来说是不能容忍的。
是否有一种优雅的方式在一个有限维度的向量中表示用户的不同兴趣?用户兴趣的局部**特征,为我们设计一个名为深度兴趣网络(DIN)的新模型提供了灵感。想象一下在第3部分中提到的,当年轻母亲访问电子商务网站时,她发现显示的新手提包很可爱并点击它。让我们剖析点击动作的动力。展示广告通过对她的历史行为进行软性搜索,并发现她最近浏览了类似的手提包和皮革手提包,从而影响了这位年轻母亲的相关兴趣。换句话说,与展示广告相关的行为极大地促成了点击操作。 基于给定广告,DIN通过关注局部**兴趣的表达来拟合这个过程。 DIN不是用相同的向量表达所有用户的不同兴趣,而是基于候选广告,通过考虑历史行为的相关性来自适应地计算用户兴趣的表示向量。此表示向量因不同广告而异。
图2的右侧部分说明了DIN的架构。 与基础模型相比,DIN引入了一种新颖设计的局部**单元,并保持其他结构相同。 具体地,**单元应用于用户行为特征,其作为加权和池化来执行以在给定候选广告A的情况下自适应地计算用户表示vu\vec v_u,如等式(3)中所示。
vu=f(vA,e1,e2,...,eH)=j=1Ha(ej,vA)ej=j=1Hwjej(3) \vec v_u = f(\vec v_A,\vec e_1, \vec e_2,...,\vec e_H) = \sum_{j=1}^{H}a(\vec e_j,\vec v_A)\vec e_j=\sum_{j=1}^{H}w_je_j \quad (3)
其中{e1,e2,...,eH}\{ e_1,e_2,...,e_H\}是长度为H的,用户U行为的嵌入向量列表,vA\vec v_A是广告A的嵌入向量。这样,vU(A)\vec v_U(A)随着不同的广告而变化。 a()a(·)是一个前馈网络,输出为**权重,如图2所示。 除了两个输入嵌入向量之外,a()a(·)将它们的外积添加到后续网络中,这是帮助相关性建模的显性知识。
方程(3)的局部**单元与NMT任务[1]中开发的注意力模型(attention)具有相似的思想。 然而,与传统的注意力模型不同,iwi=1\sum_{i}w_i=1的约束在方程(3)中被放宽,旨在保留用户兴趣的强度。 也就是说,放弃了a()a(·)输出上的softmax标准化。 相反,iwi\sum_{i}w_i的值在某种程度上被视为**用户兴趣强度的近似值。 例如,如果一个用户的历史行为包含90%的衣服和10%的电子产品。 鉴于T恤和手机的两个候选广告,T恤**了大部分属于衣服的历史行为,并且可能获得比手机更大的vU\vec v_U值(更高的兴趣强度)。传统的注意力模型通过归一化a()a(·)的输出而在vU\vec v_U的数值尺度上失去分辨率。
我们已经尝试使用LSTM以序列方式对用户历史行为数据建模。 但它没有任何改善。 与NLP任务中语法约束下的文本不同,用户历史行为序列可以包含多个并发兴趣。 快速跳跃和突然结束这些兴趣导致用户行为的序列数据看起来很嘈杂。 可能的方向是设计特殊结构以按序列方式对这些数据进行建模。 我们将在以后研究。

5 训练技巧

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

5.1 小批量感知正规化

过拟合是训练工业级网络的关键挑战。例如,通过添加细粒度特征,像维度为6亿的goods_ids的特征(包括表格1中描述的用户的visited_goods_ids和广告的goods_id),在没有正则化的情况下,模型性能在第一个时期(epoch)之后迅速下降,如图4后面6.5节所示的深绿色线。在具有稀疏输入和数亿个参数的训练网络上直接应用传统正则化方法(例如L2和L1正则化)是不切实际的。以L2正则化为例,在没有正则化和基于SGD的优化方法的情景中,仅需要更新每个小批量中非零稀疏特征的参数。然而,当添加L2正则化时,它需要计算每个小批量的,整个网络参数的L2范数,这导致极其繁重的计算,并且对于参数扩展到数亿的时候变得不可接受。
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图3:PReLU和Dice**函数
在本文中,我们介绍了一种有效的小批量感知正则化器,它只计算每个小批量中稀疏特征参数的L2范数,并使计算成为可能。 实际上,嵌入字典为CTR网络贡献了大部分参数,并且产生了繁重计算的难度。 设WRDKW \in R^{D*K}表示整个嵌入字典的参数,其中D为嵌入向量的维数,K为特征空间的维数。 在样本上扩展W上的L2正则化
L2(W)=W22=j=1KW22=(x,y)sj=1KI(xj != 0)njW22(4)L_2(W)=||W||_2^2=\sum_{j=1}^{K}||W||_2^2=\sum_{(x,y)\in s} \sum_{j=1}^{K} \frac{I(x_j \ != \ 0)}{n_j} ||W||_2^2 \quad (4)
其中wjRDw_j \in R^D是第j个嵌入向量,I(xj != 0)I(x_j \ != \ 0)表示实例x是否具有特征id j,并且njn_j表示所有样本中特征id j的出现次数。 方程(4)可以以小批量识别方式转换为方程(5)
L2(W)=j=1Km=1B(x,y)BmI(xj != 0)njW22(5)L_2(W)=\sum_{j=1}^{K} \sum_{m=1}^{B} \sum_{(x,y)\in B_m} \frac{I(x_j \ != \ 0)}{n_j}||W||_2^2 \quad (5)
其中B表示小批量的数量,BmB_m表示第m小批量。 令α=max(x,y)BmI(xj != 0)\alpha=max_{(x,y)\in B_m}I(x_j \ != \ 0)表示在小批量Bm中是否存在具有特征id j的至少一个实例。 那么方程(5)可以近似为
L2(W)j=1Km=1Bαmjnjwj22(6)L_2(W)\approx \sum_{j=1}^{K} \sum_{m=1}^{B} \frac{\alpha_{mj}}{n_j}||w_j||_2^2\quad (6)
通过这种方式,我们得到了L2正则化的近似小批量感知版本。 对于第m个小批量,特征j的嵌入权重的梯度是
wjwjη[1Bm(x,y)BmL(p(x),y)wj+λαmjnjwj](7)w_j \quad \leftarrow \quad w_j-\eta[\frac{1}{|B_m|}\sum_{(x,y) \in B_m}\frac{\partial L(p(x),y)}{\partial w_j}+\lambda \frac{\alpha_{mj}}{n_j}w_j] \quad (7)
其中只有出现在第m个小批量中的特征参数参与正则化的计算。

5.2 数据自适应**函数

PReLU [12]是一种常用的**功能
f(s)={sifs>0αsifs0=p(s)s+(1p(s))αs(8)f(s)=\begin{cases} s {\quad if \quad s>0} \\ \alpha s {\quad if \quad s \leq 0}\\ \end{cases} = p(s)*s + (1-p(s))*\alpha s \quad (8)
其中s是**函数f()f(·)输入的一维,p(s)=I(s>0)p(s)=I(s>0)是一个指示函数,它控制f(s)f(s)f(s)=sf(s)=sf(s)=αsf(s)=\alpha s两个通道中切换。 第二通道中的α\alpha是学习参数。 这里我们将p(s)p(s)称为**函数。 图3的左侧部分描绘了PReLU的控制功能。 PReLU采用值为0的硬校正点,当每层的输入遵循不同的分布时,这可能不合适。 考虑到这一点,我们设计了一种名为Dice的新型数据自适应**函数
f(s)=p(s)s+(1p(s))αs, p(s)=11+esE(s)Var[s]+ϵ(9)f(s)=p(s)*s + (1-p(s))*\alpha s, \ p(s)=\frac{1}{1+e^{-\frac{s-E(s)}{\sqrt{}{Var[s]+\epsilon}}}} \quad (9)
**函数绘制在图3的右侧。在训练阶段,E(s)E(s)Var(s)Var(s)是每个小批量输入的均值和方差。 在测试阶段,E(s)E(s)Var(s)Var(s)通过移动平均值E(s)E(s)Var(s)Var(s)来计算数据。 ϵ\epsilon是一个小常数,在我们的实践中设定为10810^{-8}
Dice可以被视为PReLu的一般化情况。 Dice的关键思想是根据输入数据的分布自适应地调整整流点,其值设置为输入的平均值。 此外,Dice可以平滑地控制两个通道之间的切换。 当E(s)=0E(s)=0Var(s)=0Var(s)=0时,Dice退化为PReLU。

6 实验

在本节中,我们将详细介绍我们的实验,包括数据集,评估指标,实验设置,模型比较和相应的分析。 两个具有用户行为的公共数据集以及阿里巴巴的显示广告系统收集的数据集实验,证明了模型的有效性,其优于CTR预测任务的最新方法。 公共数据集和实验代码都可用。

6.1 数据集和实验设置

亚马逊数据集

亚马逊数据集包含来自亚马逊的产品评论和元数据,用作基准数据集[13,18,23]。 我们对名为Electronics的子集进行了实验,其中包含192403个用户,63001个商品,801个类别和1689188个样本。 此数据集中的用户行为非常丰富,每个用户和商品都有超过5条评论。 特征包括goods_id,cate_id,用户评论的goods_id_list和cate_id_list。 (b1,b2,...,bn)(b_1,b_2,...,b_n)表示用户的所有行为,任务是通过利用前k个评论的商品来预测第(k + 1)个评论的商品。 训练数据集是用每个用户的k=1,2,...,n2k=1,2,...,n-2浏览商品生成的。 在测试集中,我们预测最后一个给出的第n1n-1个评论的商品。 对于所有模型,我们使用SGD作为指数衰减的优化器,其中学习率从1开始,衰减率设置为0.1。 小批量大小设置为32。

MovieLens数据集

MovieLens数据[11]包含138493个用户,27278个电影,21个类别和20000263个样本。 为了使其适用于CTR预测任务,我们将其转换为二进制分类数据。 电影的原始用户评级是从0到5的连续值。我们将评级为4和5的样本标记为正,其余为负。 我们根据用户ID将数据划分为训练和测试数据集。 在所有138493名用户中,其中100000名被随机选入训练组(约14470000个样本),其余38493名进入测试组(约5530000个样本)。 任务是根据历史行为预测用户是否将给定电影的评分高于3(正标签)。 特征包括movie_id,movie_cate_id和用户评级movie_id_list,movie_cate_id_list。 我们使用与亚马逊数据集中描述中相同的优化器,学习速率和小批量大小。

阿里巴巴数据集

我们从阿里巴巴的在线展示广告系统收集了流量日志,其中两周的样本用于训练,第二天的样本用于测试。 培训和测试集的规模分别约为20亿和0.14亿。 对于所有深度模型,对于整个16组特征,其嵌入向量的维数是12。 MLP的层数设置为192×200×80×2。由于数据量巨大,我们将小批量大小设置为5000并使用Adam [15]作为优化器。 我们应用指数衰减,其中学习率从0.001开始,衰减率设置为0.9。
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
表2:本文中使用的数据集统计
所有上述数据集的统计数据如表2所示。阿里巴巴数据集数量远大于亚马逊和MovieLens,这带来了更多挑战。

6.2 竞争对手

LR[19] 逻辑回归(LR)是用于CTR预测任务的深度网络之前广泛使用的浅层模型。 我们将其作为弱基线实施。
BaseModel 如4.2节所述,BaseModel遵循Embedding&MLP架构,是大多数后来开发的用于CTR建模的深度网络的基础。 它是我们模型比较的强大基线。
Wide&Deep[4] 在实际工业应用中,Wide&Deep模型已被广泛接受。 它由两部分组成:i)宽模型,处理手动设计的交叉乘积特征; ii)深模型,自动提取特征之间的非线性关系,等于BaseModel。 广泛和深入的需求专业知识以“宽”模块的输入为特色。 我们遵循[10]中的实践,将用户行为和候选广告的交叉乘积作为宽层模型的输入。 例如,在MovieLens数据集中,它指的是用户评级电影和候选电影的交叉结果。
PNN[5] 通过在嵌入层之后引入乘积层来捕获高阶特征交互,可以将PNN视为BaseModel的改进版本。
DeepFM[10] 它将分解机器作为Wide&Deep节省特征工程作业中的“宽”模块。

6.3 度量

在CTR预测字段中,AUC是一种广泛使用的度量方式[8]。 它通过对具有预测点击率的所有广告进行排名来衡量订单的优劣,包括用户内和用户间订单。 在[7,13]中引入了用户加权AUC的变体,其通过对用户平均AUC来测量用户内订单的良好性,并且显示出与显示广告系统中的在线性能更相关。 我们在实验中调整了这个指标。 为简单起见,我们仍将其称为AUC。 计算方法如下:
AUC=i=1n#impressioni AUCii=1n#impressioni(10)AUC=\frac{\sum_{i=1}^n \# impression_i \ * AUC_i}{\sum_{i=1}^n \# impression_i} \quad (10)
其中n是用户数,#impressioni和AUCiAUC_i是与第i个用户对应的impression数和AUCAUC
此外,我们遵循[25]引入RelaImpr度量来衡量模型的相对改进。 对于随机猜测器,AUC的值为0.5。 因此,RelaImpr的定义如下:
RelaImpr=(AUC(measuredmodel)0.5AUC(basemodel)0.51)100%(11)RelaImpr = (\frac{AUC(measured model)-0.5}{AUC(base model)-0.5}-1)* 100\% \quad (11)
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图4:BaseModel在阿里巴巴数据集上具有不同正则化的性能。 具有细粒度goods_ids特征的训练在没有正则化的情况下在第一个epoch之后遇到严重过拟合。 所有的正则化都显示出改进,其中我们提出的小批量感知正则化表现最佳。 此外,具有goods_ids特征训练好的模型获得的AUC高于没有它们的AUC。 它来自于包含细粒度特征更丰富的信息
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
表3:亚马逊数据集和MovieLens数据集的模型比较。 所有行分别通过与每个数据集上的BaseModel进行比较来计算RelaImpr
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
表4:对应于图4,在阿里巴巴数据集上具有不同规则的BaseModel的最佳AUC。 所有其他行通过与第一行比较来计算RelaImpr

6.4 亚马逊数据集和MovieLens数据集上的模型比较结果

表3显示了Amazon数据集和MovieLens数据集的结果。所有实验重复5次,并报告平均结果。随机初始化对AUC的影响小于0.0002。显然,所有深度网络都明显优于LR模型,这确实展示了深度学习的力量。 PNN和DeepFM采用特殊设计的结构,比Wide&Deep更好。 DIN在所有竞争对手中表现最佳,特别是在具有丰富用户行为的亚马逊数据集上,DIN性能优势非常明显。我们将这归功于DIN中局部**单元结构的设计。 DIN通过软搜索与候选广告相关的部分用户行为来关注局部相关的用户兴趣。通过这种机制,DIN获得了用户兴趣的自适应变化表示,与其他深度网络相比,大大提高了模型的表达能力。此外,带有Dice的DIN进一步改进了DIN,验证了所提出的数据自适应**函数Dice的有效性。

6.5 正则器表现

由于亚马逊数据集和MovieLens数据集中的特征维度不高(约10万),所有包括我们提出的DIN的深模型都不会遇到严重的过拟合问题。 然而,当涉及到包含更高维度稀疏特征的在线广告系统的阿里巴巴数据集时,过拟合变成了一个巨大的挑战。 例如,在训练具有细粒度特征的深度模型时(例如,表1中尺寸为6亿的goods_ids的特征),在第一个epoch之后发生严重过拟合而没有任何正则化,这导致模型性能迅速下降, 如图4所示的深绿色线。 出于这个原因,我们进行了仔细的实验,以检查几种常用的正则化的性能。

  • Dropout[22] 随机丢弃每个样本中50%的特征ID。
  • Filter 按样本中的出现频率过滤访问过的goods_id,只留下最常用的。 在我们的环境中,剩下前2000万件商品。
  • RegularizationinDiFacto[16] 与频繁特征相关的参数不太过正规化。
  • MBA 我们提出的Mini-Batch Aware正则化方法(方程式4)。 搜索DiFacto和MBA的正则化参数λ\lambda并将其设置为0.01。

图4和表4给出了比较结果。 着眼于图4的细节,使用细粒度goods_ids特征训练的模型在第一个epoch对测试AUC性能,相比没有该细粒度情况下有了大幅改进。 然而,在没有正规化(深绿色线)的训练的情况下,过拟合迅速发生。 Dropout可防止过拟合,但会导致收敛速度变慢。 频率滤波器可以在一定程度上减轻过拟合。 DiFacto中的正则化对具有高频率的goods_id设置了更大的惩罚,其表现比频率滤波器差。 与所有其他方法相比,我们提出的小批量感知(MBA)正则化表现最佳,可以明显地防止过拟合。
此外,具有goods_ids特征的训练好的模型显示出比没有它们时更好的AUC性能。 这是包含细粒度特征的更丰富信息的二重奏。 考虑到这一点,虽然频率滤波器的性能稍好于dropout,但它会丢弃大部分低频率的ID,并且可能会失去模型以更好地利用细粒度特征的空间。

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

表5显示了具有完整特征集的阿里巴巴数据集实验结果,如表1所示。正如所料,LR被证明比深模型弱得多。 在深层模型之间进行比较,我们报告了几个结论。 首先,在相同的**函数和正则化下,与其他所有深度网络(包括BaseModel,Wide&Deep,PNN和DeepFM)相比,DIN本身已经实现了卓越的性能。 DIN在BaseModel上实现0.0059绝对AUC增益和6.08%RelaImpr。 它再次验证了局部**单元结构是一个有用设计。 其次,基于DIN的消融研究(类似于控制变量法的意思)证明了我们提出的训练技术的有效性。 使用小感知正则化器进行DIN训练可带来额外的0.0031绝对AUC增益。 此外,带有Dice的DIN比PReLU带来额外的0.0015绝对AUC增益。
总之,具有MBA正则化和Dice的DIN实现了比基础模型总共11.65%的RelaImpr和0.0113绝对AUC增益。 即使与在该数据集上表现最佳的竞争对手DeepFM相比,DIN仍然可以获得0.009绝对AUC增益。 值得注意的是,在具有数亿个流量的商业广告系统中,0.001绝对AUC增益是重要的,并且值得根据经验进行模型部署。 DIN显示出更好的理解能力,可以更好地理解和利用用户行为数据的特征。 此外,这两种技术进一步提高了模型性能,为训练大规模工业深度网络提供了有力的帮助。

6.7 在线A / B测试的结果

从2017-05到2017-06,我们进行了详细的阿里巴巴显示广告系统在线A / B测试。 在近一个月的测试中,与引入的BaseModel(我们的在线服务模型的最后一个版本)相比,使用所提出的正规化器和**功能的DIN训练提供了高达10.0%的CTR和3.8%RPM(每千次收入)提升。 这是一项重大改进,并证明了我们提出的模型的有效性。 现在DIN已经在线部署并服务于主要流量。
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
表5:阿里巴巴数据集的完整特征集模型比较。 所有行都通过与BaseModel进行比较来计算RelaImpr。 DIN明显优于所有其他竞争对手。 此外,使用我们提出的小批量感知正则化器和Dice**函数来训练DIN带来了进一步的改进
值得一提的是,工业深度网络的在线服务并非易事,每天有数亿用户访问我们的系统。更糟糕的是,在流量高峰期,我们的系统每秒为超过100万用户提供服务。需要以高吞吐量和低延迟进行实时CTR预测。例如,在我们的真实系统中,我们需要在不到10毫秒的时间内为每位访问者预测数百个广告。在我们的实践中,部署了几种重要技术,用于加速CPU-GPU架构下的工业深度网络的在线服务:i)请求合并来合并来自CPU的相邻请求以利用GPU功能,ii)GPU内存优化改进用于减少GPU内存中浪费的事务的访问模式,iii)并发内核计算,其允许执行矩阵计算以同时处理多个CUDA内核。总之,这些技术的优化实际上使单个机器的QPS(每秒查询)容量加倍。 DIN的在线服务也受益于此。

6.8 DIN可视化

最后,我们进行案例研究,揭示了阿里巴巴数据集上DIN的内部结构。 我们首先考察局部**单位的有效性。 图5示出了关于候选广告的用户行为的**强度。 正如所料,与候选广告高度相关的行为加权很高。
然后我们可视化学习的嵌入向量。 以前面提到的年轻妈妈为例,我们随机选择了9个类别(服装,运动鞋,包等)和每个类别的100个商品作为她的候选广告。 图6对用DIN学习的t-SNE [17]商品嵌入向量进行了可视化,其中具有相同形状的点对应于相同的类别。 我们可以看到具有相同类别的商品几乎属于一个集群,这清楚地显示了DIN嵌入的集群属性。 此外,我们通过预测值为表示候选广告的点着色。 图6也是该母亲在嵌入空间中潜在候选者的兴趣密度分布的热图。 它表明DIN可以在候选人的嵌入空间中形成多模式兴趣密度分布,以便某个用户捕捉他/她的不同兴趣。
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图5:DIN中自适应**的例证。 与候选广告高度相关的行为获得高**权重
论文阅读:《Deep Interest Network for Click-Through Rate Prediction》
图6:DIN中嵌入商品的可视化。 点的形状代表商品的类别。 点的颜色对应于CTR预测值。

7 结论

在本文中,我们重点关注具有丰富用户行为数据的电子商务行业中的显示广告场景中的CTR预测建模任务。 在传统的深度CTR模型中使用固定长度表示是捕获用户兴趣多样性的瓶颈。 为了提高模型的表达能力,设计了一种名为DIN的新模型来**相关的用户行为并获得针对不同广告的用户兴趣的自适应表示向量。 此外,还引入了两种新技术来帮助训练工业深度网络并进一步提高DIN的性能。 它们可以很容易地推广到其他工业深度学习任务。 DIN现已部署在阿里巴巴的在线展示广告系统中。

参考文献

[1] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2015. Neural Machine Translation by Jointly Learning to Align and Translate. In Proceedings of the 3rd International Conference on Learning Representations.
[2] Ducharme Réjean Bengio Yoshua et al. 2003. A neural probabilistic language model. Journal of Machine Learning Research (2003), 1137–1155.
[3] Paul Covington, Jay Adams, and Emre Sargin. 2016. Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 191–198.
[4] Cheng H. et al. 2016. Wide & deep learning for recommender systems. In Pro- ceedings of the 1st Workshop on Deep Learning for Recommender Systems. ACM.
[5] Qu Y. et al. 2016. Product-Based Neural Networks for User Response Prediction. In Proceedings of the 16th International Conference on Data Mining.
[6] Wang H. et al. 2018. DKN: Deep Knowledge-Aware Network for News Recom- mendation. In Proceedings of 26th International World Wide Web Conference.
[7] Zhu H. et al. 2017. Optimized Cost per Click in Taobao Display Advertising. In
Proceedings of the 23rd International Conference on Knowledge Discovery and Data
Mining. ACM, 2191–2200.
[8] Tom Fawcett. 2006. An introduction to ROC analysis. Pattern recognition letters
27, 8 (2006), 861–874.
[9] Kun Gai, Xiaoqiang Zhu, et al. 2017. Learning Piece-wise Linear Models from
Large Scale Data for Ad Click Prediction. arXiv preprint arXiv:1704.05194 (2017).
[10] Huifeng Guo, Ruiming Tang, et al. 2017. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction. In Proceedings of the 26th International Joint
Conference on Artificial Intelligence. 1725–1731.
[11] F.MaxwellHarperandJosephA.Konstan.2015.TheMovieLensDatasets:History
and Context. ACM Transactions on Interactive Intelligent Systems 5, 4 (2015).
[12] KaimingHe,XiangyuZhang,ShaoqingRen,andJianSun.2015.Delvingdeepinto rectifiers: Surpassing human-level performance on imagenet classification. In
Proceedings of the IEEE International Conference on Computer Vision. 1026–1034.
[13] Ruining He and Julian McAuley. 2016. Ups and Downs: Modeling the Vi- sual Evolution of Fashion Trends with One-Class Collaborative Filtering. In Proceedings of the 25th International Conference on World Wide Web. 507–517. https://doi.org/10.1145/2872427.2883037
[14] Gao Huang, Zhuang Liu, Laurens van der Maaten, and Kilian Q. Weinberger.
Densely connected convolutional networks.
[15] Diederik Kingma and Jimmy Ba. 2015. Adam: A Method for Stochastic Optimiza-
tion. In Proceedings of the 3rd International Conference on Learning Representations.
[16] Mu Li, Ziqi Liu, Alexander J Smola, and Yu-Xiang Wang. 2016. DiFacto: Dis- tributed factorization machines. In Proceedings of the 9th ACM International
Conference on Web Search and Data Mining. 377–386.
[17] LaurensvanderMaatenandGeoffreyHinton.2008.Visualizingdatausingt-SNE.
Journal of Machine Learning Research 9, Nov (2008), 2579–2605.
[18] JulianMcauley,ChristopherTargett,QinfengShi,andVanDenHengelAnton. Image-Based Recommendations on Styles and Substitutes. In Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Infor-
mation Retrieval. 43–52.
[19] H. Brendan Mcmahan, H. Brendan Holt, et al. 2014. Ad Click Prediction: a
View from the Trenches. In Proceedings of the 19th ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining. 1222–1230.
[20] Steffen Rendle. 2010. Factorization machines. In Proceedings of the 10th Interna-
tional Conference on Data Mining. IEEE, 995–1000.
[21] Ying Shan, T Ryan Hoens, Jian Jiao, Haijing Wang, Dong Yu, and JC Mao. Deep
Crossing: Web-scale modeling without manually crafted combinatorial features.
[22] NitishSrivastava,GeoffreyEHinton,AlexKrizhevsky,IlyaSutskever,andRuslan Salakhutdinov. 2014. Dropout: a simple way to prevent neural networks from
overfitting. Journal of Machine Learning Research 15, 1 (2014), 1929–1958.
[23] Andreas Veit, Balazs Kovacs, et al. 2015. Learning Visual Clothing Style With Heterogeneous Dyadic Co-Occurrences. In Proceedings of the IEEE International
Conference on Computer Vision.
[24] Ronald J Williams and David Zipser. 1989. A learning algorithm for continually
running fully recurrent neural networks. Neural computation (1989), 270–280.
[25] Ling Yan, Wu-jun Li, Gui-Rong Xue, and Dingyi Han. 2014. Coupled group lasso for web-scale ctr prediction in display advertising. In Proceedings of the 31th
International Conference on Machine Learning. 802–810.
[26] Shuangfei Zhai, Keng-hao Chang, Ruofei Zhang, and Zhongfei Mark Zhang. 2016.
Deepintent: Learning attentions for online advertising with recurrent neural networks. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 1295–1304.
[27] SongJetal.ZhouC,BaiJ.2018.ATRank:AnAttention-BasedUserBehaviorMod- eling Framework for Recommendation. In Proceedings of 32th AAAI Conference on Artificial Intelligence.