深度兴趣进化网络DIEN

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

Motivation

与搜索广告不同,在推荐系统中用户无需输入关键词来表达意图,因此捕捉用户兴趣并考虑兴趣的动态变化对提升模型效果来说十分关键。以Wide&Deep为代表的模型只考虑不同field特征之间的相互作用,未考虑用户兴趣。DIN模型将用户的历史行为表示用户的兴趣,并强调用户兴趣的多样性与动态变化性,并使用Attention机制来捕捉和target Ad之间的相关兴趣,但DIN模型仍存在两个缺点:

  • 直接将显式的历史行为序列当做用户的兴趣。因为行为是序列化产生的,行为之间存在依赖关系,比如当前时刻的兴趣往往导致下一行为的发生。
  • 用户的兴趣是不断进化的,而DIN抽取的用户兴趣之间是独立无关联的,没有捕获到兴趣的动态进化性。比如用户对衣服的喜好,会随季节、时尚以及个人品味等变化。

DIEN模型的创新之处在于用序列模型模拟用户兴趣的进化过程,序列信息的重要性(1)加强了最近行为对于下次行为预测的影响;(2)序列模型能够学习到购买趋势的信息。

DIEN 模型架构


与DIN类似,模型架构同样是由输入层+Embedding层+连接层+多层全连接神经网络+输出层的整体架构;和DIN不同的是,DIEN把user behavior组织成序列数据的形式,并把简单的使用外积完成的activation unit变成一个attention-based GRU网络。

深度兴趣进化网络分为三层,从下到上依次是:
(1)行为序列层(Behavior Layer):主要作用是把原始的id类行为序列转换成Embedding行为序列。
(2)兴趣抽取层(Interest Extractor Layer):主要作用是通过模拟用户的兴趣迁移过程,抽取用户兴趣。
(3)兴趣进化层(Interest Evolving Layer):主要作用是通过在兴趣抽取层基础上加入Attention机制,模拟与当前目标广告相关的兴趣进化过程。

兴趣抽取层

兴趣进化层的基本结构是GRU(Gated Recurrent Unit)网络,即用GRU来对用户行为之间的依赖进行建模,GRU的输入是用户按时间排序的行为序列,也就是行为对应的商品。相比传统的序列模型RNN和LSTM,GRU解决了RNN的梯度消失问题;与LSTM相比,GRU的参数更少,训练收敛速度更快。

同时作者指出GRU只能学习行为之间的依赖,并不能很好反映用户兴趣。LtargetL_{target}Ltarget只包含了最终兴趣的监督信息,而中间的历史状态hth_tht并不能得到监督信息来指导学习。而兴趣可能会导致多个连续行为,因此模型引入Auxiliary Loss。具体来讲,就是用行为bb+1b_{b+1}bb+1来指导hth_tht的学习,正样本就是真实的下一个Item,负样本是从Item Set中随机抽取的Item。

引入Auxiliary Loss的优势有:(1)帮助GRU的隐状态更好地表示用户兴趣;(2)RNN在建模长序列场景下梯度传播可能并不能很好地影响到序列开始部分,在序列的每个部分引入一个辅助监督信号,可以一定程度上降低优化难度;(3)Auxiliary Loss可以给Embedding层的学习带来更多的语义信息,学习到的Item对应更好的Embedding。

每个GRU单元的具体形式由以下公式定义,经过GRU组成的兴趣抽取层后,用户的行为向量b(t)b(t)b(t)被进一步抽象化,形成了兴趣状态向量h(t)h(t)h(t)

兴趣进化层

随着外部环境和内部认知的变化,用户兴趣也在不断变化,因此用户的行为受不同兴趣的影响。兴趣进化层相比兴趣抽取层的最大特点在于引入Attention机制,为了更有针对性地模拟与目标广告相关的兴趣进化路径。推荐模型永远不能脱离具体业务场景,在阿里这种电商环境下,用户非常有可能同时对多品类商品感兴趣,比如在购买“机械键盘”的同时也在查看“衣服”品类下的商品。这样当目标商品是某电子产品时,“机械键盘”相关的兴趣演化路径就要比“衣服”相关的演化路径重要。

用户兴趣的演化具有如下规律:

  • Interest Drift:用户在某一段时间的interest会有一定的集中性。比如用户可能在一段时间内不断买书,在另一段时间内不断买衣服。
  • Interest Individual:一种interest有自己的发展趋势,不同种类的interest之间很少相互影响,例如买书和买衣服的interest基本互不相关。

基于以上规律,兴趣进化层通过AUGRU(GRU with Attentional Update gate)来引入注意力机制,通过使用兴趣状态和target item计算得到相关性,AUGRU增强相关兴趣的影响,同时减弱不相关兴趣的影响。

其他

