最近,谷歌新开源了可扩展的TensorFlow库TF-Ranking,可用于学习排序。所谓学习排序,也就是对项目列表进行排序,从而将整个功能最大化的过程。TF-Ranking中有一套完整的学习排序的算法,包含成对或列表损失函数、多项目评分、排名度量优化和无偏见的学习排名。
谷歌在官方博客表示,TF-Ranking在创建高质量排名模型时速度快且易于使用,这套统一的框架能帮助ML研究人员、从业者和爱好者能够在单个库中评估和选择一系列不同的排名模型。
谷歌还提供了灵活的API,用户可以在其中定义和插入自己的自定义损失函数、评分函数和衡量标准,开发自己的自定义模型。
支持现有算法和衡量标准
TF-Ranking的适用性很广,既可支持目前广泛使用的排序学习算法,还能通过嵌入和扩展到数亿个训练示例来处理稀疏特征。
TF-Ranking支持许多常用的排名衡量标准,包括平均倒数排名(MRR)和NDCG,还可以在TensorBoard(开源TensorFlow可视化仪表板)上显示这些标准。
多项评分
TF-Ranking支持与以往不同的评分机制,比如,可以挑战一把多项目评分。这是此前的一个难以进行推理的行业瓶颈。
TF-Ranking提供的List-In-List-Out(LILO)API能将所有这些逻辑包装在导出的TensorFlow模型中。
研究人员在论文中介绍说,让TF-Rankin在公共LETOR基准测试中进行多项目评分,进而与RankNet、MART和LambdaMART等最先进的学习模型相比,TF-Rankin具有竞争力。
优化排名标准
学习排名中的一个重要研究挑战是排名标准的直接优化。在TF-Ranking中,研究人员提出了一种新方法LambdaLoss,是为排名标准优化准备的概率框架。
在此框架中,可以通过期望最大化过程来设计和优化标准驱动的损失函数。
除了上述特征外,研究人员最后再次强调, TF-Ranking也是一个无偏见的排序学习库。
这篇新博客就酱,对TF-Ranking感兴趣的话,可进一步探索以下官方资料:
传送门
博客地址:
https://ai.googleblog.com/2018/12/tf-ranking-scalable-tensorflow-library.html
论文地址:
https://arxiv.org/abs/1812.00073代码地址:
https://github.com/tensorflow/ranking
教程地址:
https://github.com/tensorflow/ranking/tree/master/tensorflow_ranking/examples
推荐阅读
Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了
送书 | 2018年机器学习图书TOP10,双重好礼【第16期】