i=0 ... n - 1}, n - число нейронів у мережі і розмірність вхідних і вихідних векторів. Кожен елемент xi дорівнює або +1, або - 1. Позначимо вектор, що описує k-ий зразок, через Xk, а його компоненти, відповідно, - xik, k=0 ... m - 1, m - число зразків. Коли мережа распознaет (або згадає ) будь-який зразок на основі пред'явлених їй даних, її виходи будуть містити саме його, тобто Y=Xk, де Y - вектор вихідних значень мережі: Y={yi: i=0,... n - 1}. У противному випадку, вихідний вектор не співпаде з одним зразковим.
Якщо, наприклад, сигнали являють собою якісь зображення, то, відобразивши у графічному виді дані з виходу мережі, можна буде побачити картинку, повністю збігається з однієї зі зразкових (у разі успіху) або ж вольну імпровізацію мережі (у випадку невдачі).
На стадії ініціалізації мережі вагові коефіцієнти синапсів встановлюються таким чином [3] [4]: ??
(1)
Тут i і j - індекси, відповідно, предсинаптичного і постсинаптичного нейронів; xik, xjk - i-ий і j-ий елементи вектора k-ого зразка.
Алгоритм функціонування мережі наступний (p - номер ітерації):
. На входи мережі подається невідомий сигнал. Фактично його введення здійснюється безпосередньою установкою значень аксонів:
(0)=xi, i=0 ... n - 1, (2)
тому позначення на схемі мережі вхідних синапсів в явному вигляді носить чисто умовний характер. Нуль в скобці праворуч від yi означає нульову ітерацію в циклі роботи мережі.
. Розраховується новий стан нейронів
, j=0 ... n - 1 (3)
і нові значення аксонів
(4)
де f - активаційна функція у вигляді стрибка.
. Перевірка, чи змінилися вихідні значення аксонів за останню ітерацію. Якщо так - перехід до пункту 2, інакше (якщо виходи застабілізовано) - кінець. При цьому вихідний вектор являє собою зразок, найкращим чином поєднується з вхідними даними.
Іноді мережа не може провести розпізнавання і видає на виході неіснуючий образ. Це пов'язано з проблемою обмеженості можливостей мережі. Для мережі Хопфилда число образів, що запам'ятовуються m не повинно перевищувати величини, приблизно рівної 0.15n. Крім того, якщо два образи А і Б сильно схожі, вони, можливо, будуть викликати у мережі перехресні асоціації, тобто пред'явлення на входи мережі вектора А призведе до появи на її виходах вектори Б і навпаки.
Коли немає необхідності, щоб мережа в явному вигляді видавала зразок, тобто достатньо, скажімо, отримувати номер зразка, асоціативну пам'ять успішно реалізує мережу Хеммінга. Дана мережа характеризується, в порівнянні з мережею Хопфілда, меншими витратами на пам'ять і обсягом обчислень, що стає очевидним з її структури (рисунок 4.2).
Малюнок 4.2 - Структурна схема мережі Хеммінга
Мережа складається з двох шарів. Перший і другий шари мають по m нейронів, де m - число зразків. Нейрони першого шару мають по n синапсів, з'єднаних із входами мережі (утворюючими фіктивний нульовий шар). Нейрони другого шару пов'язані між собою інгібіторної (негативними зворотними) синаптическими зв'язками. Єдиний синапс з позитивним зворотним зв'язком для кожного нейрона з'єднаний з його ж аксоном.
Ідея роботи мережі полягає в знаходженні відстані Хеммінга від тестованого способу до всіх зразків. Відстанню Хеммінга називається число відрізняються бітів у двох бінарних векторах. Мережа повинна вибрати зразок з мінімальною відстанню Хеммінга до невідомого вхідного сигналу, в результаті чого буде активізований тільки один вихід мережі, відповідний цим зразком.
На стадії ініціалізації ваговим коефіцієнтам першого шару і порогу активаційної функції присвоюються такі значення:
, i=0 ... n - 1, k=0 ... m - 1 (5)=n/2, k=0 ... m - 1 (6)
Тут xik - i-ий елемент k-ого зразка.
Вагові коефіцієнти гальмуючих синапсів у другому прошарку беруть рівними деякій величині 0 lt; e lt; 1/m. Синапс нейрона, пов'язаний із його ж аксоном має вагу +1.
Алгоритм функціонування мережі Хеммінга наступний:
. На входи мережі подається невідомий вектор X={xi: i=0 ... n - 1}, виходячи з якого розраховуються стани нейронів першого шару (верхній індекс у дужках вказує номер шару):
, j=0 ... m - 1 (7)
Після цього отриманими значеннями инициализируются значення аксонів другого шару:
(2)=yj (1), j=0 ... m - 1 (8)
. Обчислити нові стани нейронів другого шару:
(9)
і значення їх аксонів:
(10)
Активаційна функція f має вигляд порога (рис. 2б), причому величина F повинна бути досить великою, щоб будь-які можливі значення аргументу не призводили до насичення.
. Перевірити, чи змінилися виходи нейронів другого прошарку за останню ітерацію. Якщо так - перейди до кроку 2. Інакше - кінець.
З оцінки алгоритму ви...