В искусственном интеллекте дифференцируемый нейронный компьютер ( DNC ) представляет собой архитектуру нейронной сети с расширенной памятью (MANN), которая обычно (но не по определению) является рекуррентной в своей реализации. Модель была опубликована в 2016 году Алексом Грейвсом и др. из DeepMind . [1]
DNC косвенно черпает вдохновение из архитектуры фон Неймана , что делает ее более эффективной, чем традиционные архитектуры, в задачах, которые по своей сути являются алгоритмическими и которые невозможно изучить путем нахождения границы принятия решений .
До сих пор было продемонстрировано, что DNC справляются только с относительно простыми задачами, которые можно решить с помощью обычного программирования. Но DNC не нужно программировать для каждой проблемы, вместо этого их можно обучать. Такая концентрация внимания позволяет пользователю последовательно вводить сложные структуры данных , такие как графики , и вызывать их для последующего использования. Кроме того, они могут изучать аспекты символического рассуждения и применять их к рабочей памяти. Исследователи, опубликовавшие метод, обещают, что DNC можно обучить выполнять сложные, структурированные задачи [1] [2] и решать приложения с большими данными, которые требуют определенного рода рассуждения, такие как создание видеокомментариев или семантический анализ текста. [3] [4]
DNC можно обучить навигации в системах скоростного транспорта и применять эту сеть в другой системе. Нейронная сеть без памяти обычно должна изучать каждую транспортную систему с нуля. В задачах обхода графа и обработки последовательностей с контролируемым обучением DNC показала лучшие результаты, чем альтернативы, такие как долговременная кратковременная память или нейронная машина Тьюринга. [5] С подходом обучения с подкреплением к задаче блочной головоломки, вдохновленным SHRDLU , DNC обучалась с помощью обучения по учебной программе и научилась составлять план . Она показала лучшие результаты, чем традиционная рекуррентная нейронная сеть . [5]
Сети DNC были введены как расширение нейронной машины Тьюринга (NTM) с добавлением механизмов внимания памяти, которые контролируют, где хранится память, и временного внимания, которое записывает порядок событий. Эта структура позволяет DNC быть более надежными и абстрактными, чем NTM, и по-прежнему выполнять задачи, которые имеют долгосрочные зависимости, чем некоторые предшественники, такие как долгосрочная краткосрочная память ( LSTM ). Память, которая является просто матрицей, может быть распределена динамически и доступна неограниченно. DNC является дифференцируемой от начала до конца (каждый подкомпонент модели является дифференцируемым, следовательно, и вся модель). Это позволяет оптимизировать их эффективно с помощью градиентного спуска . [3] [6] [7]
Модель DNC похожа на архитектуру фон Неймана , и из-за возможности изменения размера памяти она является полной по Тьюрингу . [8]
Этот раздел может быть запутанным или неясным для читателей . В частности, список уравнений (без, например, исчерпывающей ассоциации с полной диаграммой DNC) не является удобоваримым описанием для многих читателей этой статьи. ( Октябрь 2017 г. ) |
DNC, как первоначально опубликовано [1]
Независимые переменные | |
Входной вектор | |
Целевой вектор | |
Контроллер | |
Матрица входных данных контроллера | |
Глубокий (многослойный) LSTM | |
Вектор входного затвора | |
Вектор выходного затвора | |
Забудьте вектор ворот | |
Вектор состояния ворот, | |
Вектор скрытых ворот, | |
Выходной вектор DNC | |
Головки чтения и записи | |
Параметры интерфейса | |
Считывающие головки | |
Прочитать ключи | |
Прочитать сильные стороны | |
Бесплатные ворота | |
Режимы чтения, | |
Пишущая головка | |
Записать ключ | |
Напишите силу | |
Стереть вектор | |
Написать вектор | |
Распределительные ворота | |
Написать ворота | |
Память | |
Матрица памяти, Матрица единиц | |
Вектор использования | |
Приоритетный вес, | |
Матрица временных связей, | |
Написать взвешивание | |
Прочитать взвешивание | |
Чтение векторов | |
Адресация на основе содержимого , ключ поиска , сила ключа | |
Индексы , отсортированные в порядке возрастания использования | |
Распределение веса | |
Написать взвешивание контента | |
Прочитать вес контента | |
Переднее взвешивание | |
Обратное взвешивание | |
Вектор сохранения памяти | |
Определения | |
Матрица весов , вектор смещения | |
Матрица нулей, матрица единиц, единичная матрица | |
Поэлементное умножение | |
Косинусное подобие | |
Сигмовидная функция | |
Функция Oneplus | |
для j = 1, ..., К . | Функция Softmax |
Усовершенствования включают адресацию разреженной памяти, что снижает сложность времени и пространства в тысячи раз. Этого можно достичь, используя алгоритм приближенного ближайшего соседа, такой как Locality-sensitive hashing , или случайное дерево kd , такое как Fast Library for Approximate Nearest Neighbors из UBC . [9] Добавление адаптивного времени вычислений (ACT) отделяет время вычислений от времени данных, что использует тот факт, что длина и сложность задачи не всегда одинаковы. [10] Обучение с использованием синтетических градиентов выполняется значительно лучше, чем обратное распространение во времени (BPTT). [11] Надежность может быть улучшена с использованием нормализации слоев и обхода выпадения в качестве регуляризации. [12]