Двойная расширенная модель с двумя башнями для онлайн-рекомендаций в крупномасштабном масштабе

Расширенная модель с двумя башнями для масштабных онлайн-рекомендаций

Глубокое погружение в модель двух башен Meituan для извлечения информации

Рекомендательные системы – это алгоритмы, предназначенные для предоставления персонализированных рекомендаций пользователям. Эти системы применяются в различных областях, чтобы помочь пользователям открывать для себя relevant items, такие как товары (электронная коммерция, например, Amazon), другие пользователи (социальные сети, например, X, LinkedIn), контент (социальные сети, такие как X, Instagram, Reddit), или информация (новостные приложения или социальные сети, такие как X, Reddit или платформы вроде VoAGI и Quora), основываясь на их предпочтениях, поведении или контексте. Цель рекомендательных систем – улучшение пользовательского опыта путем предоставления персонализированных и целевых рекомендаций, что в конечном итоге способствует принятию решений и вовлеченности. В общем, рекомендательная система состоит из извлечения сущностей (товары, пользователи, информация), а затем ранжирования извлеченных сущностей.

Image generated by DALL-E

В этой статье будет рассмотрена “Model for Online Large-scale Recommendation с двумя улучшениями – Модель двух башен”, которую предложили исследователи из Meituan, китайской электронной коммерческой компании. Это улучшенная версия популярной модели двух башен, используемой в рекомендательных системах.

Модель двух башен

Давайте сначала рассмотрим модель двух башен. Термин “двух башен” происходит от двух отдельных “башен” в архитектуре, одна для каждой сущности. Модель двух башен предназначена для захвата и изучения отдельных вложений (embeddings) двух разных сущностей. Эти сущности могут быть “пользователь”-“пользователь”, “пользователь”-“товар” или “поисковый запрос”-“товар” в зависимости от конкретной ситуации. Модель состоит из двух башен с вложенными слоями, за которыми следует слой взаимодействия для захвата их взаимосвязи, а затем слой вывода для генерации рекомендаций.

Недостатком оригинальной модели двух башен является отсутствие взаимодействия между двумя сущностями. Нет взаимодействия между двумя сущностями, кроме финального слоя взаимодействия, где используются их соответствующие вложения для вычисления метрики сходства, например, косинусного сходства. В статье решается этот вопрос путем введения нового Механизма Адаптивного Подражания. В статье также предлагается решение проблемы несбалансированности категорий. Во многих случаях, таких как электронная коммерция, некоторые категории могут иметь большее количество товаров и, следовательно, больше взаимодействий между пользователями, а некоторые категории могут иметь меньшее количество товаров и меньше взаимодействий между пользователями. В статье представлено Величина Потери (“Category Alignment Loss”) для устранения влияния несбалансированности категорий на сгенерированные рекомендации. На следующей диаграмме показана сетевая архитектура.

