Асоціативна пам'ять
Людська пам'ять ассоциативна, тобто якийсь спогад може породжувати велику пов'язану з ним область. Один предмет нагадує нам про іншому, а інший про третьому. Якщо дозволити нашим думкам, вони будуть переміщатися від предмета до предмета по ланцюжку розумових асоціацій. Наприклад, кілька музичних тактів можуть викликати цілу гаму чуттєвих спогадів, включаючи пейзажі, звуки і запахи. Навпаки, звичайна комп'ютерна пам'ять є локально адресної, пред'являється адресу і витягується інформація за цією адресою.
Асоціативна пам'ять і Штучний інтелект
Штучна нейронна мережа з зворотним зв'язком формує асоціативну пам'ять. Подібно до людської пам'яті по заданій частині потрібної інформації вся інформація витягується з «пам'яті».
Автоасоціативною пам'яттю називають пам'ять, яка може завершити або виправити образ, але не може асоціювати отриманий образ з іншим чином. Даний факт є результатом однорівневої структури асоціативної пам'яті, в якій вектор з'являється на виході тих же нейронів, на які надходить вхідний вектор. Такі мережі нестійкі. Для стійкої мережі послідовні ітерації приводять до все менших змін виходу, поки зрештою вихід не стає постійним. Для багатьох мереж процес ніколи не закінчується. Нестійкі мережі мають цікаві властивості і вивчалися як приклад хаотичних систем. У певному сенсі, це може бути досягнута і без зворотних зв'язків, наприклад перцептроном для випадків коли стійкість важливіше вивчення хаотичних систем.
Гетероасоціативної пам'яттю називають пам'ять, в якій при вступі стимулу на один набір нейронів, реакція зворотнього зв'язку з'являється на іншому наборі нейронів.
Перша модель автоасоціативною пам'яті була розроблена Хопфилдом - Нейронна мережа Хопфілда. Щоб домогтися стійкості довелося вагові коефіцієнти вибирати так, щоб утворювати енергетичні мінімуми в потрібних вершинах одиничного гіперкуба.
Згодом Коско розвинув ідеї Хопфілда і розробив модель гетероасоціативної пам'яті - двоскерована асоціативна пам'ять (ДАП).
Але точно такого ж результату можна добитися використовуючи широкий клас рекурентних нейронних мереж, класичним прикладом яких служить мережа Елмана, при цьому проблема стійкості відпадає, а на вагові коефіцієнти не накладаються такі жорсткі умови, завдяки чому мережа володіє більшою ємністю. Крім того, рекурентні нейронні мережі можуть описувати кінцевий автомат, при цьому не втрачаючи всіх преймуществ штучних нейронних мереж
Асоціативна пам'ять і Програмування
Ряд робіт, розглядав можливості поняття асоціативної пам'яті в застосуванні до мов програмування і апаратної реалізації процесора. І в якості робочого визначення користувалися наступними:
Під асоціативною пам'яттю зазвичай розуміється певний набір, або сукупність елементів, що володіють здатністю зберігати інформацію. Доступ до цих елементів здійснюється одночасно і паралельно згідно з вмістом, що зберігаються на них даних, а не шляхом завдання адреси або розташування елемента.
Але таке розуміння асоціативної пам'яті відображає, по суті, лише факт наявності взаємозв'язків між даними і не має відношення до самого механізму зберігання інформації. Тому для позначення такого механізму зберігання інформації використовується термін «пам'ять, з адресацією за змістом» (ПАС).
Як тільки, акцент був зроблений на пристрій «пам'яті, з адресацією за змістом», то стало можливим спростити вимоги до самого розуміння асоціативності, і розробити пристрої лише в деякому сенсі володіють асоціативністю. Так, наприклад, перше, що було спрощено - це припущення, що паралелізм при виконанні операцій пошуку по суті не є принциповою функціональною характеристикою.
Друге спрощення пов'язано з запереченням необхідності розподіленої пам'яті, так як асоціативності в сенсі пам'яті, з адресацією за змістом, формально можна досягнути і без необхідності розподіляти між елементами пам'яті інформацію. На противагу цьому можна зберігати одиницю інформації цілісно в певній клітинці, маючи лише інформацію про безпосередніх зв'язках даної комірки з іншими - таким чином, ми приходимо до розуміння семантичних мереж. А так само дані принципи використовуються при індексування та пошуку у сучасних базах даних. Звичайно, в цьому розумінні це спрощення суперечить ідеям коннективизма (які базуються на штучних нейронних сетех), і плавно перетікає до ідей символізму.
Головне, що втрачається при такому спрощенні - це одне з дивовижних властивостей біологічної пам'яті. Відомо, що різного роду ушкодження тканини мозку призводять до порушень функціональних характеристик пам'яті. Тим не менш виявилося винятково важко виділити в роботі окремих нейронних структур явища, пов'язані з локалізацією функцій пам'яті. Пояснення цього базується на припущенні, що в мозку сліди пам'яті представлені у вигляді просторово розподілених структур, що формуються в результаті деякого перетворення первинних відчуттів.
Але тим ні менш, хоч при такому спрощенні були втрачені ряд біологічно правдоподібних властивостей, що важливо при моделюванні мозку, але зате в технічному сенсі стало зрозуміло як реалізувати пам'ять, адресуемую за змістом. Завдяки цьому з'явилися ідеї про хешуванні, які потім були реалізовані як в мовах програмування, так і при апаратній реалізації деяких процесорів.
Третє спрощення пов'язано з точностьи збігу шуканої інформації. Вибірка даних на основі їх змісту завжди передбачає ту чи іншу форму порівняння задається ззовні ключа, за яким повинен здійснюватися пошук, з деякою частиною або всією інформацією, яка зберігається в комірках пам'яті. Метою порівняння не завжди повинно бути поява інформації, що збігається з ключовою. Наприклад, при відшуканні значень, які розташовані в межах заданого інтервалу. В цьому випадку ми маємо класичний спосіб використання SQL при відборі з бази даних. Але можливий варіант пошуку, при якому необхідно серед сукупності даних знайти ті, які найкращім чином (в розумінні деякої заданої заходи) відповідають ключової інформації.
У такій постановці завдання асоціативного вибірки досить близька до задачі розпізнавання образів. Але визначальним є методи, які при цьому використовуються - якщо сенс асоціативності не схильний описаним тут спрощень, то ми маємо справу з розпізнаванням образів за допомогою штучних нейронних мереж, в іншому випадку ми маємо справу з оптимізацією роботи баз даних (а так-же апаратних кешей процесорів), або способами асоціативного уявлення даних (наприклад, семантичних мереж). Звідси повинно бути зрозуміло, що асоціативне уявлення даних, і деякі прийоми роботи з пам'яттю, адресної за змістом недостатні для розумінням під цим асоціативної пам'яті у повному розумінні слова.
Четверте спрощення може бути пов'язано з так званою проблемою часових асоціацій, що з точки зору програмування відноситься до теорії автоматів. Ці проблеми пов'язані з розробкою методів запам'ятовування та вилучення з пам'яті упорядкованих у часі послідовностей. При цьому вони можуть розгалужуватиметься, утворюючи вторинні альтернативні послідовності, причому перехід до однієї з них визначається змістом деякої фонової, або контекстної інформації. Зазначені послідовності можуть також містити замкнуті цикли.
Таким чином, з точки зору програмування або символізму, по відношенню до асоціативної пам'яті є всі ті ж проблеми і завдання, як і в штучному інтелекті. Відмінністю є те, що в програмуванні можуть бути зроблені спрощення і побудовані методи, які лише частково задовольняють розуміння асоціативної пам'яті. У той час як коннективизм намагається вирішити проблему асоціативної пам'яті, використовуючи методи, які не містять спрощень в описаних тут сенсах, володіють певною стохастичностью і непередбачуваністю в сенсі методу, але в кінцевому рахунку дають осмислений результат в областях розпізнання образів або адаптаційного управління.