Abstract
信息检索中的质量度量往往特别难优化,因为这些指标仅通过对应给定 query 返回的文档顺序间接地依赖于模型打分。 因此,损失函数对于模型参数的导数要么是 0,要么未定义。在本文中,我们提出一类简单、灵活的算法—— LambdaRank, 通过隐式损失函数避免了这些问题。
我们使用神经网络模型来描述 LambdaRank, 不过 LambdaRank 可以应用于任何可微函数。我们给出了隐式损失函数为凸的必要和充分条件,并且说明了这个通用方法具有简单的物理解释。
我们还展示了相对一个 SOTA 排序模型,在多个数据集上显著的 accuracy 提升。我们还说明了 LambdaRank 提供了一个显著加速这个 SOTA 模型训练过程的方法。虽然本文的目标是解决排序问题,但提出的方法可以应用于任何非平滑多变量损失函数。
Introduction
机器学习任务中的两类损失:
- target cost: the desired cost
- optimization cost: the cost used in the optimization process,
- make the optimization task tractable(smooth,convex,etc.)
- and It should approximate the target cost well
target and optimization cost 之间的不匹配不仅局限于分类问题,在信息检索领域尤为显著。例如信息检索中的很有目标损失仅依赖文档之间的排序以及他们的相关度。而最终的结果又是在多个query上平均得来。这样的损失函数对机器学习来说是一个巨大的挑战:
|