Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

Задача класифікації.

Мережі Кохонена

Задача класифікації полягає в розбивці об'єктів на


класи, коли основою розбивки служить вектор параметрів
об'єкта.
Об'єкти в межах одного класу вважаються
еквівалентними з погляду критерію розбивки. Самі класи
часто бувають невідомі заздалегідь, а формуються
динамічно (як, наприклад, у мережах Кохонена).
Класи залежать від пропонованих об'єктів, і тому
додавання нового об'єкта вимагає коректування системи
класів.
Задача класифікації. Мережі Кохонена.

Будемо характеризувати об'єкти, що підлягають класифікації,


вектором параметрів , що мають N компонент, компоненти
позначаємо нижнім індексом:

Вектор параметрів - єдина характеристика об'єктів при їхній


класифікації.
Уведемо множину класів:

Простір класів може не збігатися із простором об'єктів X і мати іншу


розмірність.
Задача класифікації. Мережі Кохонена

Об'єкт Xp буде віднесений до одного із класів m0, якщо XpCm0


Визначимо ядра класів у просторі класів як об'єкти, типові для свого
класу:

Приміром, якщо для класифікації по національності вибрати


параметри {кольори ока, ріст, кольори волосу}, то ядро класу "росіянин"
може мати параметри {блакитноокий, ріст 185, волосся русяве}, і до
цього класу можна віднести об'єкт із параметрами {світло блакитноокий,
ріст 182, волосся темно-русяве}, тому що з ядер "росіянин", "естонець",
"киргиз" параметри об'єкта більше усього схожі на ядро "росіянин".
Задача класифікації. Мережі Кохонена
Близькість об'єкта до ядра необхідно оцінювати чисельно.
Уведемо міру близькості як скалярну функцію від об'єкта і ядра
класу, яка тим менше, чим більше об'єкт схожий на ядро класу.

Найчастіше застосовується Евклідова міра:

Задавшись числом класів M, можна поставити задачу


класифікації: знайти M ядер класів і розбити об'єкти на
класи , тобто побудувати функцію m(p) таким чином, щоб
мінімізувати суму мір близькості:
Задача класифікації. Мережі Кохонена
Функція m(p), що визначає номер класу по індексу p множини
об'єктів задає розбивку на класи і є рішенням задачі класифікації.
Якщо для класифікації застосовувати нейронні мережі, необхідно
формалізувати задачу. Виберемо в якості вхідних даних вектор
параметрів єдиного об'єкта. Результатом роботи мережі буде код
класу, до якого належить пред'явлений на вході об'єкт.
Мережа буде мати M виходів, по числу класів, і чим більше
значення приймає вихід номер m0 , тим більше "упевненість" мережі
в тім, що вхідний об'єкт належить до класу m0 . Корисно застосувати
функцію активації SOFTMAX, тоді сума виходів завжди буде дорівнює
одиниці. Кожен вихід можна буде трактувати як імовірність того, що
об'єкт належить даному класу.
Задача класифікації. Мережі Кохонена
Виберемо евклідову міру близькості. У цьому випадку ядро
класу, що мінімізує суму мір близькості для об'єктів цього класу,
збігається із центром ваги об'єктів:

N(m0) - число об’єктів у класі m0


При розбивці на класи повинна бути мінімізована сумарна міра
близькості для всієї множини вхідних об'єктів:

Доданки 1 і 3 не залежать від способу розбивки :


Задача класифікації. Мережі Кохонена
Задача пошуку мінімуму D еквівалентна пошуку максимуму:

1. Цикл: для кожного вектора Xp


2. Цикл: для кожного m 
3. Розрахувати
} // кінець циклу
4. Знаходимо m0 , для якого
5. Відносимо об'єкт до класу m0
} // кінець циклу
Задача класифікації. Мережі Кохонена
Такий алгоритм реалізується у вигляді нейронної мережі. Для
цього потрібно M суматорів, що знаходять всі і інтерпретатора, що
знаходить суматор з максимальним виходом Dm,p.
Порівняємо і . Виберемо Xip як вхідні сигнали
і компоненти ядер Cim як вагові коефіцієнти wijl .
Тоді кожен формальний нейрон із числом входів, рівним числу
компонент у вхідному векторі, буде давати на виході одну із сум ,
Dm,p
Щоб визначити клас, до якого ставиться об'єкт, потрібно вибрати
серед всіх нейронів даного шару один з максимальним виходом -
це здійснює інтерпретатор.
Задача класифікації. Мережі Кохонена

Розглянута мережа нейронів, що використає евклідову міру


близькості для класифікації об'єктів, називається мережею Кохонена .

