Влиятельная модель в механизме кодер-декодер

В наивной модели кодировщика-декодера один блок RNN читает предложение, а другой выводит предложение, как в машинном переводе.

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

Роль модели внимания в длинных последовательностях

В машинном переводе мы подаем наши входные данные в кодировщик (зеленая часть) сети, а выходные данные поступают из декодера (фиолетовая часть) сети, как показано выше.

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

BLEU, или Bilingual Evaluation Understudy, - это оценка для сравнения предполагаемого перевода текста с одним или несколькими справочными переводами. Приведенный выше график показывает, что блок кодировщика-декодера не может запомнить все длинное предложение, и, следовательно, то, что отражено на приведенном выше графике, - это то, что блок кодировщика-декодера хорошо работает с более короткими предложениями (высокий балл bleu).

Если кодировщик сделает плохое резюме, перевод также будет плохим. И действительно, было замечено, что кодировщик создает плохое резюме, когда пытается понять более длинные предложения. Это называется проблемой долгосрочной зависимости RNN / LSTM.

На этой ноте возникает роль механизма внимания в таких длинных последовательностях.

Понимание механизма внимания

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

Теперь, какая часть входного предложения X1, X2, X3, .. XT будет использоваться для генерации выходного yT? Модель внимания вычисляет набор весов внимания, обозначаемых α (t, 1),…, α (t, t), потому что не все входные данные будут использоваться для генерации соответствующего выхода. Вектор контекста ci для выходного слова yi генерируется с использованием взвешенной суммы аннотаций:

Веса внимания рассчитываются путем нормализации результата нейронной сети с прямой связью, описываемой функцией a, которая фиксирует выравнивание между входом в j и выходом в i.

Типы внимания

В зависимости от того, сколько исходных состояний вносит вклад в определение вектора внимания (α), может быть три типа механизмов внимания:

  • Общее (мягкое) внимание: когда внимание уделяется всем исходным состояниям. В глобальном внимании нам требуется столько же весов, сколько длина исходного предложения.
  • Местное внимание: когда внимание уделяется нескольким источникам.
  • Жесткое внимание: когда внимание уделяется только одному исходному состоянию.

Реализация модели внимания в наборе данных IMDB с использованием Keras

Вы сами можете убедиться, что использование внимания дает более высокую точность набора данных IMDB. Здесь мы рассматриваем две сети LSTM: одну с уровнем внимания, а другую с полностью подключенным уровнем. Каждая сеть имеет одинаковое количество параметров (250К в моем примере).

Для модели внимания необходимо вычислить вектор внимания, что можно сделать с помощью приведенного ниже фрагмента кода:

Вот сравнительное исследование точности, полученной с использованием механизма внимания и без него всего за 10 эпох.

Это показывает положительный эффект модели внимания во всей сети LSTM. Чтобы просмотреть полный код этого руководства, загляните в мой репозиторий GitHub.



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

Являясь независимой редакцией, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.