DLRM: Модель рекомендаций по глубокому обучению для систем персонализации и рекомендаций

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Facebook, 2019

https://arxiv.org/abs/1906.00091

Конспект про известную рекомендательную систему от Facebook на основе глубокой нейронной сети. Моделям подобного рода приходится работать с большим количеством разреженных категориальных признаков, что может вызывать трудности при обучении. Алгоритм, предложенный Facebook, позволяет эффективно работать с категориальными данными высокой размерности, а так же достигает новых state-of-the-art результатов.

Какую задачу решают авторы?

Несмотря на то, что для задачи построения рекомендаций было предложено достаточно много разнообразных методов решения, нейронные сети пришли в эту область относительно недавно. Архитектурные особенности таких моделей берут идеи из разных подходов, например, из коллаборативной фильтрации (collaborative filtering, CF)

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

Алгоритм DLRM, предложенный авторами, использует эмбеддинги для обработки разреженных категориальных признаков, обобщая принципы матричной факторизации, а также многослойный перцептрон (multilayer perceptron, MLP) для обработки более плотных признаков, после чего подает полученные признаки на вход еще одному перцептрону для финального вычисления вероятностей.

Как решают

Модель

Разберем архитектуру DLRM по частям, начиная с более высокоуровневых элементов.

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

Вещественные признаки подаются на вход перцептрону (bottom MLP), который в свою очередь создает эмбеддинги той же размерности, что и вектора разреженных признаков.

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

После чего эти значения умножаются на вектора вещественных признаков, которые затем подаются на вход финальному перцептрону (top MLP). Выход этого перцептрона подается напрямую в сигмоиду для подсчета вероятностей.

Обучение

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

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

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

Эмбеддинги конкретных признаков размещены на конкретных машинах. Работа с ними происходит по принципу butterfly shuffle. Сначала каждой машине на вход подаем минибатч. На этих машинах есть эмбеддинги некоторых признаков для каждого объекта из минибатча, но не всех. После чего минибатч необходимо разбить по размерности минибатча, и недостащие вектора признаков для конкретного объекта отправить на соответствующие машины для дальнейших вычислений (признаки второго порядка и top MLP). На картинке выше цвета означают отдельные части минибатча, а цифры - номера машин.

Эксперименты

Авторы измеряли качество модели на трех датасетах : случайном, синтетическом и на реальном, общедоступном. Первые два датасета использовались главным образом для измерения производительности модели и изучения различных боттлнеков.

Из публичных датасетов авторы рассмотрели Criteo AI Labs Ad Kaggle Dataset и Terabyte для задачи предсказания CTR объявления. В каждом из датасетов 13 вещественных и 26 категориальных признаков.

На двух рассматриваемых датасетах модель DLRM достигла новых state-of-the-art результатов.

И самое главное, разработчики DLRM разместили реализацию своей модели на Github: https://github.com/facebookresearch/dlrm

Мое мнение

Эта статья показалась мне особенно интересной, т.к. в научной среде не так много настолько качественных статей про нейронные сети в рекомендательных системах, а в индустрии такие модели применяются довольно часто. Плюс ко всему есть публичная реализация на Github, что делает DLRM более привлекательной для изучения.


Источник: m.vk.com

Комментарии: