前言

今天分享一篇阿里2019发表在AAAI上的CTR预估的论文《Deep Interest Evolution Network for Click-Through Rate Prediction》。本文的亮点主要是作者提出了兴趣提取层和兴趣演化层两个网络层,以提高兴趣表示能力。
本文约5.2k字,预计阅读15分钟

背景

每点击付费(CPC) 是广告系统中最常见的计费形式之一,广告商对广告的每次点击进行收费。在CPC广告系统中,点击率(CTR)预测的效果不仅影响整个平台的最终收益,还会影响用户体验和满意度。

在大多数非搜索的电子商务场景中,用户不主动表达自己当前的意愿。因此设计能够捕捉用户动态兴趣的模型是提高CTR预测性能的关键。

研究现状【~2019】

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)。该模型的创新有两个关键点:

  1. 兴趣提取器层(interest extractor layer):首先DIEN选择GRU来建模两行为之间的依赖性。其次由于隐藏状态缺乏对兴趣表示的监督,作者提出了辅助损失,即使用下一个行为来监督当前隐藏状态的学习。作者把这些有额外监督的隐藏状态称为【兴趣状态】,有助于捕获更多的语义意义用于兴趣表示,推动GRU的隐藏状态,从而有效地表示兴趣。

  2. 兴趣演化层(interest evolving layer):兴趣的多样性会导致兴趣偏移的现象。在相邻的访问中,用户的意图可能非常不同,用户的一个行为可能依赖于很久以前的行为。因此,作者提出建立与目标物相关的兴趣演化轨迹模型,设计了带有注意力机制更新门的GRU---AUGRU。运用兴趣状态和目标物体去计算相关性。AUGRU增强了在兴趣演化中相关兴趣的影响,同时削弱了兴趣漂移所产生的非相关兴趣效应。通过在更新门中引入注意机制,AUGRU可以实现针对不同目标物体的特定兴趣演化过程。

主要贡献

  1. 提出一个新的网络结构来对兴趣演化过程进行建模。兴趣表示更具有表达性,CTR预估更精确。

  2. 设计了一个兴趣提取层。指出GRU对兴趣表示的针对性弱,故提出辅助损失。

  3. 设计了一个兴趣演化层,AUGRU增强了相关兴趣对目标物体的影响。

Deep Interest Evolution Network

特征表示

在该模型中,主要使用4个特征种类:User Profile(用户属性)、User Behavior(用户行为)、Ad(候选广告,亦可以称之为目标物品)、Context(上下文背景)。

  • User Profile:gender、age;

  • User Behavior:用户点击过的物品列表,
































    ,各个用户行为长度不同;

  • Ad:ad_id,shop_id;

  • Context:time;

每一个特征域都会编码成one-hot向量,上述4个特征域分别可以表示为






















BaseModel

Embedding

Embedding是将大规模稀疏特征转化为低维密集型特征。在Embedding层中,每一个特征域都对应着一个Embedding矩阵。

例如:

对于用户行为中物品的Embedding矩阵可以表示为:,其中



















表示维度为







的embedding向量,




表示物品的总数。

对于某个用户的用户行为:,其中




是用户历史行为的数量。若















,那么其对应的embedding向量为












,因此整个用户行为的embedding矩阵可以表示为:















































MLP

在MLP之前,首先将属于一个特征类别的embedding向量进行一个池化操作【主要指的是用户行为】。然后不同的特征再进行拼接。最后拼接得到的向量再使用MLP来进行最后的预测。

Loss

损失函数为负对数似然函数:

其中







































是样本数量为




的训练集,










表示用户是否点击目标物品

Deep Interest Evolution Network(DIEN)

在许多电子商务平台如在线展示广告中,用户并没有清楚地表达自己的意图,因此捕捉用户的兴趣及其动态对CTR预测非常重要。DIEN模型可以捕获用户兴趣并对兴趣演化过程进行建模。

