DIN:Deep Interest Network for Click-Through Rate Prediction论文笔记

Deep Interest Network for Click-Through Rate Prediction论文笔记

论文地址:Deep Interest Network for Click-Through Rate Prediction

摘要

  点击率预估是在线广告等工业中一项重要的任务。最近基于深度学习的模型被提出,都是采用了相似的embedding&MLP结构。在这些方法中都是首先将大规模的稀疏特征映射到一个低维的向量,然后每种类型的特征转化为一个固定的长度向量,最后拼接在一起喂到MLP,以学习特征之间的非线性关系。通过这种方式,不管候选广告是什么,用户的特征被压缩到固定长度的表征向量。使用固定长度的向量将成为瓶颈,因为通过embedding&MLP的方式很难从丰富的历史行为中捕捉到用户的多元化兴趣。在这篇文章中,我们提出了一个新颖的模型:Deep Interest Network(DIN)解决这个问题,它是通过设计一个本地激活单元来自适应的学习用户历史行为关于候选广告的兴趣表现。这个表征想量会随着候选广告不同而不同,大大提高了模型的表达能力。另外,我们提出两个技术:小批量感知正则化( mini-batch aware regularization ) 和 数据自适应激活函数(dataadaptive activation function),这有助于工业中含有数亿参数的深度网络训练。在两个公共数据集和超过20亿样本的阿里真实生产数据集进行实验表明了本文的方法的有效性,与至今最先进的技术相比,具有更好的效果。DIN目前已经成功部署到阿里巴巴的在线广告系统中,服务于主要流量。

1 介绍

  在CPC广告系统中,广告是通过eCPM(effective cost per mille,每千次有效曝光成本)进行排序的,即出价价格与CTR的乘积进行排序,这里CTR需要由系统进行预估。因此,CTR预测模型的性能直接影响了最终的收益并在在线广告体系中起到关键的作用。CTR模型预估在学术和工业界收到了更多的关注。
  最近受到计算机视觉和自然语言处理中的深度学习的启发,基于深度学习的一些CTR预估方法被提出,这些方法都是采用了相似的embedding&MLP结构:大规模的稀疏特征首先映射到低维向量中,然后按特征类型转为到一个固定长度的向量,最后拼接在一起喂到全连接层中,以学习这些特征直接的非线性关系。相比较LR模型,这些深度模型可以减少很多特征工程的工作并且大大的提高了模型的性能。为了简单,这边将这些方法命名为embedding&MLP,这些方法已经成为了主流的CTR预估方法。
  然而在embedding&MLP中用户的表征向量被限制在一个固定的长度,这种方式将成为表现用户多元兴趣的一个瓶颈。以电子商务广告中的展示广告为例。当用户在浏览电子商务网站时可能同时对多种不同的类型的商品感兴趣。也就是说,用户的兴趣是多元的。当涉及到CTR预估时,用户的兴趣通常从他的历史行为中挖掘。Embedding&MLP方法是将一个用户的所有行为转为为一个固定长度的向量来学习所有的兴趣表征,所有的用户表征向量都是在一个欧式空间。换句话说,用户的多元兴趣被压缩到一个固定长度的向量,这限制了Embedding&MLP的表达能力。这个特征向量为了能充分的捕捉用户的多元兴趣,这个固定长度的向量的维度被扩大。不幸的是,这将极大扩大了学习参数的个数,也加大了在固定数据量下过拟合的风险。另外,这个加大了计算和存储的负担,对于工业在线广告体系中这可能是不被允许的。
  另外一方面,在预测候选广告时,没有必要将用户的多元化兴趣压缩到相同的向量,因为只有一部分人的用户兴趣会影响他的行为(点击或者不点击)。例如,一位女游泳运动员会点击护目镜,这主要因为她在她上周得购物清单中购买了泳衣而不是鞋子。受此激发,我们设计了一个新颖的模型:Deep Interest Network(DIN),它可以考虑候选广告和用户历史行为的相关性来自适应的学习用户兴趣的表征向量。通过引入一个本地激活单元,DIN通过历史行为的相关部分进行软搜索来关注相关的用户兴趣(这里我是这理解的,通过候选广告用激活单元的方式对用户的历史行为进行一个一个的匹配-软搜索,从而从用户的历史兴趣兴趣中获取与候选广告相关的兴趣),并通过加权相加池化操作获得在给定后续广告的用户兴趣表征。与候选广告相关的用户历史行为将会获得更高的激活权重,并主导用户兴趣的表征。我们在实验部分进行可视化这个现象。通过这种方式,用户兴趣的表征向量会随着候选广告不同而不同,这提高了在限制维度下的模型表达能力,并是得DIN可以更好的捕捉用户多元化兴趣。
  在工业场景下具有大规模稀疏特征的深度学习的训练是一个很大的挑战。例如,基于SGD的优化方法只回更新出现在小批量中的稀疏特征的参数。然而,增加传统的L2正则,这个计算量将变为不可接受的,因为它需要计算全部参数(在我们场景规模可达到十亿界别)的l2范式。在这边文章,我们提出了一个新颖的小批量感知正则化方法,只有小批量中出现非零特征参与到l2范式计算,这种方式使得计算成为可能。另外,我们设计了一个数据激活函数,它是PReLU的一种推广,通过自适应的调节输入分布的纠正点,这对具有稀疏特征的工业网络训练具有一定的作用。
