今天分享一篇阿里2019发表在AAAI上的CTR预估的论文《Deep Interest Evolution Network for Click-Through Rate Prediction》。本文的亮点主要是作者提出了兴趣提取层和兴趣演化层两个网络层,以提高兴趣表示能力。
本文约5.2k字,预计阅读15分钟
每点击付费(CPC) 是广告系统中最常见的计费形式之一,广告商对广告的每次点击进行收费。在CPC广告系统中,点击率(CTR)预测的效果不仅影响整个平台的最终收益,还会影响用户体验和满意度。
在大多数非搜索的电子商务场景中,用户不主动表达自己当前的意愿。因此设计能够捕捉用户动态兴趣的模型是提高CTR预测性能的关键。
1、由于深度学习在特征表示上的强学习能力,目前大部分CTR模型从传统的线性或非线性模型(例如FM)转换到深度模型。
2、大多数深度模型遵循Embedding+多层感知器(MLP)的结构,例如:
Wide&Deep[1]、DeepFM[2]:采用高阶和低阶特征的联合来提高模型的表达能力;
PNN[3]:在MLP之前引入一个乘积层(内积和外积),强调了特征Embedding向量之间的交叉方式,让模型更容易捕获特征的交叉信息;
缺陷: 但这些模型只关注从不同的领域捕获特征之间的交互,【没有考虑到用户兴趣的表示】。
3、DIN[4]引入了一个attention机制来激活具有意义的历史行为,从而获取目标物品的相关兴趣,以得到自适应的兴趣表示。但:
DIN将用户行为直接视作兴趣,然而潜在的兴趣很难通过显示的行为得到充分的体现。【这里作者表达的应该是DIN直接将用户行为的embedding+attention机制作为用户兴趣,但这样可能未能充分的体现】
此外,用户兴趣是不断发展的,捕捉兴趣的动态变化对于兴趣表示是很重要的,DIN在捕获序列行为之间的依赖有所欠缺【即使用序列模型更能捕获用户行为之间的关系】。
4、在许多应用领域中,用户物品交互可以随时间记录,此信息可用于建立更丰富的用户模型,例如TDSSM、DREAM、ATRank等。但这些传统的RNN模型存在一些问题:
问题4.1:【直接将整个序列结构看作潜在的兴趣】,而这些隐藏状态(如 )缺乏对兴趣表示的特殊监督。
问题4.2: 大多数基于RNN的模型都【连续且均等地处理相邻行为之间的所有依赖关系】。但并非所有用户的行为都严格取决于每个相邻的行为。每个用户都有不同的兴趣,并且每个兴趣都有其自己的发展轨迹,例如书籍和衣服的发展过程几乎是各自独立的。对于目标物品,这些模型只能获得一个固定的兴趣演化轨迹,可能会受到兴趣漂移的干扰。【简而言之,就是缺少Attention机制】
兴趣漂移:兴趣漂移对行为的影响是用户可能在一段时间内对各种书籍产生兴趣,在另一段时间内又需要衣服。
1、为了使序列结构模型的隐藏状态有效地表示潜在兴趣【解决问题4.1】,应该对隐藏状态进行额外的监督,例如引入排名信息。在推荐系统中,排名损失已被广泛用于排名任务,例如BPR(贝叶斯个性化排序)[5],目标函数如下:
--->【提出辅助损失】
2、为了捕获与目标物体相关的兴趣发展过程,需要更灵活的序列学习结构【解决问题4.2】。在问答(QA)领域,DMN +使用基于注意力的GRU(AGRU)来推动注意力机制对输入事实的位置和顺序的敏感性。在AGRU中,更新门的向量简单地由注意力得分的标量代替。
--->【提出AUGRU】
基于上述的研究现状以及存在的一些瓶颈,作者提出了一个新模型---Deep Interest Evolution Network (DIEN)。该模型的创新有两个关键点:
兴趣提取器层(interest extractor layer):首先DIEN选择GRU来建模两行为之间的依赖性。其次由于隐藏状态缺乏对兴趣表示的监督,作者提出了辅助损失,即使用下一个行为来监督当前隐藏状态的学习。作者把这些有额外监督的隐藏状态称为【兴趣状态】,有助于捕获更多的语义意义用于兴趣表示,推动GRU的隐藏状态,从而有效地表示兴趣。
兴趣演化层(interest evolving layer):兴趣的多样性会导致兴趣偏移的现象。在相邻的访问中,用户的意图可能非常不同,用户的一个行为可能依赖于很久以前的行为。因此,作者提出建立与目标物相关的兴趣演化轨迹模型,设计了带有注意力机制更新门的GRU---AUGRU。运用兴趣状态和目标物体去计算相关性。AUGRU增强了在兴趣演化中相关兴趣的影响,同时削弱了兴趣漂移所产生的非相关兴趣效应。通过在更新门中引入注意机制,AUGRU可以实现针对不同目标物体的特定兴趣演化过程。
提出一个新的网络结构来对兴趣演化过程进行建模。兴趣表示更具有表达性,CTR预估更精确。
设计了一个兴趣提取层。指出GRU对兴趣表示的针对性弱,故提出辅助损失。
设计了一个兴趣演化层,AUGRU增强了相关兴趣对目标物体的影响。
在该模型中,主要使用4个特征种类:User Profile(用户属性)、User Behavior(用户行为)、Ad(候选广告,亦可以称之为目标物品)、Context(上下文背景)。
User Profile:gender、age;
User Behavior:用户点击过的物品列表, ,各个用户行为长度不同;
Ad:ad_id,shop_id;
Context:time;
每一个特征域都会编码成one-hot向量,上述4个特征域分别可以表示为 。
Embedding是将大规模稀疏特征转化为低维密集型特征。在Embedding层中,每一个特征域都对应着一个Embedding矩阵。
例如:
对于用户行为中物品的Embedding矩阵可以表示为:,其中 表示维度为 的embedding向量, 表示物品的总数。
对于某个用户的用户行为:,其中 是用户历史行为的数量。若 ,那么其对应的embedding向量为 ,因此整个用户行为的embedding矩阵可以表示为:
在MLP之前,首先将属于一个特征类别的embedding向量进行一个池化操作【主要指的是用户行为】。然后不同的特征再进行拼接。最后拼接得到的向量再使用MLP来进行最后的预测。
损失函数为负对数似然函数:
其中 , 是样本数量为 的训练集, 表示用户是否点击目标物品
在许多电子商务平台如在线展示广告中,用户并没有清楚地表达自己的意图,因此捕捉用户的兴趣及其动态对CTR预测非常重要。DIEN模型可以捕获用户兴趣并对兴趣演化过程进行建模。
DIEN可以分解为多个部分:
所有特征转化为embedding向量;
使用两个步骤来获取兴趣的演化【即本文的创新点】
兴趣提取层:基于行为序列提取兴趣序列;
兴趣演化层:对与目标物品相关的兴趣演化过程进行建模;
将兴趣表示和ad、user profile、context的embedding向量进行拼接。最后使用MLP完成最后的预测;
DIEN最为关键的步骤为第2步,因此文章详细的介绍其中的细节。
在电子商务系统中,用户行为是潜在兴趣的载体,用户采取一种行为后,兴趣就会发生变化。在兴趣提取器层,我们需要从用户行为中提取一系列兴趣状态。
用户的点击行为非常丰富,即使在很短的时间内,用户历史行为序列的长度也很长。
为了平衡模型的效率和性能【选择GRU的原因,即GRU可以可以RNN梯度消失的问题以及速度比LSTM快】,作者使用GRU来对行为之间的依赖性进行建模:
其中 是更新门控向量, 是复位门控向量, 是新输入, 为sigmoid激活函数, 表示对应元素相乘,, , 为隐藏层单元大小, 为输入的大小。 表示GRU的输入, 表示用户的第 个行为, 表示第 个隐藏层状态
直接使用GRU的缺陷: 但是隐藏状态 只是表示捕捉行为之间依赖关系并不能代表兴趣。且目标物体的点击是由最终的兴趣触发的,所以 只监督最终的兴趣,而历史状态$h_t(t
创新:由于每一步的兴趣状态都会直接导致下一个连续的行为。 因此,作者提出:辅助损失,使用下一个行为 来监督兴趣状态 的学习。
具体: 我们选取下一个行为作为正样本,也从未点击的样本中选取一个作为负样本。这样,就有N个行为embedding序列对: ,其中 代表了点击过的行为序列(正样本), 代表了未点击的行为序列(负样本), 分别代表了用户 点击/未点击的第t个物品embedding向量。因此,辅助损失公式化为:
其中 为激活函数。
最后的全局损失为:
其中 为超参数,平衡兴趣状态与最终的CTR预测。
优点:
加入了辅助损失,GRU的每一个隐藏状态 都表示用户在 时间下的兴趣状态,所有的兴趣状态点的拼接 构造了一个兴趣序列。
当GRU模型有很长的行为序列时,降低了反向传播的难度。
辅助损失为Embedding层的学习提供了更多的语义信息,从而得到更好的Embedding矩阵。
由于外部环境和内部认知的共同影响,不同类型的用户兴趣随着时间的推移而演变。对兴趣演化过程建模可以为最终兴趣表示提供更多的相关历史信息。
兴趣在演变过程中会表现出两个特征【之前的RNN模型无法进行有效的区分】:
由于兴趣的多样性,兴趣可能会漂移。
兴趣可能会相互影响,但每一种兴趣都有自己的发展过程。我们只关注与目标物品相关的演化过程。
创新: 在第一阶段,借助辅助损失,获得了兴趣序列的表达形式。通过分析兴趣演化的特征,作者结合注意力机制的局部激活能力和GRU的序列学习能力来对兴趣演化进行建模。
作用: 在GRU的每个步骤中,注意力机制都可以增强相对兴趣的影响,并减弱来自兴趣漂移的干扰。
具体: 我们将兴趣提取层的输出作为输入,令输入 ,最后的隐藏单元 表示最终的兴趣状态。注意力机制函数可以表示为:
其中 当前目标物品的embedding向量, , 是隐藏单元的维度, 是embedding向量的维度。
attention分数 反应了目标物品 和当前兴趣状态 的关系,相关性越大,则分数越大。
注意力机制与GRU的结合方法:
GRU with attentional input (AIGRU):在输入中结合注意力机制。
在AIGRU中,相关度较低的兴趣可以通过降低注意力分数进行减小。理想情况下,相关性较低的输入值可以减小为零。但是,AIGRU的效果不是很好。因为即使零输入也可以改变GRU的隐藏状态。
Attention based GRU(AGRU): 将注意力分数替换GRU的更新门,直接地改变了隐藏状态。
AGRU利用注意力得分直接控制隐藏状态的更新,削弱了兴趣演变过程中较少相关兴趣的影响。将注意力嵌入到GRU中可以改善注意力机制的影响力,并有助于AGRU克服AIGRU的缺陷。虽然AGRU可以使用注意分数直接控制隐藏状态的更新,但它使用一个标量( )代替一个向量( ),忽略了不同维度间的重要性差异。
GRU with attentional update gate (AUGRU): 在GRU的更新门中加入注意力分数:
在AUGRU中,保留更新门的原始尺寸信息,通过注意力分数 来缩放更新门的所有维度,从而导致相关度较小的兴趣对隐藏状态的影响也较小。AUGRU可以更有效地避免利益漂移带来的干扰,并推动相对兴趣平稳发展。
公共数据集: Amazon数据集的两个子集:Books和Electronics。
工业数据集: 工业数据集由在线展示广告系统中的展示次数和点击次数日志构成。
BaseModel:Embedding&MLP;
Wide&Deep;
PNN;
DIN;
Two layer GRU Attention:采用两层GRU,并使用attention层来激活相关的用户行为;
结论:
手工设计特征工程的Wide&Deep模型性能并不好;
特征之间自动交互的PNN可以提高BaseModel的性能【说明了低阶特征交互的重要性】;
捕获兴趣的DIN模型的AUC明显的提高了【说明加入Attention机制后提取兴趣的重要性】;
两层GRU进一步激活了兴趣序列中的相关兴趣;
DIEN取得了最好的结果,说明兴趣提取和兴趣演化过程能极大地提高CTR预估的性能;
不同于Amazon数据集中只有一类商品,工业数据集中同时包含了各种商品。基于这一特征,基于注意力的方法可以极大地提高性能,如DIN。DIEN捕捉到与目标物品相关的兴趣演变过程,并获得最佳性能。
对比BaseModel,两层GRU得到提升,但因为缺乏对兴趣演化过程建模限制了其能力。AIGRU的输入与attention结合,但它的注意力容易分散,会不断丢失信息。AGRU进一步尝试融合注意力和演化过程,但它在GRU中的注意力无法充分利用更新门的资源。 AUGRU取得了明显的改进,有效地捕获了相对兴趣的演变过程。
我们发现整体损失 和辅助损失 保持相似的下降趋势,这意味着CTR预测的整体损失和兴趣表示的辅助损失都起作用。
表4中,对比模型5、6,说明辅助损失对两个公共数据集都带来了很大的改善,它反映了监督信息对于学习顺序兴趣和Embedding表示的重要性。表3中所示的工业数据集,具有辅助损耗的模型可以进一步提高性能。
2018年6月7日至2018年7月12日,在淘宝的展示广告系统中进行了在线A/B测试。如表5所示,与基本模型相比,DIEN的CTR提高了20.7%,有效每千次展示费用(eCPM)提高了17.1%。此外,DIEN已将每次点击费用(PPC)降低了3.0%。
本文提出了一种新的深层网络结构,即深层兴趣演化网络(DIEN),来模拟兴趣的演化过程。在在线广告系统中,DIEN极大地提高了CTR预测的性能。具体地说,作者设计了
兴趣提取层来捕获兴趣序列,利用辅助损失来提供对兴趣状态的更多监督。
兴趣演化层,使用带有注意力更新门(AUGRU)的GRU来模拟与目标物品相关的兴趣演化过程。在AUGRU的帮助下,DIEN克服了兴趣漂移的干扰。兴趣演化建模有助于有效捕获兴趣,进一步提高CTR预测的性能。
[1] Cheng H T, Koc L, Harmsen J, et al. Wide & deep learning for recommender systems[C]//Proceedings of the 1st workshop on deep learning for recommender systems. 2016: 7-10.
[2] Guo H, Tang R, Ye Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction[J]. arXiv preprint arXiv:1703.04247, 2017.
[3] Qu Y, Cai H, Ren K, et al. Product-based neural networks for user response prediction[C]//2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 2016: 1149-1154.
[4] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1059-1068.
[5] Rendle S, Freudenthaler C, Gantner Z, et al. BPR: Bayesian personalized ranking from implicit feedback[J]. arXiv preprint arXiv:1205.2618, 2012.
往期精彩回顾
【论文导读】2018阿里CTR预估模型---DIN(深度兴趣网络),后附TF2.0复现代码
【论文导读】异构信息网络的Embedding进行推荐
【论文导读】MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS
机器学习笔记---给“过拟合”下一个准确且规范的定义
机器学习笔记---正则化为什么可以抑制过拟合?
扫码关注更多精彩