分享嘉宾:邹衡@阿里,并非花名“擎苍”
编辑整理:陈晟
内容来源:大鱼技术沙龙
出品平台:DataFun
注:转载请在公众号后台回复“转载”。
导读:CTR 预估是计算广告的底层通用技术,在 CPC/OCPC 营销模式下,预估准确性对广告主流量采买成本和平台变现效率有着非常重要的作用。我们在业界常用解法基础上,纳入时间维度和空间维度信息,基于模型学习用户历史行为和广告上下文 ( 目前是上文 ) 来辅助学习当前广告点击率,在业务上取得了显著的收益 ( 论文已被 KDD-2019 和 KDD-2019 workshop 收录 )。
本次分享的内容包括:
背景介绍
DSTN 模型
MA-DNN 模型
01. 背景介绍
1. 业务场景
我们的业务场景主要是卧龙-搜索广告和汇川-信息流广告,系统架构如上图所示,模型训练模块负责离线训练和模型产出,Model Server 负责模型加载并提供点击率预估服务,Ad Server 负责广告检索和排序。
2. CTR 预估简介
目前主流的效果广告通常按照 eCPM ( Pctr x Bid ) 对广告进行排序,并配合采用 CPC/OCPC 计费模式 ( 仅在用户点击广告时进行扣费 )。eCPM 是由 Pctr 和 Bid 构成,所以点击率预估的准确性将会对平台收益、广告主成本和用户体验产生极大的影响。
CTR 预估问题可以抽象为如下函数:
即根据用户、Query、广告、上下文信息来预估用户在当次请求中对广告的点击概率。
3. 点击率预估场景
当下常见的点击率预估模型包括 LR、FM、DNN、Wide&Deep、DeepFM 等,这里不再进行赘述。这些模型通常在建模时只考虑目标广告,忽略了其他广告对目标广告点击率的影响。举例而言:
除了目标广告以外,预估场景的时序信息 ( Clicked ad、Unclicked ad ) 和空间信息 ( contextual ad ) 也会对当前广告的点击率预估产生较大的影响,所以我们尝试从这两个方面进行探索,提升预估效果。建模的细节将在后面的 DSTN 和 MA-DNN 章节中详细介绍。
4. 用户行为建模
用户历史行为在一定程度上表达了用户感兴趣和不感兴趣的信息,对于点击率预估有着非常重要的作用。目前业界对于这类特征的建模的方式通常有以下两种:
基于特征工程的方法
基于模型的方法
基于特征工程的方法,一般通过构造统计或序列特征来生成用户画像,依赖人工经验,较为繁琐,而且通常会伴有信息损失。基于模型的方法则一般采用类 RNN 模型,使用用户行为历史数据进行训练,它的缺点是不支持多类型历史行为建模,模型复杂度很高。
针对这两种的方式的缺陷,我们提出了两个模型:
深度时空网络 DSTN
深度记忆网络 MA-DNN
深度时空网络 DSTN 模型基于深度学习来捕获用户历史 ( 时间 ) 和前文广告 ( 空间 ) 的信息。注意,这里仅使用了前文而没有使用后文,是因为在预估的时候无法获得下文信息。
深度记忆网络 MA-DNN 则是通过设计记忆单元,自动抽象用户历史行为构建用户行为表示。
这两篇论文目前都已经被 KDD 2019 收录:
(KDD 2019)Deep Spatio-Temporal Neural Networks for Click-Through Rate Prediction
(KDD 2019 Workshop)Click-Through Rate Prediction with the User Memory Network
02. DSTN 模型
DSTN ( Deep Spatio-Temporal Neural Network ) 通过利用辅助广告 ( 前文广告、历史点击广告、历史展现未点击广告 ) 对用户行为建模。下面将逐步揭露 DSTN 诞生的过程。
1. 模型设计的挑战
在使用时空信息建模时,需要解决以下几个问题:
辅助广告数量不等,如何兼容?
同类型的辅助广告中,既包含与当前广告相关的信息,也包含无用噪声,如何区分对待?
不同类型的辅助广告对目标广告影响不同,怎样融合所有可用信息?
针对这三个问题,我们分别尝试了三种模型结构:
DSTN-P:Pooling Model
DSTN-S:Self-attention Model
DSTN-I:Interactive Attention Model
接下来我们会按照模型结构,逐步阐述模型的演进过程。
2. 特征 Embedding 化
首先,三类 DSTN 模型都会对广告进行 Embedding 化,Embedding 时会对不同类型的特征将进行如下变换:
单值离散特征:直接 Embedding
多值离散特征:Embedding 后接 Sum Pooling 映射为单个 Embedding
数值特征:离散化后映射为 Embedding
最终,拼接广告所有特征的 Embedding 构造整体输入 Embedding 向量。整体流程如图所示:
3. DSTN-P:Pooling Model
DSTN-P 模型主要考虑解决辅助广告数目不等的问题,模型结构如下图所示:
DSTN-P 模型整体流程如下:
1. 分别对目标广告、前文广告、点击广告、未点击广告进行 Embedding 化
2. 每种类型的辅助广告集合通过 Sum Pooling 合并成一个 Embedding
3. 四类广告 ( 目标广告 xt 和三类辅助广告 xc、xl、xu ) 的 Embedding,通过各自权重矩阵 Wt、Wc、Wl、Wu 映射到统一语义空间,得到整体融合表达 v 向量
4. 整体表示 v 经过多层前馈神经网络 ( 激活函数为 Relu ),计算 sigmoid 函数得到预估点击率,以 logloss 为损失函数迭代学习模型参数
该模型通过 Sum Pooling 解决同类型辅助广告数目不等的问题;基于权重矩阵融合不同类型广告的 Embedding,解决了不同类型广告对目标广告影响不同的问题。
这种结构虽然能够解决同类辅助广告数目不等、不同类型辅助广告影响不同的问题,但是依然存在以下缺点:
同类型广告无区分度:在 Sum Pooling 时直接等权求和,可能会导致有用的信息被淹没在大量的噪音中。
Target 无关:在构造辅助广告的 Embedding 表达时,并未考虑辅助广告与 Target 广告的关系
接下来看看 DSTN-S 和 DSTN-I 是如何解决这两个问题的。
4. DSTN-S:Self-attention Model
DSTN-S 模型结构如下图所示:
相比于 DSTN-P,DSTN-S 将 Sum Pooling 结构替换为了 Self-attention Model,增强有用信息的同时抑制了无用噪声,缓解了 DSTN-S 模型在同类辅助广告上没有区分度的问题。但是该模型存在以下缺陷:
Target 无关:Self-attention 依然与 Target 广告无关
噪音区分能力较弱:尽管使用了 Attention 机制,但 Attention 权重通过 Softmax 归一化,极端情况下噪音数据影响仍然较大
对于第二点,举例来说,假设总共3个辅助广告,且都与目标无关,那么3个广告计算出来的 Attention 得分都接近于0,合理的情况下它们不应该对本次预估产生影响。不过,经过 Softmax 归一化后,三者的权重均为1/3,依然对预估结果产生了一定程度的影响。
最后,我们来看看 DSTN-I 是如何解决这里的问题。
5. DSTN-I:Interactive-attention Model
模型结构如图所示:
相比于 DSTN-S 模型,DSTN-I 进行了如下优化:
基于辅助广告和目标广告的相互关系计算 Attention,根据目标广告动态地提取最有用的信息
不对同类广告进行 Softmax 归一化,避免了上面提到的归一化问题
通过这两个优化,DSTN-I 模型能够较好的解决之前所述的问题。
总而言之,相较于普通 DNN 模型,DSTN 模型有以下几点优势:
引入了三种类型的辅助广告信息
对不同的辅助广告类型采用不同权重
基于注意力机制,从同类辅助广告中动态提取有用的信息
在统一框架下,融合多种类型的不定数目的辅助广告信息
对比三类 DSTN 模型,它们的主要区别在于信息提取方式,其中:
DSTN-P 采用 Sum Pooling,信息提取能力最弱
DSTN-S 采用 Self-Attention,基于同类辅助广告的相互关系提取有用信息,信息提取能力适中
DSTN-I 采用 Interactive Attention,根据与目标广告的关系动态提取有用信息,信息提取能力最强
6. 实验分析
我们基于 Avito,Search,Feed 三份数据集进行了离线实验,其中 Avito 是第三方比赛数据集,Search 和 Feed 则是公司内部业务数据集。对比方法包括常用的 CTR 预估模型,评价指标采用 AUC 和 Logloss,辅助广告数据统一采用最近3天。详细实验信息如下:
实验结果如下:
其中 LR、FM、DNN、Wide&Deep 仅考虑了目标广告,未加入时空、上下文等信息,CRF 模型中加入了空间上文,GRU 模型加入了历史点击广告。
从上图可以看到几个比较有意思的现象:
Wide&Deep 模型优于 LR 和 DNN 模型,DeepFM 模型优于 FM 和 DNN 模型
CRF 模型 ( 引入空间上文广告 ) 优于 LR 模型
GRU模型 ( 引入历史点击广告 ) 优于 DNN 模型
DSTN 模型整体均优于其他模型
这说明了两点:
1. 深浅层模型优于独立模型
2. 历史行为信息和空间信息能够起到重要作用
接下来我们细化分析各个优化点的影响和收益。
首先分析的是不同的辅助广告类型所起作用的大小,通过控制变量法单独使用某种类型的辅助广告进行实验,实验指标分别考虑