Назад к подготовке

SASRec и база Transformer для рекомендательных систем

Объясните SASRec как последовательную рекомендательную модель, устройство self-attention в Transformer и отличие SASRec от BERT4Rec.

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

SASRec - causal self-attention sequential recommender, который предсказывает следующий item по предыдущим. BERT4Rec bidirectional и обычно обучается через masked-item prediction.

Полный разбор

SASRec представляет последовательность взаимодействий пользователя как tokens и применяет Transformer self-attention, чтобы предсказать следующий item. Обычно это decoder-style или causal setup: каждая позиция должна attend только на предыдущие позиции, чтобы модель не видела будущее во время обучения.

В scaled dot-product attention каждый token порождает queries, keys и values. Dot products между query и key оценивают, какие предыдущие tokens важны; деление на квадратный корень из key dimension стабилизирует logits; softmax превращает scores в веса; weighted sum по values дает contextualized representations. Multi-head attention повторяет это в нескольких subspaces.

BERT4Rec использует BERT-like bidirectional encoder и masked-item training: часть items скрывается, а модель предсказывает их по левому и правому контексту. SASRec ближе к autoregressive next-item prediction. Выбор зависит от serving objective и от того, доступен ли future context в training task.

Теория

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

Типичные ошибки

  • Разрешить модели attend на будущие items в next-item setup.
  • Объяснять attention только как “смотрим на важные токены” без Q/K/V.
  • Путать causal training в SASRec и masked training в BERT4Rec.
  • Игнорировать serving-time latency и ограничения candidate retrieval.

Как отвечать на собеседовании

  • Упомяните causal mask для SASRec.
  • Используйте Q, K, V и scaled softmax при объяснении attention.