Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

З використанням нейронних мереж

Читайте также:
  1. Визначення розрахункових витрат води та необхідних напорів у зовнішніх водопровідних мережах
  2. Вимоги при проектуванні каналізаційної мережі
  3. Всеукраїнська мережа ЛІГА:ЗАКОН www.ligazakon.ua
  4. Дворові мережі та газопроводи-вводи
  5. Дощові та загальносплавні каналізаційні мережі
  6. Живлення споживачів нафтової та газової промисловості електричною енергією здійснюється від мереж енергосистем або від власних місцевих електричних станцій.

 

Мета: вивчення принципів функціонування та методики синтезу нейронних мереж (НМ).

ÄКороткі теоретичні відомості

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

Структура нейрона представлена на рис. 5.1.

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

(5.1)

   

і блок функції активації .

Таким чином, нейрон функціонує за два такти:

1) підсумовування вхідних сигналів;

2) обчислення Y по функції активації.

Функція активації повинна задовольняти двом умовам:

1) | F(U)| < 1 при будь-якому U

2) функція повинна бути такою, що не монотонною убуває.

Рисунок 5.1 Структура нейрона

 

Найчастіше в якості функцій активації використовуються наступні функції:

1) ступінчаста функція

(5.2)

2) сигмоідна функція (рис. 5.2,а)

(5.3)

а) б)

Рисунок 5.2 – Функції активації

 

 

3) гіперболічний тангенс (рис. 5.2,б)

(5.4)

4) гладкі стискуючі функції

(5.5)

де Q – поріг (зсув); а - параметр, що визначає крутизну статичної характеристики нейрона.

Нейрони утворюють нейронні мережі шляхом з'єднання синапсів з аксонами.

Найбільш поширеними і добре вивченими є тришарові НС, що складаються з трьох шарів нейронів: вхідного, прихованого і вихідного (рис. 5.3).

Рисунок 5.3 – Нейронна мережа 3-4-2

 

Нейрони вхідного шару мають тільки по одному синапсу. Кількість нейронів вхідного шару відповідає кількості вхідних змінних мережі Х.

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

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

Нейрони вихідного шару формують вихідні сигнали, їх кількість відповідає кількості виходів Y.

Приклад НМ з 3 вхідними, 4 прихованими і 2 вихідними нейронами приведений на рис.5.3. Така НМ скорочено позначається як (3-4-2). Нij – нейрони.

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

Вихідний сигнал yij кожного j-го нейрона в i-му шарі визначається як

(5.6)

де n(i) – число нейронів в i-му шарі.

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

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

Нейронні мережі відносяться до класу апроксиматорів і «чорних ящиків», що апроксимують деякі функції вигляду

(5.7)

де Y – вектор вихідних змінних; Х – вектор вхідних.

Процес апроксимації полягає в підборі вагових коефіцієнтів wij і називається навчанням НМ. Тобто НМ може функціонувати в двох режимах:

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

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

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

Структура процесу навчання представлена на рис. 5.4, де позначені: Yбаж – бажані значення вихідних сигналів, Е – помилка навчання (Е = YбажY), К – дії, що коректують (зазвичай зміни вагів ).

 

Рисунок 5.4 – Процес навчання НМ

 

Для навчання НМ складається навчальна вибірка вхідних сигналів і відповідних їм вихідних. Вибірка може бути розділена на дві частини: робочу вибірку (на основі якої проводиться навчання) і тестову вибірку (для перевірки якості навчання).

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

(5.8)

