Cross-attention — механизм, который позволяет модели сопоставлять два разных набора признаков и выделять важные связи между ними.
Определение
Cross-attention — это тип внимания, при котором запросы (Q) формируются из одного набора признаков, а ключи (K) и значения (V) — из другого. Механизм используется, когда модель должна обработать взаимодействие между двумя различными последовательностями: текстом и изображением, прошлым и текущим состоянием, кодом и комментариями, звуком и транскрипцией.
В отличие от self-attention, где Q, K и V происходят из одного источника, cross-attention обеспечивает направленное сопоставление между потоками данных.
Как работает
Механизм основан на вычислении attention между признаками двух источников. Поток А формирует запросы Q, поток B формирует K и V. Attention определяет, какие элементы B наиболее релевантны каждому элементу A.
- формирование запросов — Q создаётся из признаков основной последовательности;
- формирование ключей и значений — K и V извлекаются из вспомогательной последовательности;
- вычисление внимания — Q сравнивается с K для получения весов релевантности;
- сборка представления — итоговый вектор формируется как взвешенная сумма значений V;
- многоголовое внимание — каждый канал анализирует разные паттерны взаимодействия.
Cross-attention позволяет модели адаптировать своё поведение под внешний контекст или второй модальный источник.
Где применяется
- Мультимодальные модели: текст + изображение, текст + видео, текст + аудио.
- Инструктивные модели, где запрос должен модифицировать работу декодера.
- Encoder–decoder архитектуры (например, перевод и суммаризация).
- Модели генерации изображений и аудио.
- Видео-трансформеры со смешением временного и пространственного контекста.
- Системы с внешней памятью или вспомогательными подсказками.
Практические примеры использования
В моделях перевода cross-attention связывает токены исходного текста с токенами перевода: декодер на каждом шаге выбирает, на какие слова исходной фразы опираться.
В мультимодальных системах cross-attention сопоставляет изображение и текст: модель определяет, какие области изображения соответствуют словам или фразам.
В диффузионных генераторах (текст → изображение) cross-attention связывает текстовые эмбеддинги с визуальными признаками, позволяя модели управлять композицией кадра.
В аудио-моделях cross-attention связывает акустический поток с текстовой расшифровкой или наоборот.
Преимущества и ограничения
- Плюс: связывает разные модальности и последовательности.
- Плюс: улучшает контролируемость генерации.
- Плюс: эффективно расширяет контекст модели дополнительными источниками.
- Плюс: ключевой блок для encoder–decoder архитектур.
- Минус: требует больше вычислений, чем self-attention.
- Минус: чувствителен к качеству вспомогательного потока.
- Минус: может усиливать шум и артефакты из второго источника.
- Минус: усложняет оптимизацию при больших размерностях признаков.
Связанные термины
- Self-attention
- Encoder–decoder
- Multi-head attention
- Positional encoding
- Cross-modal alignment
- Diffusion models
- Vision–language models