Лабораторна робота № 4
Мережі Кохонена
Мета: отримати навички розв’язання практичних задач за допомогою мереж Кохонена.
3.1. Теоретичні відомості
Карти Кохонена, що самоорганізуються — це спеціальний клас штучних НМ, робота яких базується на конкурентному принципі навчання (competitive learning): виходи нейронів конкурують між собою за право перейти в стан збудження. Виходом мережі вважається нейрон-переможець ("winner takes all"). Для реалізації конкурентного принципу навчання використовуються латеральні гальмуючі зв'язки між нейронами. Ця ідея була започаткована Розенблаттом.
У картах самоорганізації КСО (Self-Organizing Maps — SOM) нейрони реалізуються у вузлах одномірної або двовимірної решітки. У процесі конкурентного навчання вони вибірково налаштовуються на різні вхідні образи (стимули), або класи вхідних образів. Позиції нейронів-переможців впорядковуються відносно інших.
Карти, що самоорганізуються, формують топографічне відображення вхідних образів, при якому просторове розташування (координати) нейронів решітки відбиває внутрішні статистичні властивості вхідних образів.
КСО поєднує два рівні адаптації:
– правила адаптації, сформовані на мікрорівні одного нейрона;
– формування експериментально більш ефективних і фізично досяжних властивостей на макрорівні шару.
КСО за своєю природою нелінійні, і їх можна розглядати як нелінійне узагальнення аналізу головних компонентів.
Розвиток КСО мотивований відмінною рисою людського мозку: входи від різних органів почуттів представлені топологічно упорядкованими обчислювальними відображеннями (картами). Зорова, звукова і дотикальна інформація відображається на різні області і топологічно впорядковується.
Обчислювальні відображення є основними будівельними блоками інфраструктури обробки інформації в нервовій системі людини.
Дві основні моделі відображення ознак
Принцип формування топографічної карти (Кохонен, 1990) полягає в наступному.
Просторове розташування вихідного нейрона топографічної карти відповідає конкретній властивості вхідних даних.
Цей принцип визначає нейробіологічну основу двох різних моделей відображення ознак: Кохонена й Уілшоу-Ван дер Мальсбурга (Willshow-von der Malsburg). В обох моделях вихідні нейрони упорядковані в двовимірні решітки. При такому типі топології кожен нейрон обов'язково має сусідів. Моделі розрізняються способом представлення вхідних образів.
Модель Уілшоу-Ван дер Мальсбурга
Це модель відображення ретини в зорову кору. В ній дві двовимірні решітки, з'єднані одна з одною, проектуються одна на одну (рис. 3.1).
Решітки зв'язані між собою адаптивними зв'язками, що навчаються за правилом Хебба (Hebb).

Рис. 3.1. Модель Уілшоу-Ван дер Мальсбурга
Основна ідея цієї моделі полягає в наступному. Геометрично близькі передсинаптичні нейрони кодуються з використанням кореляції їхньої електричної активності, і ці кореляції використовуються в постсинаптичній решітці, щоб сусідні передсинаптичні нейрони відповідали сусіднім постсинаптичним нейронам. Таким чином топологічно упорядковане відображення реалізується за рахунок самоорганізації. Розмірності обох решіток однакові.
Модель Кохонена (1982)
Ця модель не відтворює нейробіологічні деталі, а лише відбиває основні властивості обчислювальних відображень. Вона є більш загальною, ніж перша, оскільки може виконувати стиснення даних (зменшення розмірності входів).
Модель Кохонена відноситься до класу алгоритмів векторного кодування. Вона забезпечує топологічне відображення, що оптимально розміщає фіксоване число векторів (слів коду) у вхідному просторі більш високої розмірності, забезпечуючи, таким чином, стиснення даних (рис. 3.2).

Рис. 3.2. Модель Кохонена
Карти самоорганізації
Основна ідея КСО — перетворити вхідний сигнал довільної розмірності в 1- або 2-мірну дискретну карту і виконати це перетворення адаптивно з урахуванням топологічного впорядкування (рис. 3.3).