本文的贡献如下:

  • 我们指出使用有限制的固定长度的向量来表示用户的兴趣,设计了一个新颖的DIN网络结构,它是通过引入本地激活单元自适应性的学习关于给定候选广告的用户历史行为序列的兴趣表示。DIN可以大大的提高模型的表达能力,更好的捕捉用户的多样化兴趣特征。
  • 我们提出两种新颖的技术去帮助工业场景下的深度网络训练。1)小批量感知正则化,这节省了深度网络中大量参数的正则化计算,也有利于避免过拟合。2)数据自适应激活函数,它是考虑到输入的分布情况来生成PReLU,展示了好的性能。
  • 我们在公共数据集和阿里的数据集上进行大量的实验。结果证实了DIN和(我们提出的)训练技巧的有效性。代码也开源出去了。我们方案已经被阿里巴巴(世界上最大广告平台之一)在线广告平台采用,并且为公司业务带来了显著的提升。

  在本文中,我们重点关注商务行业中广告场景中的CTR模型。这里讨论的方法同样适合于具有丰富用户行为的类似场景,例如商业中的个性化推荐场景、社交网络中的新鲜事排名等。
  论文的组织如下。第2节我们讨论了相关工作,第3节介绍了电子商务的展示广告中用户行为数据特征的背景,第4节讨论了DIN模型,第5节讨论了我们提到的两个训练技术,第6节实验,第7节总结。

