基于深度学习的广告CTR预估系统实践

前言

广告CTR预估,也就是点击率预估,是广告系统中十分重要的一个环节,对广告的排序效果和收入有着直接的影响。

如果想要深入一些了解CTR预估,可以参考这里:机器知道你会点广告:写给普通人的CTR预估科普。

CTR预估系统的实现

1、最简单的方式是统计一个广告的历史点击率,并把这个值当作预估点击率,显而易见,这种方式有效但是也有很大的局限性。

2、更进一步,我们可以统计广告相关的统计量,并通过一定的规则运算得出一个数值作为预估点击率,这种方式也有着明显的缺点。

3、机器学习,这是现在最有效,应用最为广泛的一种方式,其原理是使用历史请求训练模型,并通过模型预估点击率,而利用深度学习搭建CTR预估系统,是当前的诸多方向中效果最好,最有发展前景的。


基于深度学习的广告CTR预估系统实践_第1张图片
图1(图片来源: 机器知道你会点广告:写给普通人的CTR预估科普)


一个典型的机器学习系统架构如下:


基于深度学习的广告CTR预估系统实践_第2张图片
(图片来源: 深度学习在美团推荐平台排序中的运用)

基于深度学习的CTR预估系统

深度学习也是机器学习的一种,基于深度学习的模型实际上是一个大的神经网络,称作DNN,参考图1,这个模型输入的特征需要通过某种方式转为向量,我们把这个过程叫做Embedding,由于计算量和模型效果等因素,基于深度学习的CTR预估,其关键就在于Embedding。

Embedding算法简介

FM与FNN

FM是一种机器学习算法,这个算法的核心正是将特征转为向量,在深度学习兴起之后,有人将FM与DNN结合起来,形成了FNN的结构。

Word2Vec

Word2Vec是一个用于产生词向量的模型,在自然语言处理中应用广泛,我们将Word2Vec迁移应用到CTR预估模型中,也取得了良好的效果。


下面简单介绍我们搭建的CTR预估系统,分为算法和工程两部分。

算法架构

总体架构


基于深度学习的广告CTR预估系统实践_第3张图片

可以看出,总体架构与FNN相似,在此基础上我们对Embedding的方式做了一些更多的探索,从而提取到更多的特征,并且可以在更多的场景下使用。

两种Embedding的方式


基于深度学习的广告CTR预估系统实践_第4张图片

使用FM进行Embedding是FNN的核心思想,我们在此基础上引入了Word2Vec与LDA,并将FM输出的隐向量与Word2Vec输出的词向量进行全连接。

一些实践经验

1、单品广告可以通过Item2Vec,也就是Word2Vec的一个特例进行Embedding。

2、搜索广告可以提取中心词,并将多个中心词对应的词向量计算平均值。

工程架构


基于深度学习的广告CTR预估系统实践_第5张图片

在工程设计上,我们尽可能保持了整体架构上的简单,多处复用了相同的特征库和编码器,减少了开发的成本,并且避免了多种实现导致的一致性问题。

小结

通过对算法和架构上的改进,我们在算法和工程上都获得了良好的扩展性。

算法上可以方便地引入更多的Embedding方式,例如应用CNN与RNN。

工程上可以方便地将CTR预估扩展到多种场景,也可以更进一步,应用于更多指标的预测。

你可能感兴趣的:(基于深度学习的广告CTR预估系统实践)