Алгоритм функціонування мережі наступний (p – номер ітерації):
1. На входи мережі подається невідомий сигнал. Фактично його ввід здійснюється безпосередньою установкою значень аксонів:
yi(0) = xi , i = 0...n-1, (3.25)
тому позначення на схемі мережі вхідних синапсів у явному вигляді носить чисто умовний характер. Нуль у дужці праворуч від yі означає нульову ітерацію у циклі роботи мережі.
2. Обчислюється новий стан нейронів:
, j=0...n-1, (3.26)і нові значення аксонів:
, (3.27)де f – активаційна функція у вигляді стрибка, приведена на рис. 6а.
Рис. 6 Активаційні функції
3. Перевірка, чи змінилися вихідні значення аксонів за останню ітерацію. Якщо так – перехід до пункту 2, інакше (якщо виходи застабілізувалися) – кінець. При цьому вихідний вектор являє собою зразок, що найкраще сполучиться з вхідними даними.
Як було сказано вище, іноді мережа не може провести розпізнавання і видає на виході неіснуючий образ. Це зв'язано з проблемою обмеженості можливостей мережі. Для мережі Хопфилда число образів, що запам'ятовуються, m не повинне перевищувати величини, приблизно рівної 0.15•n. Крім того, якщо два образи А і Б сильно схожі, вони, можливо, будуть викликати в мережі перехресні асоціації, тобто пред'явлення на входи мережі вектору А призведе до появи на її виходах вектору Б и навпаки.
Коли немає необхідності, щоб мережа в явному вигляді видавала зразок, тобто досить, скажемо, одержувати номер зразка, асоціативну пам'ять успішно реалізує мережа Хеммінга. Дана мережа характеризується, у порівнянні з мережею Хопфилда, меншими витратами на пам'ять і обсягом обчислень, що стає очевидним з її структури (рис. 7).
Рис. 7 Структурна схема мережі Хеммінга
Мережа складається з двох шарів. Перший і другий шари мають по m нейронів, де m – число зразків. Нейрони першого шару мають по n синапсів, з'єднаних із входами мережі (утворюючими фіктивний нульовий шар). Нейрони другого шару зв'язані між собою інгибіторними (негативними зворотними) синаптичними зв'язками. Єдиний синапс із позитивним зворотним зв'язком для кожного нейрона з'єднаний з його ж аксоном.
Ідея роботи мережі складається в перебуванні відстані Хеммінга від образу, що тестується, до всіх зразків. Відстанню Хеммінга називається число що відрізняється від бітів у двох бінарних векторах. Мережа повинна вибрати зразок з мінімальною відстанню Хеммінга до невідомого вхідного сигналу, у результаті чого буде активізований тільки один вихід мережі, що відповідає цьому зразкові.
На стадії ініціалізації ваговим коефіцієнтам першого шару і порогу активаційної функції привласнюються наступні значення:
, i=0...n-1, k=0...m-1, (3.28)Tk = n / 2, k = 0...m-1. (3.29)
Тут xik – i-ий елемент k-ого зразку.
Вагові коефіцієнти гальмуючих синапсів у другому шарі беруть рівними деякої величини 0 < e < 1/m. Синапс нейрона, зв'язаний з його ж аксоном має вагу +1.
Алгоритм функціонування мережі Хеммінга наступний:
1. На входи мережі подається невідомий вектор X = {xi:i=0...n-1}, виходячи з якого розраховуються стани нейронів першого шару (верхній індекс у дужках вказує номер шару):
, j=0...m-1. (3.30)Після цього отриманими значеннями іниціалізуються значення аксонів другого шару:
yj(2) = yj(1), j = 0...m-1. (3.31)
2. Обчислити нові стани нейронів другого шару:
(3.32)і значення їх аксонів:
. (3.33)Активаційна функція f має вигляд порога (рис. 6б), причому величина F повинна бути досить великою, щоб будь-які можливі значення аргументу не призводили до насичення.
3. Перевірити, чи змінилися виходи нейронів другого шару за останню ітерацію. Якщо так – перейти до кроку 2. Інакше – кінець.
З оцінки алгоритму видно, що роль першого шару досить умовна: скориставшись один раз на кроці 1 значеннями його вагових коефіцієнтів, мережа більше не звертається до нього, тому перший шар може бути узагалі виключений з мережі (замінений на матрицю вагових коефіцієнтів).
Збільшення числа і складності розпізнаваємих образів обмежується фактично тільки обсягом ОЗУ. Слід зазначити, що навчання мережі Хеммінга є одним із найпростіших серед інших алгоритмів.
Обговорення мереж, що реалізують асоціативну пам'ять, було б неповним без хоча б короткого згадування про двонаправлену асоціативну пам'ять (ДАП). Вона є логічним розвитком парадигми мережі Хопфилда, до якої для цього досить додати другий шар. Структура ДАП представлена на рис. 8.
Рис. 8 Структурна схема ДАП
Мережа здатна запам'ятовувати пари асоційованих один з одним образів. Нехай пари образів записуються у вигляді векторів Xk = {xіk:і=0...n-1} і Yk = {yjk: j=0...m-1}, k=0...r-1, де r – число пар. Подача на вхід першого шару деякого вектора P = {pі:і=0...n-1} викликає утворення на вході другого шару якогось іншого вектора Q ={qj:j=0...m 1}, що потім знову надходить на вхід першого шару. При кожному такому циклі вектори на виходах обох шарів наближаються до пари зразкових векторів, перший з яких – X – найбільше походить на P, що був поданий на вхід мережі на самому початку, а другий – Y – асоційований з ним. Асоціації між векторами кодуються у ваговій матриці W(1) першого шару. Вагова матриця другого шару W(2) дорівнює транспонованої першої (W(1))T. Процес навчання, також як і у випадку мережі Хопфилда, полягає в попередньому розрахунку елементів матриці W (і відповідно WT) по формулі:
. (3.34)Ця формула є розгорнутим записом матричного рівняння
(3.35)для окремого випадку, коли образи записані у вигляді векторів, при цьому добуток двох матриць розміром відповідно [n*1] і [1*m] приводить до (3.34).
У висновку можна зробити наступні узагальнення. Мережі Хопфилда, Хеммінга і ДАП дозволяють просто й ефективно вирішити задачу відтворення образів по неповній і перекрученій інформації. Невисока ємність мереж (число образів, що запам'ятовуються) пов’язана з тим, що, мережі не просто запам'ятовують образи, а дозволяють проводити їх узагальнення, наприклад, за допомогою мережі Хеммінга можлива класифікація за критерієм максимальної правдоподібності. Разом з тим, легкість побудови програмних і апаратних моделей роблять ці мережі привабливими для багатьох застосувань.
4. Мережа Хебба. Алгоритм Хебба навчання нейронних мереж
У главі 3.2 "Алгоритм навчання без вчителя (алгоритм прямого поширення нейронних мереж)" був розглянутий алгоритм Хебба як один з найбільш простих для програмної реалізації і досить ефективний для навчання НМ. Розглянемо його застосування для навчання найпростішої нейронної мережі.
Штучні нейронні мережі, призначені для вирішення різноманітних конкретних задач, можуть містити від декількох нейронів до тисяч і навіть мільйонів елементів. Однак вже окремий нейрон (рис. 1) з біполярною або бінарною функцією активації може бути використаний для вирішення простих задач розпізнавання і класифікації зображень. Вибір біполярного (1, -1) або бінарного (1, 0) представлення сигналів у нейронних мережах здійснюється виходячи з розв'язуваної задачі й у багатьох випадках він рівноцінний. Мається спектр задач, у яких бінарне кодування сигналів більш зручно, однак у більшості випадків біполярне представлення інформації має більше переваг.
Оскільки вихідний сигнал у двійкового нейрона приймає тільки два значення, то нейрон можна використовувати для класифікації запропонованих зображень на два класи.
Нехай є множина М зображень, для яких відома коректна класифікація на два класи X 1 = {X 11, X 12, …, X 1q}, X 2 = {X 21, X 22, …, X 2р},
X 1
X 2 = M, X 1 X 2 = Ø, та нехай першому класу X1 відповідає вихідний сигнал у = 1, а класу X 2 – сигнал у = –1. Якщо, наприклад, пред’явлено деяке зображення і його зважена сума вхідних сигналів перевищує нульове значення:тоді вихідний сигнал у = 1 та, відповідно, вхідне зображення X α належить класу X 1. Якщо S £ 0, тоді у = –1 і зображення належить другому класу.
Можливо використання окремого нейрона і для виділення з множини класів М = {X 1 = {X 11,…, X 1k}, …, X i= {X i1,…, X iq}, …, X p = {Xp1,…, X pm}} зображень єдиного класу X i. В цьому випадку вважають, що один з двох можливих вихідних сигналів нейрону (наприклад, 1) відповідає класу X i, а другий – усім іншим класам. Тому, якщо вхідне зображення Х a призводить до появи сигналу у = 1, тоді Х a Î X i, якщо у = –1 (або у = 0, якщо використовується бінарне кодування), то це означає, що пред’явлене зображення не належить класу, що виділяється.