Внимание к рекуррентным нейронным сетям с кратковременной памятью

Внимание к рекуррентным нейронным сетям с кратковременной памятью

Архитектура кодировщика-декодера популярна, потому что она продемонстрировала самые современные результаты в различных областях.

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

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

Прочитав этот пост, вы узнаете:

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

Начните свой проект с моей новой книгой Long-Term Memory Networks With Python, включая пошаговые инструкции и Исходный код Python файлы для всех примеров.

Давайте начнем.

Внимание к рекуррентным нейронным сетям с кратковременной памятью

Внимание к рекуррентным нейронным сетям с кратковременной памятью
Фото Йонаса Шлеске, некоторые права защищены.

Проблема с длинными последовательностями

Рекуррентная нейронная сеть кодировщика-декодера - это архитектура, в которой один набор LSTM обучается кодировать входные последовательности во внутреннее представление фиксированной длины, а второй набор LSTM считывает внутреннее представление и декодирует его в выходную последовательность.

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

Например, см .:

Архитектура кодер-декодер по-прежнему дает отличные результаты по широкому кругу задач. Тем не менее, он страдает от ограничения, заключающегося в том, что все входные последовательности принудительно кодируются во внутренний вектор фиксированной длины.

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

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

- Дмитрий Богданов и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015 г.

Нужна помощь с LSTM для прогнозирования последовательности?

Пройдите мой бесплатный 7-дневный курс электронной почты и откройте для себя 6 различных архитектур LSTM (с кодом).

Нажмите, чтобы зарегистрироваться, а также получите бесплатную электронную версию курса в формате PDF.

Начните БЕСПЛАТНЫЙ мини-курс прямо сейчас!

Внимание внутри последовательностей

Внимание - идея освобождения архитектуры кодера-декодера от внутреннего представления фиксированной длины.

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

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

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

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

- Дмитрий Богданов и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015 г.

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

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

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

- Дмитрий Богданов и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015 г.

Проблема с большими изображениями

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

В результате можно сделать серию проблесков большого изображения, чтобы составить приблизительное впечатление от изображения перед тем, как сделать прогноз.

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

- Рекуррентные модели визуального внимания, 2014 г.

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

Смотрите бумаги.

5 примеров внимания при прогнозировании последовательности

В этом разделе представлены некоторые конкретные примеры использования внимания для прогнозирования последовательности с помощью рекуррентных нейронных сетей.

1. Внимание при переводе текста

Вышеупомянутый мотивирующий пример - это перевод текста.

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

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

- Дмитрий Богданов и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015 г.

Внимательный перевод французско-английского перевода

Внимательный перевод французско-английского перевода
Взято из работы Дмитрия Богданова и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015 г.

2. Внимание к описанию изображений.

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

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

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

Внимательная интерпретация выходных слов в определенные области входных изображений

Внимательная интерпретация выходных слов в определенные области входных изображений
Взято из Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2016.

- Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2016.

3. Внимание в заключении

Учитывая сценарий предпосылки и гипотезу о сценарии на английском языке, выведите, противоречит ли предпосылка, не связана ли она или влечет ли за собой гипотезу.

Например:

  • посылка: «Свадебная вечеринка фотографирует«
  • гипотеза: «Кто-то женился«

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

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

- Рассуждения о вовлечении с помощью нейронного внимания, 2016

Внимательная интерпретация исходных слов к гипотезным словам

Внимательная интерпретация исходных слов к гипотезным словам
Взято из книги Reasoning about Entailment with Neural Attention, 2016 г.

4. Внимание при распознавании речи.

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

Внимание используется для соотнесения каждой фонемы в выходной последовательности с конкретными звуковыми кадрами во входной последовательности.

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

- Основанные на внимании модели для распознавания речи, 2015.

Внимательная интерпретация расположения выходной фонемы во входных кадрах звука

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

5. Внимание при обобщении текста

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

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

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

- Модель нейронного внимания для абстрактного обобщения предложений, 2015

Внимательное толкование слов во входном документе в итоговую сводку

Внимательное толкование слов во входном документе в итоговую сводку
Взято из модели нейронного внимания для абстрактного обобщения предложений, 2015 г.

Дальнейшее чтение

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

На момент написания Keras не предлагает внимания прямо из коробки, но существует несколько сторонних реализаций. Видеть:

Знаете ли вы о некоторых хороших ресурсах по вниманию в повторяющихся нейронных сетях?
Дай мне знать в комментариях.

Резюме

В этом посте вы обнаружили механизм внимания для задач прогнозирования последовательности с помощью рекуррентных нейронных сетей LSTM.

В частности, вы узнали:

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

Вас также может заинтересовать