Чтобы начать двигаться по памяти, нужно найти способ взять текущее вентильное взвешивание и сместить фокус с одной ячейки на другую. Это можно сделать, выполнив свертку вентильного взвешивания сдвиговым взвешиванием s t , которое тоже выдается контроллером. Это нормализованный функцией мягкого максимума вектор внимания размера ( n + 1), где n — четное целое число, указывающее на количество возможных сдвигов вокруг данной ячейки при вентильном взвешивании. Например, при размере 3 можно сказать, что возможны два сдвига: один вперед, один назад. На рис. 8.4 показано, как сдвиговое взвешивание способно перемещать ячейку концентрации при вентильном взвешивании. Смещение происходит при свертке вентильного взвешивания сдвиговым — примерно так же, как мы сворачивали изображения при помощи карт признаков в главе 5. Единственное исключение — случай, когда сдвиговое взвешивание выходит за рамки вентильного. Вместо дополнения, которое мы применяли ранее, воспользуемся поворотным сверточным оператором: вышедшие за пределы веса применяются к значениям на другом конце вентильного взвешивания, как показано в средней панели рис. 8.4. Эту операцию поэлементно можно выразить так:
Рис. 8.4. Слева: сдвиговое взвешивание, направленное направо, смещает вентильное взвешивание на одну ячейку вправо. В центре: поворотная свертка на сдвиговом взвешивании, нацеленном влево, сдвигает вентильное взвешивание влево. Справа: нерезкое сдвиговое взвешивание к центру оставляет вентильное на месте, но рассеивает его
При введении операции сдвига веса наших головок могут свободно перемещаться по памяти вперед и назад. Но возникает проблема, если в какой-то момент сдвиговое взвешивание окажется недостаточно резким.
По природе операции свертки нерезкое сдвиговое взвешивание (правая панель рис. 8.4) рассеивает исходные вентильные по окрестностям, что снижает его концентрацию. Для борьбы с этим эффектом размывания мы выполняем еще одну операцию над сдвиговыми взвешиваниями: заострение. Контроллер выдает последний скаляр γ t ≥ 1, который заостряет сдвиговое взвешивание:
Процесс, начинающийся с интерполяции и заканчивающийся вектором весов после заострения, — второй механизм адресации в NTM, механизм на основе ячейки . Сочетая оба эти механизма, NTM может использовать память, чтобы учиться выполнять разные задачи. Одна из них, которая к тому же позволит нам лучше рассмотреть NTM в действии, — задача копирования, представленная на рис. 8.5. В ней мы задаем последовательность случайных двоичных векторов, которые оканчиваются специальным символом, и требуем перенести входную последовательность в выходную.
Рис. 8.5. Визуализация NTM, обученной на задаче копирования. Слева: сверху вниз показаны входные данные модели, векторы записи и взвешивания по всем ячейкам памяти во времени. Справа: сверху вниз показаны вывод модели, векторы считывания и взвешивания считывания по всем ячейкам памяти с течением времени [99]
Визуализация показывает, как во время ввода NTM начинает записывать входные данные шаг за шагом в последовательные ячейки памяти. Во время вывода NTM возвращается к первому вектору и проходит по следующим ячейкам, читая и выводя записанную ранее входную последовательность. В первой работе по NTM приводится несколько других визуализаций, обученных на других задачах. Эти визуализации показывают, что архитектура способна пользоваться механизмами адресации для адаптации и обучения решению разных задач.
Ограничимся текущим пониманием NTM и пропустим этап реализации. Остаток главы посвятим анализу недостатков NTM и тому, как их помогла устранить инновационная архитектура: дифференцируемый нейронный компьютер (differentiable neural computer, DNC). В конце опробуем реализацию этой архитектуры для простых задач понимания чтения, вроде уже рассмотренной выше.
Дифференцируемый нейронный компьютер
При всех своих достоинствах NTM обладают рядом ограничений, связанных с механизмами их памяти. Первое таково: NTM не способны гарантировать, что записанные данные не будут путаться или перекрываться. Дело в самой природе «дифференцируемой» операции записи: мы фиксируем новые данные по всей памяти, и лишь отчасти этот процесс регулируется вниманием. Обычно механизмы внимания учатся концентрировать веса строго в одной ячейке и NTM стремится к самому свободному от вмешательства поведению, но это не гарантировано. И даже в этом случае, когда в ячейку памяти что-то записано, снова использовать ее уже не получится, даже если данные утратят важность.
Читать дальше
Конец ознакомительного отрывка
Купить книгу