Штучні нейронні мережі

Автор: Пользователь скрыл имя, 07 Апреля 2013 в 22:11, реферат

Краткое описание

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

Файлы: 1 файл

2. Штучні нейронні мережі.doc

— 262.00 Кб (Скачать)

3. Обчислення вихідного сигналу нейрона:

4. Налаштування значень ваг:

wi(t+1)=wi (t)+r[d(t)-y(t)]xi (t), i=1, ..., N

де wі(t) - вага зв'язку від і-го елемента вхідного сигналу до нейрона в момент часу t, r - швидкість навчання (менше 1); d(t) - бажаний вихідний сигнал.

Якщо мережа приймає правильне  рішення, синаптичні ваги не модифікуються.

5. Перехід до кроку 2.

Тип вхідних  сигналів: бінарні чи аналогові (дійсні).

Розмірності входу і виходу обмежені при програмній реалізації тільки можливостями обчислювальної системи, на якій моделюється нейронна мережа, при апаратній реалізації - технологічними можливостями.

Області застосування: розпізнавання образів, класифікація.

Недоліки. Примітивні поділяючі поверхні (гіперплощини) дають можливість вирішувати лише найпростіші задачі розпізнавання.

Переваги. Програмні та апаратні реалізації моделі прості. Простий і швидкий алгоритм навчання.

Модифікації. Багатошарові перцептрони дають можливість будувати складні поділяючі поверхні і є більш поширеними.

Нейромережа зворотного поширення  похибки (Back Propagation)

Архітектура FeedForward BackPropagation була розроблена на початку 1970-х років декількома незалежними авторами: Вербор (Werbor); Паркер (Parker); Румельгарт (Rumelhart), Хінтон (Hinton) та Вільямс (Williams). На даний час, парадигма ВackРropagation є популярною, ефективною та легкою модель навчання для складних, багатошарових мереж. Вона використовується в різних типах застосувань і породила великий клас нейромереж з різними структурами та методами навчання.

Типова мережа ВackРropagation має вхідний прошарок, вихідний прошарок та принаймні один прихований прошарок. Теоретично, обмежень відносно числа прихованих прошарків не існує, але практично застосовують один або два.

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

Важливим при моделюванні мережі є визначення числа проміжних прошарків і числа нейронів в них. Більшість дослідників та інженерів використовують загальні правила, зокрема:

  1. Кількість входів та виходів мережі визначаються кількістю вхідних та вихідних параметрів досліджуваного об'єкту, явища, процесу, тощо. На відміну від зовнішніх прошарків, число нейронів прихованого прошарку nприх обирається емпіричним шляхом. В більшості випадків достатньою кількість нейронів буде nприх <= nвх + nвих, де nвх, nвих - кількість нейронів у вхідному і, відповідно, у вихідному прошарках.
  2. Якщо складність у відношенні між отриманими та бажаними даними на виході збільшується, кількість нейронів прихованого прошарку повинна також збільшитись.
  3. Якщо процес, що моделюється, може розділятись на багато етапів, потрібен додатковий прихований прошарок (прошарки). Якщо процес не розділяється на етапи, тоді додаткові прошарки можуть допустити перезапам'ятовування і, відповідно, невірне загальне рішення.

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

Для кращого розуміння алгоритму  навчання мережі Back Propagation потрібно роз'яснити поняття поверхні станів. Кожному значенню синаптичних ваг і порогів мережі (вільних параметрів моделі кількістю N) відповідає один вимір в багатовимірному просторі. N+1-ий вимір відповідає похибці мережі. Для різноманітних сполучень ваг відповідну похибку мережі можна зобразити точкою в N+1-вимірному просторі, всі ці точки утворюють деяку поверхню - поверхню станів. Мета навчання нейромережі полягає в знаходженні на багатовимірній поверхні найнижчої точки.

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

Відштовхуючись від початкової конфігурації ваг і порогів (від  випадково обраної точки на поверхні), алгоритм навчання поступово відшукує глобальний мінімум. Обчислюється вектор градієнту поверхні похибок, який вказує напрямок найкоротшого спуску по поверхні з заданої точки. Якщо трошки просунутись по ньому, похибка зменшиться. Зрештою алгоритм зупиняється в нижній точці, що може виявитись лише локальним мінімумом (в ідеальному випадку - глобальним мінімумом).

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

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

Алгоритм навчання мережі

1. Ініціалізація мережі: вагові коефіцієнти і зсуви мережі приймають малі випадкові значення.

2. Визначення елемента навчальної множини: (вхід - вихід). Входи (x1, x2... xN), повинні розрізнятися для всіх прикладів навчальної множини.

3. Обчислення вихідного сигналу:

yim= f(Sjm)

im=1, 2, ..., Nm, m=1, 2, ..., L

де S - вихід суматора, w - вага зв'язку, y - вихід нейрона, b - зсув, i - номер нейрона, N - число нейронів у прошарку, m - номер прошарку, L - число прошарків, f- передатна функція.

4. Налаштування синаптичних ваг:

