Введение
Attention-механизм – компонент нейронных сетей, позволяющий модели при формировании каждого выходного элемента динамически взвешивать значимость различных частей входа. Вместо фиксированного вектора контекста (как в seq2seq с LSTM) attention вычисляет индивидуальное распределение весов для каждой позиции выхода.
В архитектуре Transformer self-attention является центральным механизмом: каждый токен «смотрит» на все другие токены в последовательности и взвешивает их вклад при формировании своего представления.
История и контекст
Механизм attention для seq2seq был предложен Bahdanau et al. (2015) для нейронного машинного перевода. Это позволило decoder фокусироваться на релевантных частях исходного предложения при генерации каждого слова перевода – значительно улучшив качество на длинных предложениях. Vaswani et al. (2017) обобщили идею: в Transformer attention применяется внутри одной последовательности (self-attention) и полностью заменяет рекуррентность.
Как это работает
Scaled Dot-Product Attention (ядро архитектуры):
Attention(Q, K, V) = softmax(Q·Kᵀ / √d_k) · V
- Query (Q) – что ищем («запрос» текущей позиции).
- Key (K) – что предлагают другие позиции для совпадения.
- Value (V) – что передаётся после совпадения.
- √d_k – масштабирующий коэффициент для стабилизации градиентов.
Multi-Head Attention – несколько параллельных head'ов с разными проекциями Q, K, V. Каждый head специализируется на своём типе зависимостей (синтаксические, семантические, кореференциальные). Результаты конкатенируются и проецируются.
Типы attention
- Self-attention – Q, K, V из одной последовательности (внутри encoder или decoder).
- Cross-attention – Q из decoder, K и V из encoder (в encoder-decoder архитектуре).
- Causal (masked) attention – в autoregressive decoder: каждая позиция видит только предшествующие.
Где применяется
- Все LLM – GPT, BERT, T5, LLaMA: self-attention – основной механизм обработки токенов.
- Машинный перевод – cross-attention связывает исходный и переводной тексты.
- Visual attention в CV – Deformable DETR, DINO, SAM используют attention для изображений.
- Мультимодальные модели – cross-attention между текстовыми и визуальными токенами (CLIP, Flamingo).
- Генерация изображений – Diffusion Transformer (DiT) использует attention в диффузионном процессе.
Преимущества и ограничения
Преимущества: моделирует дальние зависимости за O(1) слоёв; интерпретируем – attention weights визуализируются; параллелизируется на GPU; гибкая архитектура для разных модальностей.
Ограничения: квадратичная сложность O(n²) по длине последовательности (Flash Attention снижает требования к памяти, но не асимптотику); attention weights не всегда интерпретируемы как лингвистические зависимости.
Связь с другими понятиями
Attention-механизм – фундаментальный компонент Transformer. LLM – все современные языковые модели построены на стеках Transformer-блоков с Multi-Head Attention. RNN с attention (Bahdanau, 2015) – исторический предшественник. Токен (LLM) – единица, между которыми вычисляются веса attention. Генеративные модели (диффузионные, авторегрессионные) широко используют attention в своих архитектурах.