Рис. 3.3. Двовимірна решітка нейронів. Повнозв'язна мережа
Алгоритм самоорганізації складається з наступних етапів:
1. Ініціалізація синаптичних вагових коефіцієнтів у мережі (з використанням датчика випадкових чисел).
2. Конкуренція (competition). Для будь-якого вхідного образа і для всіх нейронів мережі обчислюється значення дискримінантної функції, що є основою конкуренції. Нейрон з максимальним значенням дискриминантної функції стає переможцем.
3. Кооперація. Нейрон-переможець визначає просторове розташування сусідніх збуджених нейронів.
4. Налаштування вагових коефіцієнтів (адаптація). Значення дискриминантної функції збуджених нейронів збільшується для даного образа шляхом налаштування вагових коефіцієнтів. При адаптації відгук нейрона-переможця на близький вхідний образ збільшується.
Конкуренція
Нехай  — розмірність вхідного простору (даних),  — вхідний образ. Вектор синаптичних вагових коефіцієнтів для -го нейрона
,
де  — число нейронів мережі.
Знайдемо нейрон-переможець

,
. (3.1)
Вираз (3.1) описує процес конкуренції.
Неперервний простір вхідних образів відображається на дискретний простір нейронів у процесі конкуренції між нейронами мережі.
Кооперація
Нейрон-переможець визначає центр групи (окіл) нейронів, що беруть участь у кооперації. Як коректно визначити окіл? В нейробіології між збудженими нейронами існує латеральна взаємодія. Нейрон-переможець сильніше впливає на топологічно близьких сусідів, ніж на більш віддалені нейрони.
Нехай  — латеральна відстань між нейроном-переможцем і збудженим нейроном. Топологічний окіл  — це унімодальна функція латеральної відстані, що задовольняє двом вимогам:
–  — симетрична щодо центра ;
– амплітуда монотонно зменшується зі збільшенням латеральної відстані і при , .
Цим умовам задовольняє функція Гаусса:

де  — позиція збудженого нейрона  — дискретна позиція нейрона-переможця.
– Обидві координати визначаються в дискретному вихідному просторі.
– Ширина топологічного околу згодом зменшується.
Якщо  — дискретний час, то експонентне спадання забезпечує залежність
, ,
де  — тимчасова константа,  — початкове значення.
Функція околу:
(3.2)
Згодом окіл звужується, тому що його ширина зменшується. Нейрони околу будуть брати участь в адаптації вагових коефіцієнтів .
Ціль кооперації — скорелювати зміну вагових коефіцієнтів нейронів одного околу.
Адаптація
Адаптація полягає в зміні вагового коефіцієнта в залежності від вхідного вектора .
Вона базується на постулаті навчання Хебба:
Правильні зв'язки підсилюються, а хибні слабшають.
Однак у випадку самоорганізації це правило незастосовне, оскільки не відомий цільовий вихід. Якщо зв'язки будуть модифікуватися тільки убік посилення, то незабаром усі вони досягнуть насичення.
Модифікація правила Хебба полягає в використанні забування:
,
де  — синаптичні вагові коефіцієнти нейрона ,  — додатна скалярна функція від виходу .
Єдина вимога до функції  — щоб залишковий член у її розкладі за формулою Тейлора був рівний нулю, тобто
. (3.3)
Модифікація вагових коефіцієнтів обчислюється за формулою:
, (3.4)
де  — коефіцієнт швидкості навчання.
Для виконання умови (3.3), виберемо лінійну функцію
.
Тоді (3.4) перепишеться так
.
Тоді при переході від моменту часу до одержимо (Кохонен, 1997)
. (3.5)
Таким чином модифікуються вагові коефіцієнти всіх нейронів з околу нейрона-переможця . Значення вагового вектора нейрона-переможця наближається до . Вектори синаптичних вагових коефіцієнтів відслідковують розподіл вхідних векторів відповідно до вибору околу, забезпечуючи тим самим топологічне упорядкування карти ознак у вхідному просторі.
Для адаптації за формулою (3.5) необхідно мати 2 евристики:
– для вибору функції околу (див. (3.2))
– для швидкості навчання :
, (3.6)
де  — ще одна часова константа.
Ці евристики можливо неоптимальні, але зазвичай адекватні.
Фази процесу адаптації
Фаза самоорганізації, або впорядковування, вимагає приблизно 1000 або більше ітерацій. Це залежить від і . У початковий момент часу . Швидкість навчання повинна монотонно зменшуватися, але не спадати нижче . Щоб це відбулося за 1000 ітерацій, з (3.6) випливає
.
Окіл спочатку повинен включати майже всі нейрони решітки (з центром — нейрон-переможець), а згодом звужуватися.
Протягом фази упорядкування окіл за ітерацій повинне "стиснутись" до декількох нейронів навколо переможця.
Для двовимірних решіток повинне бути рівним "радіусу" решітки, а