2 相关工作

  CTR预测模型的结构已经经历了由浅层向深层的发展。同时,CTR模型中的样本量和特征维度也越来越大。为了更好的抽取特征信息以提高性能,几篇论文设计了模型结构。
  作为一个先驱工作,NNLM(Nerual Network Language Model,文献2)学习了每个单词的分布表示,目的是避免语言模型中的维度灾难。这种方法通常被称为embedding已经启发了许多自然语言模型和CTR预估模型,这些模型都需要处理大量的稀疏输入。
  LS-PLM[9](也称为MLR模型)和FM[20]模型可以认为是一种具有一层隐藏层的网络模型,它手写将稀疏输入上使用嵌入层,然后利用特殊的变化函数进行目标拟合,以获取特征之间的组合关系。
  Deep Crossing、wide&deep、YouTube的推荐CTR模型都是通过用复杂的MLP网络替换变换函数扩展了LS-PLM和FM模型,这个操作大大提高了模型的性能。PNN[5]通过在embedding层之后加一个product层来尝试捕获更高阶的特性相关关系。DeepFM[10]尝试用因子分解机来取代Wide&Deep模型中的“wide”部分,省去了特征工程。总体而言,这些模型都采用了embedding层(用于学习稀疏特征的稠密表示)和MLP(为了自动的学习特征组长)的相似的模型结构。这类CTR预测模型大大的减少了人工特征工程的工作。我们中的基础模型也是这样的模型。然而,在具有丰富的用户行为的场景下,特征中经常包括一个可变长度的id列表,例如在YouTube中的搜索关键字和观看的视频。这些模型经常通过求和或者平均将一些embedding的向量转为为一个固定的长度的向量,这会导致丢失了一些信息。DIN通过自适应的学习给定ad下的表示向量来解决这个问题,提高了模型的表达能力。
  Attention机制源于神经机器翻译(Neural Machine Transla-tion,NMT)领域。NMT对所有的注释进行加权求和来获得期望的注释,并且只关注与下一个目标词相关的信息。在最近的工作,DeepIntent在广告的场景下应用的attention机制。与NMT类似,他们用RNN对文本建模,然后学习一个全局的隐藏向量,来关注搜索中的每一个关键词。研究表明,attention的使用有助于捕捉搜索或者广告的主要意图。DIN设计了一个本地激活单元来软搜索用户的相关行为(这里就是指用用候选广告与用户历史行为的广告进行一个一个匹配),并采用加权求和的方式获取给定广告下的用户兴趣的自适应表示。这里用户的表示向量会随着候选广告不同而不同,这不同于DeepIntent下的广告和用户没有交互。
  我们把代码开源出去,然后进一步的展示了如何成功的将DIN模型部署到世界最大的广告系统之一上,这个广告系统是在数亿参数上进行训练模型。

3 背景

  在像阿里巴巴这种电子商务网站上,广告很自然的就是各种商品。在本文后面的章节,如果没有特别声明,广告就是指商品。Figure1简单描述了阿里巴巴中的展示广告的运行过程,这包括两个主要步骤:

  1. 匹配阶段:通过类似协同过滤的方式生成访问用户的候选广告集合
  2. 排序阶段:预测每一个给定的ad,然后选择排名靠前的广告。

展示广告的运行过程

每天,亿量级的用户访问电子商务网站,留下了大量的用户行为数据,这些数据对我们建立匹配和排序模型至关重要。值得一提的是,具有丰富历史行为的用户具有不同的兴趣。例如,一个年轻的母亲最近浏览了包括羊毛大衣、T恤、耳环、手提包、皮包和儿童大衣在内的商品。这些数据使我们了解她的购物兴趣。当他访问一个电子商务网站时,系统会向她显示一个合适的广告,例如一个新的手提包。显然这边展示广告只能体现她的一部分兴趣。总之,用户的兴趣是多样的,可以被给定的广告进行激活。在文章的后续内容中我们展示了利用这些特征对CTR建模的重要作用。

4 深度兴趣网络

  不同于搜索引擎中的发起搜索,用户在没有明确意图下进入展示广告系统。在建立CTR模型时需要有效的方法从用户丰富的历史行为中提取用户兴趣。描述用户和广告的特征是CTR模型中的基本要素。合理的利用这些特征并从中挖掘信息至关重要。

4.1 特征表示

  工业CTR预测任务中的特征大多都是多组分类的形式,例如,[weekday=Friday, gender=Female,visited_cate_ids={Bag,Book}, ad_cate_id=Book],通过编码[4,19,21]可将其转化为高纬的稀疏二进制特征。数学上,对第i个特征组进行编码为。表示的是第i个特征组的维度,这表示特征组i含有个唯一的广告。是中第个元素,并且 。。是一个向量,当时表示的one-hot编码,当时表示的multi-hot编码。,这里表示就是特征组(特征组可以理解为不同类别的特征,例如年龄、国家、商品id、店铺id、性别,这里M就是5),,这里表示整个特征空间的维度。通过这种方式,上述有四个组的特征可以表示为:

特征信息

  Table1中我们描述了我们使用的整个特征集合。它有四个类别组成,其中用户行为特征就是典型的multi-hot编码的向量,包含了丰富的用户兴趣信息。请注意在我们的设置中,没有组合特征。我们使用深度神经网络来捕捉交叉特征。

