Изучение роли кодировщика и декодера в Seq2Seq RNN с вниманием: краткие ключевые понятия

Seq2seq RNN (рекуррентные нейронные сети) — это тип архитектуры, который используется для таких задач, как машинный перевод, языковое моделирование и суммирование текста. Они состоят из двух RNN: кодера и декодера.

Кодер обрабатывает входную последовательность и создает вектор фиксированной длины, известный как вектор контекста, который суммирует ввод. Затем декодер обрабатывает этот вектор контекста, чтобы сгенерировать выходную последовательность.

Я дам вам краткое и интуитивно понятное представление о seq2seq и внимание к seq2seq.

Предпосылка

Этот блог подходит как для новичков, которые хотят получить реальное понимание, так и для экспертов, которые хотят быстро освежить или освежить материал.

Базовое понимание

  • работа ANN, RNN и CNN
  • математика (векторизация, скалярное произведение)

Что такое внимание?

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

(Техническитехнически) Маскировка или мягкое взвешивание узла/значения последовательности.

Внимание — это механизм, который позволяет модели сосредоточиться на определенных частях ввода при создании вывода. Он часто используется в моделях seq2seq, которые представляют собой тип архитектуры, используемый для таких задач, как машинный перевод, языковое моделирование и суммирование текста.

Seq2Seq РНН

Seq2Seq — это модель кодировщика-декодера RNN, используемая в машинном переводе, тегировании POS, NER и т. д.

Основная идея обычной модели seq2seq заключается в том, чтобы кодировать каждое слово временного шага с помощью RNN/LSTM для создания скрытых состояний (Hi). Декодер принимает Hf ( Hf — функция всех входных слов) или может принимать стек всех состояний в качестве начального скрытого состояния и предсказывает слово как функцию скрытого состояния предыдущего декодера (S[t-1]) и выходное слово (ŷ[t-1]) (рисунок 1).

Однако, как хорошо известно, RNN/LSTM трудно предсказать расширенные входные последовательности (исчезающие градиенты или проблема долгосрочной зависимости). После определенной длины последовательности их производительность начала снижаться (рисунок 2). Чтобы поддерживать и улучшать эту производительность, мы должны применить механизм внимания.

Внимание в Seq2Seq RNN

В данной модели мы передаем соответствующий вектор контекста (Ci) в декодер RNN/LSTM с предыдущим скрытым состоянием (S[t-1]) на каждом временном шаге (t) для его предсказания.

Вектор контекста представляет собой мягко взвешенную сумму всех скрытых состояний кодировщика (Hi) на каждом временном шаге (t) (fрисунок 4). Эти веса обозначаются A (альфа α). Обратите внимание, что A(t,j)(альфа α) является двумерным, для всех временных интервалов (T) мы должны вычислить αдля всех скрытых состояний кодировщика (Hj).

Метод "Внимание", который принимает все скрытое состояние кодировщика (h1, h2, h3, h4) и предыдущее скрытое состояние декодера временного шага (S[t-1]) в качестве входных данных, вычисляет α для всех hi на временном шаге tчерез SoftMax поверхseparate Слой ANN, который обучается вместе с остальной частью модели.

Мы наблюдаем, как RNN/LSTM могут производить перевод, концентрируясь на небольшой части входного предложения, благодаря механизму внимания. Тепловая карта альфа веса (fрисунок 5). Посмотрите, как более высокая интенсивность альфа (α) заставляет модель понимать соответствующую часть английского языка для прогнозирования французского текста.

За и против

Плюсы-

  1. Модели Seq2seq могут обрабатывать входные и выходные последовательности переменной длины, что делает их подходящими для таких задач, как машинный перевод и суммирование текста.
  2. Модели Seq2seq можно обучать с помощью как контролируемого (Машинный перевод, суммирование текста), так и неконтролируемого обучения (Языковое моделирование, автокодирование) техники.
  3. Модели Seq2seq могут включать механизмы внимания, которые позволяют модели повысить производительность при работе с длинными последовательностями.

Минусы-

  1. Модели Seq2seq могут быть медленнее в обучении, чем другие типы моделей, например модели преобразователя, потому что они обрабатывают входные и выходные последовательности по одному элементу за раз.
  2. Модели Seq2seq могут трудно поддерживать контекст в длинных последовательностях, особенно когда входная и выходная последовательности сильно различаются по длине.
  3. Модели Seq2seq не так хорошо подходят для распараллеливания, как другие типы моделей, например модели преобразователя, потому что вывод каждого элемента в последовательности зависит от вывода предыдущего элемента.

Освоение блоков-трансформеров: краткое введение читайте в блоге ниже.



Спасибо