Рекомендательные системы

Deep Learning для рекомендаций

Netflix, 2016 год: матрично-факторизационная система даёт 70% просмотров по рекомендациям. Команда запускает нейросетевую модель - HR@10 вырастает на 5%. Звучит скромно, но для платформы с 150 миллионами подписчиков это миллиарды дополнительных просматриваемых минут в год и снижение churn rate на 0.3%. Разница между dot product и нейросетью в рекомендациях стоит сотни миллионов долларов.

  • **YouTube**: Two-Tower для retrieval из 800M+ видео за <10ms, ranking DNN из 1000+ features для топ-50
  • **Alibaba**: DeepFM в production на Taobao - CTR prediction для миллиарда товаров в реальном времени
  • **Spotify**: Neural CF для Discover Weekly - эмбеддинги треков через skip-gram на истории прослушиваний

Предварительные знания

  • Матричная факторизация и dot product между эмбеддингами пользователя и товара
  • Многослойные перцептроны и обратное распространение ошибки
  • Эмбеддинги как плотные представления категориальных признаков
  • Matrix Factorization

Пол Ковингтон (2016)

В 2016 году команда YouTube опубликовала 'Deep Neural Networks for YouTube Recommendations' - первое крупное production-описание двухэтапной нейросетевой рекомендательной системы. До этого YouTube использовал матричную факторизацию. Переход на нейросети позволил включить сотни features помимо истории просмотров: время суток, тип устройства, географию, длительность предыдущих сессий. Архитектура с двумя независимыми нейросетями (candidate generation + ranking) стала стандартом для всей индустрии - сегодня аналогичные pipeline используют Google, Meta, Alibaba, Netflix. Двухэтапный retrieval+ranking pipeline стал industry standard в рекомендательных системах

Neural Collaborative Filtering

В 2017 году Xiangnan He опубликовал Neural Collaborative Filtering (NCF) - первую работу, заменившую матрично-факторизационный inner product нейросетью. Ключевое наблюдение: dot product ограничен линейными взаимодействиями между user и item эмбеддингами. MLP способен выучить произвольные нелинейные паттерны.

NCF объединяет два пути: **GMF** (Generalized Matrix Factorization) - element-wise произведение эмбеддингов - и **MLP** - конкатенацию эмбеддингов через несколько слоёв. Финальный NeuMF конкатенирует выходы обоих путей перед сигмоидой.

Тренировка использует implicit feedback с negative sampling: для каждого позитивного взаимодействия (user, item) семплируется 4-7 случайных негативных пар. Loss - binary cross-entropy. На MovieLens-1M NCF превысил SVD++ на 2-3% по HR@10.

Почему NCF превосходит классическую матричную факторизацию для задач рекомендаций?

DeepFM: Factorization Machines + Deep Network

Factorization Machines (FM) эффективно моделируют второпорядковые feature interactions через скалярные произведения. Но high-order взаимодействия FM не захватывает. DeepFM (Huifeng Guo, 2017) решает это: FM-компонент + DNN компонент работают параллельно на общих эмбеддингах.

DeepFM не требует feature engineering вручную: FM автоматически находит парные взаимодействия, DNN - высокоуровневые. Критически важно: эмбеддинги **общие** для FM и DNN - это снижает число параметров и улучшает обобщение.

Классическая FM-часть DeepFM не учитывает порядок (order-aware) взаимодействий. Для сессионных рекомендаций, где важна последовательность событий, DeepFM уступает RNN-based моделям или Transformers.

Какое ключевое архитектурное решение отличает DeepFM от Wide&Deep (Google, 2016)?

AutoInt: Attention для feature interactions

AutoInt (Song et al., 2019) применяет multi-head self-attention к эмбеддингам feature полей. В отличие от FM (только 2nd order) и DNN (неинтерпретируемые high-order взаимодействия), AutoInt явно моделирует взаимодействия через механизм внимания с residual connections.

Преимущество AutoInt - интерпретируемость: attention weights показывают, какие feature пары наиболее важны для предсказания. На Criteo benchmark AutoInt превысил DeepFM на 0.1% AUC при меньшем числе параметров в глубокой части.

Что AutoInt моделирует через механизм self-attention, чего не умеют FM и простой MLP?

Two-Tower: архитектура для retrieval

Production рекомендательные системы разбиты на два этапа: **retrieval** (candidate generation, миллионы -> тысячи) и **ranking** (тысячи -> десятки). Two-Tower специально для retrieval: отдельные encoder'ы для user и item, схожесть через cosine similarity или dot product.

Ключевое преимущество Two-Tower: item embeddings вычисляются заранее и индексируются в FAISS/ScaNN. В inference нужно только вычислить user embedding (forward pass через user tower) и выполнить ANN поиск. Latency - миллисекунды для миллиардного каталога.

Тренировка с in-batch negatives: в батче из 256 пар (user, item) каждый user видит 255 негативных item'ов. Это эффективно, но страдает от popularity bias - популярные item'ы чаще попадают в батч как negatives и модель учится их отклонять. Решение: logQ correction.

Two-Tower и NCF взаимозаменяемы - обе модели решают одну задачу

Two-Tower предназначен для retrieval (скорость, масштаб), NCF/DeepFM - для ranking (точность, богатые feature interactions)

Production системы используют обе архитектуры в pipeline: Two-Tower генерирует кандидатов, ranking модель их переранжирует

Почему Two-Tower подходит для retrieval, но не для ranking в рекомендательных системах?

Ключевые идеи

  • **NCF** заменяет dot product MLP - нелинейные взаимодействия user/item через NeuMF (GMF + MLP)
  • **DeepFM** объединяет FM (автоматические 2nd order interactions) и DNN (high-order) на общих эмбеддингах
  • **AutoInt** использует self-attention для интерпретируемых feature interactions с residual connections
  • **Two-Tower** разделяет user/item encoding для масштабируемого retrieval с precomputed item embeddings

Связанные темы

Темы, которые продолжают и расширяют Deep Learning для рекомендаций:

  • Matrix Factorization — Матричная факторизация и коллаборативная фильтрация - базовые методы, которые расширяют нейросетевые модели
  • Sequential Recommendations — Multi-task learning и real-time feature serving - следующий шаг после освоения этих архитектур
  • Embeddings — Two-Tower опирается на обучаемые эмбеддинги пользователей и товаров для ANN-retrieval

Вопросы для размышления

  • Как popularity bias в in-batch negative sampling влияет на качество Two-Tower модели и как logQ correction решает эту проблему?
  • При каких условиях DeepFM превзойдёт Two-Tower в задаче candidate retrieval, несмотря на разницу в latency?
  • Как стратегия negative sampling (random vs hard negatives) влияет на скорость сходимости и итоговое качество NCF?

Связанные уроки

  • rec-03
  • rec-05
  • ml-51-recommendation-systems
  • dl-03
  • aie-09-embeddings
  • ml-01
Deep Learning для рекомендаций

0

1

Войти