Механизм внимания в нейросетях
Ключевые тезисы:
- Базовые эмбединги не учитывают контекст слова.
- Механизм самовнимания (self-attention) позволяет слову адаптировать свой векторный смысл в зависимости от окружения.
- Работа внимания строится на трёх сущностях: запросе (Query), ключе (Key) и значении (Value).
- Для улавливания разных типов связей используется многоголовое внимание (Multi-Head Attention).
Проблема базовых эмбедингов
Базовые эмбединги присваивают слову один фиксированный вектор, что приводит к неоднозначности. Например, слово «коса» может означать:
- Причёску
- Сельскохозяйственный инструмент
- Длинный песчаный берег
Значение слова определяется не словарём, а его контекстом и ситуацией (идея, восходящая к философам языка).
Суть механизма самовнимания (Self-Attention)
Это механизм, который позволяет слову «посмотреть» на соседние слова в предложении, понять контекст и изменить свой вектор так, чтобы он отражал конкретный смысл в данной ситуации.
Метафора работы внимания: архив
Работу механизма можно сравнить с поиском информации в архиве:
- Запрос (Query, Q) — ваша информационная потребность (например, «космос»).
- Ключ (Key, K) — бирка на папке с кратким описанием содержимого.
- Значение (Value, V) — сами страницы с полезной информацией внутри папки.
Алгоритм: берётся запрос (Q) и сравнивается с каждым ключом (K). Наиболее похожий ключ указывает на нужное значение (V).
Математика внимания на примере слова
Возьмем слово «точил» из предложения. У него есть базовый вектор эмбединга X.
Генерация Q, K, V
Каждое слово создаёт для себя три вектора, умножая свой вектор X на три обучаемые матрицы весов:- Q (запрос) — что слово ищет в других словах.
- K (ключ) — что слово сообщает о себе другим.
- V (значение) — истинное смысловое содержимое, которое слово готово передать.
Сравнение запроса с ключами
Вектор запроса Q слова «точил» сравнивается (через скалярное произведение) с векторами ключей K всех слов в предложении.- Результат — «сырые оценки» (scores), показывающие степень внимания.
Масштабирование (Scaled Dot-Product)
Чтобы стабилизировать обучение, результат скалярного произведения делится на квадратный корень из размерности векторов ключей (sqrt(d_k)).Нормализация весов (SoftMax)
Функция SoftMax превращает «сырые оценки» в вероятностное распределение (веса внимания, в сумме дающие 1).Извлечение значения
Полученные веса внимания умножаются на соответствующие векторы значений (V) и складываются. Результат — обновлённый эмбединг слова, обогащённый контекстом.
Многоголовое внимание (Multi-Head Attention)
Один механизм внимания может усреднять разные типы связей (грамматические, семантические и т.д.).
Решение: использовать несколько независимых «голов» внимания (например, 8 или 16). Каждая обучается смотреть на определённый аспект:
- Одна голова — на подлежащее.
- Другая — на предлоги.
- Третья — на эмоциональную окраску.
В конце результаты всех голов склеиваются в один вектор и передаются дальше в нейросеть.
Выводы:
- Механизм внимания — это способ для нейросети понять контекст, создавая «умные» векторы слов.
- Он работает по принципу Query-Key-Value, используя скалярное произведение и SoftMax для взвешивания информации.
- Многоголовое внимание позволяет анализировать разные типы отношений между словами одновременно.
- Этот механизм лежит в основе архитектуры Трансформер и всех современных больших языковых моделей (GPT и др.).