当前位置: 首页 > news >正文

用户行为序列建模(篇八)-【阿里】DIEN

相关文章

用户行为序列建模-DIN

知识框架

简介

DIEN(Deep Interest Evolution Network)是阿里巴巴于2019年提出的点击率预估模型。

应用场景

淘宝的展示广告的CTR排序,相比BaseModel(Embedding&MLP)在线取得了20.7%的CTR的提升,17.1%的eCPM提升,3.0%的PPC提升

已有工作的不足

CTR预估

之前的CTR预估工作集中的两部分:特征交叉;使用attention捕捉用户的多兴趣。

不足之处在于:因为受到外部环境和内部感知的变动,用户兴趣随时间在动态地变化。而之前的CTR预估工作缺乏对于用户行为间的依赖的捕捉,而且很少考虑兴趣的变化。

RNN

已有的RNN模型的不足:

(1)将隐藏层的状态作为隐式向量,但是这些隐藏层的状态缺乏兴趣表征的有效监督;

(2)模型很好地建模了相邻行为的依赖,但是不是所有用户的行为都严格依赖每一个相邻的行为。因为用户有多个兴趣,每个兴趣都有自己的演变过程

(3)对于任意的目标item,RNN模型只能获得一个固定的兴趣演变过程,因而无法表达兴趣漂移

解决的方案

提出DIEN,通过里面的“兴趣提取层”、“兴趣演变层”分别捕捉用户行为间的依赖、和目标item相关的兴趣演变

模型结构和Loss设计

特征

涉及四种类型的特征:用户画像特征、用户行为特征、广告特征、上下文特征。

Base CTR

参考DIN的介绍,内容一致

DIEN的模型结构和Loss设计

1、模型整体结构

2、对比DIN模型

有如下2点不同:兴趣提取层,兴趣演变层

  • 兴趣提取层

目标:基于GRU,从用户显式的历史行为序列中建模行为间的依赖,捕捉隐式兴趣

方案:引入辅助loss,对隐藏层的状态进行监督,保证兴趣表征的准确性

正负样本:使用用户行为序列中下一个点击的item作为正样本、未点击的item作为兴趣表征的监督信号

loss:辅助loss和最终的CTR模型的loss如下所示:

引入辅助loss的优势:

(1)增加监督信号,更准确地刻画兴趣;

(2)增强长行为序列下的反向传播的效果;

(3)传递了更多的语义信息,更好地学习embeddding

  • 兴趣演变层

背景:由于外部环境和内部感知的变动,用户兴趣随时间在动态地变化

用户行为演变的两个特征:

(1)兴趣发生漂移,比如:在一段时间内用户对书籍感兴趣,在另一段时间内用户对衣服感兴趣;

(2)每个兴趣有自己的演变过程,比如:对书籍、衣服感兴趣的过程是独立的。我们只关心和目标item相关的演变过程

方案:采用“局部激活”建模兴趣演变。可以在GRU的每一步强化关联兴趣的效果,弱化兴趣漂移的干扰,对于建模和目标item相关的兴趣演变过程是有助的

attention:

具体的将attention和GRU结合来建模兴趣演变的方式:有3种方式,方式3的效果最好。具体如下:
(1)AIGRU:将attention得分和GRU的隐藏层向量相乘作为下一个GRU的输入。虽然对于不相关的兴趣,attention score=0,但是也会对GRU的隐藏层向量学习效果有影响;

(2)AGRU:使用attention得分代替GRU的更新门,直接改变下一个GRU的隐藏层向量。弱化了低相关兴趣的影响。但是,忽视了和原有的GRU的更新门的结合

(3)AUGRU:将attention和原有的GRU的更新门结合,避免了兴趣漂移的干扰,使得相关的兴趣更平滑地进行演进

模型效果

Baseline

Base Model(即Embedding&MLP)、Wide&Deep、PNN、DIN、Two layer GRU Attention

评估

离线:AUC

在线:CTR

数据集

数据集行为类型说明
公开数据集:Amazon Dataset浏览只包含一种类型的item
公司内部数据集:阿里巴巴在线展示广告 Dataset曝光、点击包含不同类型的item考虑的用户行为周期:14天只选择用户最近50个行为

离线效果

结论:

(1)在上述2个数据集,DIEN的效果均是最佳;

(2)由Table4可知,使用AUGRU、辅助loss,具有更明显的效果

具体效果如下所示:

在线效果

指标:相比Base Model有20.7%的CTR提升,17.1%的eCPM提升,3.0%的PPC提升

线上性能:为了保证低延迟、高吞吐,我们采用了一些重要的技术来提升服务性能:

1、element parallel GRU & kernel fusion(GRU并行和内核融合);

2、Batching:将时间紧近的不同用户的请求merge到一个batch,充分利用GPU的优势

3、模型压缩:训练轻量级模型,但是效果和大模型类似

效果:DIEN的延迟从38.2ms->6.6ms,每个worker的QPS提升至360

代码实现

论文开源代码

结尾

亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️

正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。

若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花

我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。

有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。

愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!

万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~


自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系)

友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注! 

http://www.lqws.cn/news/569899.html

相关文章:

  • 由dbc文件解析can消息(一)
  • 信创背景下应用软件迁移解析:从政策解读到落地实践方案
  • 使用Xshell学习Linux的一些基本操作
  • JavaScript基础-常见网页特效案例
  • NumPy 统计函数与矩阵运算指南
  • 【大语言模型入门】—— 浅析LLM基座—Transformer原理
  • FPGA实现CameraLink视频解码,基于Xilinx ISERDES2原语,提供4套工程源码和技术支持
  • 【系统分析师】2021年真题:案例分析-答案及详解
  • SpringCloud系列(41)--SpringCloud Config分布式配置中心简介
  • 《从Backprop到Diffusion:深度学习的算法进化树全景图》
  • C++洛谷P1001 A+B Problem
  • 7类茶叶嫩芽图像分类数据集
  • 低延时高速数据链技术在无人平台(无人机无人船无人车)中的关键作用与应用
  • 2025年前端最新面试题及答案
  • S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器)
  • 【算法设计与分析】(三)二分搜索技术与大整数乘法
  • Spring Cloud:分布式事务管理与数据一致性解决方案
  • stm32之普通定时器
  • C++并发编程-5.C++ 线程安全的单例模式演变
  • 从代码学习深度学习 - 自然语言推断:使用注意力 PyTorch版
  • burp suit使用
  • 自动化提示工程:未来AI优化的关键突破
  • mysql数据库完整备份导出
  • 板凳-------Mysql cookbook学习 (十--15)
  • Java面试宝典:基础四
  • 消息队列:Redis Stream到RabbitMQ的转换
  • allegro 铜皮的直角边怎么快速变成多边形?
  • Python 数据分析与可视化 Day 11 - 特征工程基础
  • MyBatis的添加(insert)操作
  • vue-30(理解 Nuxt.js 目录结构)