wij(t+1)=wij(t)+rgjx'і

де wij - вага від нейрона i або від елемента вхідного сигналу i до нейрона j у момент часу t, xi' - вихід нейрона i, r - швидкість навчання, gj - значення похибки для нейрона j.

Якщо нейрон з номером j належить останньому прошарку, тоді

gj=yj(1-yj)(dj-yj)

де dj - бажаний вихід нейрона j, yj - поточний вихід нейрона j.

Якщо нейрон з номером j належить одному з прошарків з першого по передостанній, тоді

де k пробігає всі нейрони прошарку з номером на одиницю більше, ніж у того, котрому належить нейрон j.

Зовнішні зсуви нейронів b налаштовуються аналогічним образом.

Тип вхідних  сигналів: цілі чи дійсні.

Тип вихідних сигналів: дійсні з інтервалу, заданого передатною функцією нейронів.

Тип передатної функції: сигмоїдальна. Сигмоїдальні функції є монотонно зростаючими і мають відмінні від нуля похідні по всій області визначення. Ці характеристики забезпечують правильне функціонування і навчання мережі.

Області застосування. Розпізнавання образів, класифікація, прогнозування.

Недоліки. Низька швидкість навчання.

Переваги. Ефективний та популярний алгоритм для вирішення численних практичних задач.

Модифікації. Модифікації алгоритму зворотного поширення зв'язані з використанням різних функцій похибки, різних процедур визначення напрямку і величини кроку.

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

Мережа розроблена Тойво Кохоненом  на початку 1980-х рр. і принципово відрізняється від розглянутих  вище мереж, оскільки використовує неконтрольоване  навчання і навчальна множина складається лише із значень вхідних змінних.

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

Мережа Кохонена  має лише два  прошарки: вхідний і вихідний. Елементи карти розташовуються в деякому  просторі, як правило, двовимірному. Мережа Кохонена навчається методом послідовних  наближень. У процесі навчання на входи подаються дані, але мережа при цьому підлаштовується не під еталонне значення виходу, а під закономірності у вхідних даних. Починається навчання з вибраного випадковим чином вихідного розташування центрів.

В процесі послідовної подачі на вхід мережі навчальних прикладів визначається найбільш схожий нейрон (той, у якого скалярний добуток ваг і поданого на вхід вектора є мінімальним). Цей нейрон оголошується переможцем і є центром при підлаштуванні ваг в сусідніх нейронів. Таке правило навчання передбачає "змагальне" навчання з врахуванням відстані нейронів від "нейрона-переможця".

Навчання при цьому полягає  не в мінімізації помилки, а в  підлаштуванні ваг (внутрішніх параметрів нейронної мережі) для найбільшого  збігу з вхідними даними.

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

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

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

Алгоритм функціонування мережі Кохонена:

1. Ініціалізація мережі. Ваговим коефіцієнтам мережі надаються малі випадкові значення. Початкова зона сусідства показана на рис. 5.

2. Пред'явлення мережі нового вхідного сигналу.

3. Обчислення відстані до всіх нейронів мережі:

Відстані dj від вхідного сигналу до кожного нейрона j визначаються за формулою:

де xi - i-ий елемент вхідного сигналу в момент часу t, wij(t) - вага зв'язку від i-го елемента вхідного сигналу до нейрона j у момент часу t.

4. Вибір нейрона з найменшою відстанню:

Вибирається нейрон-переможець j*, для якого відстань dj найменше.

5. Налаштування ваг нейрона j* і його сусідів:

Робиться налаштування ваг для  нейрона j* і всіх нейронів з його околу NE. Нові значення ваг:

wij(t+1)=wij(t)+r(t)(xi(t)-wij(t))

де r(t) - швидкість навчання, що зменшується з часом (додатне число, менше одиниці).

6. Повернення до кроку 2.

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

Властивість топологічної впорядкованості  досягається в алгоритмі за допомогою  використання поняття околу. Окіл - це декілька нейронів, що оточують нейрон-переможець. Відповідно до швидкості навчання, розмір околу поступово зменшується, так, що спочатку до нього належить досить велике число нейронів (можливо вся карта), на самих останніх етапах окіл стає нульовим і складається лише з нейрона-переможця.

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

З кожною новою епохою швидкість  навчання і розмір околу зменшуються, тим самим всередині ділянок карти виявляються більш тонкі розходження, що зрештою призводить до точнішого налаштування кожного нейрона.

Часто навчання зумисне розбивають на дві фази: більш коротку, з великою  швидкістю навчання і великих  околів, і більш тривалу з малою  швидкістю навчання і нульовими або майже нульовими околами.

Після того, як мережа навчена розпізнавати структури даних, її можна використовувати як засіб візуалізації при аналізі даних.

Області застосування. Кластерний аналіз, розпізнавання образів, класифікація.

Недоліки. Мережа може бути використана для кластерного аналізу маючи заздалегідь відоме число кластерів.

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

Мережа Хопфілда

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

Информация о работе Штучні нейронні мережі