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.