计算广告CTR预估系列(五)–阿里Deep Interest Network理论
1. 背景
Deep Interest Network(DIN)是盖坤大神领导的阿里妈妈的精准定向检索及基础算法团队,在2017年6月提出的。
它针对电子商务领域(e-commerce industry)的CTR预估,重点在于充分利用/挖掘用户历史行为数据中的信息。
先给出结论:
针对互联网电子商务领域,数据特点:Diversity、Local Activation。DIN给出了解决方案:
- 使用用户兴趣分布来表示用户多种多样的兴趣爱好
- 使用Attention机制来实现Local Activation
- 针对模型训练,提出了Dice激活函数,自适应正则,显著提升了模型性能与收敛速度
1.1 名词解释
这两个词在论文中通篇出现,先把其表示的意思说清楚。
Diversity:
用户在访问电商网站时会对多种商品都感兴趣。也就是用户的兴趣非常的广泛。
Local Activation:
用户是否会点击推荐给他的商品,仅仅取决于历史行为数据中的一小部分,而不是全部。
不明白?举个例子:
Diversity:一个年轻的母亲,从他的历史行为中,我们可以看到她的兴趣非常广泛:羊毛衫、手提袋、耳环、童装、运动装等等。
Local Activation:一个爱游泳的人,他之前购买过travel book、ice cream、potato chips、swimming cap。当前给他推荐的商品(或者说是广告Ad)是goggle(护目镜)。那么他是否会点击这次广告,跟他之前是否购买过薯片、书籍、冰激凌一丁点关系也没有!而是与他之前购买过游泳帽有关系。也就是说在这一次CTR预估中,部分历史数据(swimming cap)起了决定作用,而其他的基本都没啥用。
1.2 相关工作
CTR预估是一个比较窄的研究领域,但是模型性能一点点的提升,在实际应用中都非常关键,真金白银毫不含糊。随着深度学习在CV、NLP等领域取得突破性进展,一些研究也开始尝试将DNN应用于CTR预估,比如:Wide&Deep, DeepFM等。
这些做法一般分为两部分:
1. 在输入上面加一层embeding层,把最原始高维度、稀疏的数据转换为低维度的实值表示上(dense vector)。
2. 增加多个全连接层,学习特征之间的非线性关系。
Sparse Features -> Embedding Vector -> MLPs -> Output
这些方法的优点在于:相比于原来的Logistic Regression方法,大大减少了人工特征工程的工作量。
缺点:在电子商务领域中,用户的历史行为数据(User Behavior Data)中包含大量的用户兴趣信息,之前的研究并没有针对Behavior data**特殊的结构(Diversity + Local Activation)**进行建模。
这就是DIN要改进的地方! DIN同时对Diversity和Local Activation进行建模。
针对Diversity:
针对用户广泛的兴趣,DIN用an interest distribution去表示。
针对Local Activation:
DIN借鉴机器翻译中的Attention机制,设计了一种attention-like network structure, 针对当前候选Ad,去局部的激活(Local Activate)相关的历史兴趣信息。和当前候选Ad相关性越高的历史行为,会获得更高的attention score,从而会主导这一次预测。
当DNN深度比较深(参数非常多),输入又非常稀疏的时候,很容易过拟合。DIN提出Adaptive regularizaion来防止过拟合,效果显著。
论文还提出,DIN方法也可以应用于其他有丰富用户行为数据的场景,比如:
- 电子商务中的个性化推荐
- 社交网络中的信息推流排序(feeds ranking)
2. 系统总览
阿里推荐系统工作流程就像上图所示:
- 检查用户历史行为数据
- 使用matching module产生候选ads
- 通过ranking module得到候选ads的点击概率,并根据概率排序得到推荐列表
- 记录下用户在当前展示广告下的反应(点击与否)
这是一个闭环的系统,对于用户行为数据(User Behavior Data),系统自己生产并消费。
2.1 训练数据
前面提到,电子商务领域,充分利用User Behavior Data非常关键,而它又有着非常显著的特点:
- Diversity. 兴趣爱好非常广泛
- Local Activation. 历史行为中部分数据主导是否会点击候选广告
还有的特点,就是CTR中