▐ 导读
本文主要介绍阿里妈妈外投广告团队在点击率预估领域提出的一种新模型训练方法 —— 深度置信度感知学习(Deep Uncertainty-Aware Learning),以下简称:DUAL。我们尝试在数据循环背景下看待点击率预估模型,重新理解它在广告投放过程中如何参与。在这个新视角下,我们分析了点击率预估问题中置信度的意义,并在“如何建模与利用置信度”问题上迈出了一小步。目前该项工作论文已被 KDD 2021录用,并在阿里妈妈外投业务落地,在线提升显著,欢迎交流讨论。
论文:https://arxiv.org/abs/2012.02298
▐ 点击率预估问题再思考
点击率预估(CTR Prediction)近些年在工业界和学术界中被广泛地关注和研究,已取得了长足的进展并在各种场景成功落地。最近几年,点击率预估技术主要的演进路径可以被概括为模型表示能力的进化:例如通过引入Attention、Recurrent Units、Memory、Graph Embedding等技术,使模型表示能力越来越强、越来越适合用户兴趣建模,因此带来了性能的提升。
目前业界多以监督学习的范式处理点击率模型的学习 —— 以历史数据为原材料(训练样本集),配合典型的监督学习任务目标(如分类问题中常见的交叉熵损失函数),以经验风险最小化的方式,进行模型训练。假设 为训练样本集,其中 为样本特征,通常可包含用户特征、广告特征和环境特征, , 为样本Label。模型的训练/学习则是在假设空间 中寻找使得经验风险最小化模型 ,形式化描述为:
其中 为损失函数, 为模型 的经验风险。
统计学习理论告诉我们,当训练样本和测试样本独立同分布地产生于某个数据分布 时,模型泛化误差存在上界,在这个意义下,我们认为训练得到的模型是可靠的。
数据循环问题
在实际系统中,一个常见却又容易被忽视的问题是,数据的产生过程通常并不服从于某个确定的数据分布 。如图所示:
广告展示带来用户行为,而用户行为反馈形成样本,决定后续模型的学习,模型参与后续广告展示,形成循环。在这种循环下,训练样本分布和测试样本(即展示前的候选集合)分布并没有确定性的关联,这可能与上述独立同分布的假设相去甚远,从而无法保证模型的可靠性。同时,当模型部分(预估)和策略部分(排序)被分开设计时,往往因为缺乏有效的探索机制,导致模型更聚焦于局部最优。我们以一个简单的例子说明:假设目前我们为了最大化用户的点击量,每次向用户展示模型预估点击率最高的广告:
图中在每个时间点列出了当前的训练样本(即用户反馈)。蓝色和绿色虚线分别表示预估 CTR 和真实 CTR。每当具有最高预估点击率的广告获胜展现并收集新的用户反馈时,预估模型就会更新。从这个简单例子中可以发现,数据循环问题会导致中间广告始终被展现,而其他广告的点击率则始终被低估,从而系统只能采取次优解。而这个问题很显然不能够通过更好的模型表示能力解决。这种由于数据循环问题导致的缺乏探索性,在用户行为极其稀疏的广告场景中影响会更加显著,这促使我们重新思考数据循环问题下的点击率建模问题。
在广告场景的交互过程中,数据受到模型影响的主要是广告分布(用户及场景分布可以被理解为对自然流量的统计描述,与模型无关)。因此,相对于做一个联合数据分布 的假设,一个更合理的形式化描述应该将广告分布抽离出来,作为显式可控的一部分。
然而,在很多系统中,这一步被独立地抽象为策略(或排序)模块。策略模块通常假设预估模型绝对准确,从而可以得到简单直观的排序策略(例如根据 eCPM 排序、oCPX 等)。但是,这样的系统设计存在一些逻辑上的矛盾:一方面,策略模块依据模型预估决定了微观上的广告排序和宏观上的广告分布(和样本分布);另一方面,模型的学习又假设了训练&测试样本服从于某个不受系统影响的数据分布。
Contextual Bandits视角下的广告投放
为了解决上述矛盾,我们将模型与策略部分做整体考虑,以Contextual Bandits的视角考虑整个系统。具体地,我们将广告投放过程考虑为一个交互过程(如图):
在时刻 ,系统接收到用户请求的上下文信息 (包含用户特征和场景特征),
根据当前策略 ,决定展示广告,其中 为广告候选集,策略 为候选集 上的概率分布,表示给定上下文 后展示每个候选广告的概率
系统接收用户对广告 的点击反馈