武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

阿里 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:22866

评论

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

黑科技解密!实现socket进程间迁移

Java 程序员 架构 面试 架构师

耗时三年才总结出了这份Alibaba(P5-P9)学习进阶路线图

Java架构追梦

Java 阿里巴巴 架构 面试 架构成长路线

网络攻击的高频出现,高防服务器是最佳的选择

九河云安全

破解三大安防视频痛点,看华为4大硬核视频上云技术

华为云开发者联盟

视频 华为云视频 安防 摄像头 安防视频

教你如何使用FusionInsight SqoopShell

华为云开发者联盟

sqoop Shell FusionInsight 脚本 Loader

趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

ベ布小禅

8月日更

从0开始的TypeScriptの三:TS的类型

空城机

typescript 大前端 8月日更

带你读AI论文:基于Transformer的直线段检测

华为云开发者联盟

模型 目标检测 Transformer 线段检测 LETR

百度AI原生云实践: 基于容器云打造 AI 开发基础设施

百度开发者中心

AI 最佳实践 方法论 云原生

不安全的服务器和云服务器:远程工作如何增加了黑客可以攻击的攻击面

九河云安全

四色建模:用户转化率 KPI

escray

学习 极客时间 如何落地业务建模 8月日更 四色建模

百度BaikalDB在同程艺龙的成功应用实践剖析

百度Geek说

数据库 架构 后端

限量!Alibaba首发“Java成长笔记”,差距不止一点点

Java~~~

Java spring 面试 微服务 架构师

c++ list 详解

若尘

c++ List 8月日更

从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多

Java~~~

Java spring 面试 微服务 JVM

完美!腾讯技术官发布Java零基础就业宝典,不用再怀疑人生了

Java~~~

Java spring 面试 微服务 架构师

Qunar 大讲堂问题排查

Qunar技术沙龙

问题处理 问题排查 管理系统 开发管理 问题总结

当 CloudQuery 遇到大数据

BinTools图尔兹

大数据 hive ES 数据库管理

Vue进阶(二十一):ES6 知识储备

No Silver Bullet

Vue ES6 8月日更

写作 7 堂课——【5. 结构化写作】

LeifChen

写作技巧 8月日更 结构化

OAuth2.0授权码模式实战

码农参上

OAuth 2.0 8月日更

Alibaba开发十年,写出这本“MQ技术手册”,看完我愣住了

Java~~~

Java kafka 面试 MQ 架构师

Compose管理状态

Changing Lin

8月日更

TCP如何保证数据的可靠传输

W🌥

计算机网络 TCP/IP 8月日更

中间件运维之故障自愈

安第斯智能云

运维 后端 中间件

卷向字节码-Java异常到底是怎么被处理的?

why技术

Java JVM

Go 学习笔记之 Goroutines

架构精进之路

Go 语言 8月日更

价值连城 人工智能的通识课 - 吴恩达Andrew Ng AI For Everyone John 易筋 ARTS 打卡 Week 59

John(易筋)

ARTS 打卡计划

Vue进阶(二十三):Promise 详解

No Silver Bullet

Vue Promise 异步请求 8月日更

模型训练语料少?知识蒸馏解决烦恼

LigaAI

人工智能 神经网络 深度学习 模型训练 nlp

Alibaba内部出品“Java初学者宝典”,让你就业没压力

Java~~~

Java 面试 JVM 多线程 架构师

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