DIEN分成两步去抓取用户的兴趣演化:

1兴趣抽取层 去抽取基于用户行为序列的兴趣序列

2兴趣演化层 跟target item相关

然后把 最终的兴趣表示和 ad, user profile, context 的嵌入表示concat一下,再输入MLP中。

2.1 兴趣抽取层

如上图所示,淡黄色的部分其实就是兴趣抽取层。这一层是将用户的时间序列嵌入向量e(t)给输入该层。

这层的输入数据规模是 N*T, N是用户数量,T是序列长度,如上图所示。根据论文所说,他们制作了N个行为序列对,这个对(pair)是一个正负序列样本对,每个序列长度为T。

正负样本序列的抽取方式我有点好奇,是 concat(正样本序列,负样本序列),还是mix(正样本序列,负样本序列)

每个特征类别包括多个特征域(feature field),例如,用户画像特征包括性别,年龄段等;用户行为特征,包括用户点击过的商品商品的类别,以及所属的商铺等。有一些特征域是单值特征,不同的特征值之间是互斥的,例如,性别只可能属于男或者女,可以转化为one-hot表示;有一些特征域是多值特征,例如用户行为特征,用户可能点击过多个商品,构成一个商品点击序列,只能用multi-hot编码表示。对于单值特征处理比较简单,对于多值特征的处理稍微麻烦些。图1中关于特征域的类型都有标注。展示广告中最重要的特征就是用户的点击序列,属于多值特征,是我们后文介绍的重点。

DIEND主要的改动点就是在通用的行为序列网络中新加了两层网络:

1. 兴趣抽取层(Interest Extractor Layer):  主要用来从历史行为序列中捕获用户的短期兴趣,同时新加辅助损失函数,用来监督学习每一步的兴趣点抽取

2. 兴趣演进层(Interest Evolving Layer): 主要用来捕获用户的兴趣的演进过程。兴趣的演进主要是和点击的目标物品相关。兴趣点(当然是embeding之后的值)特征在这一层会根据点击目标的不同而进行权重的修正(根据不同的目标,对有用的行为进行加强,反之减弱)

在公开数据及工业数据中,DIEN都表现出最牛的成果。尤其在淘宝的展现广告系统中),CTR提升了20.7%.

一般来说,做attention的时候,需要对所有的分数通过softmax做归一化,这样做有两个好处,一是保证权重非负,二是保证权重之和为1。但是在DIN的论文中强调,不对点击序列的attention分数做归一化,直接将分数与对应商品的embedding向量做加权和,目的在于保留用户的兴趣强度。例如,用户的点击序列中90%是衣服,10%是电子产品,有一件T恤和一部手机需要预测CTR,那么T恤会激活大部分的用户行为,使得根据T恤计算出来的用户行为向量在数值上更大,相对手机而言。

DIN的论文中还提出了两个小的改进点。一个是对L2正则化的改进,在进行SGD优化的时候,每个mini-batch都只会输入部分训练数据,反向传播只针对部分非零特征参数进行训练,添加上L2之后,需要对整个网络的参数包括所有特征的embedding向量进行训练,这个计算量非常大且不可接受。论文中提出,在每个mini-batch中只对该batch的特征embedding参数进行L2正则化。第二个是提出了一个激活函数Dice。对于Relu或者PRelu来说,rectified point(梯度发生变化的点)都在0值Dice对每个特征以mini-batch为单位计算均值和方差,然后将rectified point调整到均值位置