深度网络结构

4.2 基础模型(Embedding&MLP)

大多流行的模型结构都采用了相似的Embedding&MLP结构,这里我们称之为基础模型,正如Fig2中的左半部分。它包括以下几个部分:
嵌入层:由于输入是高维的二进制变量,嵌入层把他们转化为低维稠密表示。对于第i个特征,我们用表示第i个特征的编码字典,这里是一个D维的embedding向量。embedding操作遵循查表机制。

  • 如果是one-hot向量,第j个元素,则经过embedding操作后就是一个单个的embedding向量
  • 如果是multi-hot向量,且当时。则经过embedding操作后就是一个embedding组:

池化层和连接层:注意到不同的用户有不同数量的行为。因此,对于multi-hot行为特征来说非零值的特征向量也是因人而异的,导致了相应的embedding向量长度也是可变的。由于全连接层只能处理固定长度的输入,通常的做法是通过池化层将embedding向量列表转化为一个固定的长度:
两个常用的池化操作是求和池化和平均池化,他们按元素的求和或者平均操作应用于embedding向量列表。
  Embedding层和pooling层都是以特征组的粒度进行操作的,将原始的稀疏特征映射到多个固定的长度的表征向量。然后将全部的向量连接在一起来获得一个实例的表示向量。
MLP:在给定拼接稠密表示向量下,全连接层用来学习特征之间的自动组合功能。最近的方法[4,5,10]都是通过设计MLP结构来更好的抽取信息。
损失:基本模型中使用的损失函数是负对数似然函数:

这里是具有N个大小的训练集,是输入特征,是label,是经过softmax层后的输出,表示样本被点击的概率。

4.3 DIN的结构

  在Table1描述的特征中,用户行为特征是非常重要的,并且在电子商务场景中的兴趣建模起到了至关重要的角色。
  基本模型通过将用户的兴趣embedding向量经过池化(公式1)操作后获得固定长度的表征向量。无论候选广告是什么,这个表征向量对一个人来说都是相同的,这里有限制的用户表征向量的长度将成为表示用户不同兴趣的瓶颈。为了能获取更多的信息,一个简单的方式扩大向量的维度,不幸的这极大增加了学习参数的大小。这也加大了在有限训练集数量下过拟合的风险,增加了计算和存储的负担,这些可能在工业的在线广告体系中是不被容忍的。
  在有限维度的向量下有没有一种巧妙的方式表示用户的不同兴趣?用户兴趣的局部激活给了我们设计DIN模型的灵感。想象一下我们在章节3中年前的母亲浏览电子商务的网站时,她发现新的手提包很可爱然后点击了一下。让我们分析一下这个点击行为背后的动机。展示广告通过软搜索她的历史行为,发现她最近浏览了类似的手提袋和皮包,命中了她的相关兴趣。换句话说,与展示广告相关的历史行为极大的促进了点击。DIN通过在给定广告下进行局部激活相关的兴趣来模拟这个过程。DIN通过考虑历史行为与候选广告的相关性,自适应的计算用户兴趣的表示向量,而不是用一个向量来表示用户的不同兴趣。这个表示向量会随着候选广告不同而不同。
  Fig2中的右侧部分描述了DIN的体系结构。相比较基础模型,DIN引入了一个本地激活单元,其他的地方与基础模型相似。具体来说,激活单元被用于用户行为特征,在给定候选广告A下,它以加权池化的自适应的计算用户表示,如公式3所示:

这里表示的是用户U的长度为H的行为embedding向量列表,表示的广告A的embedding向量。通过这种方式,会随着广告的不同而不同。表示的是feed-forword网络,其输出作为激活权重。除了两个输入embedding向量,将运行结果添加到后续的网络中,这有助于建模的显性知识。

