阿里CTR预估三部曲(2):Deep Interest Evolution Network for Click-Through Rate Prediction简析
##阿里CTR预估三部曲(2):Deep Interest Evolution Network for Click-Through Rate Prediction
Introduction
作者提出以前的CTR预估方法都是直接将用户表现的表示向量当作兴趣而没有通过具体的表现对隐藏的兴趣进行建模。因此提出DIEN,而DIEN有两个关键模块。一个是从具体的用户表现中抽取潜在的兴趣,主要是利用GRU+一个辅助loss,另一个是建模兴趣变化的过程,利用AUGRU。
接下来,我们具体来看看。
DIEN
Interest Extractor Layer
作者首先利用GRU建模用户表现序列:
但是不止如此,作者提出了一个辅助loss来提升兴趣表达的准确性:
利用负采样,来指示产生h(t)与下一个点击的序列相似,同时与负样本尽量不相似,换成损失即如下所示:
Interest Evolving Layer
兴趣进化层Interest Evolution Layer的主要目标是刻画用户兴趣的进化过程。举个简单的例子:
以用户对衣服的interest为例,随着季节和时尚风潮的不断变化,用户的interest也会不断变化。这种变化会直接影响用户的点击决策。建模用户兴趣的进化过程有两方面的好处:
1)追踪用户的interest可以使我们学习final interest的表达时包含更多的历史信息。
2)可以根据interest的变化趋势更好地进行CTR预测。
而interest在变化过程中遵循如下规律:
1)interest drift:用户在某一段时间的interest会有一定的集中性。比如用户可能在一段时间内不断买书,在另一段时间内不断买衣服。
2)interest individual:一种interest有自己的发展趋势,不同种类的interest之间很少相互影响,例如买书和买衣服的interest基本互不相关。
attention计算如下:
作者在文中介绍了三种将注意力结合GRU的方法:
AIGRU
直接利用注意力的score来影响兴趣变化层的输入:
这个方法不需要改变GRU相关的结构。
AGRU
该方法利用注意力score来控制hidden state的更新,该方法减弱了不相关兴趣的影响。
AUGRU
因为在AGRU中使用了一个标量(attention score)来取代了一个向量,这忽视了不同维度的重要性,因此AUGRU应运而生。
将注意力score控制update gate。