Introducing TF-Ranking

简单介绍 TF-Ranking_示例_函数 AI快讯

作者 | Jesus Rodriguez

翻译 | Lemon_Sophia

校正 | 邓普斯•杰弗 审核 | 酱番梨 整理 | 立鱼王

原文链接:

https://towardsdatascience.com/introducing-tf-ranking-f94433c33ff

排序是机器学习场景中最常见的问题之一。
从搜索到推举系统,排名模型是许多主流机器学习体系构造的主要组成部分。
在机器学习理论中,排序方法常日利用像learning-to-rank(LTR)或machine learning ranking机器学习排序(LTR)这样的术语。
只管具有干系性,但是在大多数机器学习框架中,大规模开拓LTR模型仍旧是一个寻衅。
最近,来自谷歌的人工智能(AI)工程师引入了TF-Ranking,这是一个基于TensorFlow的框架,用于构建高度可伸缩的LTR模型。
几周前揭橥的一篇研究论文详细阐述了TF-Ranking背后的原则。

从观点上讲,排序问题定义为对一组样本(或示例)进行排序的派生,这些示例可以最大化全体列表的效用。
这个定义听起来类似于分类和回归问题,但排序问题从根本上是不同的。
分类或回归的目标是尽可能准确地预测每个示例的标签或值,而排序的目标是对全体示例列表进行优化排序,以便最先显示干系度最高的示例。
为了推断干系性,LTR方法考试测验学习一个评分函数(valued scores),该函数将示例特色向量映射到标记数据的实值评分(real-valued scores)。

这种大略的体系构造已经成为大多数排名算法以及RankLib或LightGBM等库的根本。
虽然这些库供应了有效的排序方法,但它们是针对小型数据集实现的,这使得它们在依赖于大量演习数据的实际场景中不切实际 。
除此之外,现有的LTR库还没有为在深度学习场景中常见的稀疏和多维数据集而设计。

现有LTR stacks(LTR栈)的局限性使得LTR方法在深度学习场景中的实现越来越繁芜。
由于缺少对主流深度学习框架(如TensorFlow、MxNet、PyTorch或Caffe2)中的排名模型的支持,这个问题变得愈加严厉。

进入 TF-Ranking

TF-Ranking是一个基于tensorflow的框架,它支持在深度学习场景中实现TLR方法。
该框架包括实现盛行的TLR技能,如成对pairwise或列表listwise丢失函数、多项目评分、排名指标优化和无偏学习排名。

TF-Ranking的实现非常繁芜,但利用起来也非常大略。
该实现的核心组件是一个model_fn函数,它接管特色和标签作为输入,并根据模式(TRAIN、EVAL、PREDICT)返回丢失、预测、度量指标和演习操作。
利用TF-Ranking构建model_fn函数是基于两个基本组件的组合: 评分函数(scoring function)和排名头(ranking head)。

Scoring Function评分函数: TF-Ranking支持单项和多项评分功能。
单项评分函数可以用函数F(X) = [F(x1);f (x2);:::;f(xn)],个中输入表示单个示例的特色,并打算一个分数作为输出。
多项目评分函数扩展了一组示例的这种构造。
TF-Ranking将每个示例列表分割成多少张量,张量的形状为[batch_size, group_size, feature_size]。
从上面的代码示例中可以看到,评分函数是一个用户指定的闭包,它通报给了这个排名model_fn构建器。

Ranking Head排名头: TF-Ranking利用一个针对特定指标的排名头和排名逻辑的丢失。
从观点上讲,排名头构造打算排名指标和排名丢失,给出分数、标签和可选的示例权重。
通过编程的办法,排名头通过工厂方法tf .head.create_ranking_head公开。

利用TF-Ranking

从编程的角度来看,TF-Ranking实现了TensorFlow Estimator接口,该接口抽象了机器学习运用程序生命周期的不同方面,比如演习、评估、预测和模型做事。
利用TF-Ranking的履历如下面的代码所示。

除了编程大略之外,TF-Ranking还集成了TensorFlow生态系统的其他部分。
利用TF-Rankign开拓的模型可以利用TensorBoard工具集进行可视化评估,如下图所示。

TF-Ranking在现实天下中的运用

谷歌在两个关键任务场景中评估了 TF-Ranking: 对存储在谷歌驱动器中的文档进行Gmail搜索和推举。
在Gmail搜索场景中,利用TF-Ranking对匹配特定用户查询的五个结果进行排序。
用户点击等指标被用作排名的干系标签。
不同排序模型的结果如下矩阵所示。

在谷歌驱动器场景中,TF-Ranking用于实现一个推举引擎,该引擎在用户访问驱动器主屏时显示当前干系的文档。
与Gmail场景类似,推举系统会考虑用户点击量来重新评估排名模型。
结果如下矩阵所示。

TF-Ranking是对TensorFlow堆栈的一个很好的补充。
不同于它的前身。
TF-Ranking针对须要大型数据集的模型进行了优化,并基于TensorFlow估计器供应了非常大略的开拓职员体验。
包含示例和教程的TF-Ranking代码可以在GitHub上找到。

想要连续查看该篇文章干系链接和参考文献?

点击【大略先容 TF-Ranking】或长按下方地址:雷锋网雷锋网雷锋网

https://ai.yanxishe.com/page/TextTranslation/1342

AI入门、大数据、机器学习免费教程

35本天下顶级原来教程限时开放,这类书单由有名数据科学网站 KDnuggets 的副主编,同时也是资深的数据科学家、深度学习技能爱好者的Matthew Mayo推举,他在机器学习和数据科学领域具有丰富的科研和从业履历。

点击链接即可获取:https://ai.yanxishe.com/page/resourceDetail/417