阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

阿里 Deep Interest Evolution Network 解读

  • 2019-12-02
  • 本文字数:1471 字

    阅读完需:约 5 分钟

阿里Deep Interest Evolution Network解读

Abstract

对 CTR 预测模型来讲,通过用户行为数据来发掘潜在的用户兴趣特征是很有必要的。并且由于受外部环境和内部认知的影响,用户的兴趣是随着时间而不断进化和变化的。而当前大都数 CTR 模型都直接将用户的行为特征表示为用户的兴趣,缺乏对用户兴趣的建模过程和兴趣的演变过程。本文介绍了 Deep Interest Evolution Network (DIEN)模型,包含 interest extractor layer(兴趣抽取层),目的是从历史行为序列中获取 temporal 的兴趣;interest evolving layer(兴趣演化层),目的是获取与目标 item 相关的兴趣演化过程。DIEN 模型在淘宝的广告 CTR 预估上获得了 20.7%的提升。

Introduction

在推荐场景,捕捉到用户的兴趣并考虑兴趣的动态变化将是提升模型效果的关键。以 Wide&Deep 为代表的深度模型更多的是考虑不同 field 特征之间的相互作用,未关注用户的兴趣。Deep Interest Network (DIN)考虑了用户兴趣,提出用户兴趣是多样的,并使用注意力机制来捕捉和 target item 的相对兴趣,将这种自适应的兴趣表示用于模型预估。但是大多该类模型将用户的行为直接看做兴趣,而用户的潜在兴趣往往很难通过行为来完全表示。因此本文提出了 Deep Interest Evolution Network(DIEN)模型,可挖掘行为背后用户的真实兴趣,并考虑用户兴趣的动态变化。

Model


  • input 层:user 行为序列、Target Ad、Context 和 User Profile

  • interest extractor layer:使用 GRU 对用户行为之间的依赖进行建模,输入是用户按时间排序的行为序列,也就是行为对应的商品。

  • 但是只使用 GRU 只能学习到用户行为之间的依赖,并不能反映用户的兴趣。所以在提取 GRU 隐藏 ht 状态时提出了一个辅助 loss,使用下一个时间刻的行为 bt+1 来指导 ht 的学习,其中正样本就是真实的下一个 item,负样本就是从 item set 中随机抽取的一个 item。


假设有 N 对行为 embedding 序列[公式],其中[公式]表示点击行为的序列,[公式]表示负样本序列。辅助 loss 的表达式为:



最终损失函数为[公式],其中[公式]是平衡最终预测和兴趣表示的超参数。


辅助 loss 的好处:1、可帮助 GRU 的隐状态 ht 更好地表示用户兴趣。2、RNN 在长序列建模场景下梯度传播可能并不能很好的影响到序列开始部分,如果在序列的每个部分都引入一个辅助的监督信号,可一定程度降低优化难度。3、辅助 loss 可给 embedding 层的学习带来更多语义信息,学习到 item 对应的更好的 embedding。


  • interest evolving layer:对与 target item 相关的兴趣演化轨迹进行建模。这部分结合注意力机制中的局部激活能力和 GRU 的序列学习能力来实现建模用户的兴趣演化。该层 GRU 的输入就是 interest extractor layer 中 GRU 的输出,[公式],输出是[公式],最后一个状态[公式]是最终的输出,和其他各类特征 concat 一起送给全连接。

  • 其中,attention 的计算方式如下:


其中[公式]表示一个候选 ad 中不同 field 特征的 embedding 向量的 concat。而 attention 和 GRU 结合的方式有三种:


GRU with attentional input (AIGRU):这种方式将 attention 直接作用于输入,无需修改 GRU 的结构:



Attention based GRU(AGRU):这种方式需要修改 GRU 的结构,将 attention 系数来替换 GRU 的 update gate,此时 hidden state 的输出变为:



GRU with attentional update gate (AUGRU):这种方式需要修改 GRU 的结构,此时 hidden state 的输出变为:


Experiments



参考文献:


https://arxiv.org/pdf/1809.03672.pdf


https://zhuanlan.zhihu.com/p/50758485


https://www.jianshu.com/p/6742d10b8


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/71224014


2019-12-02 16:22875

评论

发布
暂无评论
发现更多内容

Yii2.0 RESTful API 之版本控制

Middleware

php RESTful Yii2

简述 HTTP 缓存相关的首部及其行为

黄耗子皮

缓存 HTTP

运维与云

yann [扬] :曹同学

ESP8266远程控制+MicroPython 固件初体验

黄耗子皮

物联网 esp8266

[JVM] String#intern 面试必会

猴哥一一 cium

Java JVM string pool string Java 25 周年

DevOps知识点——3C知多少

禅道项目管理

DevOps 测试 持续集成

运维那点事 - jenkins流水线

yann [扬] :曹同学

JVM最佳学习笔记---总览

Loubobooo

Java JVM

Yii2.0 RESTful API 认证教程

Middleware

php RESTful Yii2

Yii2.0 RESTful API 基础配置教程

Middleware

php RESTful Yii2

Yii2.0 RESTful API 之速率限制

Middleware

php RESTful Yii2

技术工作的一二三之快餐

拖地先生

项目管理 软件开发 技术管理 软件开发流程

介绍一下自研开源NLP工具库---MYNLP

陈吉米

自然语言处理 中文分词 mynlp nlp

如何用五步建设数据中台?

博文视点Broadview

大数据 数据中台 架构 中台

钱从哪里来 - 中国家庭的财富方案

石云升

读书笔记 工作 财富 买房 资产配置

JVM最佳学习笔记<二>---垃圾收集器与内存分配策略

Loubobooo

Java JVM

JVM最佳学习笔记<三>---虚拟机性能监控与故障处理工具

Loubobooo

Java JVM

JVM最佳学习笔记<四>---虚拟机类加载机制

Loubobooo

Java JVM

RocketMQ broker.properties

李绍俊

RocketMQ

将footer固定在底部: Flexbox vs Grid

寇云

CSS css3

Python 沙盒环境配置

黄耗子皮

最长回文算法(马拉车算法)分析

Gadzan

Java 算法 LeetCode

技术工作的一二三之价值观方法论

拖地先生

个人成长 方法论

一周信创舆情观察(5.18~5.24)

统小信uos

基础软件 操作系统

七年老程序员面试经历

代码诗人

到底谁是你老板

Neco.W

工作 创业心态

技术工作的一二三之内功

拖地先生

个人成长

2020年全球经济萎缩,飞链热交易所逆袭而来闪耀数字经济

极客编

OAM v1alpha2 新版:平衡标准与可扩展性

孙健波

如何成为高手: 到知识的源头去

lmymirror

学习 方法论 高手

JVM最佳学习笔记<一>---Java内存区域与内存溢出异常

Loubobooo

Java JVM

阿里Deep Interest Evolution Network解读_语言 & 开发_Alex-zhai_InfoQ精选文章