рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

З використанням нейронних мереж - раздел Образование, Кафедра електромеханіки   Мета: Вивчення Принципів Функціон...

 

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

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

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

Структура нейрона представлена на рис. 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 мережі з п’ятьма нейронами в прихованому шарі). Порівняти із значенням, розрахованим за допомогою нейроімітатора.

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

– Конец работы –

Эта тема принадлежит разделу:

Кафедра електромеханіки

Криворізький технічний університет Кафедра електромеханіки Методичні вказівки до... На засіданні кафедри електромеханіки... Протокол від р...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: З використанням нейронних мереж

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Кафедра електромеханіки
    Методичні вказівки до лабораторних робіт та розрахункові завдання з курсу

Amp; Короткі теоретичні відомості
  Cервісна оболонка Norton Commander (Windows Commander). Для полегшення взаємодії користувача з операційною системою MS DOS в діалоговому режимі розроблений ря

Довідник
Перехід в інший каталог - виділити цей каталог і натиснути [ENTER]. [TAB] - перехід в іншу панель. Вибраний файл, або каталог є можливість: [F5] - скопіювати; [F

Amp; Короткі теоретичні відомості
  Основи роботи в середовищі пакету MatLab. 1. Типи та формати даних - Matlab відрізняє великі та малі літери, окрім того, запис імені файлу та повного

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

Обчислювальні здібності.
Крім роботи з десятковими числами існують можливість роботи з восьми, і шістнадцятковими числами. Є набір процедур для можливості функціонування не тільки над числами, чи вектор-матрицями, але і на

Створіть текстову область.
Курсор – може бути перетворений у рамку для тексту натисканням клавіші [ “ ]. При цьому буде відкрита, оточена чорною рамкою, текстова область, що залишиться відкритою доти, доки курсор кліком миші

Погрішностей математичних дій
  Варіанти Змінні

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

Електричне моделювання динамічних систем
1. Розробити електричну модель динамічної системи (номер рисунка відповідає варіанту) для парних варіантів по І-й системі аналогій для непарних по ІІ-й системі. 2. Розрахувати параметри ел

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

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

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

Крок 3. Задайте параметр нейромережі
Число шарів нейромережі… Нейронна мережа складається з шарів – вхідного, вихідного і прихованих. Необхідно вказати кількість прихованих шарів. Загального правила скільки п

Крок 4. Задайте параметр навчання
Використовувати для навчання мережі % вибірки… Всі приклади, що подаються на вхід нейромережі, поділяються на дві множини – навчальну та тестову. Задайте, скільки відсоткі

Крок 6. Запустіть навчання системи
Пуск навчання/зупинка навчання… Запустіть процес. В таблиці над кнопкою можна спостерігати, як міняється помилка навчання. Розподіл помилки…

Крок 8. Результат розрахунку знаходиться в файлі з розширенням .NNW.
[Network] TeachSpeed=0.1 Miu=0.5 Alpha=1 Epoch=27612 CountLayers=3 (кількість нейронів в шарах) Layer_0=2 Layer_1=3

Крок 8. Результат розрахунку знаходиться в файлі з розширенням .NNW.
[Network] TeachSpeed=0.1 Miu=0.5 Alpha=1 Epoch=27612 CountLayers=3 (кількість нейронів в шарах) Layer_0=2 Layer_1=3

Моделювання нейронної мережі
x = sim(net,P); x1 = cat(1,x{:}); figure(2), plot(time,x1,'b:+', time,p,'r-o'),grid on legend('вихід', 'вхід') gensim(net) % виклик Simulink структури НМ

Чисельні методи розрахунку визначених інтегралів.
  Мета: засвоєння теоретичного матеріалу та придбання навичок коректного використання програмних пакетів для вирішення інженерних задач.  

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

Чисельні методи рішення рівняння Лапласа
  Мета: вивчити запропонований чисельний метод рішення рівняння Лапласа, та навчитись коректно використовувати програмні пакети для вирішення поставлених з

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

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

Amp; Короткі теоретичні відомості
  Структурне моделювання електропривода. Моделювання ДПТ з незалежним збудженням. Індуктивність якоря:

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги