Механизм внимания
Материал из MachineLearning.
| | Статья написана с использованием LLM Claude Sonnet 4 и проверена участником Emil Petrov 14:59, 16 июня 2026 (MSD)
Промпт приводится полностью в Обсуждение:Механизм внимания |
|
Механи́зм внима́ния (англ. attention mechanism) — метод в нейронных сетях, позволяющий модели динамически взвешивать различные части входных данных при формировании каждого элемента выходной последовательности. Впервые предложен Bahdanau et al. (2014) для задачи нейронного машинного перевода[1] и впоследствии ставший ключевым строительным блоком трансформера.
Мотивировка
В классических энкодер-декодерных архитектурах на основе рекуррентных нейронных сетей вся информация о входной последовательности сжимается в единственный вектор фиксированной длины — «контекстный вектор». При генерации длинных последовательностей это узкое место приводит к деградации качества: декодер не может напрямую «посмотреть» на нужный фрагмент входа. Механизм внимания устраняет это ограничение, позволяя декодеру на каждом шаге формировать взвешенную сумму всех скрытых состояний энкодера.
Базовый механизм внимания Bahdanau
Пусть — скрытые состояния энкодера,
— скрытое состояние декодера на предыдущем шаге. Оценка релевантности (энергия)
-го токена входа для генерации токена
:
где — небольшая полносвязная сеть. Оценки нормируются функцией softmax:
Контекстный вектор для шага формируется как взвешенная сумма:
Коэффициенты интерпретируются как «мягкое выравнивание» (soft alignment) — вероятности того, что
-й входной токен важен при генерации
-го выходного.
Scaled Dot-Product Attention
В трансформере Vaswani et al. (2017) предложили более эффективную формуляцию через матричные операции. Входы — матрицы запросов , ключей
и значений
:
Деление на предотвращает попадание в области с малым градиентом функции softmax при больших значениях скалярных произведений.
Типы внимания в трансформере
- Self-attention (само-внимание) —
формируются из одного входа. Каждый токен «смотрит» на все остальные токены той же последовательности, захватывая зависимости вне зависимости от расстояния между ними.
- Cross-attention (кросс-внимание) — запросы
поступают из декодера, а ключи
и значения
— из энкодера. Используется для установления связи между входной и выходной последовательностями.
- Маскированное внимание (masked attention) — позиции, на которые нельзя смотреть (будущие токены при авторегрессии), получают
перед softmax, что обнуляет соответствующие веса внимания.
Многоголовое внимание
Многоголовое внимание (multi-head attention) запускает независимых операций внимания с разными линейными проекциями:
где ,
,
,
— обучаемые матрицы.
Разные головы специализируются на синтаксических связях, семантических отношениях, кореференции, позиционных паттернах и т.д.
Эффективные варианты
Квадратичная сложность стандартного внимания ограничивает применение к длинным последовательностям. Предложены альтернативы:
- Sparse Attention (Longformer, BigBird) — каждый токен посещает локальное окно и набор глобальных токенов, снижая сложность до
или
.
- Linear Attention (Performer) — аппроксимация ядра softmax случайными признаками, линейная сложность
.
- FlashAttention — IO-aware алгоритм точного вычисления внимания с блочной обработкой в SRAM GPU без материализации матрицы
. Ускоряет вычисления в 2–4× при той же точности.
- Grouped Query Attention (GQA) — уменьшение числа голов для ключей и значений при сохранении голов для запросов; ускоряет инференс.
Применения вне NLP
Механизм внимания проник во многие области машинного обучения:
- Компьютерное зрение — Vision Transformer (ViT) применяет self-attention к патчам изображений.
- Рекомендательные системы — модели внимания над историей взаимодействий пользователя.
- Предсказание структуры белков — AlphaFold2 использует multi-head attention в блоках Evoformer.
- Генерация изображений — диффузионные модели применяют кросс-внимание между текстовым условием и картой признаков изображения.
- Обработка графов — Graph Attention Networks (GAT).
См. также
- Трансформер (модель)
- Большая языковая модель
- Нейросетевое встраивание
- Рекуррентная нейронная сеть
- Диффузионная модель
Примечания
Литература
- Bahdanau D., Cho K., Bengio Y. Neural Machine Translation by Jointly Learning to Align and Translate // ICLR. — 2015.
- Vaswani A. et al. Attention Is All You Need // NeurIPS. — 2017.
- Dao T., Fu D. Y., Ermon S., Rudra A., Ré C. FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness // NeurIPS. — 2022.
- Jain S., Wallace B. C. Attention is not Explanation // NAACL-HLT. — 2019.

