Команда NVIDIA приняла участие в недавнем конкурсе ACM RecSys 2022 Challenge. Команда состояла из нескольких гроссмейстеров NVIDIA Kaggle и опытных исследователей и инженеров RecSys из команды NVIDIA Merlin. Команда заняла 3 место.

В этом сообщении блога мы представляем обзор решения. Мы также выделяем методы, которые могут улучшить производительность реальных рекомендательных систем.

Обзор проблемы

RecSys Challenge 2022, организованный Dressipi, был посвящен рекомендациям модных сессий. Задача состояла в том, чтобы предсказать товар, который покупатель купит, учитывая последовательность товаров, которые он щелкнул ранее.

Ключевые элементы решения

Решение представляет собой комбинацию из 3 отдельных этапов.

Первый этап состоит из 17 моделей. На этом этапе основное внимание уделяется созданию прочного фундамента для ансамбля. Команда оптимизировала как производительность отдельных моделей, так и разнообразие моделей.

Второй этап состоит из трех моделей, обученных на выходных данных базовых моделей и подмножества функций.

Конечный, третий уровень, представляет собой средневзвешенное значение моделей второго уровня.

Важнейшей деталью здесь является схема проверки. Команда использовала данные о поездах за последний месяц в качестве контрольного набора. Чтобы предотвратить утечку, модели второго этапа были обучены с использованием схемы перекрестной проверки на наборе задержек первого этапа.

На третьем этапе использовались CV-складки из этапа 2.

Следует отметить разнообразие моделей на первом этапе. Некоторым из этих моделей, например Transformers, требуются сложные методы предварительной обработки данных и обучения. Другие, такие как условная популярность, представляют собой очень легкие модели, основанные на статистике.

В бизнес-среде обучение и обслуживание такого количества моделей может быть очень дорогим с оперативной точки зрения. Тем не менее, в любом ансамбле большая часть ценности исходит от второй или третьей модели, которую мы добавляем.

Добавление всего одной или двух облегченных моделей может привести к усилению рекомендаций!

Увеличение табличных данных

С одной стороны, получение большего количества данных — это верный способ улучшить наше решение по машинному обучению. С другой стороны, сбор новых примеров часто очень затратен или невозможен в краткосрочной перспективе. Нам часто приходится обходиться тем, что мы уже накопили.

Расширение табличных данных является сложной задачей, потому что часто неясно, как изменить наши данные. Мы хотим создать больше примеров, но мы хотим, чтобы они были правдоподобными. Другими словами, мы хотим, чтобы наши синтетические примеры отображали опыт наших пользователей.

Для решения этой задачи команда NVIDIA увеличила свой набор данных в 5–10 раз! Команда заметила, что просмотренные предметы очень часто встречаются в сеансах одновременно друг с другом и с купленными предметами. Эта реализация привела к созданию вариаций существующих сеансов путем усечения или перетасовки просмотренных элементов, замены купленного элемента на просмотренный элемент (который затем становится целевым) и использования других подходов, как показано на рисунке ниже.

Однако важно отметить, что, хотя данные были дополнены в наборе поездов, прогнозы выполнялись на тестовых данных без изменений.

Увеличение табличных данных очень зависит от набора данных. Вы можете применять аналогичные методы увеличения изображений к различным наборам данных, но с табличными данными это не так. Мы должны быть более творческими.

Логика, которой следовала команда NVIDIA, может усилить наш набор инструментов! Увеличение нашего набора поездов в 5–10 раз может иметь большое значение с современными методами машинного обучения.

Краткое содержание

Не имеет смысла перенимать все приемы, используемые на соревнованиях. Но многие из них могут послужить источником вдохновения для создания более производительных систем машинного обучения.

Соревнования могут быть отличным полигоном для испытаний, и было бы упущением не использовать их в качестве источника проверенной в боях информации!

Для получения дополнительной информации о решении, пожалуйста, обратитесь к статье, написанной участниками, которую вы можете найти здесь.

Большое спасибо за чтение!

Команда

Сотрудничество команды, участвующей в вызове RecSys2022: Бенедикт Шифферер, Крис Деотт, Габриэль де Соуза П. Морейра, Жильберто Титерич, ДжиВей Лю, Казуки Онодера, Ронай Ак и Сара Рабхи.