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

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

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

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

Справочные документы для DMN - Xiong et al 2016 и Kumar et al 2015, они описывают архитектуру со следующими компонентами:

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

Модуль ввода обрабатывает входные векторы, связанные с вопросом, в набор векторов, называемых фактами. Этот модуль реализован с использованием GRU или Gated Recurrent Unit, похожего на LSTM, но более простого и, следовательно, более эффективного с точки зрения вычислений. ГРУ позволяет сети узнать, актуально ли рассматриваемое в настоящее время предложение или не имеет отношения к ответу.

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

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

На кремнии эпизодическая память состоит из двух вложенных ГРУ.

Внутреннее ГРУ (нижняя линия на диаграмме выше) генерирует так называемые эпизоды. Внешнее ГРУ (верхняя линия на диаграмме) генерирует последний вектор воспоминаний, работая над последовательностью этих эпизодов.

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

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

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

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

См. также:

СМ. ГЛОССАРИЙ УКАЗАТЕЛЬ