当前位置: 代码迷 >> 综合 >> Deep Interest Network for Click-Through Rate Prediction 阅读笔记
  详细解决方案

Deep Interest Network for Click-Through Rate Prediction 阅读笔记

热度:85   发布时间:2023-12-07 01:27:35.0

目录

笔记

行为数据特点

其他的贡献

GAUC

Dice激活函数

自适应正则化

XDL平台

摘要

1.引言

2.相关工作

3、系统概述

3.1、用户行为数据特征

3.2、特征表示

3.3 评价指标( Metrics)

4、模型体系结构

4.1、基线模型

4.2、深度兴趣网络设计

4.3、依赖数据的激活单元

4.4自适应正则化技术

5、实施

6、实验

6.1 DIN可视化

6.2、正则化

6.3、 DIN与基线的比较

7、结论


 

笔记

行为数据特点

  • 多样性:针对用户广泛的兴趣,DIN用an interest distribution去表示
  • 局部激活:attention机制,和当前候选Ad相关性越高的历史行为,会获得更高的attention score

这边还与Neural Machine Translation(NMT)做了对比(In NMT task it is assumed that the importance of each word in each decode process is different in a sentence,在NMT任务中,假设每个词在每个解码过程中的重要性在一个句子中是不同的),注意力机制会给句子中的每个词分配attention scores,作者认为这遵循的是数据的多样性。但是并没有遵循局部激活。作者认为这么做,一旦模型给定,我们就能得到user向量和item向量的表示,且它们可以看成这种便是空间中固定的一点,那么若一个user向量与两个item向量都很相似(这边用的点积),那么意味着两个item之间的很多item都与用户相似性很高这显然不合适。这边不是很理解,感觉有点像说这种做法会使用户向量固定,但其实用户历史行为序列哪些对现在有影响是要依据target来看的,所以后来借助了注意力机制,将user向量表示成了item向量和target向量的函数,不再是一个固定的点。

作者提到可以靠提升维度解决,但这样会带来别的问题。然后解决方法就是借助注意力机制将user向量表示成了item向量和target向量的函数,不再是一个固定的点。例如我们将用户向量看成历史行为序的加权和,权重可以是该历史行为的商品与target相似性。这样target不同,用户向量自然就不同了,由于相似性的存在,那么自然与target相似的item对结果的影响就大了呀。行为序可以看成多样性,这边借助注意力机制将用户向量表示为行为序和target的函数就是局部激活啦。

其他的贡献

GAUC

用AUC评价会存在用户bias,反映的是整体样本间的一个排序能力。但是我们展示商品是针对一个个用户的呀,我们需要的是对每一个用户的每一次展示都能做到好的排序,这与整体排序还是有差别的,我们简单点,可以看对每一个用户的排序,这与整体排序也是有差别的。

举个? ,有用户A和B,一共有5个样本,其中+表示正样本,-表示负样本,我们把5个样本按照模型1预测的score从小到大排序,得到 甲-,甲+,乙-,甲+,乙+. 那么实际的auc应该是 (1+2+2)/(3*2)=0.833, 那假如有另一个模型2,把这5个样本根据score从小到大排序后,得到 甲-,甲+,甲+,乙-,乙+, 那么该模型预测的auc是(1+1+2)/(3*2)=0.667,我们依据AUC来看,自然是模型1好一点。但是这边可能是乙就喜欢打高分,甲就喜欢打低分造成的,即用户bias。那么我们看看GAUC,即针对每个用户的排序,模型1对于乙没有做到很好的排序,但是模型2对甲乙都完美排序了,GAUC来看模型2更优,这与我们想要的效果也更加接近。

Dice激活函数

可以提升性能更好的收敛,可以和batch normalization一起看看。

