二、attention方式的用户序列建模

1. Deep Interest Network

1.1 简介

《Deep Interest Network for Click-Through Rate Prediction》;在这篇文章提出来的时候,大部分的基于DNN的CTR预估算法都采用如下的套路:a. 首先,将稀疏的高维用户/item特征映射到低维稠密的embedding,然后分组把这些embedding 映射到一组定长的表征向量,然后把这些向量concat起来,然后经过多层的NN,来学习各类特征的交叉特征得到用户的兴趣表征。
然而,这个定长的表征(fixed-length)这一步被作者诟病,认为现有的分组的方式本质上都是池化方式,然后这种方式不能有效的从变化丰富的用户序列行为中提取特征,成了用户兴趣捕获的瓶颈(ps. 听听听听,我和你们讲,我从来都认为NLP和RecSys不分家,但是有些人就是觉得。。。这是不同,你看,这个吐槽fix-length的然后提出自己要引入attention(本质上还是pooling,但是weighted sum pooling),是不是就和以前吐槽seq2seq 的 fix-length 提出attention一个套路,所以我跟你们讲,天底下没有新鲜事儿,所谓创新都是深挖之后的故事会)
当然,在百万/千万级别的稀疏特征上去训练一个网络是一个很大的挑战,当我们使用基于随机梯度的这些优化时候,每个mini-batch只会更新一小部分参数,然而,一般来说为了防止过拟合,我们都需要在loss加上L2L_2L2或者L1L_1L1正则项,注意,这两种正则项都是针对参数而非input的,这就会导致对于某些出现次数很少的特征(即在训练样本中少而导致没有足够的学习),本来人家就拿不到多少相关的更新梯度,还被你们无差别搞了一波。这是邪恶的。

2. 1 DIN的创新点
  • 一种基于注意力机制的可以有效考虑序列中用户不同行为对用户兴趣表征的贡献的用户兴趣表征机制。注意:这是它最主要的贡献

  • 两种训练方式

    • Mini-batch Aware Regularization: 这个主要的生效在于正则项的添加,大致的意思就是,训练中,在网络中,embedding 层的参数最多(进而对L2L_2L2贡献最多,哦?),所以呢,提出了一种方式来加正则,基本上只有在这个mini-batch里出现的feature的参数才会施加正则惩罚,emmm,比较公正而温柔的正则方式。看下面I(xj≠0)nj\frac{I(x_j \neq 0)}{n_j}njI(xj=0) 就代表了特征jjj是不是出现在这个mini-batch 以及出现的占比(占总比)
      L2(W)=∑j=0N个参数∣∣w∣∣22=∑(X,y∈Bm)∑j=1KI(xj≠0)nj∣∣w∣∣22L_2(W)=\sum_{j=0}^{N个参数}||w||_2^2= \sum_{(X,y \in Bm)}\sum_{j=1}^K\frac{I(x_j \neq 0)}{n_j}||w||_2^2L2(W)=j=0Nw22=(X,yBm)j=1KnjI(xj=0)w22

    • DiceDiceDice激活函数,文章主要是和参数化ReLuReLuReLu进行对比。我们知道,relu类(实际上大部分的激活函数)它的跃迁点都是x=0x=0x=0这个点,且对于所有的输入都一致,但是呢,随着训练的进行,很可能出现内部**协变量偏移(interal covariate shift)**这么个玩意儿,这会导致什么大家都知道(不知道的google下batch normlization)。而DiceDiceDice其实也就用了BN的解决办法。公式大概如下:

    p(s)=11+es−E(s)sqrt(Var(s)+e)p(s) = \frac{1}{1+ e^{\frac{s - E(s)}{sqrt(Var(s)+e)}}}p(s)=1+esqrt(Var(s)+e)sE(s)1
    f(s)=p(s)∗s+(1−p(s))∗a∗sf(s) = p(s)*s + (1-p(s))*a*sf(s)=p(s)s+(1p(s))as

2. Deep Interest evolvation

