阿里CTR预估三部曲(1):Deep Interest Network for Click-Through Rate Prediction简析
阿里CTR预估三部曲(1):Deep Interest Network for Click-Through Rate Prediction
Introduction
CTR预估是工业应用中的重要任务,最近兴起的模型基本都是遵循embedding&MLP范式的。也就是将高维稀疏向量首先映射成低维的embedding向量并转换成固定长度的向量,最后将所得向量串联在一起经过MLP学习到特征间非线性关系后输出结果。但是这个很明显,对于不同的candidate来说,其所得表示向量是一致,导致无法捕捉到用户多样的兴趣。因此阿里提出了DIN。同时提出了一种新的**函数Dice以及一个减少计算量的正则化函数。
##DIN
Feature Representation
CTR预估的输入向量一般是高维稀疏向量。下面是一个列子:
都是所谓的one-hot或multi-hot的向量。
而整个输入空间则如图所示:
Base Model
base model 如下:
因不是我们讲述的重点,因此适当略过,感兴趣的朋友可以在原文观看。
DIN
池化层虽然能达到目的,但却会损失很大一部分信息。DIN的关键就是利用attention机制学习locally activated information,从而尽可能减少信息损失。DIN引入了一个**结构,并使用了如下系统结构:
可以看出,DIN与base model的主要区别就在于**单元上,这个结构通过计算广告的embedding与用户表现的embedding之间的相似度得到对应的权重,后对表现序列进行权重求和,取得了不俗的表现。
Training Techniques
这边论文里主要提到了两个一个是mini-batch aware regularization 和 data adaptive **函数。接下俩分别介绍一下:
Mini-batch Aware Regularization
因为CTR中有很多稀疏的高维数据,在训练中也只有非0会被更新,但是使用l2正则会将所有参数更新同时计算量非常大,于是阿里提出新的正则化方法。
对于一个batch中没有出现的数据不予更新。
具体权重更新如下:
Data Adaptive Activation Function
论文里认为,对于所有输入不应该都选择0点为突变点而是应该依赖于数据的。于是提出了一种data dependent的方法:Dice**函数。形式如下:
使得整流点处于数据的均值,实现了data dependent的思想。
Experiments
结果如下:
特征编码:聚类效果明显,DIN模型能够正确的辨别商品是否符合用户的兴趣,如下图所示。
局部**效果:与候选广告越相关的行为的attention分数越高,如下图所示: