В искусственном интеллекте, дифференцируемый нейронный компьютер (DNC ) - это нейронная сеть с расширенной памятью архитектура (MANN), которая обычно (не по определению) повторяется в своей реализации. Модель была опубликована в 2016 году Алексом Грейвсом и др. из DeepMind.
DNC косвенно черпает вдохновение в архитектуре фон-Неймана, что делает его более эффективным, чем обычные архитектуры в задачах, которые в основном являются алгоритмическими, которые невозможно изучить, найдя границу принятия решения.
До сих пор DNC было продемонстрировано, что он справляется только с относительно простыми задачами, которые можно решить с помощью обычного программирования. Но DNC не нужно программировать для каждой задачи, их можно обучить. Эта концентрация внимания позволяет пользователю последовательно загружать сложные структуры данных, такие как графики, и вызывать их для дальнейшего использования. Кроме того, они могут изучить аспекты символического мышления и применить его к рабочей памяти. Исследователи, опубликовавшие этот метод, видят обещание, что DNC можно обучить для выполнения сложных, структурированных задач и работы с приложениями с большими данными, которые требуют каких-то рассуждений, таких как создание видео-комментариев или семантический анализ текста.
DNC может быть обученным ориентироваться в системах скоростного транспорта и применять эту сеть к другой системе. Нейронной сети без памяти, как правило, придется изучать каждую транзитную систему с нуля. В задачах обхода графа и обработки последовательностей с контролируемым обучением DNC работали лучше, чем альтернативы, такие как долговременная краткосрочная память или нейронная машина Тьюринга. Используя подход обучения с подкреплением к задаче головоломки с блоками, вдохновленный SHRDLU, DNC прошел обучение по учебной программе и научился составлять план. Он работал лучше, чем традиционная рекуррентная нейронная сеть.
Сети DNC были представлены как расширение нейронной машины Тьюринга (NTM) с добавлением механизмов внимания к памяти, которые контролируют, где хранится память, и временного внимания, которое записывает порядок событий. Эта структура позволяет DNC быть более надежным и абстрактным, чем NTM, и при этом выполнять задачи, которые имеют более долгосрочные зависимости, чем некоторые предшественники, такие как Long Short Term Memory (LSTM ). Память, которая представляет собой просто матрицу, может быть распределена динамически и доступна неограниченное время. DNC является дифференцируемым сквозным (дифференцируемым каждый подкомпонент модели, следовательно, и вся модель). Это позволяет их эффективно оптимизировать с помощью градиентного спуска.
Модель DNC похожа на архитектуру фон Неймана, а из-за возможности изменения размера памяти она полная по Тьюрингу.
DNC, как было изначально опубликовано
Независимые переменные | |
Входной вектор | |
Целевой вектор | |
Контроллер | |
Входная матрица контроллера | |
Глубокая (многоуровневая) LSTM | |
Вектор входных вентилей | |
Выходной вентильный вектор | |
Забыть вектор гейта | |
Вектор состояния ворот,. | |
Вектор скрытых ворот,. | |
Вектор вывода DNC | |
Читать Записать головки | |
Параметры интерфейса | |
Считывание головок | |
Чтение ключей | |
Прочитать силу | |
Свободные ворота | |
Режимы чтения,. | |
Записать голову | |
Записать ключ | |
Сила записи | |
Удалить вектор | |
Записать вектор | |
Шлюз распределения | |
Шлюз записи | |
Память | |
Матрица памяти,. Матрица единиц | |
Вектор использования | |
Взвешивание приоритета,. | |
Матрица временных связей,. | |
Записать взвешивание | |
Считывание взвешивания | |
Считать векторы | |
Адресация на основе содержимого,. ключ поиска , сила ключа | |
Индексы ,., отсортированные в порядке возрастания использования | |
Распределение веса | |
Запись веса содержимого | |
Прочитать взвешивание содержимого | |
Прямое взвешивание | |
Обратное взвешивание | |
Вектор сохранения памяти | |
Определения | |
Матрица весов, вектор смещения | |
Матрица нулей, матрица единиц, единичная матрица | |
Элементное умножение | |
Косинусное сходство | |
сигмовидная функция | |
Функция Oneplus | |
для j = 1,…, K. | Функция Softmax |
Усовершенствования включают адресацию разреженной памяти, которая уменьшает временную и пространственную сложность в тысячи раз. Это может быть достигнуто с помощью алгоритма приблизительного ближайшего соседа, такого как хеширование с учетом местоположения, или случайного дерева kd, например Fast Library for Approximate Neighbours from UBC. Добавление времени адаптивных вычислений (ACT) отделяет время вычислений от времени данных, которое использует тот факт, что длина проблемы и сложность проблемы не всегда одинаковы. Обучение с использованием синтетических градиентов работает значительно лучше, чем Обратное распространение во времени (BPTT). Устойчивость может быть улучшена с помощью нормализации слоев и обхода исключения в качестве регуляризации.