DIEN可以分解为多个部分:

  1. 所有特征转化为embedding向量;

  2. 使用两个步骤来获取兴趣的演化【即本文的创新点】

  • 兴趣提取层:基于行为序列提取兴趣序列;

  • 兴趣演化层:对与目标物品相关的兴趣演化过程进行建模;

  • 将兴趣表示和ad、user profile、context的embedding向量进行拼接。最后使用MLP完成最后的预测;

  • DIEN最为关键的步骤为第2步,因此文章详细的介绍其中的细节。

    兴趣提取层

    在电子商务系统中,用户行为是潜在兴趣的载体,用户采取一种行为后,兴趣就会发生变化。在兴趣提取器层,我们需要从用户行为中提取一系列兴趣状态。

    用户的点击行为非常丰富,即使在很短的时间内,用户历史行为序列的长度也很长。

    为了平衡模型的效率和性能【选择GRU的原因,即GRU可以可以RNN梯度消失的问题以及速度比LSTM快】,作者使用GRU来对行为之间的依赖性进行建模:

    其中









    是更新门控向量,









    是复位门控向量,
















    是新输入,




    为sigmoid激活函数,




    表示对应元素相乘,



































    为隐藏层单元大小,







    为输入的大小。







    表示GRU的输入,















    表示用户的第




    个行为,







    表示第




    个隐藏层状态

    直接使用GRU的缺陷: 但是隐藏状态







    只是表示捕捉行为之间依赖关系并不能代表兴趣。且目标物体的点击是由最终的兴趣触发的,所以














    只监督最终的兴趣,而历史状态$h_t(t

    创新:由于每一步的兴趣状态都会直接导致下一个连续的行为。 因此,作者提出:辅助损失,使用下一个行为











    来监督兴趣状态







    的学习。

    具体: 我们选取下一个行为作为正样本,也从未点击的样本中选取一个作为负样本。这样,就有N个行为embedding序列对:






























    ,其中






















    代表了点击过的行为序列(正样本),



























    代表了未点击的行为序列(负样本),

























    分别代表了用户




    点击/未点击的第t个物品embedding向量。因此,辅助损失公式化为:

    其中
















































    为激活函数。

    最后的全局损失为:





























    其中




    为超参数,平衡兴趣状态与最终的CTR预测。

    优点:

    1. 加入了辅助损失,GRU的每一个隐藏状态







      都表示用户在




      时间下的兴趣状态,所有的兴趣状态点的拼接




















      构造了一个兴趣序列。

    2. 当GRU模型有很长的行为序列时,降低了反向传播的难度。

    3. 辅助损失为Embedding层的学习提供了更多的语义信息,从而得到更好的Embedding矩阵。

    兴趣演化层

    由于外部环境和内部认知的共同影响,不同类型的用户兴趣随着时间的推移而演变。对兴趣演化过程建模可以为最终兴趣表示提供更多的相关历史信息。

    兴趣在演变过程中会表现出两个特征【之前的RNN模型无法进行有效的区分】:

    1. 由于兴趣的多样性,兴趣可能会漂移。

    2. 兴趣可能会相互影响,但每一种兴趣都有自己的发展过程。我们只关注与目标物品相关的演化过程。

    创新: 在第一阶段,借助辅助损失,获得了兴趣序列的表达形式。通过分析兴趣演化的特征,作者结合注意力机制的局部激活能力和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层来激活相关的用户行为;

    公共数据集上的结果

    结论:

    1. 手工设计特征工程的Wide&Deep模型性能并不好;

    2. 特征之间自动交互的PNN可以提高BaseModel的性能【说明了低阶特征交互的重要性】;

    3. 捕获兴趣的DIN模型的AUC明显的提高了【说明加入Attention机制后提取兴趣的重要性】;

    4. 两层GRU进一步激活了兴趣序列中的相关兴趣;

    5. DIEN取得了最好的结果,说明兴趣提取和兴趣演化过程能极大地提高CTR预估的性能;

    工业数据集上的结果

    不同于Amazon数据集中只有一类商品,工业数据集中同时包含了各种商品。基于这一特征,基于注意力的方法可以极大地提高性能,如DIN。DIEN捕捉到与目标物品相关的兴趣演变过程,并获得最佳性能。

    AUGRU与辅助损失的效果

    AUGRU

    对比BaseModel,两层GRU得到提升,但因为缺乏对兴趣演化过程建模限制了其能力。AIGRU的输入与attention结合,但它的注意力容易分散,会不断丢失信息。AGRU进一步尝试融合注意力和演化过程,但它在GRU中的注意力无法充分利用更新门的资源。 AUGRU取得了明显的改进,有效地捕获了相对兴趣的演变过程。

    辅助损失

    我们发现整体损失




    和辅助损失











    保持相似的下降趋势,这意味着CTR预测的整体损失和兴趣表示的辅助损失都起作用。

    表4中,对比模型5、6,说明辅助损失对两个公共数据集都带来了很大的改善,它反映了监督信息对于学习顺序兴趣和Embedding表示的重要性。表3中所示的工业数据集,具有辅助损耗的模型可以进一步提高性能。

    A/B测试

    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

    机器学习笔记---给“过拟合”下一个准确且规范的定义

    机器学习笔记---正则化为什么可以抑制过拟合?

    扫码关注更多精彩

【论文导读】2019阿里CTR预估模型---DIEN(深度兴趣演化网络)相关推荐

  1. 120分钟吃掉DIEN深度兴趣演化网络

    阿里妈妈在CTR预估领域有3篇比较有名的文章. 2017年的深度兴趣网络, DIN(DeepInterestNetwork). 2018年的深度兴趣演化网络, DIEN(DeepInterestEvo ...

  2. 阿里妈妈牟娜:定向广告新一代点击率预估主模型——深度兴趣演化网络

    分享嘉宾:牟娜 阿里巴巴 高级算法工程师 编辑整理:孙锴 内容来源:DataFun AI Talk<定向广告新一代点击率预估主模型--深度兴趣演化网络> 出品社区:DataFun 导读: ...

  3. 推荐系统之深度兴趣进化网络DIEN

    深度兴趣进化网络DIEN 深度兴趣进化网络(Deep Interest Evolution Network,DIEN)是阿里妈妈广告团队发表在AAAI 2019上的工作,是深度兴趣网络DIN模型的升级 ...

  4. SIGIR阿里论文 | 可视化理解深度神经网络CTR预估模型

    小叽导读:尽管业界对于图像处理和自然语言处理领域,在算法可解释性方向上已经取得了一些进展,但对于电商与广告领域,目前还是空白.另一方面,深度学习技术已经开始被大规模应用到广告业务中.广告是很多互联网现 ...

  5. 【多场景建模】CIKM2021 阿里妈妈多场景CTR预估模型STAR 论文精读

    文 | Youngshell 审 | bindingdai 多场景建模是推荐系统CTR预估领域比较热门的一个研究方向,本次给大家分享的论文是: <One Model to Serve All: ...

  6. 深度CTR预估模型的演化之路2019最新进展

    作者 | 锅逗逗 来源 | 深度传送门(ID: deep_deliver) 导读:本文主要介绍深度CTR经典预估模型的演化之路以及在2019工业界的最新进展. 介绍 在计算广告和推荐系统中,点击率(C ...

  7. 阿里妈妈技术:多场景下的星型CTR预估模型STAR

    阿里妈妈技术:多场景下的星型CTR预估模型STAR 1.背景 问题定义 2.建模方案(STAR) 2.1.STAR Topology Fully-Connected Network 2.2.Parti ...

  8. 万字长文梳理CTR预估模型发展过程与关系图谱

    " 本文主要是对CTR预估中的常见模型进行梳理与总结,并分成模块进行概述.每个模型都会从「模型结构」.「优势」.「不足」三个方面进行探讨,在最后对所有模型之间的关系进行比较与总结" ...

  9. 【华为云技术分享】原来CTR预估模型的发展有这样的规律

    [摘要] CTR预估模型的发展有什么样的规律呢?本文分别从前深度学习时代和深度学习时代CTR预估模型中分析总结出了一般性的发展规律,通过这个规律更有助于帮我们理解和加深CTR预估模型. 前深度学习时代 ...

最新文章

  1. 域控制器配置系统要求
  2. HP—UX更改存储设备名
  3. 《Effect Java》学习笔记1———创建和销毁对象
  4. buu robomunication
  5. Python Cookbook (2) 文件
  6. rmmod无法卸载驱动_笔记:linux驱动开发(1、了解内核模块)
  7. 方形物体绕中心旋转的扭力_三维旋转
  8. CentOS 桌面启动无登录界面
  9. php oci 11g.dll下载,Oracle oci.dll
  10. android谷歌反地理,Android反向地理编码显示不出来!
  11. ROS的学习(十八)使用rosserial创建一个publisher
  12. CrazyWing:Python自动化运维开发实战 七、Python数据类型之数字
  13. 100套精品PPT模板免费拿!以后再也不用怕老板叫你制作PPT了
  14. 免费物流快递单号查询接口快速对接(顺丰、韵达、申通、中通)
  15. 机器学习笔记 - 特征向量和特征值
  16. Tomcat下载以及环境变量配置
  17. C-DOCSIS上行信道
  18. .net Core 6.0 部署到欧拉(Linux)系统上,“The type initializer for ‘Gdip‘ threw an exception” 报错的解决方案
  19. STM32F407控制 无刷直流电机和永磁同步电机
  20. 数学——》海伦公式:求三角形面积

热门文章

  1. zip/unzip 压缩
  2. Ubuntu14.04自带拼音输入法异常问题解决办法?
  3. CSS和HTML笔记11.18
  4. 新一配:程序员发信息给爸说996好累,结果看到回复蒙了:坚持就是胜利
  5. 获利40多万,工地技术员自学开发外挂被抓
  6. php微博图床,php上传图片到新浪图床 | 小灰灰博客
  7. [AJava]FusionCharts Free中文开发指南[使用文档教程]第十一章--FCF中的基本数字格式 ...
  8. 如何落地业务建模(1) 业务建模、DDD
  9. 使用示波器调试李萨如图象
  10. Airsim雷达相机融合生成彩色点云