总述:阿里巴巴拥有世界上数一数二的电子商务系统,每天的成交额高达数十亿,那么这样一个大规模的商务网站肯定要做好一件事情,那就是用户搜索的时候给用户最好的搜索结果,用户不搜索的时候结合用户的兴趣给用户最感兴趣的商品,那么他们到底用的是什么办法,这个可以从他们最新最出名的一篇这方面的文章得到,那就是“深度学习兴趣网络”!
本文先从论文翻译入手,后续还会给出源码理解、以及博主的实践理解
题目:Deep Interest Network for Click-Through Rate Prediction 论文翻译
点击率预测是工业中的一项重要任务应用程序,例如在线广告预测。Youtube 已经提出来基于 embedding 和 MLP 的基础模型。在这些方法中,大规模稀疏输入首先将特征映射到 128或者64维度 的嵌入向量,然后以特征组为维度转换为固定长度的向量,最后连接在一起,输入进多层感知器网络(MLP),以了解特征之间的非线性关系。在这样,无论候选广告是什么,用户特征都被压缩为固定长度的表示向量。使用固定长度矢量将成为瓶颈,为嵌入和MLP方法带来了困难,因为难以捕获用户的不同兴趣而无法有效地从丰富的历史行为中表达 label。在本文中,我们提出一个新颖的模型:深度兴趣网络(DIN)通过设计一个本地激活单元来自适应地学习这个挑战来应对这一挑战,用来表示用户对某个广告的历史行为的兴趣。该表示向量随着 label 的不同而变化广告,极大地提高了模特的表达能力。此外,我们还开发了两种技术:小批量感知正则化、数据适应性激活功能,可以帮助工业界训练拥有数亿参数的网络。实验两个公共数据集以及阿里巴巴实际生产数据集超过20亿个样本证明了所提方法的有效性,与之相比,它们具有更好的性能,并且采用最先进的方法。 DIN现已成功部署在阿里巴巴的在线显示广告系统中主要部门。
CCS概念
信息系统→展示广告;推荐系统
在每次点击计费(CPC)广告系统中,广告是按有效每千次展示(有效每千次成本)来进行排名,即产品出价和点击率(点击率),点击率需要由系统预测。 因此,CTR预测的表现模型对最终收入有直接影响并在广告系统中起着关键作用。 已经受到了学术界的CTR预测模型研究、并且工业界也都非常关注。
最近,受到计算机深度学习成功的启发愿景[14]和自然语言处理[1]的启发,深度学习为主要的技术方向已经提出来,并且用于CTR预测任务的方法[3,4,21,26]。
这些方法遵循类似的 embedding 和 MLP 范例:大规模缩放稀疏输入特征首先会被映射到低维嵌入向量(维度一般是128 256 64),然后以特征分组的方式,转换为固定长度向量,最终连接在一起进入全连接层(也称为多层感知器,MLP),以此来学习特征之间的非线性关系。 和常用的逻辑回归模型[19]相比较,这些深度学习方法可以减少很多特征工程的工作,并且可以很大程度增强模型能力。 为简单起见,我们命名这些方法在本文中为 embedding 和MLP,现在在 CTR 预测任务中已经变得很流行。
但是,embedding 和 MLP 方法中,我们只能在有限维度中去表达用户向量,这将是表达的一个瓶颈,难以表达清楚用户的不同兴趣。在电子商务中以网站作为展示广告为例,用户访问电子商务网站时可能对不同种类都感兴趣,也就是说用户的兴趣是多种多样的。谈到CTR预测任务时,用户兴趣通常从用户行为数据中进行捕获。embedding 和 MLP方法学习所有兴趣的表示方式是:通过转换用户的嵌入向量为某个用户行为序列,并且序列中每个词转换为固定维度的向量,然后再来一个 pooling层,可以是 sum或者mean,最终转换成的是一个固定长度的向量,它位于欧几里德空间中。换句话说,多样化用户的兴趣被压缩成固定长度的矢量,这限制了嵌入和MLP方法的表达能力。使表达足够表达用户的表达不同的兴趣,固定长度向量的维度需要大大扩展。不幸的是,它将大大扩大学习参数的大小,加剧了在有限的数据下过度拟合的风险。此外,它增加了计算和负担存储,对于工业在线系统可能是不允许的
另一方面,当预测一个候选集的时候,没有必要把这个序列压缩成一个固定的维度,因为只有部分用户的兴趣会影响他/她的行动(点击或不点击)。例如,一名女游泳选手会点击推荐的护目镜,主要是因为买了在她上周的购物中买了泳衣而不是鞋子。受此启发,我们提出了一个新的模型:深层兴趣网络(DIN),通过考虑相关性,我们最好能在模型中自适应地计算用户兴趣的表示向量,也就是采用用户广告的部分历史行为。通过引入本地激活单元,DIN关注用户的搜索历史行为的相关部分并采取加权和汇集以获得关于候选人广告用户兴趣的表示。具有较高相关性的行为对候选人广告获得更高的激活权重并主导用户兴趣的表示。我们想象这个现象实验部分。这样,表示向量用户兴趣因不同的广告而异,从而提高了模型在有限维度下的表达能力,并使DIN能够实现更好地捕捉用户的不同兴趣。
训练具有大规模稀疏特征的工业深度网络是一项巨大的挑战。 例如,基于SGD的优化方法只更新在每个小批量出现的稀疏特征的参数。 然而,加上传统的 l2 正则化,计算时间变得不可接受,但是同时这也是必要的,计算整个参数的L2范数(具有尺寸缩放对于每个小批量,我们的情况高达数十亿。 在本文中,我们开发了一种新颖的小批量感知正则化,每个小批量出现的非零特征参数参与L2范数的计算,进行计算可以接受。 此外,我们设计了数据自适应激活功能,它通过自适应调整整流点w.r.t来概括常用的PReLU [12]。 分布式的输入数据和显示有助于训练具有稀疏特征的工业网络。本文的贡献总结如下:
1:我们指出使用固定长度向量去表达用户的不同兴趣,并且设计一种新颖的兴趣网络(DIN),其中引入了本地激活单元自适应地学习用户兴趣的表示历史行为w.r.t. 给定广告。 DIN可以改善模型的表达能力,并且大大提高了用户兴趣的多样性特征。
2:我们开发了两种新技术来帮助训练工业深度网络:
i)一个小型批量感知正则化机制,其中在具有大量参数的深度网络上节省了大量正则化计算,有助于避免过度拟合,
ii)数据自适应激活功能,其中通过考虑输入的分布来生成PReLU并表现出良好的表现。
3:我们对公共和阿里巴巴数据集进行了大量实验。 结果验证了提出的DIN网络效果不错。 我们的代码是公开的。 拟议的方法已经部署在阿里巴巴商业展示广告系统中,一个世界上最大的广告平台,而且改进贡献显着改善着业务
在本文中,我们将重点放在CTR中的CTR预测建模上,行业和场景是电子商务行业展示广告的场景。 这里讨论的方法可以应用于多用户的类似场景行为,例如电子商务中的个性化推荐网站,社交网络中的排名等
本文的其分安排如下。 我们在第2部分讨论相关的工作,在第3节介绍用户行为数据要怎么来提取特征,背景是电子商务展示广告系统。第4节、第5节详细描述了设计DIN模型以及两种提议的训练技术。 我们在第6节中展示实验,第7节展示结论。
CTR预测模型的结构已从浅层演化为深层。 同时,CTR模型中使用的样本数量和特征数量变得越来越大。 为了更好地提取特征以提高性能,最近的几篇论文注重模型结构的设计。
作为先锋工作,NNLM [2] 学习对于每个单词进行分布式表示,旨在避免语言中的维度问题。 这种方法通常被称为 embedding,启发了许多自然语言模型和CTR预测模型需要处理大规模的稀疏输入的思路
LS-PLM [9]和FM [20]模型可以看作是一类具有一个隐藏层的网络,它首先在稀疏输入上使用嵌入层,然后为目标拟合设计专门的变换函数,旨在捕获组合特征之间的关系。
深度交叉[21],广度和深度学习[4]和 YouTube 推荐 CTR 模型[3],这几个模型都是通过替换扩展 LS-PLM 和 FM 具有复杂 MLP 网络的转换功能大大提高了模型能力。 PNN [5] 试图在 embedding layer 后捕获通过涉及 product layer 之后的高阶特征。 DeepFM [10] 在 wide 层通过因式分解机,而无需特征工程。总的来说,这些方法遵循类似的模型结构,这些模型结构都有着嵌入层(用于学习稀疏特征的密集表示)和MLP(用于学习组合)的特征组合关系。这种CTR预测model大大减少了手动特征工程的工作量。我们的 base 模型遵循这种模型结构。但是,在具有丰富用户行为的环境中,通常包含一些可变长度的id序列特征,例如,搜索的 query词 或在 YouTube 推荐系统[3]中观看的视频。这些模型经常通过 sum/mean pooling 层变换相应的嵌入向量列表到固定长度向量,导致信息丢失。这个缺陷使得DIN提出一种通过自适应学习表示来解决这种问题,提高模型的表达能力。
Attention 源于神经机器翻译(NMT)领域[1]。 NMT对所有“注释”进行加权求和,以获得预期“注释”,并仅仅关注与下一个目标词的生成有关的前后词。 最近的一项工作,DeepIntent [26]在搜索广告的背景下提出来 attention 机制。与 NMT 类似,他们使用RNN [24]对文本进行建模,然后学习一个全局隐藏向量,以关注输入层中的所有层的中心词。 结果表明,使用 attention 方法有助于捕捉到主要的 query词或主要的历史广告。 DIN设计了一个本地激活单元,以用来软搜索相关的用户行为,并采用加权 sum pooling 层以获得用户兴趣的自适应来表示某个目标 target。 用户表示向量包含着不同的广告,与DeepIntent不同之处在于广告和用户之间没有相关关系。
我们公开提供代码,并进一步展示如何在世界上最大的广告系统中成功部署DIN,并采用新颖的技术训练大规模深度拥有数亿参数的网络。
在阿里巴巴等电子商务网站中,广告很自然就是各种商品。在本文的其余部分,没有特别声明,我们就将广告视为商品。图1简要说明了阿里巴巴显示广告系统的运行过程,包括两个主要阶段:
i)匹配阶段,通过协同过滤等方法对访问用户生成候选广告列表
ii)排名阶段,预测每个给定广告的点击率然后选择排名靠前的。
每天,数以亿计的用户访问电子商务网站,留下了许多用户行为数据,这有助于建立匹配和排名模型。值得一提的是,用户具有丰富的历史行为中包含不同的兴趣。例如,一位年轻的母亲浏览过商品包括毛呢大衣,T恤,耳环,手提袋,手提包和儿童外套。这些行为数据给了我们提示她的购物兴趣。当她访问电子商务时网站,系统向她显示合适的广告,例如新的手提包。显然,显示的广告仅匹配或激活了这位母亲的部分兴趣。总之,用户的丰富行为是多种多样的兴趣,可以在某种程度上在当地匹配出来对应的广告。我们稍后将在本文中展示利用这些特征对建立CTR预测模型起着重要作用。
图1:阿里巴巴广告系统运行过程图,用户行为数据将展现为重要的角色。
与发起搜索不同,用户在没有明确表达意图的情况下进入广告系统。 需要有效的方法来从丰富的历史中提取用户兴趣,来构建CTR预测模型去预测用户的行为。 描述用户和广告的特征是CTR建模的基本要素。 合理利用这些功能从中获取信息至关重要。
工业CTR预测任务中的数据主要是多组分类形式。例如,[工作日=星期五,性别=女性,visited_cate_ids = {Bag,Book},ad_cate_id = Book],正常的通过编码之后,就可以转换成高维稀疏二进制特征(下面有具体表示)。数学上,编码第i个特征的向量组是公式化的 ,Ki 表示第 i 个 feature 组的维数,表示第 i 个 feature 组包含 Ki 个唯一的id
在刚开始举的4个实例就可以表达成下面这样:
表中描述了我们系统中使用的整个功能集,它由四类组成,其中包括用户行为特征(通常是 multi hot 编码向量),包含丰富的用户兴趣信息。 请注意,在我们的设置中,没有组合功能。 我们在深度神经网络中捕获功能的相互作用。
表1:阿里巴巴显示广告系统中使用的特征集统计。 特征以分组形式由稀疏表达的二进制向量组成。
大多数流行的模型结构[3,4,21]有相似之处,就是都使用了 embedding 和 MLP 范例,我们称之为 base 模型,如图2左侧所示。 它由几部分组成:
嵌入层。 由于输入是高维二进制向量,嵌入层用于将它们转换为低维 dense 表示。对于第 i 个特征组 ti,我们让
代表第 i 个特征组的字典,其中 是一个维数是 D 的嵌入向量,嵌入操作需要遵循 look up table 查询机制,如图2所示
1:当 ti 是一个 one-hot 特征的时候,第 j 个元素 ti[j] = 1,ti 经过 embedding 后的表达向量就是个只有一个元素的向量 ,:
2:当 ti 是一个 multi-hot 特征的时候,第 j 个元素 ti[j] = 1,其中j的取值有多个 (i1,i2,...,ik),ti 经过 embedding 后的表达向量就是个有多个元素的向量
pooling 层和 Concat 层。 请注意不同的用户有不同的行为数量。 因此对于 multi-hot 的特征向量 ti 的值在实例之间变化,导致相应的嵌入列表的长度向量是可变的。 全连接网络只能处理固定长度输入,在 [3,4] 中有一种常见的做法,也就是通过池化层嵌入向量列表以获得固定长度向量:
图2:网络架构。 左侧部分说明了 base 模型的网络(嵌入和MLP)。 嵌入cate_id,shop_id和goods_id被用来代表用户行为中的一批被访问的商品。 右边的部分是我们的提出的DIN模型。 它引入了一个本地激活单元,用户兴趣的表示可以根据不同的候选广告自适应地变化。
两个最常用的池化层是总sum、mean,id 被 sum/mean 操作到嵌入向量列表。
嵌入层和池化层都以特征组的形式运行,将原始稀疏特征映射到多个固定长度表示向量。 然后将所有向量连接起来一起获取实例的整体表示向量
给定连接的 dense 表示向量,全连接层用于自动学习特征组合。 最近提出的方法[4,5,10]专注于设计MLP结构以便可以更好地提取信息。
基础模型中使用的目标函数是,对数似然函数,定义为:
其中 S 是大小为 N 的训练集,其中 x 为输入网络,y∈{0,1} 作为标签,p(x)是网络在softmax层之后的输出,表示预测的样本x被点击的概率。
在表1的所有这些特征中,用户行为特征是非常重要的,并在电子商务应用程序的场景中,模拟用户兴趣方面发挥关键作用。
base模型中,通过在用户行为特征组上,将所有嵌入向量汇集到一起获得用户的固定长度表示向量,如公式(1)所示。 这种表示向量对于给定用户而言保持不变,无论候选广告是什么,都是如此。 这样的话,具有有限维度的用户表示向量将成为表达用户不同兴趣的瓶颈。 要使它足够强大,一个简单的方法是扩大其嵌入向量的维度,不幸的是会增加其学习参数。 它将导致在有限的训练数据下过度拟合并增加计算和存储的负担,可能在工业在线系统中无法容忍。
在有限维度下的一个向量下,是否有一种优雅的方式来表达用户的不同兴趣?用户兴趣的本地激活特征为我们设计这种模式提供了灵感,模型命名为深感兴趣网络(DIN)。想象一下上面第3节提到的一个母亲访问电子商务网站的 case,她发现展示的新手提包很可爱并点击它。让我们剖析一下点击动作的驱动力。显示的广告点击相关内容这位年轻母亲的兴趣是通过对她的历史行为进行软性搜索,并发现她最近曾经浏览过类似的手提袋和皮革手提包。换句话说,与手提包有关的行为广告极大地促进了这个点击操作。 DIN模拟这个过程通过利用本地的代表性激活的兴趣,给予推荐系统手提包这个建议。而不是使用相同矢量来表达所有用户的不同兴趣,DIN通过考虑历史行为的相关性自适应计算这些,用户兴趣的表示向量,这个表示向量因不同的目标广告而异。
图 2 的右侧部分说明了DIN的架构。 与 base 模型相比,DIN引入了一种新颖设计的局部激活单元,并保持其他结构相同。 特别地,激活单元应用于用户特征组中,并进行了“加权相加”来自适应地计算用户在候选广告为A时,用户向量的兴趣表示值,如公式(3)所示
{e1, e2, ..., eH } 是一个 embedding 向量,代表的是用户 U 的一个特征,长度为 H,比如说可以是用户的点击商品 id 序列,用户 U 点了 H 个商品,每一个 e 是一个商品的向量表达,比如是 128 维度
vA 是 我们目标广告 A 的向量表达
在这种方式下,vU(A) 就代表了不同的商品。a(.) 是一个前馈网络,他的输出就是我们设计的“激活权重”,就像在 图2 中的表达一样。a(·)将它们输出的产品添加到后续网络中,这是一个显性知识,以帮助相关性建模
方程(3)的局部激活单元分享了在NMT任务[1]类似的想法。 然而,不同于传统的 attention 方法,wi=1 的约束 在方程(3)中也是OK的,旨在保留用户兴趣的强度。也就是说,放弃了a(·)输出上的softmax归一化。 相反,wi 的价值我视之为在一定程度上近似激活用户兴趣的强度。 例如,如果一个用户的历史行为包含90%的衣服和10%电子产品。 有两个候选集,T恤和手机,T恤的候选广告激活特征中,属于衣服和衣服的大部分历史行为可能会比手机获得更大的vU值(更高的兴趣强度)。传统的 attention 方法失去了数字的分辨率通过归一化a(·)的输出来确定vU的比例。
在阿里巴巴的广告系统中,商品和用户数量众多规模可达数亿。 实际上,训练工业具有大规模稀疏输入特征的深度网络非常有挑战。 在本节中,我们将介绍两种重要技术,而且被证明在实践中是有帮助的。
过度拟合是训练工业网络的关键挑战。例如,添加了细粒度的特征,例如维度为6亿的 goods_ids 的特征(包括如表1所示,用户的visit_goods_ids和广告的goods_id,如果没有加正则的话,模型性能在第一个 epoch 之后迅速下降,就像在图4中所示的深绿色线(这个图在后面的6.5节中)。但是直接应用传统的正则化方法是不切实际的,例如ℓ2和ℓ1正则化训练网络,在稀疏输入的情况下,数以亿计的参数情况下。以ℓ2正则化为例,在每个小批量数据中出现的非零稀疏特征在基于SGD的优化方法的场景中,进行更新没有正规化,但是,当加入l2正则化时它需要计算小批量数据中每个参数的L2范数,这导致非常繁重的计算,并且是不可接受的扩展到数亿参数。
Figure 3: Control function of PReLU and Dice.
在本文中,我们介绍了一种有效的小批量感知正则化器,它只为每个小批量出现的稀疏特征计算参数的L2范数,并且要使得计算成为可能。 实际上,它是 embedding 字典,为CTR网络贡献大部分参数并产生了繁重计算的难度。 设W∈R(D×K) 表示参数的整个嵌入字典,以D为维度嵌入向量和K作为特征空间的维数。在样本上扩展W上的ℓ2正则化
其中wj∈RD是第j个嵌入向量,I(xj不等于0)表示是否实例x是否具有特征id j,并且nj表示在所有样本中出现特征id j的数量。 方程(4)可以转换以小批量样本的方式方程(5)
其中B表示小批量的样本数量,Bm表示第m个小批量。 设表示是否在整个最小的 batch Bm 中存在至少一个具有特征id j的实例。 然后方程(5)可近似为
通过这种方式,我们得到了一个基于ℓ2正则化近似的小批量识别版本。 对于第m个小批量,梯度或者说是该嵌入特征 j 的权重是
其中特征的参数出现在第m个小批量中,才参与正则化的计算。
PReLU [12]是一种常用的激活功能
其中s是激活函数f(·)输入的一个维度,p(s)= I(s> 0)是一个控制f(s)选 s 和还是选 αs 。 在第二个频道的 α 是一个学习参数。 这里我们将p(s)称为控制功能。 图3的左侧部分描绘了控制函数 PReLU。 PReLU 选择了一个值为0的精准点,可能不适合每一个 layer 有不同的分布。 考虑到这一点,我们设计了一种新颖的数据自适应激活函数命名为Dice,
控制函数绘制在图3的右侧。在训练时期,E [s]和V ar [s]是均值和方差每个小批量的输入。 在测试日常用语中,E [s]和Var [s]表示输入的一批数据的平均值和方差。 ε是一个小常数,设定为10-8在我们的实践中。
Dice 可以被视为 PReLu 的一般化。 Dice 关键的想法是根据输入数据的分布自适应地调整“整流点”,其值被设置为输入的平均值。此外,Dice可以平滑地控制两个通道之间的切换。当E(s)= 0且Var [s] = 0时,Dice退化为PReLU。
在本节中,我们将详细介绍我们的实验,包括数据集,评估指标,实验设置,模型比较和相应的分析。在两个公共数据集的用户行为数据的实验,其中一个收集于阿里巴巴的广告系统,并证明了其提出的方法的有效性,优于最先进的点击率预测任务方法。 公共数据集和实验代码可用1。
亚马逊数据集2。 亚马逊数据集包含产品评论和来自亚马逊的元数据,用作基准数据集[13,18,23]。 我们对名为Electronics的子集数据进行实验,其中包含192,403个用户,63,001个商品,801个类别和1,689,188个样本。 此数据集中的用户行为很丰富,其中每个用户和商品超过5条评论。 特征系统包括goods_id,cate_id,用户评论goods_id的list列表和cate_id的list列表。让一个用户的所有行为都是(b1,b2,...,bk,。。。 ,bn),任务是通过利用前k个评论的商品来预测第(k + 1)个评论的商品。 训练数据集是用每个用户的第k个评论商品生成的,其中 k = 1,2...,n-2。 在测试集中,我们用前n-1个评论商品预测最后一个评论的商品。 对于所有模型,我们使用SGD作为优化器,它具有指数衰减,其中学习率从1开始并且衰减,衰减率rate设置为0.1。 小批量大小设置为32。
MovieLens数据集3。
MovieLens数据[11]包含138,493个用户,27,278部电影,21个类别和20,000,263个样本。 为了做到适用于CTR预测任务这一点,我们将其转换为二分类数据。 电影的原始用户评级是连续的值范围从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。 我们使用相同的优化器,学习率和小批量大小,如亚马逊数据集中所述。
阿里巴巴数据集。 我们从阿里巴巴的在线展示广告系统收集了流量日志,其中有两周的样本用于训练和第二天的样本进行测试。训练和测试集的规模约为20亿和1亿4千万。 对于所有深度模型,整个16组特征的嵌入向量的维数为12。 MLP层设置为192×200×80×2。由于数据量巨大,我们设置了小批量大小为5000,并使用Adam [15]作为优化器。 我们应用指数衰减,其中学习率从0.001开始,衰减率设定为0.9。所有上述数据集的统计数据如表2所示阿里巴巴数据集比亚马逊和MovieLens要大得多,这带来了更多挑战。
•LR [19]。 Logistic回归(LR)是一种广泛使用的浅层深度网络模型,用于CTR预测任务。我们将其作为弱 baseline。
•BaseModel。如第4.2节所述,BaseModel如下, 嵌入和MLP架构是大多数的基础,随后开发了用于CTR建模的深度网络。它是我们模型比较的强大基线。
•Wide&Deep[4]。在实际工业应用中,Wide&Deep模型已被广泛接受。它由两部分组成:i)宽模型,这些事处理手动设计的特征,ii)深度模型,自动提取特征之间的非线性关系,等于BaseModel。Wide&Deep需要在 Qide 阶段做出来专业的特征工程系统。我们遵循实践[10]采取用户行为和候选人的交叉特征作为 Wide 层输入。例如,在MovieLens数据集中,它引用用户评级电影和候选电影的交叉特征。
•PNN [5]。 PNN可以被视为改进版放入BaseModel,通过嵌入层后引入 product layer 以捕获高阶特征交互。
•DeepFM [10]。它将 Wide&Deep 模型中的 Wide 层设计为一个分解机,以用来保存特征工程
在CTR预测字段中,AUC是一种广泛使用的评价指标[8]。 它测量一批排序商品中正样本被排在负样本前面的概率。 用户加权AUC在[7,13]中引入了,其测量了内部用户在商品上表现的平均AUC,并且在 在线广告系统中展现出来更好的优势。我们在实验中调整了这个指标。 为简单起见,我们仍然将其称为AUC。 计算方法如下:
其中n是用户数,#impressioni和AUCi是与第i个用户对应的曝光次数和AUC。此外,我们遵循[25]引入RelaImpr评价指标来衡量模型的相对改进程度。 对于随机猜测的话,值AUC是0.5。 因此,RelaImpr的定义如下:
图4:在阿里巴巴数据集上具有不同正则化的BaseModel的性能。 使用细粒度的goods_ids进行训练,没有正则化的特征在第一个 epoch 之后遇到严重的过拟合。 所有的正规化都显示出改善,其中我们提出的小批量感知正则化表现最佳。 此外,有 goods_ids 特征,并且训练得当的模型与比没有这些特征,获得更高的AUC。 它来自于包含细粒度特征的更丰富的信息。
表3:亚马逊数据集和MovieLens数据集的模型效果比较。 所有行都通过和每个数据集使用的 BaseModel 比较计算“相对提升幅度”。
表4:在阿里巴巴数据集上使用不同的正则来训练 BaseModel,得到最佳AUC。 其他行都通过与第一行比较来计算RelaImpr。
所有实验重复5次,并取平均结果。随机初始化对AUC的影响小于0.0002。显然,所有的深度网络都显著地击败了LR模型,这确实展示了深度学习的力量。 PNN 和具有特殊设计结构的 DeepFM 比 Wide&Deep而深刻。 DIN在所有竞争对手中表现最佳。特别是在具有丰富用户行为的亚马逊数据集上,DIN脱颖而出显著。我们将其归功于DIN中局部激活单元结构的设计。 DIN通过通过软搜索设计本地激活函数,提取出来与候选广告相关的部分用户行为的特征。通过这种机制,DIN获得了自适应变化用户性却的能力,与其他深层网络相比大大提高了表现力、模型的能力。此外,假如 Dice 后的 DIN,进一步改进了验证所提出的数据自适应激活功能的有效性 Dice。
由于亚马逊数据集和MovieLens数据集中的特征维度不高(约10万),所有深层模型包括我们提出的DIN,不会严重的过度拟合问题。 但是,当涉及到在线的阿里巴巴数据集时广告系统时,包含更高维度的稀疏特征,过度拟合变成了一个巨大的挑战。 例如,当训练具有细粒度特征的深度模型(例如,特征)表1中维度为6亿的oods_ids,严重的过度拟合发生在第一个 epoch 后之后没有任何正规化,导致模型性能迅速下降,如深绿色线如图4所示。 出于这个原因,我们进行了仔细的实验检查几种常用的正则化的性能。
•Dropout[22]。 随机丢弃每个样本中50%的特征ID。
•过滤。 按照出现频率过滤 goods_id ,只留下最常见的 goods_id。 在我们的环境中,剩下前两千万个 goods_id。
•DiFacto中的正规化[16]。 频繁出现的特征的参数具有很低的正则化。
•MBA。 我们提出的Mini-Batch Aware正则化方法(公式4)。 DiFacto和MBA的正则化参数λ搜索并设置为0.01。
图4和表4给出了比较结果。
专注于图4的细节,用细粒度的oods_ids特征训练的模型在第一次测试AUC性能上带来了很大的改进时代。 但是,过度拟合会迅速发生在没有正规化的训练的情况下(深绿色线)。dropout 可防止快速过度拟合,但会导致收敛速度变慢。频率滤波器可以在一定程度上减轻过度拟合。 正规化DiFacto对дoods_id设置了更高的惩罚频率,其性能比频率滤波器差。 与全部相比,我们提出的小批量识别(MBA)正则化表现最佳其他方法,可以显着防止过度拟合
此外,具有 goods_ids 功能的训练有素的模型,比没有他们显示更好AUC表现。 这是更把包含细粒度特征的信息进行组合的很好。 考虑到这一点,虽然频率滤波器的性能稍好于 dropout,它抛弃了大多数低频率的ids,可能会失去空间模型,以更好地利用细粒度的功能。
数据集表5显示了阿里巴巴数据集的实验结果,所有功能集如表1所示。正如预期的那样,LR被证明是比深模型弱得多。 深入比较模型,我们报告了几个结论。 首先,在相同的激活功能和正规化下,与所有其他深度网络相比包括BaseModel,DIN本身已经取得了优越性性能,Wide&Deep,PNN和DeepFM。 DIN 与 BaseModel 相比,达到 0.0059 的增幅;绝对AUC增益是6.08%。 它再次验证是局部激活单元结构的有用设计。 第二,基于DIN的研究证明了我们提出的训练技巧的有效性。 用小批量培训DIN意识到正规化器带来额外的0.0031绝对AUC增益。 此外,DIN与Dice带来额外的0.0015绝对值AUC超过PReLU。
总之,DIN与MBA正则化和Dice实现与BaseModel相比,绝对增幅总数为11.65%,相对AUC增益为0.0113。 甚至与DeepFM现有表现最好的数据集上,DIN仍然达到0.009绝对AUC增益。 它值得注意的是,在数百种商业广告系统中在数百万的流量中,0.001绝对AUC增益是显着的值得根据经验进行模型部署。 DIN显示出更大的优越性,更好地理解和利用其特性用户行为数据。 此外,还提出了两种提出的技术提高模型性能并为培训提供强大的帮助大规模工业深度网络。
从 2017-05 到 2017-06 在显示广告系统中进行仔细的在线A / B测试。 几乎是一个月份测试,DIN使用提议的正则化器和激活功能,在促销活动期间,与引入的BaseModel相比,可提供高达10.0%的CTR和3.8%的RPM(收入Per Mille),也是我们在线服务模型的最新版本。 这是一个重要的改进并证明了我们提出的有效性方法。 现在DIN已经在线部署并服务于主要场景。
值得一提的是,工业深度在线服务网络并不是一项容易的工作,每天有数亿用户访问我们的系统。更糟糕的是,在高峰时我们的系统每秒为超过100万用户提供服务。这是必须的具有高吞吐量和低延迟的实时CTR预测。例如,在我们的真实系统中,我们需要在不到10毫秒的时间里,预测数百个每个访问者的广告。在我们的实践中,部署了几种重要的技术来加速在线服务于CPU-GPU架构下的工业深度网络:i)请求合并来自的相邻请求的批处理CPU利用GPU功率,ii)GPU内存优化这改善了访问模式,以减少浪费的事务在GPU内存中,iii)允许的并发内核计算执行要用多个处理的矩阵计算CUDA内核同时发生。总而言之,这些技术的优化使单台机器的QPS(每秒查询)容量加倍几乎。 DIN的在线服务也受益于此。
最后,我们进行案例研究,揭示关于阿里巴巴数据集DIN的内部结构。 我们首先检查本地激活单元的有效性。 图5展示出了用户行为的激活性和候选人广告的强相关性。 正如所料,高相关性的习惯与候选广告的相关性加权很高。
图5:DIN网络的加权商品,和目标商品直接的可视化展示
然后我们可视化学习的嵌入向量。 拿之前提到过的年轻的妈妈为例,我们随机选择9类(礼服,运动鞋,箱包等)和100种商品类别作为她的候选广告。 图6显示了用DIN学习的可视化的,t-SNE [17]的商品嵌入向量,对应于相同的类别具有相同形状的点。 我们可以看到具有相同类别的商品几乎属于一个集群,它清楚地显示了DIN嵌入的聚类特性。此外,我们为代表候选广告的点着色预测值。 图6也是这位母亲的兴趣的热图嵌入空间中潜在候选者的密度分布。 它显示DIN可以在候选人的嵌入空间中形成多模式兴趣密度分布,以便某个用户捕获他/她不同的利益。
图6:DIN中货物嵌入的可视化。点的形状代表商品的类别。 点的颜色对应于CTR预测值。
在本文中,利用电子商务行业显示广告的场景丰富的用户行为数据,我们专注于CTR预测建模的任务。在传统的深度CTR模型中,使用固定长度表示法,来捕捉用户的兴趣是一个瓶颈。 提高表达能力模型,一种名为DIN的新方法旨在激活相关的用户行为并获得自适应表示向量用户兴趣因不同广告而异。 还有两个其他技术引入,来帮助训练工业深度网络并进一步提高DIN的性能。 他们很容易推广到其他工业深度学习任务。 DIN现在有已部署在阿里巴巴的在线展示广告系统中。
REFERENCES
[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 Proceedings 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 Recommendation. 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. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History and Context. ACM Transactions on Interactive Intelligent Systems 5, 4 (2015).
[12] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2015. Delving deep into 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 Visual 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 Optimization. In Proceedings of the 3rd International Conference on Learning Representations.
[16] Mu Li, Ziqi Liu, Alexander J Smola, and Yu-Xiang Wang. 2016. DiFacto: Distributed factorization machines. In Proceedings of the 9th ACM International Conference on Web Search and Data Mining. 377–386.
[17] Laurens van der Maaten and Geoffrey Hinton. 2008. Visualizing data using t-SNE. Journal of Machine Learning Research 9, Nov (2008), 2579–2605.
[18] Julian Mcauley, Christopher Targett, Qinfeng Shi, and Van Den Hengel Anton. Image-Based Recommendations on Styles and Substitutes. In Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information 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 International 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] Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan 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] Song J et al. Zhou C, Bai J. 2018. ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation. In Proceedings of 32th AAAI Conference on Artificial Intelligence.