де Nin і Nout – кількості нейронів у вхідному і вихідному шарах; Np – кількість навчальних кортежів (об'єм вибірки).

Вагам синапсів ненавченої НМ спочатку привласнюються довільні значення. Далі на вхід НМ подається перший вектор Х з робочої вибірки, визначається вектор Y і помилка навчання Е. Виходячи із значень вектора Е коректуються ваги синапсів. Потім подається наступний вектор Х з вибірки і т.д. Цикли навчання повторюються багато разів, поки якість навчання не стане задовільною, що перевіряється відповідно тестовій вибірці. Існує декілька методів навчання, які класифікують по способах використання вчителя:

- навчання з вчителем (корекція вагів проводиться виходячи з порівняння поточного і бажаного вихідних векторів);

- навчання з послідовним підкріпленням знань (мережі не даються бажані значення виходів, а ставиться оцінка «добре» або «погано»);

- навчання без вчителя (мережа сама виробляє правила навчання шляхом виділення особливостей з набору вхідних даних).

 

Виходячи з використання елементів випадковості методи навчання підрозділяються:

- на детерміністських (корекція на основі аналізу вхідних і вихідних сигналів, а також додатковій інформації, наприклад, бажаних виходів);

- на стохастичні (випадкова зміна вагів в ході навчання – Больцмановське навчання).

До детерміністських правил навчання|вчення| відносяться правило Хебба, дельта-правило, правило Кохонена, ART-правило|, правило зворотного розповсюдження|поширення|. Найбільш поширеним правилом для мереж|сітей| MLP| є|з'являється| правило зворотного розповсюдження|поширення| (back| propagation|).

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

Правило зворотного розповсюдження

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

(5.9)

Для зменшення помилки ваги змінюються за правилом

(5.10)

де n - константа, що характеризує швидкість навчання.

Дана формула описує процес градієнтного спуску в просторі вагів.

Алгоритм зворотного розповсюдженням складається з наступних кроків.

1°. На вхід НМ подається вектор Х з навчальної вибірки і обчислюються виходи всіх нейронів Yij.

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

(5.11)

де Yj – вихід j-го нейрона вихідного шару.

3°. Рухаючись від останнього шару до першого визначаються градієнти EIij длякожного j-го нейрона кожного i-го шару:

(5.12)

де k – номер синапсу, що сполучає нейрон Нij з нейроном Нi+1,k наступного шару.

4°. Корекція вагів синапсів:

(5.13)

Корекція вагів для вхідного шару не проводиться.

5°. Якщо повчальна вибірка не закінчилася, то кроки 1 – 5 повторюються.

6°. Визначається величина помилки Е. Якщо вона не задовільна, то кроки 1 – 6 повторюються.

З описаного алгоритму видно, що процес навчання НМ включає два вкладені цикли навчання: внутрішній цикл (кроки 1 – 5) повторюється відповідно кількості прикладів з повчальної вибірки, зовнішній (кроки 1 – 6) – до тих пір, поки не буде досягнута задовільна (з погляду помилки Е) якість навчання.

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

Приклад одного циклу навчання НС.

Вхідні навчальні кортежі наведені нижче:

х1 х2   у
     
     
     

де х1 і х2 – вхідні параметри НМ, у – бажаний вихідний параметр.

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

 

Рисунок 5.5 – Приклад НМ 2-2-1

 

Як функція активації вибирається сигмоідна функція з коефіцієнтом . Початкові значення ваг синаптичних зв'язків приймаємо рівними 0,5:

Оскільки початкові значення х1, х2 і у не лежать в межах [0, 1], їх необхідно пронормувати, поділивши, наприклад, х1 на 4, х2 на 2, а у на 16. В результаті отримуємо нормовану вибірку:

х1 х2   у
0,25   0,125
0,5 0,5 0,375
     

Швидкість навчання приймається рівною n = 0,2.

Розглянемо кроки навчання.

1°. На входи НМ подається перший вектор вхідних параметрів:

х1 = 0,25 і х2 = 0 (убаж = 0,125).

Виходи нейронів вхідного шару: Y11 = 0,25, Y12 = 0.

Для прихованого шару:

U21 = ×Y11 + ×Y12 = 0,5×0,25 + 0,5×0 = 0,125;

U22 = ×Y11 + ×Y12 = 0,5×0,25 + 0,5×0 = 0,125;

Y21 = 1 / (1 + exp(-a×U21)) = 1 / (1 + exp(-0,125)) = 0,5312;

Y22 = 1 / (1 + exp(-a×U22)) = 1 / (1 + exp(-0,125)) = 0,5312.

Для вихідного шару:

U31 = ×Y21 + ×Y22 = 0,5×0,5312 + 0,5×0,5312 = 0,5312;

Y31 = 1 / (1 + exp(-a*U31)) = 1 / (1 + exp(-0,5312)) = 0,6298.

 

2°. Величина градієнта для вихідного нейрона

EI31 = (Y31 – Yбаж) ×Y31× (1 – Y31) = (0,6298 – 0,125) ×0,6298× (1 - 0,6298) = 0,1177.

3°. Величини градієнтів для прихованого шару:

EI21 = Y21× (1 – Y21) × [EI31× ] = 0,5312× (1 – 0,5312) ×0,1177×0,5 = 0,01466

EI22 = Y22× (1 – Y22) × [EI31× ] = 0,5312× (1 – 0,5312) ×0,1177×0,5 = 0,01466.

4°. Корекція вагів синапсів:

= - n× Y11× EI21 = 0,5 – 0,2× 0,25× 0,01466 = 0,4993

= - n× Y11× EI22 = 0,5 – 0,2× 0,25× 0,01466 = 0,4993

= - n× Y12× EI21 = 0,5 – 0,2× 0× 0,01466 = 0,5

= - n× Y12× EI22 = 0,5 – 0,2× 0× 0,01466 = 0,5

= - n× Y21× EI31 = 0,5 – 0,2× 0,5312× 0,1177 = 0,4875

= - n× Y22× EI31 = 0,5 – 0,2× 0,5312× 0,1177 = 0,4875.

Якщо при отриманих вагах на вхід НМ подати той же вектор вхідних параметрів, то на виході буде у = 0,6267, що вже ближче до бажаного убаж = 0,125. Тобто даний цикл навчання наблизив відповідь НМ до бажаного на величину у = 0,6298 – 0,6267 = 0,0031.

Оскільки повчальна вибірка не закінчилася, то кроки 1 – 4 повторюються аналогічно для наступного вектора вхідних параметрів.

Варіанти завдань

Необхідно:

1) Отримати завдання згідно варіанту табл. 5.1.

