Как работает механизм внимания
Attention оперирует тремя матрицами, которые вычисляются из входных векторов: Query (Q), Key (K) и Value (V). Для каждого токена вычисляется сходство его Query с Keys всех остальных токенов — это и есть «веса внимания». Взвешенная сумма Values даёт контекстно-обогащённое представление токена.
Формула scaled dot-product attention:
Attention(Q, K, V) = softmax(QKᵀ / √d_k) · V
Деление на √d_k предотвращает исчезновение градиентов при большой размерности.
Зачем это важно
До attention нейронные сети обрабатывали последовательности постепенно — каждый токен передавал информацию следующему. При длинных текстах контекст «размывался»: модель плохо помнила начало предложения к его концу.
Attention позволил каждому токену напрямую «видеть» любой другой токен в последовательности. Это дало три принципиальных улучшения:
- Длинные зависимости — модель одинаково хорошо учитывает токены в начале и конце последовательности.
- Параллелизм — вся матрица весов вычисляется за один шаг, что позволяет обучать на GPU эффективнее, чем RNN.
- Интерпретируемость — веса внимания можно визуализировать и понять, на что «смотрит» модель при обработке конкретного токена.
Multi-Head Attention
| Параметр | Значение |
|---|---|
| Количество голов (стандарт) | 8–16 |
| Что изучает каждая голова | Разные аспекты: синтаксис, семантика, кореференция |
| Выход | Конкатенация выходов голов → линейная проекция |
Разные головы специализируются: одна отслеживает синтаксические зависимости, другая — семантическое сходство, третья — позиционные паттерны.
Применение в рекомендациях и поиске
В системах рекомендаций attention применяется для моделирования сессионного поведения: модель взвешивает, какие предыдущие просмотры товаров наиболее релевантны для предсказания следующего. В отличие от простого усреднения эмбеддингов, attention учитывает порядок и контекст взаимодействий.
Важно: attention — вычислительно дорогая операция. Инференс трансформер-моделей требует значительных ресурсов, что влияет на latency рекомендательных API в реальном времени.