Самовнимание — это механизм, при котором для входной последовательности X = (x_1, x_2, ..., x_n) для каждого элемента x_i вычисляется взвешенная сумма всех элементов, где веса определяются совместимостью x_i с каждым x_j.
Формально это часто реализуется через матрицы Query (Q), Key (K) и Value (V), при этом оценки внимания вычисляются из скалярного произведения Q и K, нормированного с помощью Softmax:
Attention(Q,K,V) = softmax( (Q K^T) / sqrt(d_k) ) V
Здесь d_k — размерность векторов Key, используемая для масштабирования.
Этот механизм позволяет гибко и параллельно моделировать контекстные зависимости, что особенно используется в архитектурах Transformer (Vaswani et al., 2017).
Определение:
«Самовнимание — это механизм в нейронных сетях, который моделирует контекстные связи элементов входной последовательности путём вычисления взвешенных комбинаций элементов, при этом каждый элемент обращает внимание на все остальные элементы последовательности.»
Источник:
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is All You Need. В сборнике Advances in Neural Information Processing Systems (NeurIPS).