2. На входи мережі подається вхідний образ, і сигнали порушення поширюються по всіх шарах відповідно до принципів класичних прямопоточних (feedforward) мереж, тобто для кожного нейрона розраховується зважена сума його входів, до якої потім застосовується активаційна (передаточна) функція нейрона, у результаті чого виходить його вихідне значення yі(n), і=0...Mі-1, де Mі – число нейронів у шарі і; n=0...N-1, а N – число шарів у мережі.
3. На підставі отриманих вихідних значень нейронів по формулі (3.17) або (3.18) виробляється зміна вагових коефіцієнтів.
4. Цикл із кроку 2, поки вихідні значення мережі не стабілізуються з заданою точністю. Застосування цього нового способу визначення завершення навчання, відмінного від зворотного поширення, що використовувався для мережі, обумовлене тим, що значення синапсів, які підбудовуються, фактично не обмежені.
На другому кроці циклу позмінно пред'являються всі образи з вхідного набору.
Слід зазначити, що вид відгуків на кожен клас вхідних образів не відомий заздалегідь і буде являти собою довільне сполучення станів нейронів вихідного шару, обумовлене випадковим розподілом ваг на стадії ініціалізації. Разом з тим, мережа здатна узагальнювати схожі образи, відносячи їх до одного класу. Тестування навченої мережі дозволяє визначити топологію класів у вихідному шарі. Для приведення відгуків навченої мережі до зручного представлення можна доповнити мережу одним шаром, що, наприклад, по алгоритму навчання одношарового перцептрона необхідно змусити відображати вихідні реакції мережі в необхідні образи.
Інший алгоритм навчання без вчителя – алгоритм Кохонена – передбачає підстроювання синапсів на підставі їхніх значень від попередньої ітерації.
. (3.19)З вищенаведеної формули видно, що навчання зводиться до мінімізації різниці між вхідними сигналами нейрона, що надходять з виходів нейронів попереднього шару yi(n‑1), і ваговими коефіцієнтами його синапсів.
Повний алгоритм навчання має приблизно таку ж структуру, як у методах Хебба, але на кроці 3 з усього шару вибирається нейрон, значення синапсів якого максимально походять на вхідний образ, і підстроювання ваг по формулі (3.19) проводяться тільки для нього. Ця, так названа, акредитація може супроводжуватися загальмуванням всіх інших нейронів шару і введенням обраного нейрона в насичення. Вибір такого нейрона може здійснюватися, наприклад, розрахунком скалярного добутку вектора вагових коефіцієнтів з вектором вхідних значень. Максимальний добуток дає нейрон, що виграв.
Інший варіант – розрахунок відстані між цими векторами в p-мірному просторі, де p – розмір векторів.
, (3.20)де j – індекс нейрону у шарі n, i – індекс підсумовування по нейронам шару (n‑1), wij – вага синапса, який поєднує нейрони; виходи нейронів шару (n-1) являються вхідними значеннями для шару n. Корінь у формулі (3.20) брати не обов’язково, тому що важлива тільки відносна оцінка різних Dj.
У даному випадку "перемагає" нейрон з найменшою відстанню. Іноді це занадто, тому нейрони, що часто одержують акредитацію, примусово виключаються з розгляду, щоб "зрівняти права" усіх нейронів шару. Найпростіший варіант такого алгоритму полягає в гальмуванні тільки того нейрону, що виграв.
При використанні навчання по алгоритму Кохонена існує практика нормалізації вхідних образів, а так само, на стадії ініціалізації, і нормалізації початкових значень вагових коефіцієнтів.
, (3.21)де xi – i-а компонента вектору вхідного образу або вектору вагових коефіцієнтів, а n – його розмірність. Це дозволяє скоротити довжину процесу навчання.
Ініціалізація вагових коефіцієнтів випадковими значеннями може призвести до того, що різні класи, яким відповідають щільно розподілені вхідні образи, зіллються або, навпаки, роздрібняться на додаткові підкласи у випадку близьких образів того самого класу. Для запобігання такій ситуації використовується метод опуклої комбінації. Сутність його зводиться до того, що вхідні нормалізовані образи піддаються перетворенню:
, (3.22)де xi – i-а компонента вхідного образу, n – загальне число його компонент, a(t) - коефіцієнт, що змінюється в процесі навчання від нуля до одиниці, у результаті чого спочатку на входи мережі подаються практично однакові образи, а з часом вони усе більше сходяться до вихідного. Вагові коефіцієнти встановлюються на кроці ініціалізації рівними величині:
, (3.23)де n – розмірність вектору вагів для нейронів ініціалізуємого шару.
На основі розглянутого вище методу будуються нейронні мережі особливого типу – так названі структури, що самоорганізовуються – self-organizing feature maps. Для них після вибору із шару n нейрона j з мінімальною відстанню Dj (3.20) навчається по формулі (3.19) не тільки цей нейрон, але і його сусіди, розташовані в околиці R. Величина R на перших ітераціях дуже велика, так що навчаються всі нейрони, але з часом вона зменшується до нуля. Таким чином, чим ближче кінець навчання, тим точніше визначається група нейронів, що відповідають кожному класові образів.
Необхідно відзначити, що навчання без вчителя набагато більш відчутно до вибору оптимальних параметрів, ніж навчання з вчителем. По-перше, його якість сильно залежить від початкових величин синапсів. По-друге, навчання критичне до вибору радіуса навчання і швидкості його зміни. І нарешті, зрозуміло, дуже важливий характер зміни власне коефіцієнта навчання. У зв'язку з цим розробнику, швидше за все, буде потрібно провести попередню роботу по підбору оптимальних параметрів навчання мережі.
Незважаючи на деякі складності реалізації, алгоритми навчання без вчителя знаходять велике й успішне застосування. По суті, за алгоритмом навчання без вчителя функціонують найбільш складні з відомих на сьогоднішній день штучні нейронні мережі - когнитрон і неокогнитрон, що максимально наблизилися у своєму втіленні до структури мозку. Однак вони, звичайно, істотно відрізняються від розглянутих вище мереж і набагато більш складні. Проте, на основі вищевикладеного матеріалу можна створити реально діючі системи для розпізнавання образів, стиску інформації, автоматизованого керування, експертних оцінок і багато іншого що буде продемонстроване на прикладі розробки мережі Хебба розпізнавання символів.
3.3. Алгоритми функціонування мереж Хопфілда і Хемінга
Серед різних конфігурацій штучних нейронних мереж (НМ) зустрічаються такі, при класифікації яких за принципом навчання, строго кажучи, не підходять ні навчання з вчителем, ні навчання без вчителя. У таких мережах вагові коефіцієнти синапсів розраховуються тільки один раз перед початком функціонуванням мережі на основі інформації про оброблення даний, і все навчання мережі зводиться саме до цього розрахунку. З одного боку, пред'явлення апріорної інформації можна розцінювати, як допомога вчителя, але з іншого боку - мережа фактично просто запам'ятовує зразки до того, як на її вхід надходять реальні дані, і не може змінювати своє поводження, тому казати про ланку зворотного зв'язку зі "світом" (вчителем) не приходиться. З мереж з подібною логікою роботи найбільш відомі мережа Хопфилда і мережа Хеммінга, що звичайно використовуються для організації асоціативної пам'яті.
Структурна схема мережі Хопфилда приведена на рис. 5. Вона складається з єдиного шару нейронів, число яких є одночасно числом входів і виходів мережі. Кожен нейрон зв'язаний синапсами зі всіма іншими нейронами, а також має один вхідний синапс, через який здійснюється введення сигналу. Вихідні сигнали, як звичайно, утворюються на аксонах.
Задача, розв'язувана даною мережею як асоціативна пам'ять, як правило, формулюється в такий спосіб. Відомий деякий набір двійкових сигналів (зображень, звукових оцифровок, інших даних, що описують якісь об'єкти або характеристики процесів), що вважаються зразковими. Мережа повинна вміти з довільного неідеального сигналу, поданого на її вхід, виділити ("згадати" за частковою інформацією) відповідний зразок (якщо такий є) або "дати висновок" про те, що вхідні дані не відповідають жодному зі зразків.
Рис. 5 Структурна схема мережі Хопфилда
У загальному випадку, будь-який сигнал може бути описаний вектором X = { xi: i=0...n-1}, n – число нейронів в мережі і розмірність вхідних та вихідних векторів. Кожен елемент xi дорівнює або +1, або –1. позначимо вектор, який описує k-ий зразок, через Xk, а його компоненти, відповідно, – xik, k=0...m-1, m – число зразків. Коли мережа розпізнає (або "згадає") який-небудь зразок на основі пред'явлених їй даних, її виходи будуть містити саме його, тобто Y = Xk, де Y – вектор вихідних значень мережі: Y = { yi: i=0,...n-1}. В противному випадку, вихідний вектор не співпадає не з одним зразковим.
Якщо, наприклад, сигнали являють собою якісь зображення, то, відобразивши в графічному вигляді дані з виходу мережі, можна буде побачити картинку, що цілком збігається з однією зі зразкових (у випадку успіху) або ж "вільну імпровізацію" мережі (у випадку невдачі).
На стадії ініціалізації мережі вагові коефіцієнти синапсів встановлюються в такий спосіб:
. (3.24)Тут i та j – індекси, відповідно, предсинаптичного и постсинаптичного нейронів; xik, xjk – i-ий та j-ий елементи вектору k-ого зразку.