Адресно-простірне зберігання пам’яті проти адресного зберігання пам’яті
Звичайний комп'ютерний пам'ять базується на адресному принципі: щоб отримати унікальний фрагмент даних, необхідно знати його точну адресу, яка є числом, і апаратне забезпечення отримує будь-які біти, які там знаходяться, не звертаючи уваги, чи це саме те, що вам потрібно. Один перевернутий біт в адресі відправить вас до повністю не пов'язаного місця. Мережа Хопфілда, яку ввів фізик Джон Хопфілд у 1982 році, замість цього реалізує зберігання пам’яті на основі змісту: ви представляєте шаблон, навіть пошкоджений або неповний, і мережа шукає за схожістю, повертаючи будь-яку збережену пам'ять, яка найбільше відповідає цьому шаблону. Немає таблиці пошуку та індексу; замість цього пам’яті кодуються як стабільні стани динамічної системи, а отримання доступу відбувається просто шляхом розслаблення мережі в найбільш близький стабільний стан, який відповідає наданому вами сигнальному шаблону. Це набагато ближче до того, як працює біологічне запам'ятовування: кілька нот пісні або часткове обличчя часто достатньо для того, щоб викликати всю пам’ять.
Закономірності як Атрактори: Мініма енергії у просторі станів
Мережа Хопфілда складається з N бінарних нейронів, кожен із яких знаходиться в стані s_i = +1 або s_i = -1, підключених до кожного іншого нейрона через симетричну вагу w_ij (з w_ii = 0, без самозв’язків). Уся конфігурація мережі в певний момент часу визначає точку в N-вимірному просторі, і ключова інтуїція Хопфілда полягала у визначенні скалярної функції енергії над цим простором: E = -1/2 * сума_i суми_j (w_ij * s_i * s_j). Оскільки ваги симетричні та оновлення обрано відповідно, ця енергія поводиться як фізичний ландшафт пагорбів і долин, накладений на простір усіх можливих бінарних станів. Коли ваги розроблені таким чином, щоб кожен шаблон, який ви хочете запам’ятати, знаходився в локальному мінімумі – у долині, то цей шаблон стає атрактором: будь-який стан поблизу, тобто стан всередині його ‘басейну притягання’, природним шляхом тече вниз до нього під динамікою мережі. Зберігання пам’яті, таким чином, не полягає у записі даних у певному місці, а в тому, щоб сформувати поверхню енергії так, щоб існувала долина саме там, де належить ця пам'ять, з достатньо широким басейном, щоб шумні або часткові версії все ще потрапляли в неї.
Навчання Геббіана: Вирізання долин
Цей принцип використовує одне з найдавніших ідей у нейронауці, навчання Геббіана, яке часто підсумовується як «нейрони, які спалахують разом, з’єднуються разом». При заданому набору P шаблонів для зберігання, кожен шаблон x^p є вектором із значень +1/-1 по всіх N нейронах, вага між нейроном i та нейроном j встановлюється шляхом підсумовування їхньої скормованої активності по всіх збережених шаблонах: w_ij = (1/N) * сума_p (x_i^p * x_j^p), для p = 1 до P. Інтуїтивно, якщо два нейрони схильні мати однаковий знак у багатьох збережених шаблонах, зв’язок між ними посилюється позитивно, змушуючи їх сходитися в майбутньому виклику; якщо вони схильні розбіжності, зв’язок стає негативним, віддаляючи їх один від одного. Не потрібен жоден градієнтний спуск, нічого подібного до зворотного поширення помилок, ніякий ітеративний цикл навчання — ваги обчислюються за один прохід безпосередньо з шаблонів, і це правило зовнішнього-проdotto, яке виконується одноразово, саме вирізає локальні мінімуми в енергетичному ландшафті приблизно на місцях збережених шаблонів.”]} self.paragraphs[0] =
paragraphs
Асинхронні оновлення та гарантоване зниження енергії
Усвідомтеся, згадуючи, представляючи стимул як початковий стан мережі, а потім дозволяючи нейронам оновлюватися відповідно до простого правила: випадково вибирайте один нейрон i та перевертайте його стан, щоб він відповідав зваженому сумам його сусідів, s_i <- sign(sum_j w_ij * s_j). Ключовим є те, що це оновлення відбувається асинхронно, по одному нейрону за раз, а не одночасно для всіх нейронів. Хопфілд довів дивовижне щодо цієї здавалося б простої процедури: оскільки матриця ваг симетрична, кожне асинхронне оновлення або зменшує енергію E, або залишає її без змін, і ніколи не збільшує її. Кожен переклад стану нейрона фактично є невеликим кроком вниз по енергетичному ландшафту. Оскільки простір станів кінцевий (існує лише 2^N можливих конфігурацій) та енергія ніколи не зростає, мережа математично гарантовано зупиняється змінюватися після кінцельної кількості оновлень, встановлюючи стабільний стан, який знаходиться в локальному мінімумі енергії. Цей стабільний стан є відповіддю мережі, її найкращим припущенням щодо того, до якої збереженої пам'яті вказував початковий стимул, а весь процес виклику насправді є дискретним, фізично обґрунтованим аналогом градієнтного спуску.
Обмеження ємності та шлях до сучасних енергетичних моделей
Мережа Хопфілда не може зберігати необмежену кількість шаблонів без їх взаємного впливу; чим більше пам'яті стискають у тій самій ландшафті з N нейронами, тим більше перекриваються їхні області притягнення, з’являються хибні мінімуми, які відповідають жодному реальному збереженому шаблону, і відтворення стає ненадійним. Аміт, Гуфреунд та Смополінський показали за допомогою статистичної механіки, що для випадкових шаблонів практична ємність приблизно дорівнює P_max ≈ 0,14 * N — зберігати більше ніж близько 14% від N шаблонів щодо кількості нейронів, а похибка мережі під час відтворення різко зростає, явище, яке називається катастрофічним забуванням. Цей ракурс мінімізації енергії не залишився історичною цікавинкою: він безпосередньо провідомив болтцмановську машину та, пізніше, Обмежену Болтцманову Машину (РБМ), які розширюють ту ж ідею, визначаючи енергію над конфігурацією мережі та навчаючи ваги так, щоб бажані шаблони були низькоенергетичними, але додають стохастичні нейрони та приховані блоки з контрольованою температурою, дозволяючи їм моделювати ймовірності розподілів замість просто дискретних детермінованих областей притягнення. Той самий енергетичний погляд продовжується в дифузійних моделях і сучасних «енергетичних генеративних моделях», всі вони, в основному, все ще навчають ландшафт, де правильні відповіді знаходяться у долинах.”]}**{}**
Часті запитання
Що робить систему пам’яті «адресованою за змістом»?
Пам’ять, адресована за змістом, зчитується шляхом надання чогось схожого на саму дані, часткової або шумної версії шаблону, а не шляхом надання зовнішнього індексу чи адреси. Динаміка мережі Хопфілда автоматично шукає найближчий збережений шаблон, що пояснює її здатність відновлювати пошкоджене зображення або заповнювати частково запам’ятовану послідовність.
Чому матриця ваг має бути симетричною?
Симетрія (w_ij = w_ji) гарантує, що функція енергії E = -1/2 * сума_i сума_j (w_ij * s_i * s_j) може лише зменшуватися або залишатися незмінною під асинхронними оновленнями. Без симетрії немає гарантії, що динаміка взагалі встановиться в стабільний стан; мережа може назавжди циклувати замість того, щоб збігтися до пам’яті.
Що відбувається, якщо спробувати зберегти занадто багато шаблонів?
За приблизно 0,14 * N шаблонів для N нейронів, збережені спогади починають перешкоджати один одному: їхні області притягнення перекриваються, з’являються хибні «примарні» мінімуми, які не відповідають жодному реальному збереженому шаблону, і точність відновлення різко падає. Ця межа єдиної здатності є прямим наслідком використання фіксованої кількості ваг (N^2 з’єднань) для кодування зростаючої кількості шаблонів.
Як це пов'язано з сучасним глибоким навчанням?
Основна ідея мережі Хопфілда, визначення функції енергії над станами мережі та формування її так, щоб бажані шаблони мали низьку енергію, безпосередньо надихнула болтцмановські машини та обмежені болтцманівські машини (RBM), які додавали стохастичні одиниці та ймовірне навчання. Це framing на основі енергії продовжує відбиватися в пізніших підходах до генерації, включаючи деякі методи дифузії та орієнтованих на оцінку, які також навчаються ландшафту, де правильні виходи знаходяться у долинах.
Чи може мережа Хопфілда «застрягти» на неправильній пам’яті?
Так. Якщо підказка випадково потрапляє в область притягнення хибного локального мінімуму або збереженого шаблону, відмінного від того, який призначено, мережа з впевненістю осідає там, оскільки динаміка зменшення енергії не може знати, який мінімум був «справжнім». Це аналогічно тому, як м’яч, що котиться по схилу, не може знати, в яку долину ви хотіли, щоб він досяг.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Hopfield Networks: Associative Memory as Energy Minimization і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Hopfield Networks: Associative Memory as Energy Minimization