Толковый словарь по нейросетям и искусственному интеллекту
Механизм самовнимания
Категория термина
Self-Attention — это ключевой механизм в архитектуре трансформеров, позволяющий модели обращать внимание на разные части входной последовательности при обработке каждого её элемента. Он вычисляет взаимосвязи между всеми токенами входа, независимо от их положения, чтобы учесть контекст и важность каждого элемента по отношению к другим.
🧠 Как это работает:
Входная последовательность (например, слова в предложении) преобразуется в три матрицы:
- Query (Q) — запрос
- Key (K) — ключ
- Value (V) — значение
Для каждого токена вычисляется его внимание к другим токенам по формуле:
Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VЗначения attention определяют, насколько сильно модель "смотрит" на другие токены при создании представления текущего.
📌 Пример:
В предложении "The cat sat on the mat", при обработке слова "cat", self-attention может учитывать и "sat", и "on", и "mat", чтобы точно определить его роль и значение в контексте.
🔍 Особенности:
- Параллельность: В отличие от RNN, self-attention позволяет обрабатывать всю последовательность одновременно.
- Контекст: Каждый токен "видит" всю последовательность — важно для понимания смысла.
- Масштабируемость: Может применяться к очень длинным последовательностям, особенно с модификациями (Longformer, RetNet и др.).
📦 Используется в:
- Трансформеры (Transformers): GPT, BERT, T5 и др.
- Модели генерации текста, перевода, суммаризации
- Компьютерное зрение (Vision Transformers)
- Аудио и мультимодальные модели
📈 Преимущества:
- Улавливает дальние зависимости между токенами
- Гибкий контекст, учитывающий всю последовательность
- Подходит для массово параллельных вычислений
⚖️ Недостатки:
- Высокая вычислительная стоимость: O(n2)O(n^2) по длине последовательности
- Требует позиционного кодирования, так как не имеет встроенного понятия порядка
🧩 Связанные термины:
- Multi-Head Attention — параллельное применение нескольких self-attention слоёв
- Cross-Attention — внимание между двумя разными последовательностями
- Positional Encoding — добавление информации о порядке токенов
- Transformer — архитектура, в основе которой self-attention
🧠 Заключение:
Self-Attention — фундаментальный механизм, который позволил трансформерным моделям совершить прорыв в понимании и генерации естественного языка, изображений и других типов данных. Он заменил рекуррентные сети, обеспечив более эффективное, масштабируемое и качественное представление контекста.