3d6

Динамическая ассоциативная память

Sep 26, 2009 14:44

Внезапно вспомнил, что у меня, оказывается, есть ЖЖ, да не простой, а в котором я уже давно хочу выложить обзор работы, которую докладывал на IJCNN'09 :) Собственно статья лежит, например, тут: http://ailen.org/0276.pdf (русской версии нет - значительная часть писалась сразу на английском).

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

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

На модельных задачах память показала весьма неплохие характеристики - так, например, при двух запомненных последовательностях, одна из движущихся горизонтальных линий, другая - из вертикальных, сеть способна отслеживать последовательности при уровне шума в 35%, с 14 запомненными образами на 100 нейронов. Этот показатель является недостижимым для статических сетей. А если снизить число образов до 4 - то шум можно довести почти до 60%, в этом случае и человек не сможет решить задачу, если он не знает о последовательностях (когда из 100 клеток, из которых 10 заполнены линией, 60 имеют случайные значения - линия не всегда видна, и иногда скорее видна вертикальная вместо горизонтальной). Тест был весьма жестким - сеть должна была дать ровно 0 ошибок при 5-кратном прогоне всех образов всех последовательностей, полученный граничный уровень шума усреднялся по 10 независимым повторениям тестирования.

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

Ради интереса, мы поставили эксперимент, в котором выход сети подавался обратно на вход - таким образом сеть самостоятельно могла генерировать запомненные последовательности (т.к. при поступлении на вход образа номер N сеть отвечает образом N+1, если же сделать последний образ последовательности совпадающим с первым - получится замкнутый цикл). Если в этом режиме при эксперименте с двумя кругами сеть начинала работу из точки пересечения (т.е. без всякого контекста) - то в динамике наблюдался гибрид движения по одной и второй последовательностям, правда заметно искаженный, но тем не менее. Если начало было в другой точки - последовательность генерировалась устойчиво, в том числе и при прохождении точки пересечения.

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

нейронные сети, ai

Previous post Next post
Up