参数解释

  公式3中的局部激活单元与NMT中的attention方法是相似的。传统的attention会做一个归一化()操作,目的是为了保留用户的兴趣强度。但是在DIN模型没有这个限制条件。相反,的值是在某些程度是被认为激活用户兴趣强度的近似值。举个例子,如果一个人历史行为包含了90%的衣服和10%的电子产品,给定两个候选广告T恤和手机,T恤激活他历史中属于衣服的行为,并且的值可能比手机的值更大(更强烈的兴趣)。传统的attention方式通过正则化可能失去了对数值上的分辨度。
  我们尝试用LSTM对用户的历史行为进行建模。但是效果没有提升,与NLP任务中受语法约束不同,用户的历史行为序列可能包含多个并发的兴趣。用户兴趣的快速跳跃和突然结束使得用户的行为序列看起来很异常。一个可行的方向是设计特征的结果来训练这些序列类的数据。这留到以后来研究。

5 训练技巧

  在阿里巴巴的广告系统中,商品和用户的规模都是亿级别的。实际上,在工业中大规模稀疏输入特征的深度网络模型的训练是一个很大的挑战。在这个章节,我们介绍2个在实践中被证明有用的重要技术。

5.2 小批量感知正则

  过拟合问题是工业网络训练中一个很大的挑战。例如,通过添加细粒度的特征(例如有6亿维度goods_ids,包括用户浏览商品id、获选广告id),如果没有正则化,模型的效果在第一轮训练后就会迅速的下降,正如Fig4中深绿色线展示的一样。在具有稀疏输入和数亿个参数的训练网络上直接使用传统的l1和l2正则是不现实的。拿l2正则距离,在没有正则的条件下只有在每个小批量中不为0的稀疏特征的参数需要被更新,更新方式是基于SGD的优化方法。然而,当加上l2正则后,需要在没一个小批量数据中计算全部参数的l2范式,这会导致极大的计算复杂度,在数亿参数规模的网络训练中也是不可接受的。
  在这个文章中我们引入一个有效的小批量感知正则,它只对出现在每个小批量数据中的稀疏特征的参数进行计算l2范式,这样就是的计算成为了可能。事实上,是embedding字段贡献了CTR网络中的大部分参数,引起了沉重的计算困难。我们另为整个embedding字典,表示embedding向量的维度,表示特征空间的维度。在上施加l2正则如下:

这里是第j个embedding向量,表示的是样本含有特征,表示的是特征在所有样本中出现的次数。公式4可以转化为小批量感知的形式公式5,

这里表示小批量的个数,表示的第m轮小批量。我们另表示在小批量至少有一个实例有特征j。因此公式5可以大约被以下公式替代:

通过这种方式,我们提出了基于l2正则一个近似的小批量感知的版本,对第m次小批量,特征j的embedding权重的梯度更新如下:

,只有出现在第m次小批量中特征参数才会被进行正则计算。

公式7中的后半部分就是将公式6对求导后的公式

5.2 数据自适应激活函数

RReLU[12]是一种常用的激活函数:

这里s是一个一维的激活函数f(.)的输入,表示的是s大于0时为1,s不大于0时为0。是第二个通道的一个学习参数。这里我们将称为控制函数。Fig3中的左半边部分就是PReLU激活函数。PReLU采用的是0值作为应纠正点(就是是否乘以),当每层的输入数据分布不同时这可能就不再适合了。考虑到这一点,我们设计了一种新颖的自适应激活函数Dice

正如Figure3中的右侧所示。在训练阶段,和是每个小批量的均值和方差。在测试阶段,和是在整个数据集上的所有小批量的和的均值。是一个很小的常数,这里我们设置为。

激活函数

  Dice可以看做为PReLU的推广。Dice的关键思想是根据输入数据的分布情况自适应的调节校正点(PReLU是把0作为校正点),其值被设置为输入的均值。此外,Dice平滑的控制两个通道的切换。当和时,Dice退化为PReLU。

6 实验

  在这个章节,我们介绍了实验的细节,包括数据集、评估、实验设置、模型对比和相应的分析。在两个具有用户行为的公共数据集和阿里巴巴的展示广告系统中收集的数据上进行实验,证实了该方法比现在最先进的CTR预测任务要更有效。数据和代码均会开源出去。

