谷歌AI发布新成果TF-Ranking:基于TensorFlow的可扩展库

电子说

1.2w人已加入

描述

谷歌AI发布新成果,TF-Ranking:这是一个应用于Learning to Rank、基于TensorFlow的可扩展库。它提供了一个统一的框架,其中包括一套最先进的Learning to Rank算法,并支持成对或列表丢失函数,多项目评分,排名度量优化等等。

排序,是一种适用于搜索引擎、系统推荐以及机器翻译等的重要操作。

在诸如此类的应用程序中,研究人员经常使用一组名叫Learning to Rank的有监督机器学习技术。

在许多情况下,Learning to Rank应用于较大的数据集,在这些场景中,TensorFlow可扩展性是具有优势的。

然而,目前还没有现成的,可以在TensorFlow中应用Learning to Rank的技术。而且也没有其他开源库专门应用大规模Learning to Rank技术。

谷歌AI发布了TF-Ranking,这是一个应用于Learning to Rank、基于TensorFlow的可扩展库。

TF-Ranking

TF-Ranking提供了一个统一的框架,其中包括一套最先进的Learning to Rank算法,并支持成对或列表丢失函数,多项目评分,排名度量优化等等。

TF-Ranking速度较快且易于使用,而且还可以创建高质量的排名模型。统一的框架使ML研究人员、从业者和爱好者能够在单个库中评估和选择一系列不同的排名模型。

此外,谷歌团队坚信一个有用的开源库,其关键不仅在于提供合理的默认值(sensible default),还在于授权用户开发他们自己的定制模型。因此,团队提供了灵活的API,用户可以在API中定义和插入自己定制的损失函数、评分函数和指标。

现有的算法和度量支持

Learning to Rank算法的目标是最小化在项目列表上定义的损失函数,以优化任何给定应用程序的列表排序的效用。TF-Ranking支持广泛的标准pointwise,pairwise和listwise损失函数。这确保了使用TF-Ranking库的研究人员能够复制和扩展以前发布的基线,从业者可以为他们的应用做出最明智的选择。

此外,TF-Ranking可以通过嵌入和扩展到数亿个训练实例来处理稀疏特征(如原始文本)。

因此,任何对构建真实世界数据密集型排名系统(如Web搜索或新闻推荐)感兴趣的人都可以使用TF-Ranking作为强大,可扩展的解决方案。

经验评估是任何机器学习或信息检索研究的重要组成部分。

为了确保与先前工作的兼容性,TF-Ranking支持许多常用的排名指标,包括平均倒数排名(MRR)和归一化折扣累积收益(NDCG)。

TensorBoard中显示的训练步骤(X轴)的NDCG度量(Y轴)的示例。 它显示了训练期间指标的总体进度。 可以直接在仪表板上比较不同的方法。 可以根据指标选择最佳模型。

多项评分

TF-Ranking支持一种新的评分机制,其中多个项目(例如web页面)可以联合评分,这是对传统评分模式的扩展,在传统的评分模式中,单个项目是独立评分的。

多项目评分的一个挑战是很难推断哪些项目必须分组并在子组中评分。然后,每个项目的分数被累积起来,用于排序。为了让这些复杂性对用户透明,TF- Ranking提供了一个List-In-List-Out (LILO) API,将所有这些逻辑包装在导出的TF模型中。

机器学习

TF-Ranking库支持多项目评分体系结构,是传统单项评分的扩展。

正如谷歌AI在最近的工作中所展示的那样,多项目评分在公共LETOR基准测试中与RankNet,MART和LambdaMART等最先进的学习级别模型相比具有竞争力。

排名指标优化

Learning to Rank一个重要研究挑战是直接优化排名指标(如前面提到的NDCG和MRR)。

这些指标虽然能够比曲线下面积(Area Under the Curve, AUC)之类的标准分类指标更好地衡量排名系统的性能,但很可惜,它们要么不连续,要么平坦(flat)。因此,这些指标的标准随机梯度下降优化是有问题的。

谷歌AI提出了一种新的方法,LambdaLoss,它为排序度量优化提供了一个有原则的概率框架。

在这个框架中,可以通过期望最大化的过程来设计和优化度量驱动的损失函数。TF-Ranking库集成了直接度量优化的最新进展,并提供了LambdaLoss的实现。 

无偏(unbiased)Learning to Rank

先前的研究表明,给定一个项目的排序列表,用户更有可能与前几个结果交互,而不会考虑它们的相关性。

这一发现激发了人们对无偏Learning to Rank的研究兴趣,并且基于训练的实例进行重新加权,开发了无偏见的评估和几种无偏见的学习算法。 

开始用TF-Ranking吧!

TF-Ranking实现了TensorFlow Estimator接口,通过封装训练、评估、预测和导出服务,大大简化了机器学习编程。

TF-Ranking与丰富的TensorFlow生态系统完美集成。 如上所述,你可以使用Tensorboard可视化NDCG和MRR等排名指标,以及使用这些指标选择最佳模型检查点。 一旦你的模型准备就绪,便可以使用TensorFlow服务,非常容易将其部署到生产中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分