Фаза збіжності потрібна для тонкого налаштування карти ознак. У загальному випадку число ітерацій цієї фази приблизно 500, де  — число нейронів у мережі. Для забезпечення високої статистичної точності параметр навчання в процесі фази збіжності повинен залишатися не повинен збігатись до нуля, щоб система не опинилась в метастабільному стані, що характеризує карту ознак з топологічним дефектом. В околі переможця повинно міститися 1 або 0 нейронів.
Резюме
Алгоритм КСО Кохонена працюють з наступними компонентами.
– Неперервний простір вхідних образів, згенерованих відповідно до деякого закону розподілу.
– Топологія мережі у формі решітки нейронів, що визначає дискретний вихідний простір.
– Змінна в часі функція околу , що визначає окіл нейрона-переможця.
– Змінний параметр , що зменшується в часі від , але ніколи не досягає .
Алгоритм КСО включає наступні етапи.
1. Ініціалізація. Вагові коефіцієнти формуються як випадкові вектори. Вагові коефіцієнти можна вибрати серед вхідних векторів випадковим чином.
2. Пред'явлення образа. Вибрати вектор вхідного простору (випадковим чином).
3. Визначення переможця.
.
4. Модель налаштування вагових коефіцієнтів усіх нейронів.

де  — функція околу, центром якої є нейрон-переможець.
5. Перехід до п. 2, доки карта ознак не стабілізується.
3.2. Порядок виконання роботи
1. Реалізувати нейронну мережу мережу Кохонена, використовуючи такі мови програмування як C++, Java, Fortran.
2. За допомогою побудованої нейронної мережі розв’язати задачу класифікації зображень (розділ 3.3).
3. Результати роботи оформити звітом, який має містити: постановку задачі, навчальну вибірку даних, їх графічне представлення, спосіб кодування зображень для їх представлення нейронній мережі, результати роботи на тестовій множині даних із вказанням похибки, параметри нейронної мережі, що навчилася, вихідний код програми.
3.3. Задача
За допомогою мережі Кохонена розв’язати задачу розпізнавання зображень. Для цього необхідно сформувати не менше 10 чорно-білих зображень розміром 5*5 (в якості зображень слід вибрати літери свого імені та прізвища, а також числа свого варіанту) і подавати на вхід нейронної мережі. При навчанні з кожним зображенням навчальної вибірки будуть співставлені деякі нейрони мережі Кохонена. В свою чергу, при подачі незалежного вектору буде вибрано нейрон-переможець, який відповідає деякому зображенню.
Ефективність роботи мережі необхідно перевірити на тестових даних. Для цього до всіх зображень навчальної вибірки слід додати шум — випадковим чином змінюючи значення пікселя зображення на протилежне. Побудувати графік залежності кількості вірно розпізнаних зображень навчальної вибірки від значення проценту шуму (відносної кількості зашумлених пікселів зображення).