y_i = \left\{\begin{matrix} y_i & if \ y_i > 0\\ a_iy_i & if \ y_i \leqslant 0 \end{matrix}\right. \ \ \ \ \ \ \ \ \ \ (3)

\begin{aligned} E[y_i]_{t+1}^{'} &= E[y_i]_t^{'} + \alpha E[y_i]_{t+1} \\ Var[y_i]_{t+1}^{'} &= Var[y_i]_t^{'} + \alpha Var[y_i]_{t+1} \end{aligned}

自适应正则化

电商场景长尾效应明显,我们也清楚在模型训练的时候做了特征转换后某些特征的数据量少可能会学习的不充分,也可能引入噪音,这边对低频商品做了较大的惩罚高频商品较为放松,给出的理由是热门商品无论对AUC这种离线指标还是对线上的收入影响都很大。

w_i \leftarrow w_i - \eta [\frac{1}{b} \sum_{(x_j, y_j)\in B} \frac{\partial L(f(x_j), y_j)}{\partial w_i} + \lambda \frac{1}{n_i}w_iI_i ] \ \ \ \ \ \ \ \ \ (9)

对比了L1、L2正则,Dropout,过滤低频、以及对高频惩罚的厉害放松低频的惩罚等正则。

XDL平台

 

摘要

在电子商务行业的在线广告系统中,如何利用丰富的历史行为数据更好地提取用户的兴趣,是建立点击率预测模型的关键。对用户行为数据有两个关键的观察结果:i)多样性。用户在访问电子商务网站时对不同种类的商品感兴趣。ii)局部激活。用户是否点击一个物品只取决于他们相关的历史行为的一部分。然而,大多数传统的CTR模型缺乏对这些行为数据结构的捕捉。在本文中,我们介绍了一个新的模型,深度兴趣网络(DIN),它是在阿里巴巴的展示广告系统中开发和部署的。DIN通过兴趣分布来表示用户的不同兴趣,并设计了一个类似注意的网络结构,根据候选广告局部激活相关兴趣,该模型表现显著优于传统模型(DIN represents users’ diverse interests with an interest distribution and designs an attention-like network structure to locally activate the related interests according to the candidate ad)。在工业界,有大规模稀疏特征的深度神经网络很容易过拟和。针对这个问题提出了一个自适应正则化技术。

1.引言

在CPC广告系统中,广告按eCPM(每千有效成本)排序,eCPM是bid和ctr的乘积。因此,CTR预测模型的性能直接影响到最终的收益,在广告系统中起着关键的作用。

鉴于深度学习在图像识别、计算机视觉和自然语言处理等领域的表现,许多基于深度学习的方法被提出用于CTR预测任务。这些方法通常用embedding层作为输入层,将原始的大规模稀疏id特征映射到 distributed representations 中,然后加入全连接层(即多层感知器,mlp)来自动学习特征之间的非线性关系。然而,在拥有大规模用户行为数据的领域(如电商行业的在线广告和推荐系统等),这些MLPs模型对用户行为数据这类特殊的数据不能够很好的表达和利用,从而留下了进一步改进的空间。

阿里巴巴展示广告系统中收集的用户行为数据的结构有两个重要的特点:

?多样性。即用户在线上购物时往往同时表现出多种兴趣。例如,一位年轻的母亲可能同时对T恤、皮包、鞋子、耳环、儿童外套等感兴趣。

?局部激活。即用户是否会点击推荐给他的某一件商品,往往是基于他之前的部分兴趣,而非所有兴趣。例如,一个游泳运动员会点击推荐的护目镜,主要是因为买了泳衣,而不是她上周购物清单上的书。

本文介绍了在阿里巴巴展示广告系统中开发和部署的一个新的模型,即深度兴趣网络(Deep Interest Network,DIN)。受机器翻译模型[7]中注意力机制的启发,DIN通过兴趣分布表示用户的不同兴趣,并设计了一个类似注意力的网络结构,根据候选广告局部激活相关兴趣(DIN represents users’ diverse interests with an interest distribution and designs an attention-like network structure to locally activate the related interests according to the candidate ad)。我们在实验第6.1节中演示了这一现象。与候选广告相关度越高的行为,其注意力得分越高,对预测具有主导作用( Behaviors with higher relevance to the candidate ad get higher attention scores and dominant the prediction)。在阿里巴巴的生产性CTR预测数据集上的实验证明,在GAUC(group-weightedauc,见第3.3节)度量下,提出的DIN模型显著优于MLPs。

在工业界,有大规模稀疏特征的深度神经网络很容易过拟和。实验表明,加入细粒度用户行为特征(如商品id)后,深度网络模型容易陷入过拟合,导致模型性能急剧下降。在本文中,我们仔细研究了这个问题,并提出了一个自适应正则化技术,这在我们的应用中可以有效的改善网络收敛性

DIN是在一个支持模型并行和数据并行的多GPU分布式训练平台XDL上实现的。为了利用互联网行为数据特征,我们采用了文献[8]中提出的通用特征技巧来降低存储和计算成本。由于XDL平台的高性能和灵活性,我们将训练过程加快了10倍左右,并且可以高效的自动对超参进行调优。

下面总结了该文的贡献:

?电商用户行为数据的特点:多样性和局部激活

?我们提出了一种深度兴趣网络(deep interest network,DIN),它可以更好地捕获行为数据的上述两大特点,并提高模型性能。

?针对在工业界,有大规模稀疏特征的深度神经网络很容易过拟和的问题,提出了一种实用的自适应正则化方法,该方法可以很容易地推广到类似的工业任务。

?我们开发了XDL平台,这是一个用于深度网络的多GPU分布式培训平台,它具有可扩展性和灵活性,能够以高性能支持我们的各种实验。

本文主要研究电商行业展示广告场景下的CTR预测问题。本文所讨论的方法可以应用于类似的具有大规模的用户行为数据的场景,如电商网站中的个性化推荐社交网络中的feeds流排序等

论文的其余部分组织如下。我们在第二节讨论相关工作。第3节概述了我们的展示广告系统,包括用户行为数据和特征表示。第四节描述了DIN模型的设计以及自适应正则化技术。第五节简要介绍了开发的XDL平台。第6节展示了实验和分析。最后,我们在第七部分对论文进行了总结。

2.相关工作

随着特征数目和样本规模的不断增大,CTR预测模型由浅层向深层演化。随着特征表示的挖掘,模型结构的设计涉及到更多的细节。

NNLM[9]提出学习单词的分布式表示(distributed representation for words),以避免语言建模中的维数灾难。这个想法,我们称之为Embedding,启发了许多需要处理大规模稀疏输入的自然语言模型和CTR预测模型。

LS-PLM[8]和FM[10]模型可以看作是一类具有一个隐藏层的网络,它首先在稀疏输入上使用嵌入层,然后对输出施加特殊设计的变换函数,以捕捉特征之间的组合关系。(LS-PLM [8] and FM [10] models can be viewed as a class of networks with one hidden layer, which first employs embedding layer on sparse inputs and then imposes special designed transformation functions for output, aiming to capture the combination relationships among features.)

Deep Cross[1](Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features)、Wide & Deep Learning[4](Wide & Deep Learning for Recommender Systems)和YouTube Recommendation CTR model [2] (Deep Neural Networks for YouTube Recommendations)用复杂的MLP网络代替了LS-PLM和FM的变换函数,大大增强了模型的性能。它们遵循相似的模型结构,都有嵌入层(用于学习稀疏id特征的分布式表示)和MLPs(用于自动学习特征的组合关系)。这种CTR预测模型在很大程度上替代了人工合成的特征组合。我们的基线模型遵循这种模型结构。然而,值得一提的是,对于具有用户行为数据的CTR预测任务,特征往往包含multi-hot sparse ids,例如YouTube推荐系统中的搜索词和观看的视频。这些模型通常在嵌入层之后再加入一个池化层,通过sum pooling或average pooling得到一个固定大小的嵌入向量。这将导致信息的丢失,无法充分利用用户丰富的行为数据的交互信息。

神经机器翻译(Neural Machine Translation)领域的注意力机制极大的启发了我们(Neural Machine Translation by Jointly Learning to Align and Translate)。NMT对所有注释(annotations)进行加权求和,得到期望的注释,并且只关注与双向RNN[11]机器翻译任务中下一个目标词的生成相关的信息。这启发了我们设计类似注意力的结构来更好建模用户多样的历史兴趣。最近的一项工作,DeepIntent[3]也应用了注意力机制来更好地建模大规模数据的交互信息,它给不同的单词分配不同的权重,从而在赞助搜索(sponsored search)中获得更好的句子表示。但是,查询和文档之间没有交互,也就是说,给定模型,查询或文档表示是固定的。这个场景与我们不同,因为在DIN模型中,用户表示随着展示广告系统中不同候选广告的变化而变化(This scenario is different from us since in DIN model user representation is adaptive changing with different candidate ads in display advertising system)。换句话说,DeepIntent捕获了数据的多样性结构,但忽略了局部激活属性,而DIN模型同时捕获了这两个属性

