Model-based Unbiased Learning to Rank
什么是无偏学习?
不看键盘输入文字——也就是“盲打”——你能做到多快?就我自己来说,盲打的速度一般可以跟上思考的速度,有时甚至要更快一些。这说明每个字母在键盘上的位置已经深深刻在了我的脑中,可以随时无延迟调用,形成了条件反射。
但是如果我让你立刻从左到右、从上到下地默写出整张键盘,你能否做到?根据我自己的试验,虽然最后还是正确地画出来了,但总共花了我大概90秒的时间(平均每个字母3.5秒)。而且有意思的是默写时,我会用手模拟我敲键盘的样子,并试图回忆“如果我的手伸向这个位置,我是在敲什么字母”;而不是回忆,比如,“字母T的右边是什么“。
是的,你的脑海中有对整张键盘布局的完整信息,只不过,与直接记忆、背诵整张键盘图相比,盲打让我对键盘形成了完全不同的记忆形式。换句话说,键盘在我的脑海中有了不一样的”表示“(Representation)。
而形成不同”表示“的根源,在于不同任务下的”目标“(Objective)不同。盲打的目标是,每当要输入任何一个字母,你的手要伸向正确的位置。至于字母之间相邻关系,其实并不重要,因为你打字过程中永远不会用到这一信息。而如果目标仅是”从左到右、从上到下默写整张键盘图”,那么手,作为盲打任务的一个要素,就不必要了,而完成该任务的关键变为了记忆字母间的相邻关系。
- 无偏学习——来自RL,DL的启示
RL是Reinforcement Learning的缩写,中文即“强化学习”。强化学习任务,用一句话概括,即让某个对象(agent)在特定环境中(environment,举例:一个游戏中,一个任务中)学会如何最大化总收益(reward, or return)。其中,状态值(state value)估计是学习的重要一步,它将指导策略(policy)的优化。
在状态值估计的过程中,如果你的目标值(target value)与真实值(true target value)是有偏差的(biased),那么你最终学到的值估计也是有偏的。拿蒙特卡洛方法举例,两种sample target value的方法,“First-visit"和”Every-visit"会让值估计算法收敛出不同的结果。其原因在于后者是biased。
DL方面也有类似的规律。在使用DL网络做监督学习时,如果:
(1)你的损失函数与你真正想要达到的目标有偏差。
(2)你的训练集的分布与测试集的分布差异较大。
那么你无论如何也无法得到一个你想要的拟合器。举例,如果你想训练一个识别美洲猫(瞎说的)的神经网络,却用一组亚洲猫的图片集来训练它,想必效果是很差的。
那么这对我们的学习有何启发?启发就是,如果你的目的是”盲打“,那么请练习”盲打“;如果你的目的是”默写键盘“,那么请练习“默写键盘”。再举例:
(1)如果你的目的是“与外国人流利地说英文”,那么请不断地练习“与外国人说英文”。
(2)如果你的目的是“写一个属于自己的操作系统“,那么请立即开始”写一个自己的操作系统“。标准的学生式做法(对不起我贴标签了)是,先去上一门关于操作系统的课!上完发现还是一头雾水,然后再上了一门编译器。
(3)如果你的目的是工作,那么请立即去找实习。
(4)如果你的目的是搞研究,那么请立即开始搞研究。
(5)…
总结:如果你想做一件事,那么请直接开始做那件事。
论文摘要
无偏排序学习(ULTR),即根据有偏的用户反馈数据学习对文档
进行排序,是信息
检索中的一个众所周知的挑战。现有的无偏排序学习方法
通常依赖于点击建模或反向倾向加权(IPW)。不幸的是,搜索引擎面临着一个严重的长尾
查询分布的问题,这既不是点击建模,也不是IPWhandles
很好。点击建模通常需要相同的查询文档
对多次出现以进行可靠的推断,这使得
无法用于尾部查询;IPW存在高方差,因为它
对小的倾向得分值非常敏感。因此,非常需要一个
通用去偏差框架,它可以很好地在尾部查询
下工作。为解决这个问题,本文提出一种基于模型的
无偏排序学习框架。开发了
一个通用的上下文感知用户模拟器,为未观察到的排名列表生成伪
点击,以训练排名者,这解决了
的数据稀疏问题。此外,考虑到伪点击和实际点击之间的差异
,我们将排名列表的观察
作为处理变量,并进一步以一种双重鲁棒的方式将
逆倾向加权与伪标签
。推导的偏差和方差表明,所提出的基于
模型的方法比现有方法具有更强的鲁棒性。在基准数据集(包括模拟
数据集和真实点击日志)上的大量
实验表明,所提出的基于模型的
方法在各种场景下始终优于当前最先进的方法
。代码可在https://github.com/ rowedenny/MULTR获得。
论文总结
在这项工作中,我们提出了multr,基于模型的无偏学习
排序框架。首先设计了一个上下文感知的用户模拟器
来为未观察到的排名列表产生标签作为监督信号,
解决了长尾查询的数据稀疏性。然而,
伪点击和实际点击之间的自然差异可能会
误导排名模型,因为伪数据不能像真实用户那样准确
。因此,我们采用DR方法。特别是,
我们将观察排名列表作为治疗,
解决了天真地应用
现有DR方法时的不观察治疗。然后,我们将伪点击数据
作为数据填充,并提出了一种双鲁棒学习算法
来获得无偏倚的排名模型。理论分析
表明,该方法比现有方法具有更强的鲁棒性。在基准数据集(包括模拟
数据集和真实点击日志)上进行的大量
实验表明,基于模型的
方法始终优于当前最先进的方法。