В чём разница self-attention и cross-attention, для чего используется каждый?
Answer from AI
sobes.tech AI
Self-attention — это механизм, при котором элементы входной последовательности взаимодействуют сами с собой для вычисления весов важности. Каждый элемент «внимательно смотрит» на все остальные элементы той же последовательности, чтобы понять, какие из них важнее для текущего шага. Это ключевой компонент в трансформерах для обработки последовательностей, например, в моделях языка.
Cross-attention — используется, когда есть две разные последовательности: одна выступает как запрос (query), а другая — как ключи и значения (key, value). Cross-attention позволяет модели фокусироваться на релевантных частях второй последовательности при обработке первой. Например, в задачах перевода или генерации текста cross-attention связывает выход декодера с выходом энкодера.
Итого:
- Self-attention помогает модели учитывать контекст внутри одной последовательности.
- Cross-attention связывает две разные последовательности, позволяя одной учитывать информацию из другой.
Пример: в трансформере для перевода self-attention применяется внутри энкодера и декодера, а cross-attention — между энкодером и декодером.