deeplearning排序模型

深度学习的 CTR 模型

2020-04-28  本文已影响0人  logi

最近(截至2019年)看了王喆大佬的深度学习 CTR模型演化图谱, 个人虽然都知道,但是还没有系统的总结过,遂写(copy)下这篇,作为整理和查漏补缺.

文中总结了, 在业界影响力较大工程导向,并且在Google, 微软, 阿里等公司成功应用过的模型.

image.png

从时间线来看逐一说明

2016-微软 Deep crossing

image.png

微软提出的 Deep Crossing 是深度学习 CTR 模型的典型基础模型.它提出了至今仍被使用的一些要素:

  1. 通过 embedding 的方式将稀疏特征转化为低维稠密特征
  2. concat, 将每个 field 的特征拼接起来

2016-FNN 使用 FM 隐向量初始化embedding

image.png

Deep Crossing 中由于将高维稀疏的 one-hot 进行 emb 进行输入,由于稀疏性问题,会导致 emb 的参数更新效率低,即只有出现这个特征才会对它记性更新迭代.

所以, FNN 将 FM 模型的隐向量作为 user 和 item 的 embedding 初始化模型, 避免从头开始训练 embedding 向量.

使用 pretrain 的方法对 embedding 层进行预训练,降低了深度学习模型的复杂度和训练不稳定性的有效工程经验.

2016-PNN embedding pair-wise特征交叉

image.png

我们知道, 传统的 DNN 只通过多层的全连接完成特征交叉和组合, 这种方式并不直接,实际的场景中,其实有针对性地将某些域的特征进行交叉才会有意义,如, 用户的消费水平和店铺平均消费价格.

DNN 通过多层的全连接完成特征交叉和组合的方式引入了许多信息量较低的特征组合的参数,使模型训练优化的成本变大.

所以,人工地指某些域的特征进行交叉是有意义的,能够增强模型的表达能力.

PNN 的全称是 Product-based Neural Network, 它在 embedding 层和 MLP 层之间加入了特征交叉层 product layer. 定义了 inner product,outer product 等多种 product 的操作捕捉不同的交叉信息.

2016-Wide&Deep 记忆能力与泛化能力的总和权衡

image.png

wide&deep 是 google 爸爸提出的经典 dnn 模型,在各大公司都是标配.

我们之前提到的模型都只有 deep 部分,
"泛化性": deep部分的 MLP 层全连接使得它的表达能力强,能够挖掘藏在特征后的隐藏模式,即具有"泛化性"
"记忆性": 在wide&deep 部分, wide 层即 lr 模型层,我们知道 lr 层善于处理大规模系数特征, 能够记住用户的历史信息, 即"记忆性".

Wide&Deep 对之后模型的影响在于——大量深度学习模型采用了两部分甚至多部分组合的形式,利用不同网络结构挖掘不同的信息后进行组合,充分利用和结合了不同网络结构的特点。

2017-DeepFM 用 FM 替换 wide 部分

image.png

在 google爸爸提出了 wide&deep 后, 自然地会有大佬们,对 wide 部分进行操作优化.

我们知道 wide 部分是一个 lr 层,它只对那些稀疏的特征乘以一个权重w在走一个sigmoid激活函数,它并能没有考虑到特征的交叉组合.

所以呢, 华为提出了 deepfm 将 wide 换成了 FM,加强浅层网络部分特征组合的能力.

2017-Deep&cross 用 Cross 代替 wide 部分

image.png

用 FM 替换 wide 部分只是增加了二阶交叉特征,那么是都可以构造更高阶的交叉方式呢?

有, google 爸爸提出了 deep&cross, 对于每一层的 cross:

它通过将输入x_0与上一个cross层的输出x'进行相乘得到交叉,再加上 bias 和上一个cross层的输出x'的到下一层的输入

cross network的参数思想来源于FM模型,FM模型是进行二阶组合特征,degree为2,二阶表达式为权重W乘上xixj,其中W等于i,vj>,FM只能做到两阶的特征组合。而在DCN中可以完成任意多阶的组合,阶数与cross的深度一致,并且其参数复杂度与阶数是线性关系。
d \times L_c \times 2, d为输入向量的大小,Lc为cross的深度。

image.png

2017-NFM 对 deep 部分改进

image.png

DeepFM 和 DCN 对于 Wide&Deep Wide 部分的改进,NFM 可以看作是对 Deep 部分的改进。

用深度学习的网络架构看待 FM 模型,FM 可以看做是单层的 lr 和二阶特征脚超组成的 wide&deep 架构,与经典的 W&D 的不同之处在于 Deep 部分变成了二阶隐向量相乘的形式.

对于 NFM, 借鉴了 FM 模型的二阶部分, 在 deep 部分增加了一个 Bi-Interaction Pooling层,对不同特征的 embedding 进行二阶交叉.

2017-AFM 引入 attention 机制的 FM

image.png

上面的模型如 DeepFM, NFM都是将 FM 的观点移入了模型之中. 对于 FM模型每个特征进行二阶交叉后在求和的方式, 没有考虑到不同特征交叉的重要性的不同.

AFM 模型将 FM 的二阶交叉后又加入了一个 Attention 机制, 每个交叉后的向量进入attention层得到不同的权重,在将权重赋给相应的交叉后的向量,最后求和得到输出.

image.png

虽然这种模型引入了 attention 机制,但是这种模型只有二次项,没有发挥出 dnn 的优势.

2018-DIN 阿里加入attention 机制的深度学习网络

image.png

AFM 引入attention机制为业界提供了一个可行的思路来优化不同特征的重要性.

阿里2018年提出了 Deep interest network.