2021-09-03DIEN分成两步去抓取用户的兴趣演化:1兴趣抽取层 去抽取基于用户行为序列的兴趣序列2兴趣演化层 跟target item相关相关推荐

  1. 这家简历大数据公司被“一锅端” 或因私自抓取用户简历:曾获李开复投资

    三四月份依然是求职季,关于简历的那些事大家都格外关心,但试想如果自己的简历能被第三方企业随意抓取利用,也是件挺糟心的事. 而最近,简历大数据公司巧达科技就疑似因在没有获得授权下抓取用户简历被" ...

  2. 使用Wireshark抓取用户在网站的登陆密码

    使用Wireshark抓取用户在网站的登陆密码 下载Wireshark 获取想要抓取网站的IP 开始抓包 结束 下载Wireshark Wireshark下载地址 下载后傻瓜式安装 获取想要抓取网站的 ...

  3. piwik抓取用户交互行为

    2019独角兽企业重金招聘Python工程师标准>>> https://github.com/matomo-org/matomo-sdk-ios/tree/version-3 htt ...

  4. java模拟登录知乎_Android(Java) 模拟登录知乎并抓取用户信息

    前不久.看到一篇文章我用爬虫一天时间"偷了"知乎一百万用户.仅仅为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的.仅 ...

  5. mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板

    通过shell脚本抓取存储home用户的空间使用情况,写到excel文件里,再导入到mysql数据库,最后通过grafana进行展示 vi aa.sh #!/bin/bash Date=date +& ...

  6. 新浪微博爬虫-抓取用户发布的微博

    1.寻找接口 在浏览器中访问微博寻找接口 请求 https://weibo.com/yangmiblog?profile_ftype=1&is_all=1#_0 杨幂发布所有的微博列表页,每个 ...

  7. Java编写抓取用户信息代码_[代码全屏查看]-一个基于JAVA的知乎爬虫,抓取知乎用户基本信息...

    [1].[代码] [Java]代码 作者:卧颜沉默 链接:https://www.zhihu.com/question/36909173/answer/97643000 来源:知乎 著作权归作者所有. ...

  8. 两步路轨迹文件位置_两步路户外助手新手使用指南

    1 主界面介绍: 2 功能介绍 ★ 支持多种户外地图:谷歌卫星地图.等高线地图.高德矢量地图.高德卫星地图.谷歌城市交通地图.谷歌地形图.OCM+Landscape地形图等,支持等高线地图叠加,并可下 ...

  9. rcnn 回归_目标检测-从RCNN到Mask RCNN两步检测算法总结-火龙果软件

    编辑推荐: 本文来自于arleyzhang博客,本文主要介绍目标检测中两步检测算法的总结对比,提出了一种新的两步检测模型, Light-Head RCNN ,希望会对您的学习有所帮助. R-CNN R ...

  10. 两步验证杀手锏:Java 接入 Google 身份验证器实战

    转载自   两步验证杀手锏:Java 接入 Google 身份验证器实战 什么是两步验证? 大家应该对两步验证都熟悉吧?如苹果有自带的两步验证策略,防止用户账号密码被盗而锁定手机进行敲诈,这种例子屡见 ...

最新文章

  1. 阿里1688直播推荐算法实践
  2. 零基础入门学习Python22-递归2 斐波那契数列和汉诺塔
  3. 函数的参数与函数的嵌套调用
  4. linux文件给另一用户名和密码错误,linux重命名root后,使用su命令切换新用户时,提示密码错误...
  5. html显示和隐藏不占空间的是什么,css怎么设置不占用空间的隐藏?
  6. VS2013常用设置和其他
  7. 通过demo搞懂encode_utf8和decode_utf8
  8. 日常记录,记下来自己的遇到的问题
  9. main()在C和C ++中应该返回什么?
  10. SQL中COUNT()函数介绍
  11. JAVA邮件发送的授权码_java实现邮件发送
  12. 原生js实现点击“上一张”、“下一张”按钮切换图片
  13. 手机如何打开html文件怎么打开,怎么在手机上打开HTML文件怎么打开
  14. php 查找同义词,php – 同义词查找器算法
  15. linux edt时间转成cst时间,edt时间和北京时间换算(edt时间 现在)
  16. 理解Spring 容器设计理念
  17. RPA 百年简史 机器人流程自动化知多少
  18. 万能RecyclerView分割线扩展
  19. java xmx xms xmn_JVM调优 -Xms -Xmx -Xmn -Xss
  20. 华为路由器hilink怎么用_HUAWEI HiLink 两个华为路由器无线中继实测效果【图解】...

热门文章

  1. 蛋糕是叫胚子还是坯子_这个生日蛋糕太适合手残党了,不会裱花也能做,学会再不买着吃了...
  2. Response.Redirect在新窗口打开
  3. 小程序WXML 使用小结
  4. JMX Java Management Extensions
  5. MSDN URL 重写
  6. 楼道声光控灯闪烁_照明灯闪烁其中一个原因就是它
  7. JDBC实现增删改查功能
  8. linux中文件大小的分配,Linux创造固定的文件大小-预分配磁盘空间
  9. python调用接口获取文件_Python中做接口自动化如何读取配置ini文件
  10. java流作为参数,java-8 – 将Java 8流映射函数作为参数传递