[НЛП] Принцип внимания и анализ исходного кода

искусственный интеллект глубокое обучение NLP исходный код

У меня всегда было поверхностное понимание внимания, я прочитал несколько статей, вводящих идеи и принципы, но я никогда не практиковал это. Я сегодня установил Флаг и вникаю в принципы и исходный код за один день! Если вы также находитесь в состоянии модели внимания первого уровня, вы могли бы также хорошенько взглянуть на нее.


содержание:

  1. смысл
  2. Принципиальный анализ (диаграмма + формула)
  3. Классификация моделей
  4. Преимущества и недостатки
  5. Анализ исходного кода ТФ

P.S. Отклоняйте многословные обсуждения, подходящие для студентов с базовыми знаниями, чтобы быстро углубиться во внимание, пожалуйста, оставьте сообщение для консультации, если вы не понимаете ~

1. Основная идея

Идею Attention легче понять, то есть присвоить разные веса информации на входе на этапе декодирования. В nlp это для каждого временного шага ввода последовательности, а в cv — для каждого пикселя.

2. Принципиальный анализ

Для трансляции Seq2seq модель на основе rnn выглядит так, как показано на рис. 1:

Рис. 1. Традиционная модель на основе rnn

Более базовая модель, сочетающая внимание и rnn, выглядит следующим образом (также называемая мягким вниманием):

в\alpha_{0}^1даh_{0}^1Соответствующий вес, после расчета всех весов, softmax и взвешивание будут выполнены для полученияc^0.

Видно, что этапы кодирования и декодирования по-прежнему rnn, но этап декодирования использует вывод внимания.c^0, c^1как вход в rnn.

Итак, дело в весе\alphaКак это произошло? Существует три распространенных метода:

  • \alpha_{0}^1=cos\_sim(z_0, h_1)
  • \alpha_0 =neural\_network(z_0, h)
  • \alpha_0 = h^TWz_0

Идея состоит в том, чтобы судить о распределении веса входной последовательности в соответствии с текущим «состоянием» декодирования.


Если внимание раздето, чтобы видеть, то на самом деле это следующий механизм:

Входными данными являются запрос (Q), ключ (K), значение (V), а выходными данными является значение внимания. Если она соответствует предыдущей модели, запросz_0, z_1, ключh_1, h_2, h_3, h_4, значение такжеh_1, h_2, h_3, h_4. Модель вычисляет вес, сопоставляя Q и K, а затем объединяет V, чтобы получить результат:

Attention(Q, K, V) = softmax(sim(Q, K))V \\

Дальнейшее понимание, этот механизм на самом деле выполняет адресацию (адресацию), то есть имитирует способ взаимодействия центрального процессора с хранилищем для чтения сохраненного контента, вы можете взглянутьКурс г-на Ли Хунъи.

3. Классификация моделей

3.1 Soft/Hard Attention

мягкое внимание: традиционное внимание, которое может быть встроено в модель для обучения и распространения градиента

Особое внимание: не вычисляйте все выходные данные, сэмплируйте выходные данные кодировщика в соответствии с вероятностью и используйте метод Монте-Карло для оценки градиента во время обратного распространения.

3.2 Global/Local Attention

глобальное внимание: традиционное внимание, вычисляет все выходные данные энкодера

локальное внимание: между мягким и жестким прогнозируется позиция и выбирается окно для расчета

3.3 Self Attention

Традиционное внимание вычисляет зависимость между Q и K, в то время как собственное внимание вычисляет зависимость между Q и K соответственно. Конкретные подробности будут даны в следующей статье~

4. Преимущества и недостатки

преимущество:

  • Работает лучше в ситуациях, когда выходная последовательность «упорядочена» иначе, чем входная последовательность, например, перевод, понимание прочитанного
  • Может кодировать более длинную информацию о последовательности, чем RNN

недостаток:

  • Нечувствителен к порядку последовательности
  • Обычно используется в сочетании с RNN, не может быть распараллелен.

5. Анализ исходного кода ТФ

Я обнаружил, что кто-то уже разобрал его очень четко.Даже если код TF обновлен, принцип должен быть аналогичным, поэтому скажем прямо:

Гу Сюсен: интерпретация исходного кода Tensorflow (1): модель AttentionSeq2Seqzhuanlan.zhihu.com图标


【Использованная литература】:

  1. Курс г-на Ли Хунъи
  2. Чжиху: Каковы современные основные методы привлечения внимания?
  3. Резюме модели 24 - Подробное введение в механизм внимания в глубоком обучении: принцип, классификация и применение