Таблиця 5.1 – Варіанти завдань

Варіант Завдання
  у = 2 × sin2x, х [0, 1]
 
  y1 = 0.5 × x2 – 4.8 × x + 3.5, y2 = x3 – 12, y3 = x + 3,5
  x1, x2 [1, 10]
  y1 = |x1 – x2|, y2 = x1 + x2, y3 = x1 × x2; x1, x2 [1, 10]
  y1 = x1 × sin(x2), y2 = x1 × cos(x2); x1 [1, 10], x2 [-90°, +90°]
  y1 = x1 × x2 + x3, y2 = 2 × y1; x1, x2, x3 [1, 10]
  y1 = 1,5 × x1 + |x2 – 2 × x3|, y2 = x3 – y1; x1, x2, x3 [1, 10]
  , ; x1, x2 [-10, 10]
  y1 = 2,3 × x1 × x2 – 0,5 × + 1,8 × x2, y2 = ; x1, x2 [1, 10]
  Y1 = X1 AND X2, Y2 = X1 OR X2, Y3 = NOT X1
  Y = X1*X2 + X3*X4
 
 
 
  у = 2 × x1 + 5 × x1 × x2 + x2; x1, x2 [-5, 5]
  у = sin x1 × sin x2 × sin x3; x1, x2, x3 [0, p]
  у = 2 × x1 × cos x2, x1 [0,1], x2 [0, p]
  у = x1 + x2 + x3, xi [0, 10]

 

 

У варіантах 1 – 10 і 16 – 19 необхідно за допомогою нейронної мережі провести апроксимацію функції виду Y = f(X) на заданому інтервалі Х, де Х – вектор вхідних змінних Х = { х1, х2…}, Y – вектор вихідних змінних. Діапазони зміни вхідних змінних вказані в таблиці.

Варіанти 11 – 15: апроксимація логічних функцій декількох змінних Хi, вихідна змінна Y – логічна. Розглядається вся область визначення функції.

 

2) Підготувати повчальну вибірку засобами|коштами| додатку|застосування| Microsoft| Excel| і оформити її у вигляді файлу *.csv (для завдань|задач| апроксимації алгебраїчних функцій).

Примітка: Щоб створити набір випадкових чисел, скористайтеся функцією: =СЛЧИС()*100. У сусідньому стовпці розрахуйте значення заданої функції. Збережіть файл, вибравши розширення.CSV.

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

Розглядаються п'ять варіантів мережі: MLP з кількістю нейронів в прихованому шарі, рівному 1, 3, 5, 7 і функцією активації «сигмоідна» (Logistic). Навчання кожної мережі вести, наприклад, в 100 кроків. Навчання вести по алгоритму зворотного розповсюдження.

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

5) Розрахувати уручну одне вихідне значення нейронної мережі (для MLP мережі з п’ятьма нейронами в прихованому шарі). Порівняти із значенням, розрахованим за допомогою нейроімітатора.

ÄКороткі теоретичні відомості


Дата добавления: 2015-10-29; просмотров: 255 | Нарушение авторских прав


Читайте в этой же книге: Завдання 4. Робота з вікнами. | Завдання до лабораторної роботи | Нейромережеве прогнозування динамічного стану об'єктів керування | Моделювання нейронної мережі | Графоаналітичне рішення задач електротехніки | Amp; Теоретичні відомості |
<== предыдущая страница | следующая страница ==>
Визначення граничних абсолютних і відносних| Крок 4. Задайте параметр навчання

mybiblioteka.su - 2015-2024 год. (0.023 сек.)