Нейрони шару Кохонена генерують сигнали Dm,p Інтерпретатор


вибирає максимальний сигнал шару Кохонена і видає номер класу m,
що відповідає номеру входу, по якому інтерпретатором отриманий
максимальний сигнал. Це відповідає номеру класу об'єкта, що був
пред'явлений на вході, у вигляді вектора Xp
Задача класифікації. Мережі Кохонена

Кожен нейрон Кохонена запам'ятовує одне ядро класу, і


відповідає за визначення об'єктів у своєму класі, тобто величина
виходу нейрона тим більше, ніж ближче об'єкт до даного ядра
класу.
Загальна кількість класів збігається з кількістю нейронів
Кохонена. Міняючи кількість нейронів, можна динамічно міняти
кількість класів.
Нейрони Кохонена мають лінійну функцію активації.
Задача класифікації. Мережі Кохонена
Звичайна мережа Кохонена працює в режимі акредитації. Це означає,
що активується єдиний нейрон Кохонена з максимальним значенням
виходу. Вихід змінюється стрибкоподібно.
Можна не загальмовувати інші нейрони шару Кохонена, а
пронормувати вихідні сигнали, наприклад, функцією активації softmax:

Тоді сума всіх виходів шаруючи буде дорівнює одиниці й можна


трактувати виходи, як імовірність віднесення об'єкта до кожного із класів.
Такий режим роботи мережі, коли активується кілька нейронів
одночасно, називається режимом інтерполяції. Класифікація виявляється
безперервною.
Мережа зустрічного поширення. Шар Гроссберга

Мережа зустрічного поширення (МЗП) була запропонована Робертом


Хехт-Нільсеном в 1987 р. Вона складається із двох шарів нейронів: шару
Кохонена й шару Гроссберга. Шар Кохонена працює в режимі інтерполяції
або акредитації. Всі шари повнозв'язні.

Шар Гроссберга призначений для спільної роботи із шаром, що дає єдину


одиницю на виході (як у шару Кохонена в режимі акредитації) або такий
набір виходів, що їхня сума дорівнює одиниці (як шар Кохонена з функцією
SOFTMAX у режимі інтерполяції). Нейрони шару Гроссберга обчислюють
зважену суму своїх входів. Функція активації не використовується (лінійна).
Мережа зустрічного поширення. Шар Гроссберга
Шар Гроссберга дає на виході лінійну комбінацію своїх векторів ваг, коефіцієнти
комбінації задаються входами шару Гроссберга.
Перший шар Кохонена функціонує так:
Другий шар Гроссберга працює по тій же формулі, але зміст зваженого
підсумовування інший: ; ;
Якщо шар Кохонена в режимі акредитації, то на шар Гроссберга надходить
одиничний вихід тільки одного нейрона Кохонена: нехай це активний нейрон i0 .
Тоді Вихід шару Гроссберга в цьому випадку:

Тобто кожен нейрон Гроссберга дає на виході один зі своїх вагових коефіцієнтів,
номер якого збігається з номером активного нейрона Кохонена. Отже, шар
Гроссберга перетворить вихід шару Кохонена з кодуванням по номеру каналу в
довільний лінійний код на виході, породжується матриця коду, яка збігається з
матрицею вагових коефіцієнтів шару Гроссберга.
Мережа зустрічного поширення. Шар Гроссберга
Мережа навчається із учителем, хоча й містить у собі шар Кохонена.
Для навчання необхідна навчальна множина, що містить пари векторів
(xp, yp). Особливість МЗП у тім, що обидва вектори (xp, yp) подаються на
вхід, і знімаються з виходу мережі. Навчання відбувається в наступній
послідовності:
1. Подаємо на вхід вектор Визначаємо нейрон Кохонена, що
виграв, й розраховуємо вихід мережі.
2. Навчаємо шар Кохонена (проводимо тільки одну ітерацію навчання)
по звичайному алгоритмі без вчителя. При цьому вектор
Dp розглядається як вектор, що класифікується.
3. Знаючи необхідний вихідний вектор, проводимо корекцію ваг шару
Гроссберга так, щоб вихід наблизився до необхідного значення:

При цьому вихід має значення:


Мережа зустрічного поширення. Шар Гроссберга
Ціль навчання - домогтися точного вихідного вектора з тим, що
знаходиться в навчальній множині: xp  x*p ; yp  y*p . Після того, як
навчання завершене, проявляються можливості МЗП. Якщо подати
на вхід тільки один вектор, наприклад, x, то на виході будуть
отримані обидва вектори x*y* По одному з векторів x або y мережа
відновлює другий вектор за тим законом, що вивчений мережею
по навчальній множині.
Отже, мережа зустрічного поширення вивчає одночасно два
відображення: пряме XY і зворотнє YX.
Така комбінація шару Кохонена й шару Гроссберга корисна при
стисканні даних і в інших додатках.
Мережа Хопфілда

