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

本文详细介绍了深度兴趣网络(DIN)模型,该模型解决了词嵌入结合多层感知机(Embedding&MLP)在表达用户多样兴趣时的局限性。DIN通过引入局部激活单元,根据对应广告自适应地学习用户兴趣,提高了模型的表达能力。此外,论文还提出了小批量感知正则化和数据自适应激活函数,以应对大规模稀疏特征的深度学习模型训练挑战。实验在公开数据集和阿里巴巴真实场景数据上进行,证明了DIN模型的优越性能,已被部署在阿里巴巴的在线广告系统中。
摘要由CSDN通过智能技术生成

论文地址:https://arxiv.org/abs/1706.06978
开源代码:https://github.com/zhougr1993/DeepInterestNetwork
本文是原创,转载请注明出处:https://blog.csdn.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预测模型起着重要作用。
图1:阿里巴巴显示广告系统运行过程示意图,其中用户行为数据起着重要作用。
图1:阿里巴巴显示广告系统运行过程示意图,其中用户行为数据起着重要作用。

4 深度兴趣网络

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

4.1 特征表达

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

4.2 基本模型(Embedding&MLP)

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

Embedding layer

由于输入是高维二进制向量,因此使用嵌入层将它们转换为低维稠密向量表示。 对于ti的第i个特征组,设为
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*K_i} Wi=[W1i,...,Wji,...,WKii]RDKi
表示第i个嵌入式字典,其中 w j i = R D w_j^i = R^D wji=RD是嵌入维数为D的向量。嵌入操作遵循表查找机制,如图2所示。

  1. 如果 t i t_i ti是具有第j个元素 t i [ j ] = 1 t_i [j] = 1 ti[j]=1的单热矢量,则ti的嵌入表示是单个嵌入向量 e i = w j i e_i = w_j^i ei=wji
  2. 如果对于 j ∈ { i 1 , i 2 , . . . , i k } j\in \{i_1,i_2,...,i_k\} j{ i1i2...ik} t i t_i ti t i [ j ] = 1 t_i [j] = 1 ti[j]=1的多热矢量,则 t i t_i ti的嵌入表示是嵌入向量列表: { e i 1 , e i 2 , . . . , e i k } = {
HIVT(Hierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值