6.1 数据集和实验设置

Amazon Dataset。亚马逊数据集包含了用户评论和元数据,这作为基准数据集。我们的实验在数码产品的子集上进行,它包含了192403个用户、63001个商品、801个类别、1689188个样本。在这个数据集上的用户行为数据是丰富的,每个用户和商品都有5条以上的评论。特征包括商品id、类别id、用户评论商品列表、类别id列表。我们用表示一个用户的所有行为,任务是利用前k个评论商品,来预测第k+1个商品的评论。训练集是用每个用用户第k()个商品评论进行生成的。在测试集上,我们用前n-1个商品评论来预测最后一个商品评论。对于所有的模型,我们用具有指数衰减的SGD作为优化器,学习率起始设置为1,衰减率设置为0.1。小批量的样本大小设置为32.
MovieLens Dataset。MovieLens数据包括了138493个用户、27278个电影、21个类别、20000263个样本。为了使其适应CTR任务,我们把他转换为2分类。原始的数据中用户的评论分值是从0到5,这里我们把4分和5分标记为正样本,其余的分数标记为负样本。根据用户ID切分为训练集和测试集。在所有138493个用户中,随机选取100000用户的数据作为训练集(样本量为14470000),剩余的38493个用户作为测试集(样本量为5530000)。这个任务是根据用户的历史行为来预测用户是否对一个电影评分超过3分。特征包括电影id、电影类别id、用户评论的电影列表、电影类别列表。我们使用与亚马逊数据集上一样的训练实验设置:优化器、学习率、小批量的样本量大小。
Alibaba Dataset。从阿里巴巴在线展示广告系统中收集流量日志,其中2周的数据作为训练集,接下来一天的数据作为测试集。(前14天的数据作为训练集,第15天的数据作为测试集)。训练集和测试集的样本量大小分别为20亿和1.4亿。对于深度模型来说,16组的特征embedding向量维度为12。MLP层的设置为。由于数据量巨大,我们设置为小批量的大小为5000,并且使用Adam作为优化器。应用指数衰减,设置起始学习率为0.001,衰减率为0.9。
  数据的统计信息见Table2 。阿里巴巴的数据集要比亚马逊和MovieLens加和还要大,这也带来了更多的困难。

数据集信息

6.2 竞争模型

  • LR。在深度模型之前,逻辑回归模型是一个广泛使用的浅层模型。这里LR作为一个弱基准。
  • BaseModel。如4.2中介绍的,基准模型符合embedding&MLP结构,也是之后CTR深度网络模型中的一个基准模型。这里BaseModel作为一个作为对比的强基准模型。
  • Wide&Deep。在实际的工业场景中,Wide&Deep模型以及被广泛的使用。它包含2个部分:1)wide模型,需要人工的处理交叉特征 ,2)deep模型,自动提取特征之间的非线性关系,等同于BaseModel。Wide&Deep模型中需要在“Wide”模块中需要特征工程的经验。我们参考文献10中的做法,讲用户的行为和候选进行交叉作为wide的输入。例如,在MovieLens 数据集中,它值得是用户评论的电影与候选电影进行交叉。
  • PNN。PNN可以被看做为在embedding层之后加入了product层来捕捉高阶特性交互信息,它被认为是BaseM的改进版本。
  • DeepFM。它采用了因子分解机的机制来替代Wide&Deep中“wide”的特征工程工作。

6.3 指标

  在CTR预测领域,AUC是一个常用的指标。它通过CTR预测,包括对用户内和用户间订单,对所有的广告进行排序,其中正样本被排到负样本前的概率来衡量模型的好坏。文献[7,13]中介绍了一种加权的AUC计算方式,其衡量了用户内的AUC的平均值作为作为衡量指标,它能与在线展示广告体系中的线上效果更为相关。
( 这里使用的就是GAUC )。这里我采用这种auc作为评估方式。计算公式如下:

,这里n是用户的数量。是第i个用户的广告曝光数,是第i个用户的AUC。
  另外,我们采用文献[25]介绍的RelaImpr来衡量模型的提升效果。对于一个随机分预测,AUC的值是0.5。因此,RelaImpr定义如下:

6.4 Amazon和MovieLens数据集上的模型对比效果

Amazon和MovieLens数据集上的效果对比

  Table3展示了在亚马逊和MovieLens上的实验结果。所有的实验都是重复5次,最后取平均值作为结果。随机初始化对AUC的影响小于0.0002。显然,所有的深度神经网络都明显要比LR模型要好,这证明了深度学习的强大的力量。具有特殊设计结构的PNN和DeepFM效果要比Wide&Deep模型要好。在这些模型中,DIN模型的效果是最好的。尤其是在具有丰富用户行为的亚马逊数据集,DIN的效果更为显著。我们把这个归功于DIN中的局部激活单元。DIN通过在用户的历史行为中进行软搜索与候选广告相关的行为,来关注用户的局部兴趣。通过这种机制,DIN获取了用户兴趣的自适应变化,与其他的深度网络相比,大大提高了模型的可表达性。另外,带有Dice的DIN比DIN效果更好一些,这证实了数据自适应激活函数的有效性。

6.5正则化的效果

正则化效果

  因为在亚马逊和MovieLens数据集上的特征维度都不高(大约10w),包括DIN在内的深度网络模型都没有遇到严重的过拟合问题。然而,当在阿里巴巴这种包含高纬稀特征的在线广告系统的数据上,过拟合成为了一个大的挑战。例如,当用细粒度的特征(例如直接使用table1中的具有6亿维度的商品特征)进行训练深度网络时,没用正则化下在第一轮后过拟合就出现了,因为了模型的效果的严重下降,正如fig4中的深绿色的线。因为这个原因,我们进行了仔细的实验来对比几种常用正则化的效果。

  • Dropout。随机丢弃每个样本中50%的特征。
  • Filter。根据样本出现频率进行过滤,只留下最频繁的。在我们的设置中只留了top2亿的商品id。
  • Regularization in DiFacto[16]。与频繁特征相关的参数不进行过度正则化。
  • MBA。就是本文提出的Mini-Batch Aware正则方式(公式4)。在DiFacto和MBA中正则化参数设置为0.01。
在阿里数据集上,不同正则化的效果

  Fig4和Table4给出了不同正则化的对比结果。在Fig4中,使用细粒度特征的深度网络训练可以在第一轮中给测试集带来很大效果提升。然而,没有正则化,过拟合就会快速的发生(图中深绿色的线)。Dropout可以组织过拟合的发生,但是也引起了收敛速度变慢。是inDiFacto 对高频率的商品id设置了更大的惩罚,它的性能要比filter的效果要差。与其他的方法相比,小批量感知(MBA)正则的性能最好,它可以显著的防止过拟合。
  另外,使用商品id特征的模型训练完成后,AUC要比没有使用商品id特征的正则化要好。这是因为细粒度的特征包含丰富的信息。考虑到这一点,尽管frequency filter的性能要比dropout要好一点,它丢弃了大多低频的商品id,可能失去了使用细粒度特征的模型发挥空间。

6.6 在阿里巴巴数据集上的模型对比

阿里数据集上的模型效果

  Table5展示了使用全部特征的实验结果。正如预期的一样,LR被证明要比深度模型弱很多。通过几个深度模型的对比,有以下结论。第一,在相关激活函数和正则下,DIN性能要比其他的神经网络模型(包括基准模型、Wide&Deep、PNN、DeepFM)要好。与基准模型相比,DIN获得了0.0059的绝对AUC收益和6.08%的RelaImpr 提升。这再次证实了局部激活单元的有效性。第二,基于DIN的实验证明了我们提出的训练技巧的有效性。在DIN模型上使用小批量正则化要比dropout提高0.0031的绝对AUC收益。另外,使用Dice激活函数的DIN要比使用PReLU激活函数的DIN要高0.0015的绝对AUC收益。
  总之,带有MBA和Dice的DIN网络要比基准模型高11.63%的RelaImpr,比基准模型多0.0113的绝对AUC增益。即使与在这个数据集上最好效果的模型DeepFM相比,DIN也获得了0.009的绝对auc收益。知得注意的是,在商业广告体系中,0.001的绝对auc就是显著的,值得去做模型部署。DIN对于更好的理解和使用用户行为数据的特征表现了 巨大的优越性。此外,这两种技术进一步提高了模型性能,为大规模的工业深度网络训练提供了强有力的帮助。

