существует"Разборка трансформатора серии 1: подробное объяснение архитектуры модели кодер-декодер«Есть краткое введение во внимание, само-внимание и многоголовое внимание, все из которых являются просто интуитивным введением в роль внимания, как запоминать ключевую информацию, такую как механизм визуального внимания человека, а также представляет само- Механизм внимания.Как усвоить внутреннюю структуру предложений и некоторые грамматические особенности, взвешивая собственное внимание.
Теперь я также планирую продолжить подробное объяснение Attention, в основном, чтобы объяснить, как реализовано Multi-Head Attention в Transformer? Объясните с помощью иллюстраций и пояснений.
Self-Attention
В предыдущем разделе мы упомянули, что Запрос=Ключ=Значение Само-Внимания, то есть все три матрицы Q, K и V исходят из одного и того же входа, и каков процесс вычисления Внимания?
Механизм «Внимание» — это, по сути, процесс адресации. При задании вектора запроса запроса Q, связанного с задачей и задачей, значение внимания рассчитывается путем вычисления распределения внимания с помощью ключа и добавления его к значению. Этот процесс на самом деле является вниманием. Воплощение сложности нейронной сети не требует ввода всех N входов в нейронную сеть для расчета, но выбирает некоторую информацию, связанную с задачей, для ввода в нейронную сеть, что аналогично механизму стробирования в RNN.
Процесс расчета механизма внимания можно условно разделить на три этапа:
① Ввод информации: введите Q, K, V в модель
- использовать
представляет вектор входного веса
② Рассчитайте распределение внимания α: Рассчитайте корреляцию, вычислив скалярное произведение Q и K, и рассчитайте балл с помощью softmax.
- Другой
, веса внимания рассчитываются softmax,
![]()
- мы будем
Назовем это распределением вероятности внимания,
Что касается механизма оценки внимания, наиболее распространенными являются следующие:
- Аддитивная модель:
![]()
- Модель точечного продукта:
![]()
- Масштабируйте модель точечного продукта:
![]()
- Билинейная модель:
![]()
③ Средневзвешенная информация: распределение внимания
объяснить запрос в контексте
время,
Степень внимания к информации.
Выше описан общий процесс расчета внимания, а также описаны различные варианты расчета показателя внимания Итак, какой из них используется в Transformer? Ответ:Scaled Dot-Product Attention
На рисунке выше показана упрощенная диаграмма масштабированного скалярного произведения внимания.Вы можете видеть, что входные данные Q, K и V одинаковы.
Вы можете видеть, что Scaled Dot-Product Attention имеет коэффициент масштабирования, зачем добавлять этот коэффициент масштабирования?
если
Очень маленькое, аддитивное внимание и внимание, основанное на скалярном произведении, мало чем отличаются.
но если
Очень большой, значение скалярного произведения очень велико, и если вы не выполняете масштабирование, результат не так хорош, как аддитивное внимание.
Кроме того, результат точечного произведения слишком велик, поэтому градиент после softmax очень мал, что не способствует обратному распространению, поэтому результат масштабируется.
Мы кратко упомянули в предыдущем разделе, что Само-Внимание может улавливать зависимости на большом расстоянии и может изучать внутреннюю структуру и грамматику предложений, так как же происходит процесс вычисления Само-Внимания?
Step 1
Сначала введите информацию: используйтевыражать
Начальное представление трех векторов Q, K и V получается линейным преобразованием:
Step 2
Чтобы рассчитать оценку собственного внимания, предполагая, что мы вычисляем оценку собственного внимания к первому слову «Думаю» на изображении ниже, нам нужно рассчитать оценку слова «Думаю» для каждого слова в предложении. Оценка определяет, сколько внимания мы должны уделить остальной части входного предложения, когда мы кодируем слово в определенной позиции.
Оценка рассчитывается путем скалярного произведения Q и вектора ключевых слов K для каждого слова, поэтому, если бы мы имели дело с вниманием к себе для слова на позиции № 1, первая оценка была быи
скалярное произведение . Второй балл
и
скалярное произведение .
Step 3
Масштабируйте баллы, рассчитанные на шаге 2, здесь путем деления на 8 (в статье, что может сделать модель более стабильной с градиентом, значение по умолчанию равно 64 или другим значениям), а результаты нормализованы softmax.
Step 4
Умножьте балл назатем получите взвешенное значение, сложите эти значения, чтобы получить
. Это результат этого слоя, внимательно пощупайте его, используйте
рассчитать
правильно
вес, умножьте вес на
из
взвешенный
из
, и, наконец, суммируется, чтобы получить вывод для каждого слова
.
многоголовый механизм внимания
В документе показано, что разделение модели на несколько головок для формирования нескольких подпространств позволяет модели сосредоточиться на различных аспектах информации. Multi-Head Attention на приведенном выше рисунке заключается в том, чтобы выполнить процесс Scaled Dot-Product Attention H раз, а затем объединить выходные данные.
Формула механизма многоголового внимания выглядит следующим образом:
Здесь мы предполагаем
① Введите фразу «мастерская».
② Маркировать предложение в Word Embedding X
③ Разделите X на 8 частей и соедините с весом
Умножьте, чтобы сформировать входной вектор
,форма
④ Рассчитайте матрицу веса внимания,
, и, наконец, поместите каждый
сливаться в форму
⑤ Окончательно поставить результат 8 решек
сливаться
, точка умножается на вес
,форма
Как вы можете видеть ниже, X будет иметь много матриц
,
В Преобразователе выход Энкодера будет использоваться как вход Декодера, а выход Энкодера — это K, V и Q предыдущего слоя Декодера.
Суммировать
Причина, по которой Transformer использует механизм внутреннего внимания, была упомянута выше, модель механизма внимания Transformer лучше, чем RNN, в задачах машинного перевода. Использование многоголового внимания расширяет способность модели фокусироваться на разных местах, тем самым придавая вниманию несколько подвыражений.
Добро пожаловать, чтобы обратить внимание на личный общедоступный номер, более захватывающий контент