Представляем Рекомендации с помощью TensorFlow |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-09-26 17:14 Автор: Мацей Кула и Джеймс Чен, Google Brain От рекомендаций фильмов или ресторанов до координации модных аксессуаров и выделения сообщений в блогах и новостных статьях рекомендательные системы являются важным приложением машинного обучения, открывающим новые открытия и помогающим пользователям найти то, что они любят. В Google мы потратили последние несколько лет на изучение новых методов глубокого обучения , чтобы обеспечить лучшие рекомендации с помощью многозадачного обучения, обучения с подкреплением, лучшего представления пользователей и целей справедливости. Эти и другие достижения позволили нам значительно улучшить наши рекомендации. Сегодня мы рады представить TensorFlow Recommenders (TFRS)-пакет TensorFlow с открытым исходным кодом, который упрощает построение, оценку и обслуживание сложных рекомендательных моделей. Построен с помощью TensorFlow 2.x, СКР позволяет::
СКР основан на TensorFlow 2.x и Keras, что делает его мгновенно знакомым и удобным для пользователя. Он модульный по своей конструкции (так что вы можете легко настроить отдельные слои и метрики), но все же образует единое целое (так что отдельные компоненты хорошо работают вместе). На протяжении всего проектирования СКР мы подчеркивали гибкость и простоту использования: настройки по умолчанию должны быть разумными; общие задачи должны быть интуитивно понятными и простыми в реализации; более сложные или пользовательские задачи рекомендаций должны быть возможны. TensorFlow Recommenders является открытым исходным кодом и доступен на Github. Наша цель - сделать его эволюционирующей платформой, достаточно гибкой для проведения академических исследований и высоко масштабируемой для построения рекомендательных систем веб-масштаба. Мы также планируем расширить его возможности для многозадачного обучения, кросс-моделирования функций, самоконтролируемого обученияи современных эффективных приближенных вычислений ближайших соседей. Пример: создание рекомендателя фильма Чтобы получить представление о том, как использовать рекомендации TensorFlow, давайте начнем с простого примера. Во-первых, установите СКР с помощью pip:
Затем мы можем использовать набор данных MovieLens для обучения простой модели рекомендаций по фильмам. Этот набор данных содержит информацию о том, какие фильмы смотрел пользователь, и какие оценки пользователи давали фильмам, которые они смотрели. Мы будем использовать этот набор данных для построения модели, чтобы предсказать, какие фильмы пользователь смотрел, а какие нет. общим и эффективным шаблоном для такого рода задач является так называемая модель двух башен: нейронная сеть с двумя подмоделями, которые изучают представления для запросов и кандидатов отдельно. Оценка данной пары запрос-кандидат - это просто точечное произведение выходов этих двух башен. Архитектура этой модели достаточно гибкая. Входные данные могут быть любыми: идентификаторы пользователей, поисковые запросы или временные метки на стороне запроса; названия фильмов, описания, синопсисы, списки главных актеров на стороне кандидата. В этом примере мы будем сохранять простоту и придерживаться идентификаторов пользователей для башни запросов и названий фильмов для башни кандидатов. Для начала давайте подготовим наши данные. Эти данные доступны в наборах данных TensorFlow.
Из всех функций, доступных в наборе данных, наиболее полезными являются идентификаторы пользователей и названия фильмов. В то время как СКР могут использовать произвольно богатые функции, давайте использовать их только для того, чтобы все было просто.
При использовании только идентификаторов пользователей и названий фильмов наша простая модель с двумя башнями очень похожа на типичную модель факторизации матрицы. Чтобы построить его, нам понадобится следующее:
TFRS и Keras обеспечивают много строительных блоков, чтобы это произошло. Мы можем начать с создания класса моделей. В
Первый важный компонент-это модель пользователя: набор слоев, описывающих, как необработанные пользовательские объекты должны быть преобразованы в числовые представления пользователя. Здесь мы используем слои предварительной обработки Keras для преобразования идентификаторов пользователей в целочисленные индексы, а затем сопоставляем их с изученными векторами встраивания:
Модель фильма выглядит аналогично, переводя названия фильмов в вложения:
Как только у нас будут модели пользователей и фильмов, нам нужно будет определить нашу цель и ее оценочные показатели. В СКР мы можем сделать это с помощью
Мы используем этот
Мы можем подогнать эту модель с помощью стандартных вызовов Keras fit:
Чтобы проверить рекомендации модели на вменяемость, мы можем использовать слой TFRS BruteForce. Слой BruteForce индексируется с предварительно вычисленными представлениями кандидатов и позволяет нам извлекать лучшие фильмы в ответ на запрос, вычисляя оценку запроса-кандидата для всех возможных кандидатов:
Конечно, слой BruteForce подходит только для очень маленьких наборов данных. Смотрите наш полный учебник для примера использования TFRS с Annoy, приблизительной библиотекой ближайших соседей. Мы надеемся, что это дало вам представление о том, что предлагает TensorFlow Recommenders. Чтобы узнать больше, ознакомьтесь с нашими учебными пособиями или справочником по API. Если вы хотите принять участие в формировании будущего рекомендательных систем TensorFlow, подумайте о том, чтобы внести свой вклад! Мы также вскоре объявим о создании специальной группы по интересам TensorFlow Recommendations, приветствующей сотрудничество и вклад в такие темы, как внедрение обучения и распределенное обучение и обслуживание. Оставайтесь с нами! Подтверждения TensorFlow Recommenders - это результат совместных усилий многих людей в Google и за его пределами. Мы хотели бы поблагодарить Тяньшэн Яо, Синьян и, Цзи Ян за их основной вклад в библиотеку, а также Личань Хун и Эд Чи за их руководство и руководство. Мы также благодарны Чжэ Чжао, Дереку Чэну, Сагару Джайну, Александру Пассосу, Франсуа Шоле, Сандипу Гупте, Эрику ни и многим, многим другим за их предложения и поддержку этого проекта. Источник: blog.tensorflow.org Комментарии: |
|