3、系统概述

展示广告系统的总体场景如图1所示。注意,在电商网站中,广告是天然的商品。因此,没有特别声明,我们在本文的其余部分将广告称为商品。

当用户访问电子商务网站时,系统

  1. 检查他的历史行为数据
  2. 通过召回模块(matching model)生成候选广告
  3. 通过ranking module得到候选ads的点击概率,并根据概率排序得到推荐列表
  4. 记录用户对展示的广告的反应

这形成了用户行为数据消耗和生产的闭环。在阿里巴巴,每天有数以亿计的用户访问电商网站,给我们留下了大量真实的数据。

3.1、用户行为数据特征

表1显示了从我们的在线产品中收集的用户行为示例。在我们的系统中,用户行为数据有两个明显的特征:
?多样性。用户对不同种类的商品感兴趣。
?局部激活。只有一部分用户的历史行为与候选广告有关。

3.2、特征表示

我们的特征集由稀疏ID组成,这是一种传统的行业设置,如[1,4,5]。我们将他们分成四组,如表2所述,分别是用户特征、用户行为特征、广告特征、上下文特征。特征均被变换为one-hot或者multi-hot形式的数据。请注意,在我们的设置中没有组合特征。我们会通过深度网络来学习特征的交互

3.3 评价指标( Metrics)

Area under receiver operator curve(AUC)[12]是CTR预测常用的评价指标。这边提出了GAUC,他是AUC的推广。GAUC是每个用户在样本组的子集中计算的AUC的加权平均值。权值可以是展示或点击。基于展示的GAUC计算如下:

GAUC = \frac{\sum_{i=1}^nw_i * AUC_i}{\sum_{i=1}^nw_i}= \frac{\sum_{i=1}^nimpression_i * AUC_i}{\sum_{i=1}^nimpression_i} \ \ \ \ \ \ \ (1)

事实证明,GAUC在展示广告设置中更具指示性,其中CTR模型被应用于为每个用户进行候选广告的排名,并且模型性能主要由排名列表的好坏来衡量,即,每个用户特定的AUC。因此,该方法可以消除用户偏好的影响,更准确地度量模型对所有用户的性能。经过在生产系统中多年的应用,证明GAUC度量比AUC度量更稳定可靠。

4、模型体系结构

与赞助搜索不同的是,大多数用户进入展示广告系统时没有明确的目标。因此,在建立点击率预测模型时,我们需要一种有效的方法从丰富的历史行为中提取用户的兴趣

4.1、基线模型

按照[1,4,2]中介绍的通用模型结构,我们的基本模型由两个步骤组成:

  1. 将每个稀疏的id特征转换为一个嵌入的向量空间
  2. 应用MLP以适应输出。

注意,输入包含用户行为序列,其长度可以是不同的。因此,我们添加了一个池化层(例如sum操作)来汇总序列并得到一个固定大小的向量。如图2的左半部分所示,基线模型实际上运行良好,它现在服务于我们的在线展示广告系统的主要流量。

然而,深入研究池化层操作,我们会发现大量的信息丢失,也就是说,它破坏了用户行为数据之间的联系。这一观察启发我们去设计一个更好的模型。

4.2、深度兴趣网络设计

在我们的展示广告场景中,我们希望我们的模型能够根据用户的历史行为真实地揭示候选广告与用户兴趣之间的关系。

如上所述,行为数据包含两种特点:多样性和局部激活。行为数据的多样性反映了用户兴趣的多样性。用户对广告的点击往往仅仅来源于用户兴趣的一部分。我们发现这与注意力机制相似。在NMT任务中,在一个句子的每一个解码过程中,每个词的重要性是不同的。注意网络,可以被视为一个特殊的池化层,可以学习为句子中的每个单词分配注意分数,换句话说,这遵循数据的多样性特点。然而,在我们的场景中,直接应用注意层attention layer是不合适的,用户兴趣的嵌入向量应该根据候选广告的不同而变化,即遵循局部激活特点。我们来看看如果不遵循局部激活特点会发生什么。现在我们得到了用户V_u和广告V_a的distributed representation。对于同一用户,V_u是嵌入空间中的一个固定点。这与候选广告的向量V_a是一样的(即V_a也是固定的)。假设我们使用内积来计算用户和广告之间的相关性,F(U,A)=V_u \cdot V_a。如果F(U,A)F(U,B)都很高,这意味着用户U与广告A和广告B都相关。在这种计算方法下,V_aV_b向量之间的直线上的任何一点都会得到很高的相关性分数。这给用户和广告的分布式表示向量的学习带来了困难。为了满足约束条件,可以增加向量空间的嵌入维数,这可能是可行的,但会导致模型参数的大幅增加。