它与 AFM 不同的是,它将不同的attention 机制引入了 DNN 中, 对不同的特征 group,如图中的 user group, ad group 中的 emb 向量进行两两交叉,在进入 Activation Unit (attention)得到不同组合的重要性权重, 再进行加权求和平均得到新的用户 dense 特征向量与原始的 ad emb 向量拼接, 输入到 dnn 中.

这种方式考虑到了实际场景中用户的特征对于不同的商品的重要性不同,需要根据输入的商品特征来调节这些特征的重要性.

2018-DIEN

image.png

在推荐场景,用户无需输入搜索关键词来表达意图,这种情况下捕捉用户兴趣并考虑兴趣的动态变化将是提升模型效果的关键。以Wide&Deep为代表的深度模型更多的是考虑不同field特征之间的相互作用,未关注用户兴趣。DIN则考虑了用户兴趣,提出用户兴趣是多样的,使用注意力机制来捕捉和target item的相对兴趣,将这种自适应的兴趣表示用于模型预估。但是大多该类模型将用户的行为直接看做兴趣,而用户的潜在兴趣往往很难通过行为来完全表示 *https://zhuanlan.zhihu.com/p/50758485 https://github.com/alibaba/x-deeplearning/blob/master/xdl-algorithm-solution/DIEN/script/model.py

Interest Extractor层:
DIEN 与 DIN 不同的是将用户的历史行为进行了更为细致的处理, 用户的意图是根行为不断进化的所以它将用户的行为序列,输入到了时序模型GRU 中,得到向量.
作者为了 GRU 能够更好的标识用户的兴趣,而且长序列下的梯度传播不能很好更新模型序列开始的部分,所以作者提出了auxiliary_loss,即用用户的点击行为来辅助 GRU 的更新.

Interest Evolving层:利用序列模型 AUGRU 的结构将不同时间的用户兴趣串联起来,形成兴趣进化的链条, 带注意力更新门的GRU结果也就是AUGRU.

TODO

*https://zhuanlan.zhihu.com/p/72597928

  1. Deep Session Interest Network for Click-Through Rate Prediction, IJCAI 2019, Alibaba
    作者:Yufei Feng, Fuyu Lv, Weichen Shen, Menghan Wang, Fei Sun, Yu Zhu, Keping Yang;
    论文:http://t.cn/AiN9QZnV;代码:http://t.cn/AiN9QZnV

阿里 at IJCAI2019,考虑到不同用户行为序列的session内行为同构与session之间行为异构的特性提出了基于sesssion的CTR预估模型DSIN。使用self-attention机制抽取session内用户兴趣,使用Bi-LSTM针对用户跨session兴趣进行建模。

  1. Multi-Interest Network with Dynamic Routing for Recommendation at Tmall
    作者:Chao Li, Zhiyuan Liu, Mengmeng Wu, ..., Qiwei Chen, Wei Li, Dik Lun Lee
    论文:http://t.cn/AiOao6I4;解读:http://t.cn/AiOao6I4

阿里天猫提出MIND模型通过Dynamic Routing的方法从用户行为和用户属性信息中动态学习出多个表示用户兴趣的向量,更好的捕捉用户的多样兴趣,来提升召回的丰富度和准确度,效果好于YoutubeDNN。

  1. Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction, KDD 2019, Alibaba
    作者:Qi Pi, Weijie Bian, Guorui Zhou, Xiaoqiang Zhu, Kun Gai;
    论文:http://t.cn/AiN4s4oe

阿里 at KDD2019,通过系统设计解决用户超长行为历史下CTR建模与在线预测性能瓶颈,效果好于GRU4Rec和DIEN。

  1. Behavior Sequence Transformer for E-commerce Recommendation in Alibaba, KDD 2019, Alibaba
    作者:Qiwei Chen, Huan Zhao, Wei Li, Pipei Huang, Wenwu Ou
    论文:http://t.cn/Ai9JgWoJ;解读:http://t.cn/AiKBda4q

阿里巴巴搜索推荐事业部的新研究,首次使用强大的 Transformer 模型捕获用户行为序列的序列信号,供电子商务场景的推荐系统使用。原有DIN 提出使用注意力机制来捕获候选项与用户先前点击商品之间的相似性,但未考虑用户行为序列背后的序列性质。离线实验和在线 A/B 测试表明,BST 与现有方法相比有明显优势。目前 BST 已经部署在淘宝推荐的 rank 阶段,每天为数亿消费者提供推荐服务[2]。

  1. A Capsule Network for Recommendation and Explaining What You Like and Dislike, SIGIR2019, Alibaba
    作者:henliang Li, Cong Quan, Li Peng, Yunwei Qi, Yuming Deng, Libing Wu;
    论文:A Capsule Network for Recommendation and Explaining What You Like and Dislike;

阿里 at SIGIR2019,胶囊神经网络应用于推荐提出CARP模型来从评论中更好地建模用户对商品的喜好程度,效果好于最新的ANR等。

  1. Representation Learning-Assisted Click-Through Rate Prediction, IJCAI 2019, Alibaba
    作者: Wentao Ouyang, Xiuwu Zhang, Shukui Ren, Chao Qi, Zhaojie Liu, Yanlong Du;
    论文:http://t.cn/Ai0jcGIZ;代码:http://t.cn/Ai0jcGIw

阿里 at IJCAI2019,提出DeepMCP模型通过匹配、关联、预测三个子模块更好地建模用户-ad,ad之间以及特征-CTR关系,效果优于DeepFM并开源了代码。

refer

https://www.infoq.cn/article/TySwhPNlckijh8Q_vdyO
https://www.jianshu.com/p/d5dfe2013715

上一篇 下一篇

猜你喜欢

热点阅读