也评Deep Interest Evolution Network是一篇其他研究者和DIEN作者的讨论,比如忽略RNN的等时间间距的前提等,回复和讨论都很精彩,作者也坦承DL目前仍是强实践驱动以及部分work,paper虽然不像文学作品可以天马行空,但适当修饰也无可厚非。真话不全说,假话全不说基本是科研共识吧。paper的意义更在于创新性,给后来人以启迪,比如DIEN的创新在于探索将深度学习序列模型与推荐系统相结合。唯一不变的就是变化,如果模型不对,那一定不是世界错了,而是模型错了。

(TBD)复现DIEN论文实验结果,以及天池数据集验证下模型效果。

Reference

  • 推荐系统遇上深度学习(二十四)
  • 详解阿里之Deep Interest Evolution Network(AAAI 2019)
  • 也评Deep Interest Evolution Network

推荐系统之深度兴趣进化网络DIEN相关推荐

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

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

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

    前言 今天分享一篇阿里2019发表在AAAI上的CTR预估的论文<Deep Interest Evolution Network for Click-Through Rate Predictio ...

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

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

  4. AAAI 2021 | 用于图拓扑演化的深度图谱进化网络

    论文工作 在深度图学习领域,构建具有表达性高效的模型来处理源图和目标图之间的全局和局部演化模式是一项具有挑战性的工作,另一方面,但手工确定合适的指定谱模型需要大量的劳动,拟合它们的潜在组合和成分的难度 ...

  5. 新闻推荐系统:深度知识感知网络DKN

    DKN: Deep Knowledge-Aware Network for News Recommendation DKN: Deep Knowledge-Aware Network for News ...

  6. [论文阅读]阿里DIN深度兴趣网络之总体解读

    [论文阅读]阿里DIN深度兴趣网络之总体解读 文章目录 [论文阅读]阿里DIN深度兴趣网络之总体解读 0x00 摘要 0x01 论文概要 1.1 概括 1.2 文章信息 1.3 核心观点 1.4 名词 ...

  7. 100分钟吃掉DIN深度兴趣网络

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

  8. CTR深度学习模型之 DIEN(Deep Interest Evolution Network) 的理解与示例

    本文介绍阿里提出的兴趣进化网络(Deep Interest Evolution Network,以下简称DIEN. 前一篇文章介绍的 DIN 模型如下图所示: DIN 直接把用户的某个行为作为用户的兴 ...

  9. 推荐系统(十二)阿里深度兴趣网络(二):DIEN模型(Deep Interest Evolution Network)

    推荐系统(十二)阿里深度兴趣网络(二):DIEN模型(Deep Interest Evolution Network) 推荐系统系列博客: 推荐系统(一)推荐系统整体概览 推荐系统(二)GBDT+LR ...

最新文章

  1. 【 Vivado 】输入延迟约束(Constraining Input Delay)
  2. 涂抹mysql 完整_涂抹mysql笔记-管理mysql服务
  3. 干货 | DevSecOps在携程的最佳实践
  4. NLP之TFTS读入数据:TF之TFTS读入时间序列数据的几种方法
  5. XGBoost的理解
  6. 复现原文(二):Single-cell RNA sequencing of human
  7. multisim C语言编程,基于Multisim10的51单片机仿真实战教程:使用汇编和C语言
  8. 【实习之T100开发】帆软报表笔记,Java经典入门教程
  9. Java通过GeoLite2-City.mmdb进行IP信息查询地理定位和经纬度
  10. 2003迁移2008R2难点分析
  11. 如何在 HTML 中将表格居中
  12. 北斗三号频点_海格通信发布国内首批北斗三号双模应用专用芯片
  13. cpu虚拟化(cpu虚拟化开启有什么影响)
  14. linux刷rockchip工具,Rockchip官方純linux,kernel4.4.0
  15. 数值分析-数值分析下的误差分析
  16. Neo4j 图数据科学应用 - 图目录和图投影(二)
  17. 萌新记录自己刷过的题
  18. Kotlin-简约之美-基础篇(一):变量的声明和使用
  19. 隐藏服务器端信息X-Powered-By: Servlet/3.0
  20. Linux安装NFS

热门文章

  1. how to send email by jmail?
  2. R语言和医学统计学(6):重复测量方差分析
  3. 购买的域名可以退款吗?域名购买后怎么删除?
  4. 一个即将30岁Java程序员的自诉,在内卷的大环境之下迷惘的大龄程序员该如何破局?
  5. 华为ENSP Wlan实验题
  6. 软考高级系统架构设计师:数学与经济管理
  7. QQ不加好友临时会话聊天代码
  8. 解决IE浏览器,img的src加载图片问题
  9. BBC分析了365个职业,发现最不可能被机器淘汰的居然是……
  10. 生气后有太多的负面情绪怎么办?5个好方法帮你来排解!