论文笔记|Deep Interest Network for Click-Through Rate Prediction

这是阿里的一篇提出深度兴趣网络这一结构的文章
如之前所说,在推荐系统中,用户行为序列含有很强的信息,包含了用户可能对什么类型的商品的兴趣趋向。在之前的YouTube的论文中,采用了将序列信息的embedding vector进行均值处理的方式,实际上这也是大部分网络结构对此的处理方式。人们尝试使用NLP中的序列信息分析方法,比如LSTM进行序列分析,然而效果并不理想,说明用户的行为序列信息与语言的词汇序列有所不同。
在这篇文章中,考虑到一个用户可能对多个不相关领域的商品均有过行为,而简单的将所有领域的商品一概均值则会抹除这部分信息,因此提出了“attention”这一机制。顾名思义,用户对不同的商品行为有着不同的注意力,比如给自己买了一本书,比如给家人买了一件衣服,因此对于不同商品采用了不同的处理方式。网络结构如图所示。

左图为其他典型网络的处理方式,将multi-hot features进行pooling操作。而在DIN中,引入了一个activation weight环节,将用户行为序列中的商品的embedding vector与预测的广告商品的embedding vector进行权值计算,然后用该权值对序列中的商品进行加权pooling处理。其计算公式为
v U ( A ) = f ( v A , e 1 , e 2 , . . , e H ) = ∑ j = 1 H a ( e j , v A ) e j = ∑ j = 1 H w j e j v_U(A)=f(v_A,e_1,e_2,..,e_H)=\sum_{j=1}^Ha(e_j,v_A)e_j=\sum_{j=1}^Hw_je_j vU(A)=f(vA,e1,e2,..,eH)=j=1Ha(ej,vA)ej=j=1Hwjej
这里权值是通过数据训练得到,具体实现有待于进一步探究一下。
模型方面就是这样,提出了attention这一机制。其他工程细节方面,首先文章提出了Dice这一激活函数,如下图所示

其中左面为PReLU激活函数,具体为

右面为本文提出的Dice函数,具体为

Dice函数引入了输入数据的统计信息。第二,在计算正则项时,比如L2正则项,需要计算所有参数的范数,而本文提出的mini-batch aware regularization则是每次在一个mini batch中,仅使用对应特征不为0的参数进行正则项的计算并且更新参数。在CTR估计中,输入数据高维稀疏,且符合长尾分布,许多feature ID仅出现几次,十分容易过拟合。因此在本文中,提出了根据feature ID的频率更新参数,对于高频feature ID,其正则化程度相对较低。具体实现为

第三,本文采用了GAUC代替了AUC,具体如下

即在计算AUC时,不是将所有用户的正负样本在一起计算,而是对于每个用户单独计算自身的AUC,并根据其自身的行为数量(如点击)进行加权处理。
阿里的这篇文章第一遍读来仍有大量地方不是很懂,这里暂且记一下笔记,待详细学习后再做补充。


对于AUC部分,又看了一些资料,做一下补充。
对于LR分类器,输出结果为该样本为正例的概率值p(0<p<1),因此需要设定一阈值,大于该阈值的样本判定为正例,小于该阈值的样本判定为负例。比如为了增加precision,就需要增大阈值,减少判定为正例的数量;而为了增加recall,则需要减小阈值,避免将正例误判为负例。而为了判定一个分类器输出的概率值是否准确,则需要直接判断正例与负例的输出概率高低比较,此时则需要通过AUC(Area Under Curve)来获取。AUC为ROC与横轴围成的面积,横轴为False Positive Rate,即判定为正例的负例占所有负例数量的比例,纵轴为True Positive Rate,即判定为正例的正例占所有正例数量的比例。通常选择另一种计算方式进行计算,即任意拿一个正例与负例进行对比,正例的输出概率值高于负例的输出概率值的概率等于AUC,比如共有 M M M个正例, N N N个负例,则共有 M × N M \times N M×N个正负例对,其中正例概率值大于负例概率值的概率即AUC。
而在推荐排序中,由于具有很强的个性化特点,每个用户的表现各不相同,可能存在点击特别高的用户,因此直接拿AUC衡量并不准确,所以GAUC对每个用户分别计算AUC,然后根据每个人的点击量进行加权求和作为整个模型的AUC。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值