KDD2018|超越deepfm的CTR预估模型深层兴趣网络DIN(已开源)
Deep Interest Network for Click-Through Rate Prediction
Guorui Zhou, Chengru Song, Xiaoqiang Zhu Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, Kun Gai
Alibaba Group
KDD 2018
https://arxiv.org/pdf/1706.06978.pdf
点击率预估在工业界应用(比如在线广告)中是一项非常重要的任务。最近,研究人员提出了若干基于深度学习的模型,这些模型基本都遵循了嵌入+MLP这种范式。这些方法的流程基本都是首先将大规模稀疏输入特征映射到低维嵌入向量,然后以分组方式转换为固定长度的矢量,最后将这些特征串联在一起,传入多层感知器 (MLP) 中,进而学习特征之间的非线性关系。
如此一来,无论候选广告是什么,用户特征都被压缩成固定长度的表示向量。使用固定长度的向量是一个瓶颈,这给嵌入&MLP方法从丰富的历史行为中有效地捕捉用户的多种兴趣带来困难。本文提出了一种新的模型:深度兴趣网络(DIN),通过一个局部**单元来自适应地从用户的历史行为中学习该用户对某一广告的兴趣,并得到一种表示向量,进而解决了上述难题。
该表示向量因广告不同而不同,这就大大提高了模型的表达能力。此外,作者们还提出了两种技巧:微型批量感知正则化和数据自适应**函数,这两种技巧有助于训练具有数亿个参数的工业界深度网络。
作者们在两个公共数据集以及包含超过 20 亿个样本的阿里巴巴真实生产数据集上的进行了实验,结果表明了本文方法的有效性,与最先进的方法相比,该方法的性能更优。DIN现已成功部署在阿里巴巴的在线展示广告系统中。
DIN的主要特性在于局部**单元以及加权sum pooling
现有方法存在一些缺陷,比如SGD只对当前mini-batch的稀疏特征进行更新;传统的l2正则计算量太大等
本文主要贡献如下
现有方法有些缺陷,比如都映射到固定长度的表示向量
DIN的思想借鉴了DeepIntent,采用了局部**单元,加权sum pooling等技巧。
阿里的广告展示系统图示如下
其中主要包含两部分
特征表示方式如下
具体示例如下
几类(用户画像 用户行为 广告特征 上下文特征)特征情况统计如下,其中包括维度,编码类型等
针对嵌入层,one-hot编码跟multi-hot编码嵌入层的区别在于
为了得到相同长度的表示向量,可以借助pooling操作来完成
目标函数形式如下
网络结构图示如下
本文针对训练提出了两种技巧,其一即为微小批自适应的正则
其二即为引入新的**函数
该**函数基于PReLU
PReLU函数定义如下
新的**函数为Dice,两种**函数的控制函数图示如下
Dice函数定义如下
其中参数解释及注意的点如下
关于亚马逊数据集,描述及参数设置如下
MovieLens数据集描述,处理方式及参数设置如下
阿里数据集分割策略及网络结构等描述如下
数据集信息统计如下
几种对比的算法描述如下
衡量指标如下
几种方法在Amazon以及MovieLens两个数据集上的效果对比如下
为了应对过拟合,作者们采用了以下策略
不同正则化方法的效果对比如下
不同正则方法的auc对比如下
几种方法在阿里数据集上的效果对比如下
a/b测试的结果如下
工程上的优化如下
本文的**函数所起作用图示如下
代码地址
https://github.com/zhougr1993/DeepInterestNetwork
我是分割线
您可能感兴趣