Е.С.Борисов
вторник, 18 октября 2005 г.
Ассоциативная память это память с адресацией по содержанию, т.е. выборка и запись в ячейки такой памяти выполняется в зависимости от их содержимого.
Ассоциативную память можно успешно реализовать как нейронную сеть [ 1 , 2 ], которая должна восстанавливать предъявленный слегка измененный образ, например, с наложенным шумом или содержащий лишь важную часть исходного образа. На основе таких систем можно создавать базы знаний, эффективный поиск в которых осуществляется не по ключу, а на основе предъявленного фрагмента требуемого образа.
Ассоциативную память будем строить на основе сети Хопфилда [ 3 ], которая представляет собой однослойную нейронную сеть с обратными связями (рис. 1 ) и принадлежит классу т.н. релаксационных нейронных сетей.
В основе функционирования таких сетей лежит итеративный принцип работы. На каждой итерации происходит обработка результата, полученного на предыдущем шаге. Циркуляция информации в нейронной сети происходит до тех пор, пока не установится состояние равновесия, т.е. значения её выходов перестанут изменяться.
Матрица весовых коэффициентов для сети Хопфилда - симметрична w ij =w ji и имеет нулевую главную диагональ w ii =0 , т.е. отсутствует обратная связь нейрона на себя.
Хопфилд ввел понятие энергии сети. Главное свойство функции энергии (1) состоит в том, что в процессе эволюции состояний сети она уменьшается и достигает локального минимума - аттрактора, в котором сохраняет постоянное значение.
Все возможные состояния сети можно представить как некое подобие холмистой поверхности. Каждая точка такой поверхности соответствует определенному сочетанию активностей нейронов данной сети, а высота подъема поверхности в данной точке характеризует значение энергии для такого сочетания активностей нейронов. Поведение сети аналогично поведению тяжелого шарика, который скатывается по склону в ближайшую ложбину.
(1) |
Сеть Хопфилда можно использовать как ассоциативную память. В этом случае хранимые в сети образцы являются аттракторами. Ассоциативная память на основе сети Хопфилда работает в двух режимах:
Экспериментально показано, что максимальное число образцов, которые может хранить сеть Хопфилда, 0.15 * n (где n - число нейронов сети). Когда число сохраняемых образцов p < 0.15 * n , данные успешно извлекаются из памяти. Число ложных аттракторов возрастает, когда p достигает емкости сети.
(2) |
Будем использовать пороговою функцию с порогом T=0 :
(3) |
w ij (t+1)=w ij (t)+y i (t) * y j (t) ; (для i = j : w ii =0 ) | (4) |
В начале в память ''записываются'' несколько разных картинок. Далее - памяти предъявляются другие, похожие картинки, по которым восстанавливаются оригиналы.
Данная реализация ассоциативной памяти хранит картинки 10 x 10 символов, используется дискретная сеть Хопфилда из 100 нейронов.
Реализация в системе Octave [ здесь ].