TF-Ranking предназначена для использования на платформе TensorFlow и представляет собой масштабируемый фреймворк с последними разработками в области алгоритмов ранжирования. Пользователь может опробовать различные модели обучения и испытать собственные наработки, пользуясь единой библиотекой и гибким API.
Оценка групп элементов в TF-Ranking
В отличие от традиционных методов ранжирования, новая библиотека может проводить групповую оценку элементов. Разработчики заявляют, что производительность такого подхода сравнима с производительностью новейших алгоритмов ранжирования RankNet, MART и LambdaMART. Для контроля над ранжированием пользователь может использовать List-In-List-Out (LILO) API.
В TF-Ranking реализованы стандартные точечные, парные и списочные функции потерь. Такой подход позволяет пользователю получить воспроизводимые результаты исследований или экспериментально подтвердить выводы, сделанные сторонней командой. Той же цели служит включение в библиотеку наиболее распространённых метрик ранжирования Mean Reciprocal Rank (MRR) и Normalized Discounted Cumulative Gain (NDCG).
Поскольку оптимизация стохастического нисходящего градиента для указанных метрик затруднена, Google включила в TF-Ranking метрику LambdaLoss. В этой собственной разработке компании функции потерь создаются и оптимизируются с помощью EM-алгоритма.
Разработчики заявляют, что им удалось создать алгоритм, исключающий, в итоге, заблуждения при ранжировании. Достигнуть такого результата оказалось возможным с помощью переопределения весов итераций обучения.
Библиотека использует интерфейс TensorFlow Estimator и готова к интеграции в инфраструктуру TensorFlow. Ознакомиться с TF-Ranking можно в репозитории GitHub.
TensorFlow — активно развивающийся набор библиотек, предназначенный для машинного обучения и построения нейронных сетей. Работает над этим проектом не только Google. В конце лета 2018 года команда разработчиков Intel опубликовала бинарные пакеты для оптимизации TensorFlow 1.9.
Источник: