找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 63|回复: 0

TF-Ranking:用于学习排名的可扩展 TensorFlow 库

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-3 21:55:42 | 显示全部楼层 |阅读模式
排名是一种对项目列表进行排序的过程,以使整个列表的效用最大化,它可应用于广泛的领域,从搜索引擎和推荐系统到机器翻译、对话系统甚至计算生物学。在这些(以及许多其他)应用中,研究人员通常使用一组称为排名学习的监督机器学习技术。在许多情况下,这些排名学习技术被应用于非常大的数据集 -在这些情况下, TensorFlow 的可扩展性可能是一个优势。但是,TensorFlow 目前还没有对应用排名学习技术的开箱即用支持。据我们所知,也没有其他开源库专门用于大规模应用排名学习技术。今天
,我们很高兴与大家分享TF-Ranking,这是一个基于 TensorFlow 的可扩展排名学习库。正如我们最近的论文中所述,TF-Ranking 提供了一个统一的框架,其中包括一套最先进的学习排名算法,并支持成对或列表损失函数、多项评分、排名指标优化和无偏学习排名。TF
-Ranking 快速且易于使用,并可创建高质量的排名模型。统一的框架使机器学习研究人员、从业者和爱好者能够在单个库中评估和选择一系列不同的排名模型。此外,我们坚信,有用的开源库的关键不仅在于提供合理的默认值,还在于使我们的用户能够开发自己的自定义模型。因此,我们提供了灵活的 API,用户可以在其中定义和插入自己的定制损失函数、评分函数和指标。
现有算法和指标支持
学习排名算法的目标是最小化在项目列表上定义的损失函数,以优化列表排序对任何给定应用程序的效用。 TF-Ranking 支持多种标准逐点、成对和列表损失函数,如先前的工作中所述。这确保使用 TF-Ranking 库的研究人员能够重现和扩展以前发布的基线,并且从业者可以为他们的应用做出最明智的选择。此外,TF-Ranking 可以通过嵌入处理稀疏特征(如原始文本)并可扩展到数亿个训练实例。因此,任何有兴趣构建现实世界数据密集型排名系统(如网络搜索或新闻推荐)的人都可以使用 TF-Ranking 作为强大且可扩展的解决方案。
实证评估是任何机器学习或信息检索研究的重要组成部分。为了确保与先前工作的兼容性,我们支持许多常用的排名指标,包括平均倒数排名(MRR) 和归一化折扣累积增益(NDCG)。我们还可以轻松地在训练时在TensorBoard(一个开源 TensorFlow 可视化仪表板)上可视化这些指标。
多项评分TF-Ranking 支持一种新颖的评分机制,其中可以联合评分
多个项目(例如网页),这是对传统评分模式(其中单个项目单独评分)的扩展。多项评分的一项挑战是推理困难,因为必须将项目分组并按子组评分。然后,按项目累积分数并用于排序。为了让这些复杂性对用户透明,TF-Ranking 提供了一个 List-In-List-Out (LILO) API 来将所有这些逻辑包装在导出的 TF 模型中。
正如我们在最近的工作中所展示的,多项评分在公共LETOR基准上的表现可与最先进的学习排名模型(如 RankNet、MART 和 LambdaMART)相媲美。
排名指标优化
学习排名中的一个重要研究挑战是直接优化排名指标(例如前面提到的 NDCG 和 MRR)。这些指标虽然能够比曲线下面积(AUC)等标准分类指标更好地衡量排名系统的性能,但不幸的特性是它们要么不连续,要么平坦。因此,这些指标的标准随机梯度下降优化是有问题的。在最近的工作中,
我们提出了一种新方法 LambdaLoss,它为排名指标优化提供了一个原则性的概率框架。在这个框架中,可以通过期望最大化程序设计和优化指标驱动的损失函数。TF-Ranking 库集成了直接指标优化方面的最新进展,并提供了 LambdaLoss 的实现。我们希望这将鼓励和促进排名指标优化这一重要领域的进一步研究进展。无偏排名学习先前的研究表明,给定一个排名项目列表,用户更有可能与前几个结果进行交互,而不管它们的相关性如何。这一观察激发了人们对无偏排名学习的研究兴趣,并导致了基于训练实例重新加权的无偏评估和几种无偏学习算法的开发。在 TF-Ranking 库中,实现了指标以支持无偏评估,并通过原生支持重新加权来实现无偏学习的损失,以克服用户交互数据集中固有的偏见。开始使用 TF-Ranking TF-Ranking 实现了TensorFlow Estimator接口,通过封装训练、评估、预测和导出以供服务,大大简化了机器学习编程。TF-Ranking 与丰富的 TensorFlow 生态系统很好地集成在一起。如上所述,您可以使用Tensorboard可视化排名指标(如 NDCG 和 MRR),以及使用这些指标选择最佳模型检查点。一旦您的模型准备就绪,就可以使用TensorFlow Serving轻松将其部署到生产中。 如果您有兴趣亲自尝试 TF-Ranking,请查看我们的GitHub 存储库,并浏览教程示例
。TF-Ranking 是一个活跃的研究项目,我们欢迎您的反馈和贡献。我们很高兴看到 TF-Ranking 如何帮助信息检索和机器学习研究社区。
致谢
这个项目之所以能够实现,要感谢 TF-Ranking 核心团队的成员:Rama Pasumarthi、Cheng Li、Sebastian Bruch、Nadav Golbandi、Stephan Wolf、Jan Pfeifer、Rohan Anil、Marc Najork、Patrick McGregor 和 Clemens Mewald‎。我们感谢 TensorFlow 团队成员的建议和支持:Alexandre Passos、Mustafa Ispir、Karmel Allison、Martin Wicke 等。最后,我们要特别感谢我们的合作者、实习生和早期采用者:Suming Chen、Zhen Qin、Chirag Sethi、Maryam Karimzadehgan、Makoto Uchida、Yan Zhu、Qingyao Ai、Brandon Tran、Donald Metzler、Mike Colagrosso 以及 Google 的许多其他人,他们帮助评估和测试了 TF-Ranking 的早期版本。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2024-12-26 19:47 , Processed in 0.082024 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表