6.7 在线AB实验的结果

  在201705至201706,在阿里巴巴展示广告中进行了仔细的AB实验。在几乎一个月的测试中,带有MAB和Dice的DIN模型要比基准模型有高达10.0%的ctr和3.8%PRM(Revenue Per Mille ,(预计收入 / PV数 ) * 1000)效果提升。这是一个有意义的改善,证实了方法的有效性。现在DIN已经部署线上,服务于主要的流量。
  值得一提的是,工业深度网络的在线服务化不是一个简单的事,每天都有数亿用户访问我们的系统。更糟糕的是,在流量高峰,我们的系统每秒要为超过100w的用户提供服务。这就要求实时的CTR预测要有高吞吐量和低延迟。例如,在我们实际的系统中,我们要在不到10ms为每个用户预测几百个候选广告。在我们实践中,为了加速工业深度网络的在线允许,我们在CPU-GPU下采用了几个重要的技术:1) 合并来自cpu的相邻请求,以利用GPU的效率 ,2)GPU内存优化,通过提高访问模式来减少GPU内存中的事务浪费,3)并发内核计算,允许使用使用多个CUDA内核来处理矩阵计算。总之,这些优化技术使得单机的QPS加倍。DIN的在线服务也因此受益。

6.8 DIN可视化。

  最后,我们在阿里数据集上进行case分析,来研究DIN的内部结构。我们首先检查局部激活单元的有效性。Fig5描述了在特定候选广告下用户不同的历史行为激活强度。如预期一样,与候选广告相关的用户行为具有更高的权重。


DIN中的激活单元

DIN中的商品embedding可视化

  然后我们将embedding向量进行可视化。拿之前年轻母亲为案例,我们随机选取9个类别(服装、运动鞋、箱包等)和每个类别有100个商品作为她的候选广告。Fig6展示了用DIN学习的商品的embedding向量用t-SNE方式进行可视化,其中形状相同的点是同一类别。可以看出,相同类别的商品几乎属于同一集群,这充分体现了DIN embedding的聚集性。另外,我们根据预测值对候选广告进行上色。Fig6同样展示了在embedding空间中,这位母亲对潜在候选广告的兴趣密度分布热图。它表明DIN可以在候选embedding空间中,从一个多兴趣密度分布中捕捉到一个特定用户的多元化兴趣。

7 结论

  本文主要研究了在具有丰富用户历史行为数据的电子商务场景下的展示广告中CTR预估模型问题。在传统的CTR模型中使用固定长度的表证向量是捕捉用户多元化兴趣的瓶颈。为了提高模型的表示能力,一种新颖的DIN模型来激活相关的用户行为,获得在不同的广告下的用户兴趣的自适应表示向量。此外,介绍了两种新的技术(Mini-BatchAware regularization-小批量感知正则MAB自适应激活函数Dice)去帮助工业中深度网络的训练,进一步提高了DIN模型的效果。这两种技术可以轻易推广到其他的工业深度学习任务中。DIN现在已经部署到阿里巴巴的在线广告系统中。

这篇文章是借鉴attention机制,施加在用户的历史行为和候选广告之间,认为这样就可以捕捉到用户的多元化兴趣,在不同的候选广告下能激活用户的不同兴趣。另外提出两种训练的技巧,小批量感知正则化(只对出现在小批量中的特征参数进行l2范式计算)和自适应激活函数(取代了PReLU以0作为切换点)。

你可能感兴趣的:(DIN:Deep Interest Network for Click-Through Rate Prediction论文笔记)