Мережі зі зворотними зв'язками можуть працювати як


асоціативна пам'ять. Це означає, що по векторі, поданому на вхід,
мережею буде створений на виході один із запом'ятованих раніше
векторів, найбільше "схожий" на даний вхідний вектор.
Такий спосіб вибірки даних називається адресацією по вмісту.
Пам'ять із такою адресацією є досить перспективною для
створення систем штучного інтелекту, систем розпізнавання
мовних сигналів і зображень.
Нехай задана множина векторів Xk= X1…Xk , які потрібно
запам'ятовувати в нейромережі. Критерій "подібності" векторів
залежить від задачі й, загалом кажучи, може бути досить
складним.
Мережа Хопфілда
Нехай компоненти еталонних векторів можуть приймати тільки
значення +1 й -1. Якщо знайти таку функцію H(x), що d(x)/d(t) = -H,
то задача пошуку асоціації для вектора x буде збігатися із задачею
пошуку мінімуму функції H(x). Якщо вибрати функцію H, що
називається енергією мережі, у вигляді , то
її градієнт . Нижніми індексами позначені
компоненти вектора, верхніми - номер вектора в множині. Тоді
Перший доданок забезпечує прагнення x до
найближчих еталонів, а другий — наближення компонентів
вектора x до припустимих значень +1 або -1. Коефіцієнт λ
співвідносить інтенсивності цих двох процесів. Звичайно λ росте із
часом від λ <1 до λ > 1 з ростом часу навчання.
Мережа Хопфілда
Вагові коефіцієнти визначаються (правило Хебба):

Кожен i-й нейрон містить керований нелінійний поріг зі значенням


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

Навколишнє середовище надає


персонажу певну інформацію.
Протікає процес сприйняття.
Нейроконтролер забезпечує
можливість вибору дії, за
допомогою якої персонаж
взаємодіє з навколишнім
середовищем. Навколишнє
середовище при цьому змінюється,
персонаж знову звертається до
сприйняття, і цикл відновлюється.
Архітектура нейроконтролера

а
Навчання нейроконтролера
Обрана архітектура (три приховані осередки) визначена
методом проб і помилок. Вони можуть бути навчені зі 100%
точністю для всіх представлених прикладів.
Подаємо навчальні приклади. Потім виконується алгоритм
зворотного поширення з урахуванням бажаного результату і
дійсного результату.
Наприклад, якщо персонаж здоровий, має пістолет і бачить
одного ворога, бажана дія - атакувати. Але якщо персонаж
здоровий, має ніж та бачить кількох ворогів, то правильна дія -
сховатися.
Дані для тестування це кілька сценаріїв з набором дій.
Навчання нейроконтролера
Навчання нейроконтролера
Графік зниження середньої помилки
Тестування нейроконтролера
Визначимо як мережа буде реагувати на сценарії, про які їй нічого
не відомо.

Розглянемо сценарій, в якому персонаж повністю здоровий, володіє


ножем і бачить трьох ворогів (2: 1: 0: 3). Нейроконтролер вибирає дію
сховатися.
Робота нейроконтролера
Коли нейроконтролер вбудовується в гру, його навчання
вважається завершеним і більше не проводиться. Щоб персонаж
навчався далі, в гру додаються елементи алгоритму зворотного
поширення. Це дозволить змінювати ваги в залежності від ситуацій
гри. Можна змінювати ваги нейроконтролера на підставі останньої
дії, виконаної персонажем.
Якщо дія призвела до негативних наслідків (смерть персонажа),
ваги для дії в даній обстановці забороняються. Це зменшує
ймовірність повторення зазначеної дії в майбутньому. Всі
персонажі гри можуть отримувати одні і ті ж знання (еволюція
Ламарка). Діти вчаться на помилках своїх батьків.
Робота нейроконтролера

Пройшовши кілька ігор, персонажі поступово будуть уникати


негативних результатів.
У нейронної мережі може бути сформована функція пам'яті. Для
всіх входів створюються лінії затримки - вхідний вектор
розширюється в одному або двох вимірах. Перший вхід від
навколишнього середовища не зникає, а стає частиною іншого
входу в мережу.
Цей метод також включає зворотний зв'язок. Останні дії можуть
направлятися в мережу, що дозволяє нейроконтролеру пам'ятати
про них.

You might also like