attention方式的算法相关推荐

  1. 网易云音乐的推荐音乐方式与算法漫谈

    网易云音乐的推荐音乐方式与算法漫谈 字数3131阅读8588评论13喜欢70 网易云音乐在我看来在各方面都是较为出色的音乐APP,网上也有各种体验报告.产品分析,但都比较偏向交互和前端.所以,我决定对 ...

  2. DL之Attention:Attention注意力机制算法的起源与盛行及其长距离有效的原因、概述(背景/本质/与ED框架关系/架构/优缺点/扩展,理解,本质,变种)、案例应用(CV/NLP)之详细攻略

    DL之Attention:Attention注意力机制算法的起源与盛行及其长距离有效的原因.概述(背景/本质/与ED框架关系/架构/优缺点/扩展,理解,本质,变种).案例应用(CV/NLP)之详细攻略 ...

  3. matlab lm计算方式,lm算法(lm算法原理介绍)

    请问 MATLAB中 LM算法(Levenberg-Marquard-algorithm)的函数是什么?. http://www.mathworks.com/matlabcentral/fileexc ...

  4. 基于能量检测的调制方式识别算法MATLAB仿真,识别不同SNR下的MFSK和MPSK

    UP目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 随着无线通信的快速发展,用户对通信质量的要求越来越高,同时无线设备的大幅度增长,使得频谱资源显得更加重要.认知无线电(Cognitiv ...

  5. 进程调度的几种方式与算法简介

    一.调度的概念 调度的基本概念 在多道程序系统中,进程的数量往往多于处理机的个数,因此进程争用处理机的情况在所难免.处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平.高效)选择一个进程 ...

  6. bms中soh计算方式_BMS算法设计之电池SOH介绍(下)

    本期咱们继续来聊聊电池包SOH的算法实现,本次主要聊一聊用电化学阻抗谱法,基于模型的估算和机械疲劳的理论方法来实现SOH的估算.上一篇文章没有看到的朋友不用着急,文章中会有上一篇的链接.趁着周末的大好 ...

  7. attention 文字识别算法_支持40种语言的图片文字识别(OCR)项目

    Hi!大家好呀!我是你们努力的喵哥! OCR(光学字符识别)是我们日常很常用的人工智能技术.我们总会有从图片中提取文字的需求.你是不是有需要从图片复制文字的经历?手打是最低效的选择.我们可以使用 OC ...

  8. php 递归 递归方式与算法

    先设置数据在本地数据库,设置前要先了解pid字段的关系.如果做成菜单还需添加一个路由字段,自行定义. 第一种方式 先将数据提取出转换成数组.重点是Yarray方法里的递归方式. 接下来进行解析方式. ...

  9. bms中soh计算方式_BMS算法设计之电池SOH介绍(上)

    无论是读万卷书,还是行万里路,都源于点点滴滴的积累.祝愿大家五一劳动节快乐! 大家好,不知不觉,2020就过去大半了,真的是光阴似箭啊!本期跟大家聊一聊电池包的SOH,一起来学习交流吧!介绍 电池包的 ...

最新文章

  1. oracle数据库配置失败,oracle11g – Oracle 11G XE安装错误:数据库配置失败
  2. matlab微分的语句格式,偏微分差分四种格式的matlab程序.doc
  3. Python基础入门知识点——Python中的异常
  4. 深入探索android热修复技术原理_打卡活动:技术书籍书单
  5. python程序设计知识点汇总_Python入门知识点汇总
  6. 各大快递公司面单号准确性验证的正则表达式,来自淘宝开放平台,时间是20181206,...
  7. python ftp_Python FTP
  8. atitit 图像处理 体系树 科技树 v4 r130a .xlsx
  9. 计算机c盘删除的文件怎么找回,两分钟恢复电脑误删除的文件数据
  10. Iphone的Wallet中如何移除电子登机牌凭证
  11. 【蓝桥杯刷题冲刺辅导】掌握递归·DFS解题套路,这一文足以?
  12. 认识linux内核结构
  13. CityMaker学习教程11 创建和移动标签
  14. java的平均年龄怎么算,C#接收5个年龄和计算平均年龄
  15. 机器学习D9——逻辑回归分类
  16. 关于xxxxxxRepository.search()方法一个分页的小陷阱
  17. Android Studio快捷键记录
  18. sql语句case when常用查询总结
  19. [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt
  20. 各大公司大数据面试题

热门文章

  1. 基于JAVA校园快递管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  2. python制作微信个人二维码_无聊的脚本,python生成随机二维码,手机微信自动扫脚本。...
  3. 华为防火墙NAT策略
  4. 新版正方教务网模拟登录python实现
  5. LaTeX第一课:MiKTeX+Texmaker安装
  6. GitHub 代码一键转 VS Code,太好用了!
  7. C++:从入门到放弃[2]变量和读入
  8. 我国计算机信息系统安全保护工作的重点是,网络信息安全知识:计算机信息系统的安全保护工作,重点维护国家事务、经济建设、国防建设、尖端科学技术等重要领域的()的安全。...
  9. cesium 使用entities、primitives添加的模型并且改变模型颜色
  10. Android图像处理之GPUImage for Android