Sobes.tech
Middle — Senior
32

Объясните формулу scaled dot-product attention. Зачем делить на sqrt(d_k)?

Companies where asked
ВижнТех
ГазпромбанкГазпромбанк

Answer from AI

sobes.tech AI

Scaled dot-product attention — это механизм внимания, который вычисляет весовые коэффициенты для элементов последовательности на основе скалярных произведений запросов (Q) и ключей (K). Формула выглядит так:

[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V ]

Здесь:

  • Q — матрица запросов,
  • K — матрица ключей,
  • V — матрица значений,
  • (d_k) — размерность векторов ключей.

Деление на (\sqrt{d_k}) нужно для масштабирования результата скалярного произведения. Без этого шага значения могут стать слишком большими при больших размерностях, что приводит к очень большим аргументам функции softmax. Это вызывает проблему "затухающих градиентов" — softmax становится очень «жестким», почти один элемент получает вес 1, а остальные — почти 0, что ухудшает обучение. Масштабирование стабилизирует градиенты и улучшает сходимость модели.