Deep Interest Network for Click-Through Rate Predictioin

这篇paper是关于阿里广告推荐的Deep CTR模型优化,文章巧妙运用Attention机制于推荐中,刻画用户兴趣与被推荐广告间的Attention关系,使得用户兴趣画像的建模更加精细。

在推荐系统中,因为大量特征都是极度稀疏的,Deep Model一般先将稀疏特征映射至低维、稠密的Embedding向量,然后以特征组的方式转换至定长的向量(转换方式可以是Sum或Avg Pooling等),最后以横向拼接的方式喂入全连接层。相比于经常使用的LR,Deep Model可以减少许多特征工程任务,并极大得提升模型能力。

然而,有限维度的Embedding将会是表达用户多样兴趣的一个瓶颈。用户的兴趣是丰富多彩的,而上述方式将用户兴趣压缩进定长Embedding中,这个Embedding所在空间的表达能力是有限的。我们可以通过提高空间维度来强化表达能力,但是这会极大地增多学习参数,并在有限数据的情况下提升模型的过拟合风险,此外,这种方式会增加计算和存储的负担,这对于算法的工业落地是不可忍受的。

通过上面的原因分析,引入了本文的核心思想。当我们预测一个固定的item(这里是广告)的时候,我们没有必要将用户多样的兴趣都同等地压缩到一个Embedding向量中,因为只有用户的部分兴趣会影响到最终的行为。例如,一个用户会点击一个推荐的键盘,主要是因为他之前购买了一台电脑,而不是因为他之前买了一双鞋。基于这个假设,引出了本文模型Deep Interest Network (DIN),它会通过考虑用户历史行为与特定item间的相关性来动态地计算用户的兴趣表示,实现这种设计的方式便是引入Attention机制。

模型结构

DIN模型的网络结构如下,从下往上进行结构分析:
din

特征Group

  • 用户画像特征:用户固有属性,如性别、年龄、地域等
  • 用户行为List:这里使用的具体的商品实体id,注意到此处用了类别id、商店id与商品id三者的Embedding进行向量Concat来表示商品Embedding
  • 情境特征:如时间点等
  • 广告特征:商品id、商家id、类别id,与商品实体基本一致

Attention

这里针对的是用户行为List,常规的模型对其的处理方式是作简单的Sum池化,这样的缺点是对于给定的用户,无论候选的广告是什么,用户行为表示向量都是保持不变的。限定长度的Embedding表示空间将成为表达用户多样兴趣的瓶颈。

DIN以优雅的方式解决了这个问题,对于给定的广告,只关注那些激活的兴趣表示。DIN会通过考虑用户行为历史与给定广告的相关程度,动态地计算用户的兴趣表示向量。对于不同的广告,用户的兴趣表示也会随之发生变化。

DIN引入了一个新颖的激活单元(模型结构图右侧)来计算注意力:用户向量+广告向量+內积连接后走激活函数。挺多模型都会走这种结构,这里面其实是引入一阶和二阶特征组合。下面是用户向量表示的计算方式,计算注意力值之后,以weighted sum池化的方式转化为定长Embedding。

注意这里和传统Attention的不同之处,传统的方式会进行权重归一化,DIN抛弃了这一步。DIN认为该值的大小一定程度上反应了用户兴趣的强度。

作者还尝试了LSTM来对用户行为历史建模,但是没有提升。和NLP任务的文本序列不同的是,用户的历史行为序列也许包含了多种并发兴趣。在这些兴趣上的突然跳跃和戛然而止使得用户行为序列充满了噪声。

文章给出了一个形象的示例,非常符合DIN的设计初衷,如下图所示。用户的兴趣表示与候选广告相契合,与广告内容越相关,该行为的权重也会越高。

din

训练优化

小批量正则化

正则化是提升模型泛化能力的重要措施,而对于稀疏输入与海量参数,直接施加正则化的操作性很低,开销会很大。

当没有正则化的时候,如SGD只会更新那些非零的稀疏特征,然而加入正则化后,模型将会更新所有参数,这讲导致极度繁重的计算量。

DIN只对出现在每个mini-batch中的稀疏特征作L2正则化:

激活函数

DIN提出了Dice激活函数,其是在PReLU函数基础上加入了mini-batch数据的归一化,其思想有点类似BatchNormal,使得模型优化更加平滑。

评价函数

DIN使用GAUC进行模型评价,离线指标与线上效果更贴近。使用AUC评估,会存在用户偏差。分别对每个用户计算AUC,然后以加权平均的方式计算结果,公式如下:

思考

  • DIN巧妙地将Attention机制引入到推荐中,实现高效的用户多样兴趣的建模,达到”千物千面”的效果,对于不同的item,DIN基于Attention机制将适配为不同的用户兴趣表示,使得模型在有限的Embedding空间中能表达更丰富的用户兴趣,取得整体效果的提升。
  • DIN还提出了许多实用的技巧,如Dice激活函数、自适应正则与GAUC评价函数,加速工业模型训练与线上线下指标的评估,十分具有借鉴意义。