这里写目录标题

  • 目标:
  • 模型产生原因:
  • 核心思想:
  • 模型介绍:
    • Base model
    • 改进模型
    • 模型算法设计
    • 论文的算法改进
  • 参考资料

目标:

掌握2017年阿里提出的深度兴趣网络(Deep Interest Network for Click-Through Rate Prediction)以及后续的DIEN。
本篇介绍DIN
原文:
Deep Interest Network for Click-Through Rate Prediction
21 Jun 2017
Deep Interest Evolution Network for Click-Through Rate Prediction
11 Sep 2018


模型产生原因:

为什么会产生DIN,个人觉得和阿里的广告业务息息相关。

前面几篇文章,主要介绍的推荐算法,主要用于提高点击率,或者说增加用户黏度,就是对所有物品一视同仁,然后推荐给用户最关心的N个商品。
但是有些平台,比如淘宝、京东、百度等,这些平台靠广告费用支持公司收入,对于某个物品,支付的广告费用越多,理应让他以更高的权重暴露给用户,这里就不仅是推荐用户最关心的物品,而是判断付了广告费的商品,是否需要推荐给指定用户?
因此,我们的先决条件变成了:
1、 待推荐的物品(candidate Ad 付了广告费的物品)
2、 用户信息
3、 用户的购买历史物品序列
4、 场景信息(当前用户所处的页面、状态、时间等信息)


核心思想:

DIN核心思想可以归纳为:
1、 基于物品的推荐,也就是判断购物购买过的物品,进而判断是否和本广告物品相关
2、 用户购买过的物品,权重不一样。比如,推荐物品为奶粉,用户购买过笔记本电脑,购买过尿不湿,显然,尿不湿的奶粉的相关性高。因此需要提高尿不湿的权重。

**顺着DIN模型的思想,我们也可以进一步提出我们的优化方案:
1、加e−te^{-t}et的时间衰减系数

  • 购买过的物品是时间序列,因此可以在加上和上次购买时间间隔的衰减因子。比如1年前购买过笔记本电脑,1个月前购买过尿不湿,现在要推荐鼠标,你觉得1年前购买过笔记本电脑的权重还很高吗?显然不是,可以加个e−te^{-t}et的时间衰减系数,ttt为上次购买时间和今天的时间间隔,时间间隔越大,权重越小。

模型介绍:

CTR预估是在线广告以及电商的非常重要的业务,除了传统的方法之外,目前以embedding+MLP为主的深度学习方法也广为应用。
在这些方法中,用户特征用固定长度的向量来表示,而已有的方法往往忽视获取用户历史行为中的兴趣多样性,即:

模型算法设计

  • 输入xxx : 模型的输入是个KKK 维高维稀疏二值型向量,通常是多个group的特征进行拼接而成(group可以理解为一个方面的特征)。假设有 MMM 个group,每个group的特征tit_iti 向量的维度为 KiK_iKi , 特征向量tit_iti每个元素取值为0或1,取值为1的个数大于1(废话,全0怎么训练?)。
    输入类别示意图:


这样就搞清楚了模型的结构。

Loss损失函数,还是采用常规的二分类交叉熵损失函数。

DIN的模型结构图,与base model的主要区别就在于在用户行为特征上引入了局部激活单元(Activation Unit):

e1e_1e1, e2e_2e2, …, eHe_HeH是用户UUU的行为物品对应的embedding向量列表,HHH是行为物品个数。 vAv_AvA 是广告A的embedding。a(∗)a(*)a()是一个前向神经网络,它的输出作为激活权重a(ej,vA)a(e_j,v_A)a(ej,vA),最后作用在eje_jej上。除了两个输入嵌入向量外,a(∗)a(*)a()还增加了两个映射后的向量的外积输入到子网络中,就是激活单元的结构。
模型也可以这样表示:

论文的算法改进

  • 论文的算法改进主要朝着
    1. 降低模型复杂度
    1. 降低计算或者存储
    1. 通过变形、改写公式,找到相近似的表达式。进而找到模型的简化版本。
      这个其实做工程已经不是特别关心了。
      这里贴出别人解释的照片即可。


