阿里经典推荐论文《Deep Interest Network for Click-Through Rate Prediction》理解

Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 1059-1068.

这是一篇阿里发表在2018年KDD上关于点击率预测的论文。论文里的A/B测试是在2017年5月到6月之间完成的,因此推断出这篇论文的实验时间应该是在2017年初左右。另外,从本文所使用的方法来看,这也不是一篇使用最新深度学习方法的论文。本文最主要的创新点有三:

  1. 基于传统模型提出深度兴趣网络(deep interest network)。
  2. 提出两个针对大数据的工业深度学习方法:基于mini-batch的正则化和数据自适应的激活函数。
  3. 在公开数据集和阿里数据集上的大量实验。

1. 深度兴趣网络

本文的模型架构图如下所示:

阿里经典推荐论文《Deep Interest Network for Click-Through Rate Prediction》理解_第1张图片
从上图,我们可以看出,本文的模型深度兴趣网络是在传统CTR模型的基础上实现的。与传统模型的唯一区别是,引入Activation Unit计算商品特征(Goods)和广告特征(Ad)之间的相关性(即注意力)。这样做的好处有两点:一是解决了传统模型的商品特征是固定大小的向量而无法充分表示的不足;二是考虑了商品特征和广告特征的相关性,如一个用户在一定时间游览过多个不同商品,每个商品对广告推荐的影响是不同的。

2. 基于mini-batch的正则化

传统的正则化方法在该论文所使用的海量数据集上是行不通的。以阿里数据集为例,商品特征的维度是6亿左右,即使只对非零的特征做正则化处理,那么需要处理的维度也在1亿左右,这是难以训练的。因此本文提出改进方法,基于mini-batch的正则化,即从batch的角度做正则化,那么每次batch所需处理的维度会大幅度下降。具体的模型推导过程在原文中有介绍。

3. 数据自适应的激活函数

本文从考虑数据分布的角度出发,引入全新的激活函数DICE:
f ( s ) = p ( s ) ⋅ s + ( 1 − p ( s ) ) ⋅ a s , p ( s ) = 1 1 + e − s − E [ s ] V a r [ s ] + ϵ . f(s) = p(s)\cdot s + (1-p(s))\cdot as, p(s) = \frac{1}{1+e^{-\frac{s-E[s]}{\sqrt{Var[s]+\epsilon}}}}. f(s)=p(s)s+(1p(s))as,p(s)=1+eVar[s]+ϵ sE[s]1.
其与传统PRelu的差异在于 p ( s ) p(s) p(s)函数,如下图所示(PRelu的 p ( s ) = I ( s > 0 ) p(s) = I(s>0) p(s)=I(s>0))。当 E [ s ] E[s] E[s] V a r [ s ] Var[s] Var[s]都为0时,DICE和PRelu完全相同。 E [ s ] = 0 E[s]=0 E[s]=0容易实现,标准化即可。但 V a r [ s ] Var[s] Var[s]严重依赖于数据分布。
阿里经典推荐论文《Deep Interest Network for Click-Through Rate Prediction》理解_第2张图片
DICE有两点好处:考虑数据分布和更加平滑。

4. 实验

本文在三个数据集做了大量的对比实验,最后均为带有mini-batch正则化和数据自适应激活函数DICE的深度兴趣网络表现最佳。三个数据集分别为Amazon、MovieLens和Alibaba数据集。在此,我们仅关注Alibaba数据集上的实验。

Alibaba数据集包括20亿的训练数据和1.4亿的测试数据,因此batch大小非常大,为5000。使用的优化算法为带权重衰减的Adam方法,学习率为0.001,衰减率为0.9。总共只训练2个epoch。

本文使用qAUC作为度量指标,即计算每个用户的AUC,再对所有用户求加和平均。因为AUC的最小值为0.5(qAUC不一定,可能会小于0.5,因为有些用户只含有0或1标签,对于这类用户有特殊的计算结果),因此引入一个基于AUC的衡量指标RelaImpr。

R e l a I m p r = ( A U C ( m e a s u r e d m o d e l − 0.5 ) A U C ( b a s e m o d e l ) − 0.5 − 1 ) × 100 % RelaImpr = (\frac{AUC(measured model - 0.5)}{AUC(base model) - 0.5} - 1) \times 100\% RelaImpr=(AUC(basemodel)0.5AUC(measuredmodel0.5)1)×100%

最后得到在Alibaba数据集上的最好的qAUC为0.6031。(PS:结果看起来也不是特别高)

你可能感兴趣的:(阿里经典推荐论文《Deep Interest Network for Click-Through Rate Prediction》理解)