前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RS Meet DL(71)-[华为]一种消除CTR预估中位置偏置的框架

RS Meet DL(71)-[华为]一种消除CTR预估中位置偏置的框架

作者头像
石晓文
发布2019-12-02 19:35:33
1.2K0
发布2019-12-02 19:35:33
举报
文章被收录于专栏:小小挖掘机小小挖掘机

在之前的youtube论文介绍中,曾经简单介绍过一些解决位置偏置的方法,本文来详细介绍下华为提出的解决广告推荐中位置偏置的方法。

1、背景

在广告推荐场景中,为了最大化广告收入,往往通过CTR * BID(BID是广告被点击一次平台所能获得的收入)对广告进行排序,BID基于广告主的出价,一般来说是平台不能控制的(当然有些平台有智能出价或者OCPC等调价方式),所以CTR预估显得至关重要。

一般的推荐系统,通过收集用户和广告的交互信息,来离线训练点击率预估模型,并应用于线上。但用户和广告的交互信息中存在一个很重要的影响因素,那就是广告的展示位置。

对于不同的位置来说,点击率是不同的,展示位置越靠前,则点击率越高。对于同一个广告来说,当它展示位置越靠前时,点击率同样是越高的,下面的两张图证明了这一点:

这也就是说,收集到的训练样本中存在位置偏置(position bias)信息,用户点击某个广告,并非出于喜好,有可能仅仅与展示位置有关。所以在建模过程中有必要对这一部分位置偏置信息进行建模。

下一节中,我们来介绍一些消除位置偏置的方法。

2、解决位置偏置方法

首先我们假设收集到的离线训练数据为S={(xi,posi->yi)},其中xi是特征向量,包括用户特征、广告特征、交互特征和上下文特征,posi是广告展示的位置,yi是用户的点击结果。

一般的解决位置偏置的方法有两种,作为特征(as a feature)和作为模块(as a module)

2.1 位置信息作为特征

该方法的示意图如下所示:

该方法把位置信息作为特征。在离线训练时,输入特征是特征向量和位置信息的拼接[x,pos],而在线上推断时,我们无法获取实时的位置信息,那么此时的做法有两种:

第一种做法就是一种暴力探索的方法,首先固定位置为1,然后计算所有广告相应的点击率,将点击率最高的一个广告放在第一个位置,接下来在固定位置为2,计算剩余广告相应的点击率,将点击率最高的广告放在第二个位置,依次类推。这样的做法显然是不可取的,主要是计算复杂度太高,线上性能无法保证。

第二种做法是当前工业界最为常见的做法,即固定为某一个位置,计算每个广告在该位置下的点击率,从而进行排序。但是,位置不同,所得到的推荐结果也相差很大,所以我们需要找到一个合适的位置,来得到最好的线上效果。此时往往需要通过线下评估的方式,即通过不同位置在相同测试集上的表现,来决定线上使用哪个位置。显然这种做法泛化性也是无法得到保证的。

2.2 位置信息作为模块

上面分析了将位置信息作为特征输入的不足之处,因此本文提出了一种将位置信息作为一个模块单独预测的方法,将在第三节中进行介绍。

值得一提的是,youtube在论文《Recommending What Video to Watch Next: A Multitask Ranking System》中也提出了一种作为模块的方法,来回顾一下:

通过一个shallow tower(可理解为比较轻量的模型)来预测位置偏置信息,输入的特征主要是一些和位置偏置相关的特征。在sigmoid前,将shallow tower的输出结果加入进去。而在预测阶段,则不考虑shallow tower的结果。

3、PAL框架

本文提出的消除位置偏置信息的框架称为Position-bias Aware Learning framework (PAL) 。其基于如下的假设,即用户点击广告的概率由两部分组成:广告被用户看到的概率和用户看到广告后,点击广告的概率。

该假设可进一步进行化简,首先,用户是否看到广告只跟广告的位置有关系;其次,用户看到广告后,是否点击广告与广告的位置无关。此时公式可写作:

基于该假设,就可以分开建模,PAL的框架如下图所示:

可以看到,两个模块是联合进行训练的,如果分开进行优化,两个模块的训练目标不同,可能导致整个的系统是次优化的。

损失函数采用交叉熵损失:

这里再说一下,论文中并没有给出训练位置信息的模块所使用的特征,可以参考youtube论文中的思路,加入位置特征和上下文特征来训练。

4、实验结果

本文主要对比了下图中两个模型,左边是本文提出的PAL框架,右边是将位置信息作为输入特征的方法,作为BASE:

来看下实验结果,首先看下离线训练结果。由于在测试集上,BASE方法需要一个固定位置,因此本文尝试了1-10位置作为固定位置时,BASE方法的效果和PAL方法的对比:

从离线结果来看,PAL方法并非是最优的方法。接下来看线上的效果,文章对比了PAL和固定位置是1、5、9时BASE方法的结果:

尽管离线训练的效果并非是最优的,但是PAL相较于BASE方法,线上效果取得了巨大的提升。

5、总结

本文提出了一种消除位置偏置对点击率预估影响的框架。该框架下,将位置信息当作一个单独的模块,而非作为一个输入特征进行训练,线上效果取得了巨大的提升。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-01 12:10:50,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、背景
  • 2、解决位置偏置方法
    • 2.1 位置信息作为特征
      • 2.2 位置信息作为模块
      • 3、PAL框架
      • 4、实验结果
      • 5、总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档