Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

10.4.3Ассоциативная память

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

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

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

Рассмотрим искусственную нейронную сеть, показанную на рис. 10.22. Каждый круг на рисунке обозначает блок обработки данных, пороговое значение для которого записано внутри круга. Линии между кругами представляют связи между соответствующими блоками. Все связи двунаправленные, то есть линия, соединяющая два блока, указывает, что выход каждого из этих блоков является входом для другого. Следовательно, выход центрального блока подсоединен ко входам всех блоков по периметру, а выход каждого блока периметра является входом центрального блока. Два соединенных блока назначают одинаковые веса входам друг от друга. Этот общий вес записывается рядом с соединяющей их линией. Так, блок в верхней части диаграммы назначает вес 1 входу, полученному от центрального блока, и вес 1 входам от его соседей по периметру. Анатогично, центральный блок назначает вес 1 всем значениям, которые получает от блоков по периметру.

Эта сеть работает дискретно, то есть на каждом шаге все обрабатывающие блоки синхронно отвечают на входы. Для определения следующей конфигурации сети из текущей мы вычисляем эффективные входы всех блоков сети и затем разрешаем блокам одновременно ответить на их входы. Поэтому вся сеть выполняет строгую последовательность действий: рассчитывает эффективные входы, отвечает на входы, снова рассчитывает эффективные входы, отвечает на входы и т. д.

Рассмотрим последовательность событий, которые произойдут, если мы установим такую конфигурацию сети, когда только два крайних правых блока заторможены, а остальные возбуждены (рис. 10.23, а). Крайние слева блоки получат эффективные входы, равные 1, поэтому останутся возбужденными. Их соседи по периметру получат нулевые эффективные входы и перейдут в заторможенное состояние. Эффективный вход для центрального блока будет равен 4, поэтому он также перейдет в заторможенное состояние. Следовательно, конфигурация всей сети изменится на конфигурацию (рис. 10.23, б), где только два левых крайних блока возбуждены. Так как центральный блок теперь заторможен, возбужденное состояние левых крайних блоков вызовет повторное возбуждение верхнего и нижнего блоков. В то же время центральный блок останется заторможенным, так как эффективный вход для него равен 2. Сеть перейдет в состояние, показанное на рис. 10.23, в, из которого перейдет в состояние, представленное на рис. 10.23, г. (Вы можете убедиться, что мигающий эффект также возникнет, если установить сеть в такое состояние, когда возбуждены только четыре верхних блока. Верхний блок останется в возбужденном состоянии, тогда как его соседи по периметру и центральный блок будут переходить из возбужденного состояния в заторможенное и обратно.)

В заключение заметим, что у этой сети две стабильные конфигурации: когда центральный блок возбужден, а все остальные заторможены и когда центральный блок заторможен, а блоки по периметру возбуждены. Если мы установим сеть в состояние, когда возбуждены только центральный блок и не более двух блоков по периметру, она перейдет в первое стабильное состояние. Если же мы установим минимум четыре соседних блока в возбужденное состояние, она перейдет во второе стабильное состояние. Таким образом, можно сказать, что сеть связывает первое стабильное состояние с начальной конфигурацией, где возбуждены центральный блок и менее трех блоков по периметру, а второе — с конфигурацией, когда возбуждены четыре или более блока по периметру сети. То есть сеть демонстрирует элементарную ассоциативную память.