参考资料

https://blog.csdn.net/cqlboat/article/details/103940661
https://zhuanlan.zhihu.com/p/420211688
https://zhuanlan.zhihu.com/p/49263704

阿里DIN模型(深度兴趣网络)详解及理解相关推荐

  1. 深度学习 --- 深度残差网络详解ResNet

    本来打算本节开始循环神经网络RNN,LSTM等,但是觉得还是应该把商用比较火的网络介绍一下,同时详细介绍一下深度残差网络,因为他是基于卷积的.而后面的循环神经网络更多偏向于序列问题,偏向语音识别,自然 ...

  2. DBN深度信念网络详解

    1.  自联想神经网络与深度网络 自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入.很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在.所以,我们 ...

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

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

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

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

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

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

  6. 深度学习之图像分类(二十六)-- ConvMixer 网络详解

    深度学习之图像分类(二十六)ConvMixer 网络详解 目录 深度学习之图像分类(二十六)ConvMixer 网络详解 1. 前言 2. A Simple Model: ConvMixer 2.1 ...

  7. 深度学习 - 46.DIN 深度兴趣网络

    目录 一.引言 二.摘要 ABSTRACT 三.介绍 INTRODUCTION 1.CTR 在广告系统的作用 2.传统 MLP 存在的问题 3.DIN 的改进 四.近期工作 RELATEDWORK 1 ...

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

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

  9. 【序列建模】DIN深度兴趣网络

    [序列建模]DIN深度兴趣网络 通过用户的历史行为序列刻画用户兴趣的广泛性,是推荐系统比较大的一个难点,用户历史行为序列建模的研究经历了从Pooling.RNN到attention.capsule再到 ...

最新文章

  1. html资源文件记载进度条,用进度条显示文件读取进度《 HTML5:文件 API 》
  2. AngularJS 使用ngOption实现下拉列表
  3. vue项目开发实战案例_Vue、Spring Boot开发小而完整的Web前后端分离项目实战02
  4. Tomcat服务器性能优化
  5. 解决:Whitelabel Error Page This application has no explicit mapping for /error...UnknownHostException
  6. x264编码参数大测试:08 subme与指定码率(1000Kbps)
  7. java 中的 Math.round(-1.5) 等于多少?
  8. hana 查看表字段_hana 查看表数据库
  9. 小米再添猛将!雷军官宣常程担任小米集团副总裁
  10. 转:GCC,LLVM,Clang编译器对比
  11. java小白必看:如何用java创建一个窗口
  12. 小米随身wifi的linux驱动,小米随身wifi驱动
  13. 中兴b860刷机运行Linux,全国各地中兴B860A刷机越狱全贴(2016年2月26日更新)
  14. HTML+CSS项目实践五:使用纯CSS实现点击文字切换图片效果(不使用JS)
  15. Android物联网(一)—— 蓝牙通讯
  16. 即时通讯 视频会议开源技术选择
  17. 安装java环境----血泪版
  18. SpringMVC MultipartFile 异步批量上传文件
  19. 著名的菲尔人格测试,看看你适合做什么类型的工作
  20. 服务器同步电脑文件夹在哪,把文件同步到服务器上

热门文章

  1. 使用Banner实现轮播展示
  2. C语言算小数加减,C语言带小数加减乘除.doc
  3. 网格布局每个网格都能放置一个组件_Android综合试题
  4. spark任务shell运行_《Spark快速大数据分析》- 根据简单例子理解RDD
  5. 2018年python薪资_2018年国内就业薪资高的7大编程语言排行
  6. python爬取股票大单历史记录_利用bs4爬取股票的历史交易数据
  7. python中turtle画树_python中turtle可以画树吗?怎么画?
  8. Android开发之Git提交Template模板配置
  9. mysql存储过程的返回值在哪里设置_MySQL存储过程的返回值
  10. php 显示代码行数据,几行php代码把数据格式化成树形结构