Дифференцируемый нейронный компьютер, нейронная машина Тьюринга (подробное изучение)
Данная статья является аннотацией к монографии «Анализ и визуализация нейронных сетей с внешней памятью».
В данной книге детально описаны принципы работы нейросетевых моделей, а именно нейронная машина Тьюринга, дифференцируемый нейронный компьютер, а также его модификации. Перечислены сферы применимости этих моделей. Выделены преимущества этих моделей по сравнению с более ранней успешной моделью LSTM. Описаны недостатки этих моделей, а также способы их устранения. Дано теоретическое обоснование того факта, что выше рассмотренные нейронные сети с внешней памятью, обладают б´ольшим потенциалом для решения многих задач, чем LSTM.
Проведены вычислительные эксперименты для задач копирования последовательностей битовых векторов, а также для задачи освоения базовых навыков вопросно-ответной системы. Результаты показывают, что нейронные сети с внешней памятью обладают большей «долгосрочной памятью», чем LSTM, имеют б´ольшую обобщающую способность. В некоторых случаях они превосходят LSTM по скорости обучения.
Введение
Схема дифференцируемого нейронного компьютера
Рекуррентные нейронные сети (RNN) отличаются от других методов машинного обучения тем, что они способны обрабатывать серии событий во времени или последовательные логические цепочки. Рекуррентные нейронные сети могут использовать свою внутреннюю память для обработки после довательностей разной длины. RNN применимы в таких задачах как, например: распознавание рукописного текста, анализ текстов, распознавание речи и др.
Кроме того, известно, что RNN являются полными по Тьюрингу, и поэтому имеют возможность имитировать произвольные программные процедуры. Но на практике это не всегда просто сделать.
Рекуррентные нейронные сети хорошо справляются с задачами обучения на последовательностных данных и с задачами обучения с подкреплением, но очень ограничены в возможностях для решения задач, связанных с работой со структурами данных и переменными, а также хранением данных в течение длинных временных промежутков из-за отсутствия долгосрочной памяти.
Одним из способов улучшения стандартных рекуррентных сетей для успешного решения алгоритмических задач является введение адресной памяти большого размера. В отличие от машины Тьюринга, нейронная машина Тьюринга (NTM) является полностью дифференцируемой моделью, которая может быть обучена модификациями метода градиентного спуска (например, RMSProp), что дает практический механизм для обучения программ на примерах.
Модель NTM была предложена в 2014-ом году в работе. В этой работе не описаны подробно детали функционирования данной нейросетевой модели. Одной из задач выпускной квалификационной работы является предоставление детального описания работы нейронной машины Тьюринга.
Основным фактором появления нейронных сетей с внешней памятью является изобретение дифференцируемых механизмов внимания.
В 2016-ом году в работе была предложена усовершенствованная модель нейронной сети с внешней памятью под названием дифференцируемый нейронный компьютер. В ней также было лишь краткое описание принципов работы этой модели.
В 2018-ом году в работе были предложены четыре модификации для дифференцируемого нейронного компьютера, которые позволяли улучшить качество решения задач, связанных с вопросно-ответными системами (QA tasks). Эти модификации были основаны на работах.
На сегодняшний день очень высока актуальность создания новых рекуррентных нейросетевых моделей, способных хранить большие объёмы данных, а также успешно решать задачи, предъявляемые к вопросно-ответным системам (QA-задачи).
К таким нейросетевым моделям предъявляются следующие требования:
наличие «долгосрочной» обучаемой памяти;
высокая скорость обучения;
устойчивость процесса обучения (процесс обучения не должен существенно зависеть от начальной инициализации);
прозрачность принятия решений моделью и интерпретируемость работы нейронной сети (попытка уйти от концепции «черного ящика»);
способность решать QA-задачи;
модель должна содержать относительно небольшое количество обучаемых параметров;
способность работать с переменными, а также со структурами данных (например, с графами), решать алгоритмические задачи.
Объектом исследования данной работы являются нейронные сети с внешней памятью, а именно нейронная машина Тьюринга и дифференцируемый нейронный компьютер.
Предметом исследования является подробный анализ вышеуказанных нейросетевых моделей, а также их применимость к решению задач, связанных с построением вопросно-ответных систем.
Целью работы является подробное теоретическое и экспериментальное исследование вышеуказанных нейросетевых моделей, а также разработка приложения для визуализации внутренних процессов дифференцируемого нейронного компьютера.
В работе были поставлены следующие задачи:
подробно описать работу нейронной машины Тьюринга, дифференцируемого нейронного компьютера (DNC), модификаций DNC, а также про строить необходимые схемы;
отметить преимущества и недостатки этих моделей;
сравнить качество работы этих моделей по отношению к более ранней успешной модели LSTM на примере двух задач: копирования последовательностей битовых векторов и bAbi-task (базовые навыки вопросно ответных систем);
разработать приложение для визуализации внутренних процессов модели дифференцируемого нейронного компьютера;
Общие сведения. Рекуррентные нейронные сети.
Рекуррентные нейронные сети представляют собой широкий класс систем с динамическим состоянием. Текущее состояние таких систем зависит от текущего входного вектора (например, из обучающей выборки) и от предыдущего состояния. Динамическое состояние имеет решающее значение, поскольку оно дает возможность выполнять контекстно-зависимые вычисления: входной вектор, полученный сетью в данный момент может изменить её поведение в гораздо более поздний момент.
Рекуррентные сети легко обрабатывают структуры переменной длины. Поэтому они недавно использовались во множестве когнитивных задач, включая распознавание речи), генерация текста, генерация почерка и машинный перевод.
Важнейшим новшеством для рекуррентных сетей было создание длинной краткосрочной памяти (LSTM). Эта архитектура была разработана для решения проблемы «исчезновения и взрыва градиента». LSTM решает данную проблему путем внедрения специальных вентилей.
Современный этап развития рекуррентных нейронных сетей характеризуется внедрением внешней памяти. Адресация внешней памяти основана на недавно изобретённых дифференцируемых моделях внимания. Фактором по явления таких моделей внимания послужили исследования рабочей памяти человека.
Введение внешней памяти сокращает значительную часть пространства поиска, поскольку теперь мы просто ищем RNN, которая может обрабатывать информацию, хранящуюся за её пределами. Это усечение пространства поиска позволяет нам начать использовать некоторые из возможностей RNN, которые были недоступны ранее, что видно из множества задач, которые может изучить нейронная машина Тьюринга: от копирования входных по следовательностей после их просмотра, до эмуляции N-грамм, реализации вопросно-ответных систем, решения задачи обхода и ориентирования на графе, а также поиска кратчайшего пути в графе и решения задач, связанных с обучением с подкреплением.
Приведём список названий некоторых нейронных сетей с внешней памятью:
Графовая нейронная сеть (Graph Neural Network)
Нейронная стек машина (нейронный стек, Neural stack machine)
Нейронная очередь (neural queue)
Нейронный дек (neural deque)
Сеть указателей (Pointer Network)
Сквозная сеть памяти (End-to-end memory network)
Сеть памяти (Memory network)
Динамическая сеть памяти (Dynamic memory network)
Нейронная карта (Neural map)
Нейронная машина Тьюринга (Neural Turing Machine)
Дифференцируемый нейронный компьютер (Differentiable Neural Computer)
Концепция рабочей памяти
Концепция рабочей памяти наиболее сильно развита в психологии. Она объясняет процесс выполнение задач, связанных с кратковременным манипулированием информацией. Принцип заключается в том, что «центральный исполнительный орган» фокусирует внимание и выполняет операции с данными в буфере памяти. Психологи широко изучили ограничения емкости рабочей памяти человека, которые часто количественно оценивают по количеству фрагментов информации, которую можно легко запомнить. Эти ограничения емкости приводят к пониманию ограничений в работе памяти человека, но в моделях NTM и дифференцируемого нейронного компьютера (DNC) размер рабочей памяти можно задавать произвольным образом.
Механизм внимания
Запись в память
Механизм внимания
Механизм уточнения (заострения внимания)
Механизм уточнения (заострения внимания)
Нейронная машина Тьюринга
Общая схема работы NTM
Архитектура NTM содержит два основных компонента: контроллер (нейронная сеть) и матрицу внешней памяти. Как и большинство нейронных сетей, контроллер взаимодействует с внешним миром через входные и выходные векторы. В отличие от стандартных сетей, он также взаимодействует с матрицей памяти, используя операции чтения и записи. Дополнительные выходы нейронной сети являются параметрами этих операций, и, по аналогии с машиной Тьюринга, будем считать их параметрами «головки».
Схема нейронной машины Тьюринга
Пошаговая работа NTM с feedforward-контроллером
Дифференцируемый нейронный компьютер
Схема дифференцируемого нейронного компьютера
Дифференцируемый нейронный компьютер может быть обучен при помощи техник: обучения с учителем или обучения с подкреплением.
Вся система дифференцируема, и поэтому может быть обучена от начала и до конца при помощи модифицированных методов градиентного спуска и метода обратного распространения ошибки, позволяя сети научиться организовывать внешнюю память целенаправленным образом.
Нейронная машина Тьюринга может извлекать информацию из памяти в порядке индексов её слотов, но не в порядке, в котором была произведена запись в слоты памяти. Дифференцируемый нейронный компьютер обладает этой способностью.
Принципы работы дифференцируемого нейронного компьютера можно прочитать здесь.
Полная схема DNC
зультаты работы LSTM, NTM, DNC представлены в таблицах на задачах bAbI-task.
Недостатки DNC
В данной работе мы анализируем DNC в задачах QA. Было выявлено четыре основные проблемы:
высокое потребление памяти затрудняет эффективное обучение больших моделей;
большая разница в эффективности обучения при разных инициализациях;
медленная и нестабильная сходимость требует длительного времени обучения;
однонаправленная архитектура затрудняет работу с различными видами вопросов в задачах QA.
Визуализация блока внешней памяти
Работу блока внешней памяти можно визуализировать.
Вот какие результаты можно получить.