Глубокое обучение

Attention

Механизм внимания

актуальноТекущий рабочий стандарт

Направления: Глубокое обучение · Трансформеры

Каждая позиция смотрит на все остальные и взвешивает их по релевантности — прямой доступ к контексту без рекуррентности.

Что означает каждый компонент
  • совместимость запросов и ключей: скалярное произведение показывает, насколько токены «резонируют»
  • нормировка на размерность: без неё скоры растут, softmax насыщается и градиенты исчезают
  • значения, которые собираются с весами внимания — то, что реально переносится между позициями

Ключевые тезисы

  • Queries, keys и values задают, что ищем, где ищем и что забираем.
  • Multi-head позволяет одновременно отслеживать разные типы связей.
  • Квадратичная сложность по длине последовательности — главное ограничение.

Какую задачу решает

сжимает всю историю в один , и на длинном входе этот вектор становится узким горлышком: перевести абзац, помня только его «резюме», невозможно. убирает горлышко — вместо одного состояния модель получает доступ ко всем элементам входа сразу и на каждом шаге сама решает, куда смотреть.

Механизм устроен как мягкий поиск по ключам. Каждый элемент выставляет ключ (что у меня есть) и значение (что я отдам), а запрашивающий формирует запрос (что мне нужно). Совпадение запроса с ключами превращается в веса через , и ответ — взвешенная сумма значений. Никакой рекуррентности: все позиции считаются параллельно, а путь между любыми двумя элементами равен одному шагу.

Как внимание разрешает местоимение

Фраза: «Кот не поместился в коробку, потому что он был слишком большой». Чтобы понять, к чему относится «он», модель формирует из этого слова запрос и сравнивает его с ключами всех слов предложения. У слова «кот» совпадение выше, чем у «коробки», — отдаёт ему вес порядка 0.6, и в представление «он» подмешивается значение «кота». Замените конец на «слишком маленькая» — и вес перетечёт к «коробке». Это то самое рассуждение, которое должна была бы протащить через сжатое состояние.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

Каждый порождает три : query («что я ищу»), key («чем я могу быть полезен») и value («что я отдам, если меня выберут»). Совместимость запроса и ключа задаётся скалярным произведением.

Обозначения
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • транспонирование: строка вместо столбца

Деление на не косметика: при большой размерности скалярные произведения растут, насыщается и исчезают.

Кошка
села
на
тёплый
коврик
Кошка
0.66
0.05
0.04
0.06
0.20
села
0.14
0.57
0.10
0.06
0.13
на
0.07
0.14
0.47
0.11
0.21
тёплый
0.07
0.05
0.08
0.50
0.30
коврик
0.16
0.06
0.09
0.20
0.49
запрос (query)Кошка
максимум вниманияКошка
вес0.657
сумма весов строки1.000
Понижайте температуру: распределение внимания из размытого становится почти one-hot — модель выбирает один токен

Одна голова усредняет все типы связей. Несколько голов работают в разных подпространствах: одна отслеживает синтаксис, другая — кореференцию, третья — позиционную близость. Результаты конкатенируются и проецируются обратно.

  • Padding mask — не смотреть на технические токены-заполнители.
  • Causal mask — в декодере запрещает видеть будущие позиции: без неё авторегрессионное обучение было бы жульничеством.
  • Cross-attention — запросы из декодера, ключи и значения из энкодера: так работает перевод и .
На практике

Сложность — по длине последовательности. Отсюда все усилия последних лет: FlashAttention (та же математика, но эффективная работа с памятью), разреженное и линейное .

Где применяется

  • Основной строительный блок всех современных языковых и .
  • Cross-attention сшивает модальности: текстовый запрос управляет генерацией изображения, картинка отвечает на вопрос.
  • Рекомендации по истории пользователя выделяет релевантные прошлые действия вместо усреднения всей истории.
  • Агрегация в GAT взвешивает соседей вершины вместо равномерного усреднения.
  • Анализ моделиКарты дают первую подсказку о том, какие связи модель использует.

Плюсы, минусы и альтернативы

Плюсы

  • Прямая связь между любыми двумя позициями — длина пути 1 вместо у рекуррентности.
  • Полная параллельность по позициям: обучение отлично ложится на .
  • Динамический вес: важность соседа зависит от содержимого, а не от расстояния.
  • Один и тот же механизм работает для текста, изображений, звука и .
  • Карты дают хоть какую-то наблюдаемость внутрь модели.

Минусы

  • Сложность по времени и памяти — длинный контекст дорог.
  • Порядок не учитывается вообще: без позиционного кодирования вход для — множество, а не последовательность.
  • Веса — не объяснение: высокое внимание не означает причинного вклада.
  • На коротких входах проигрывает свёртке по стоимости при том же качестве.
  • Требует много данных: встроенных допущений о структуре у нет.

Брать, если

  • Нужны связи между далёкими элементами последовательности.
  • Важность соседа должна зависеть от содержимого, а не от фиксированного окна.
  • Нужно связать две разные модальности или две последовательности.

Не брать, если

  • Последовательности очень длинные и бюджет ограничен — смотрите линейные приближения или .
  • Данных мало: со своими допущениями обучится лучше.
  • Нужно настоящее объяснение решения — берите инструменты интерпретируемости, а не карты .

Чем заменяют

Тема также относится к главам:Обработка естественного языкаМодели

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

Связанные темы

Внимание и трансформеры

Transformers85%

Трансформеры · Глубокое обучение

Архитектура целиком на внимании: параллельная обработка последовательности вместо пошаговой.

Attention85%

Внимание в NLP · Обработка естественного языка

Изначально придумано, чтобы декодер перевода мог смотреть на нужные слова исходного предложения.

Transformers85%

Трансформеры в NLP · Обработка естественного языка

Основа всех современных языковых моделей: encoder, decoder или их комбинация.

BERT85%

BERT · Обработка естественного языка

Двунаправленный энкодер, предобученный на восстановлении замаскированных токенов.

GPT85%

GPT · Обработка естественного языка

Авторегрессионный декодер: предсказывает следующий токен, что оказалось достаточно универсальной задачей.

Vision Transformers85%

Vision Transformers · Компьютерное зрение

Изображение режется на патчи, которые обрабатываются как последовательность токенов.

Transformer forecasting85%

Трансформеры для прогноза · Временные ряды

Внимание над длинными горизонтами: Informer, Autoformer, PatchTST, TFT.

LLM85%

Большие языковые модели · Генеративный ИИ

Трансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.

Кому эта тема нужна

Профильная компетенция для ролей: NLP-инженер, LLM-инженер, Исследователь, Инженер речи.

Спрашивают на собеседовании: Яндекс — NLP, МТС — Речь и разговорный ИИ.

Проверить себя

Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.

Следующий шагПроверить себя: NLPТема встречается в этом тесте 1 раз. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Глубокое обучение» последний раз правилась . Нашли ошибку — напишите.