本文介绍了一种新的设计网络DIN,它遵循两种数据特点。DIN如图2右侧所示。在数学上,用户U的嵌入向量V_u是广告嵌入向量V_a的函数,即

V_u = f(V_a) = \sum_{i=1}^Nw_i \ast V_i = \sum_{i=1}^Ng(V_i, V_a) \ast V_i \ \ \ \ \ \ \ \ (2)

V_i是行为序列中下标为i的行为的embedding,这个可以是商品id的embedding、店铺id的embedding等。V_u是所有行为序列embedding的加权和。w_i是考虑候选商品A的时候,用户行为序列中下标为i的行为的embedding对这次用户兴趣的贡献。

总之,DIN设计的激活单元遵循局部激活特点,加权和池化层遵循多样性特点。据我们所知,DIN是第一个同时遵循两种用户行为数据特点的模型。

4.3、依赖数据的激活单元

在刚开始我们选择的是常用激活函数PReLU,其定义如下:

y_i = \left\{\begin{matrix} y_i & if \ y_i > 0\\ a_iy_i & if \ y_i \leqslant 0 \end{matrix}\right. \ \ \ \ \ \ \ \ \ \ (3)

PReLU可以看作是Leaky ReLU的一个变体,当a_i很小的时候,可以避免0梯度。先前的研究表明,PReLU可以提高精度,相应的过拟合的风险也会变高。

然而,在大规模稀疏输入入侵检测系统的应用中,训练这样的工业规模网络仍然面临着很大的挑战。为了进一步提高模型的收敛速度和性能,我们考虑并设计了一种新的依赖数据激活函数,我们将其命名为Dice:

\begin{aligned} y_i &= a_i(1-p_i)y_i + p_iy_i \ \ \ \ \ \ \ (4)\\ p_i &= \frac{1}{1+e^ {-\frac{y_i-E[y_i]}{\sqrt {Var[y_i] +\epsilon }}} } \ \ \ \ \ \ \ \ \ \ (5) \end{aligned}

训练步骤中的E[y_i]Var[y_i]直接从每个小批量数据中计算,同时我们采用动量法估计正在运行的E[y_i]^{'}Var[y_i]^{'}

\begin{aligned} E[y_i]_{t+1}^{'} &= E[y_i]_t^{'} + \alpha E[y_i]_{t+1} \\ Var[y_i]_{t+1}^{'} &= Var[y_i]_t^{'} + \alpha Var[y_i]_{t+1} \end{aligned}

t是训练过程的小批量步骤,α是一个接近0.99的超参数。在测试过程中,我们使用了正在运行的E[y_i]^{'}var[y_i]^{'}

与PRELU使用固定的校准点(y_i > 0)不同,Dice的核心思想是可以根据数据自适应地调整整流点。从这一点来说,Dice可以看成两个通道(基于p_ia_iy_iy_i)的软校准,其中p_i是能够保留y_i的权重(概率),当y_i偏离E[y_i]p_i较小。我们可以看出公式(5)与sigmoid函数有点类似,令x = \frac{y_i - E[y_i]}{\sqrt{Var[y_i] + \epsilon}},当x=0时,即y_i = E[y_i]时, p_i=0.5

\left\{\begin{matrix} y_i < E[y_i], & p_i <0.5 \\ y_i = E[y_i], & p_i =0.5 \\ y_i > E[y_i], & p_i >0.5 \\ \end{matrix}\right.

实验显示Dice能显著提升收敛性和GAUC。

4.4自适应正则化技术

自然用大规模参数和稀疏输入来训练模型,会发生过拟合现象。实验表明,加入细粒度用户访问的商品id类信息,模型性能在第一轮迭代后迅速下降。

针对减少过拟合的问题有很多方法,例如L2和L1正则化[15]和Dropout[16]。然而,在高维稀疏特征下,CTR预测面临着更大的挑战。众所周知,互联网规模的用户行为数据遵循长尾规律,即在训练样本中,大量id类特征出现频次很少,出现频次高的特征只占少数。这不可避免地会在训练过程中引入噪声,并加剧过度拟合。

减少过拟合的一个简单方法是过滤掉低频id类特征,这可以看作是手动正则化。如何设置这个阈值,且这会造成信息丢失。本文介绍了一种自适应正则化方法,该方法根据id类特征的出现频率对其施加不同的正则化强度。

表示如下:

I_i = \left\{ \begin{matrix} 1, & \exists (x_j, y_j) \in B, s.t. [x_j]_i \neq0\\ 0, & other \ wises \end{matrix}\right. \ \ \ \ \ \ \ (8)

更新公式如式(9)所示。B代表规模为b的小批量样本集。n_i是特征i的频率,λ是正则化参数。

w_i \leftarrow w_i - \eta [\frac{1}{b} \sum_{(x_j, y_j)\in B} \frac{\partial L(f(x_j), y_j)}{\partial w_i} + \lambda \frac{1}{n_i}w_iI_i ] \ \ \ \ \ \ \ \ \ (9)

公式(9)背后的思想是惩罚低频特征并放松高频特征以控制梯度更新方差。自适应正则化的类似实践可以在[17]中找到,它将正则系数设置为与特征频率成比例,如下所示

w_i \leftarrow w_i - \eta [\frac{1}{b} \sum_{(x_j, y_j)\in B} \frac{\partial L(f(x_j), y_j)}{\partial w_i} + \lambda n_iw_iI_i ] \ \ \ \ \ \ \ \ \ (10)

然而,在我们的数据集中,公式(10)的正则化训练并没有使过拟合得到明显改善。相反,它减缓了训练过程的收敛。公式(10)对高频商品ID的惩罚大于长尾商品,而在我们的特殊电商系统中,前者对评价指标和在线收入的贡献更大。此外,我们还对dropout技术进行了评估,发现在我们的场景下并没有使过拟合得到明显的改善。

5、实施

DIN是在一个多GPU的分布式训练平台XDL上实现的,该平台支持模型并行和数据并行。XDL旨在解决工业级深度学习网络中训练面临的挑战,大规模稀疏输入以及亿级参数。在我们的观察中,目前发表的这些深网络大多是通过两个步骤来构建的:i)采用embedding技术将原始的稀疏输入转换成低维稠密向量;ii)与MLPs、RNN、CNN等网络桥接。大多数参数都集中在最初的embedding,需要在多台机器上进行分布式处理。第二个网络步骤可以在一台机器内处理。在这种思想下,我们以桥接的方式构建XDL平台,如图3所示,它由三种主要组件组成:

?分布式嵌入层。它是一个模型并行模块,嵌入层参数分布在多个gpu上。嵌入层作为一个预定义的网络单元,提供向前和向后模式。

?本地后端。它是一个独立的模块,旨在处理本地网络训练。在这里,我们重用了开源的深度学习框架,如tensorflow、mxnet、theano[18、19、20]等。有了统一的数据交换接口和抽象,我们很容易在不同的框架中进行数据的整合和交换。后端体系结构的另一个好处是可以方便地跟踪开源社区,并利用最新发布的网络结构或用这些开源深度学习框架开发的算法更新算法。

?通信组件。它是基本模块,有助于并行嵌入层和后端。在我们的第一个版本中,它是用MPI实现的。

此外,对于数据的特点,我们还采用了公共特征技巧[8]。读者可以在[8]中找到详细的介绍。

由于XDL平台的高性能和灵活性,训练过程加快了10倍左右,并高效自动化的调优超参。

6、实验

6.1 DIN可视化

在DIN模型中,稀疏的id特征被编码为embedding向量。在这里,我们随机选择9个类别(服装、运动鞋、箱包等),每个类别100件商品。图4显示了基于t-SNE[21]的商品嵌入向量的可视化,其中具有相同形状的点对应于相同的类别。它清楚地显示了DIN embedding的聚类特性

此外,我们以预测的方式给图4中的点上色:假设所有商品都是年轻母亲的候选商品(如表1所示),用预测值对他们上色(红色的比蓝色的CTR高)。DIN模型能够正确识别满足用户不同兴趣的商品。

此外,我们深入到DIN模型来检验其工作机制。如第4.2节所述,DIN设计了注意单元来局部激活候选广告的相关行为。图5显示了激活强度(注意分数w)。正如预期的那样,与候选广告高度相关的行为会获得较高的注意强度。

6.2、正则化

添加了细粒度的特征,如商品id特征后,基线模型和我们提出的DIN模型在训练过程中都遇到过拟合问题。图6示出了具有/不具有细粒度商品id特征的训练过程,其清楚地说明了过拟合问题。我们现在在实验上比较不同类型的正则化。

?Dropout。在每个样本中随机丢弃50%的商品id。
?Filter。根据样本中的商品id出现频率过滤,在我们的设置中,只剩下前2000万个好ID。
?L2正则化。搜索参数λ并将其设置为0.01。
?Regularization in DiFacto。DiFacto提出了式(10)的这种方法。搜索参数λ并将其设置为0.01。
? Adaptive regularization。我们提出的公式(9)的方法。我们使用Adam作为优化方法。搜索参数λ并将其设置为0.01。

比较结果如图6所示。验证结果证明了本文提出的自适应正则化方法的有效性。通过自适应正则化技术训练,具有细粒度商品id特征的模型在GAUC中的增益比没有细粒度商品id特征的模型高0.7%,这是对CTR预测任务的显著改进。

在第一轮迭代中,dropout的收敛速度很慢,在第一轮迭代后,过拟合现象有所缓解。与不过滤相比Filter在第一轮有着相同的收敛速度,在第一轮迭代后,过拟合现象有所缓解,不过在缓解过拟合上的表现不如dropout。在自适应正则化设置中,第一轮迭代后几乎看不到过拟合。第二轮迭代结束时,验证集上的Loss和GAUC几乎收敛。

Regularization in DiFacto偏向于惩罚出现频率高的商品id。然而,在我们的任务中,高频的商品id更能体现用户的兴趣,而低频的商品id会带来很大的噪声。Filter的实验可以说明这一点。我们的方法通过应用商品频率的规则倒数来惩罚低频商品id。

6.3、 DIN与基线的比较

我们在阿里巴巴的生产环境展示广告系统上测试了模型的性能。训练和测试数据集都是从系统日志生成的,包括impression和click日志。我们收集了两周的样本用于培训,第二天的样本用于测试,这在我们的系统中是一个富有成效的设置。基本模型和我们提出的DIN模型都是建立在表3.2所述的相同特征表示上的。参数单独调整,我们报告最佳结果。GAUC用于评估模型性能。

结果如表3和图7所示。显然,用自适应正则化训练的DIN模型的性能明显优于基线。采用ADPARTIVE reg的DIN只需对基础模型进行半次迭代即可得到基础模型的最高GAUC。最终实现了比基本模型1.08%的GAUC增益,这对我们的生产系统是一个很大的改进。Dice获得0.23%的GAUC增益比DIN与ADPARTIVE reg。随着对用户行为数据结构的更好理解和开发,DIN模型在捕捉用户与候选广告之间的非线性关系方面表现出了更好的能力。

7、结论

本文以电子商务行业展示广告为例,研究了基于互联网规模用户行为数据的CTR预测问题。我们揭示和总结了数据的两个特点:多样性和局部激活,并设计了一个新模型DIN。实验表明,与目前流行的MLPs模型相比,DIN模型具有更好的可解释性和GAUC性能。此外,本文还研究了工业深度网络训练中的过拟合问题,并提出了一种自适应正则化技术,该技术有助于在我们的场景中大大减少过拟合。我们认为这两种方法对其他工业深度学习任务具有一定的指导意义。不同于图像识别和自然语言处理领域的成熟和最先进的深层网络结构,具有丰富互联网规模用户行为数据的应用仍然面临许多挑战,值得进一步研究和设计更为常见和有用的网络结构。我们将继续关注这个方向。

 

 

 

 

 

 

 

 

 

 

 

 

 

  相关解决方案