![The proposed Dual Augmented Two-tower Model architecture. Pic Credits
Author](https://miro.medium.com/v2/resize:fit:640/format:webp/1*H65eTfmSiFK08ObJ-ORGkg.png)

Постановка задачи

Рассмотрим пример использования “поисковый запрос”-“товар”. Нам дан набор запросов N u_i (i = 1, 2, ..., N), набор товаров M v_j (j = 1, 2, ..., M) и матрица обратной связи между запросом и товаром R. R является бинарной матрицей, где R_ij = 1, обозначая положительную обратную связь между соответствующим запросом u_i и товаром v_j, и R_ij = 0 в противном случае. Цель состоит в том, чтобы извлечь заданное количество кандидатов-товаров из огромного ассортимента товаров на основе запроса, предоставленного пользователем.

Двухбашенная модель с двумя улучшениями

Двухбашенная модель с двумя улучшениями (DAT) состоит из следующих компонентов

  • Слой вложения – Подобно модели двух башен, каждая характеристика запроса или товара преобразуется в его вложение (обычно разреженное). Эти характеристики могут быть характеристиками пользователя/товара, контекста/содержания и т. д.
  • Двухуровневый улучшенный слой – Для определенного запроса и кандидатского товара создаются улучшенные векторы a_u и a_v, которые объединяются в их соответствующее вложение функции. Обучая и изучая, мы ожидаем, что улучшенные векторы будут содержать информацию не только о текущем запросе и товаре, но и о их исторических положительных взаимодействиях. На следующем изображении показан пример объединенных входных вложений.
Связанное вложение, состоящее из вложений особенностей и расширенных векторов для запроса пользователя и элемента. Pic Credits - Authors
  • Сверточные слои — Связанные вложения z_uи z_vпроходят через сверточные слои; вывод каждой башни представляет собой низкоразмерное представление запроса p_uи элемента p_v. Производится L2-нормализация, за которой следует их скалярное произведение. Выход модели равен s(u, v) = <p_u, p_v>. Полученный вывод рассматривается как оценка данной пары запрос-элемент.
  • Адаптивный механизм “Мимикрия” (AMM) — Расширенные векторы a_uи a_vобучаются с помощью потерь мимикрии. Потери мимикрии стремятся использовать расширенные векторы для подгонки всех положительных взаимодействий в другой башне, принадлежащих соответствующему запросу или элементу. Если метка y = 1, a_v приближается к p_u, а a_u приближается к p_v. В этом случае функции потерь стремятся уменьшить расстояние между a_v и p_u, а также между a_u и p_v. Если метка y = 0, потери равны 0. Расширенные векторы используются в одной башне, а вложения запроса/элемента генерируются из другой. То есть, расширенные векторы подводят итоговую информацию о том, с чем возможно совпадает запрос или элемент из другой башни. Поскольку потери мимикрии обновляются для a_u и a_v, значения p_u и p_v должны быть зафиксированы.
Потери мимикрии. Pic Credits - Авторы
  • Выравнивание по категориям — Согласно авторам, двухбашенная модель выполняет по-разному для разных категорий. Она работает гораздо хуже в категориях с относительно меньшим количеством элементов. Чтобы решить эту проблему, они ввели Потери выравнивания по категориям (CAL), которые переносят изученные знания в категориях с большим объемом данных на другие категории. Для каждой партии CAL определяется как сумма нормы Фробениуса между ковариационной матрицей элемента из основной категории в этой партии C(S^major)и ковариационными матрицами элементов других категорий в этой партии C(S^i). Эта потеря гарантирует согласованность ковариаций (которые являются статистиками второго порядка) во всех категориях. Обратите внимание, что вложения элементов, p_v используются для вычисления ковариационных матриц.
Потери выравнивания по категориям. Pic Credits - Авторы

Обучение модели

Проблема моделируется как задача бинарной классификации — является ли полученный элемент соответствующим или нет. Кортеж {u_i, v_j, R_ij=y} подается на вход модели во время обучения. Для создания обучающих партий используется случайная отрицательная выборка. Во время обучения одна партия входов состоит из положительной пары запрос-элемент (метка y = 1) и S случайно выбранных отрицательных пар запрос-элемент (метка y = 0). Здесь используется потеря кросс-энтропии.

Потеря кросс-энтропии. Pic Credits - Авторы

Финальная функция потерь отображена ниже:

Финальная функция потерь. Источник картинки — Авторы

Детали реализации

Встраивания были уменьшены до размерности 32 с использованием трех полностью связанных прямых слоев размерностями 256, 128 и 32. Размерность дополненных векторов также была установлена равной 32. Авторы проводили свои эксперименты на собственном наборе данных Meituan и публично доступном наборе данных Amazon Books.

Наборы данных, используемые для экспериментов. Источник картинки — Авторы

Результаты и оценка

Для оценки использовались метрики HitRate@K и средний взаимно-обратный ранг (MRR). K было установлено равным 50 и 100. Из-за большого масштаба тестовых экземпляров авторы увеличили MRR в 10 раз.

  • HitRate@K — Метрика, которая измеряет пропорцию экземпляров, где истинное положительное рекомендация найдена среди топ-K рекомендаций.
  • Средний взаимно-обратный ранг (MRR) — Метрика, получаемая путем вычисления среднего взаимно-обратного ранга первой правильной рекомендации.

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

Результаты. Источник картинки — Авторы

Авторы изменяли размерность дополненных векторов и наблюдали изменение производительности. Результаты можно увидеть на следующих графиках.

Производительность в терминах HR@100 и MRR относительно размерности дополненных векторов на двух наборах данных. Источник картинки — Авторы

Вышеприведенные два результата основаны на офлайн-исследованиях. Авторы наблюдали работу модели на следующих метриках, развертывая ее для работы с реальным трафиком, включающим 60 миллионов пользователей в течение одной недели.

  • Click-Through Rate (CTR) — Метрика, которая измеряет процент пользователей, которые нажали на элемент, что указывает на эффективность привлечения контента.
  • Gross Merchandise Value (GMV) — Метрика, представляющая общую стоимость товаров или услуг, проданных через платформу.

Здесь оригинальная двухбашенная модель рассматривалась в качестве базовой. Обе модели извлекали 100 кандидатских элементов. Извлечение кандидатов выполнялось с помощью приближенного поиска ближайших соседей. Извлеченные элементы передавались тому же алгоритму ранжирования для честного сравнения. Модель DAT превзошла базовую модель с большим отрывом, общий средний улучшение составило 4,17% и 3,46% в терминах CTR и GMV соответственно.

Онлайн-производительность модели DAT и базовой модели. Источник картинки — Авторы

В заключение, модель с двумя башнями и двумя дополненными векторами aimed насчитнуцировать перекрестные глубокие взаимодействия и создать лучшие представления для несбалансированных категорий данных, тем самым улучшая метрики выборки, такие как HitRate@K и MRR, а также метрики ранжирования, такие как CTR и GMV.

Надеюсь, вы найдете статью познавательной. Вот ссылка на оригинальную статью — A Dual Augmented Two-tower Model for Online Large-scale Recommendation (dlp-kdd.github.io).

Спасибо за чтение!