Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
neurmeua.doc
Скачиваний:
45
Добавлен:
07.02.2016
Размер:
1.35 Mб
Скачать

Лабораторна робота № 4 багатошаровий персептрон. Узагальнений градієнтний алгоритм навчання

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

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

Основним обчислювальним елементом багатошарового персептрона або багатошарової нейронної мережі (БНМ) є формальний нейрон. Він виконує параметричне нелінійне перетворення вхідного вектора x у скалярну величину y. Нейрони утворюють мережу, що характеризується наступними параметрами і властивостями: M – число шарів мережі, Nμ число нейронів μ-го шару, зв'язки між нейронами в шарі відсутні.

Виходи нейронів μ-го шару, μ = 1, 2, ..., М – 1 надходять на входи нейронів тільки наступного μ+1-го шару. Зовнішній векторний сигнал x надходить на входи нейронів тільки першого шару, виходи нейронів останнього М-го шару утворюють вектор виходів мережі y(M). Структура мережі показана на рис. 5.

Рисунок 5 – Структура багатошарової нейронної мережі

Кожен i-й нейрон μ-го шару (μi-й нейрон) перетворює вхідний вектор x(μ,i) у вихідну скалярну величину y(μ,i). Це перетворення складається з двох етапів: спочатку обчислюється дискримінантна функції net(μ,i), яка далі перетворюється у вихідну величину y(μ,i).

Дискримінантна функція являє собою відрізок багатовимірного ряду Тейлора. Коефіцієнти розкладання відрізка багатовимірного ряду Тейлора утворюють вектор вагових коефіцієнтів w(μ,i), або пам'ять нейрона. Дискримінантна функція нейрона має вигляд:

,

де w(μ,i) = (w0(μ,i), w1(μ,i), ..., wN(μ,i))Т – вектор вагових коефіцієнтів нейрона; xj(μ,i)j-а компонента N-вимірного вхідного вектора x(μ,i).

Нелінійне перетворення y(μ,i) = ψ(net(μ,i)) задається функцією активації, що є монотонною та обмеженою. Зокрема, при позитивних або нульових виходах нейрона такою функцією може бути сигмоїдна функція ψ(x) = 1/(1+e-x).

Позначимо через y(μ) = (y(μ,1), y(μ,2), ..., y(μ,Nμ))Т вектор виходу нейронів μ-го шару.

Процес навчання мережі, здійснюється в результаті мінімізації цільової функції – деякого критерію якості F(w), що характеризує інтегральну міру близькості виходів мережі y(M)(k) і вказівок учителя y*(k):

,

де k – номер поточного циклу навчання НМ; m = 1, 2, ..., k – номера попередніх циклів навчання НМ; w – складений вектор-стовпець вагових коефіцієнтів мережі, який складають вектори-стовпці w(μ) = (w(μ,1)T, w(μ,2)T, ..., w(Nμ)T)Т, μ MM – 1, ..., 1 кожного шару. Миттєвий критерій якості (ε (wk)), що входить в інтегральний критерій якості F(w), залежить від вектора помилки мережі (ε (wm)): ε(wm) = y(M)(m) – y*(m).

Для кожного вхідного вектора х з навчальної множини повинний бути визначений вектор бажаних виходів мережі y*. Якщо БНМ, що навчається, використовується як класифікатор, то звичайно бажані виходи мають низький рівень (0 чи менше 0,1), крім виходу вузла, що відповідає класу, до якого відноситься х; цей вихід у даному випадку має високий рівень (1 чи більше 0,9).

Градієнтні методи навчання БНМ засновані на використанні градієнта цільової функції F(w). Ці методи носять ітеративний характер, тому що компоненти градієнта виявляються нелінійними функціями. Усі далі розглянуті методи засновані на ітераційній процедурі, що реалізується відповідно до формули:

wk+1 = wk + αks(wk),

де wk , wk+1 – поточне і нове наближення значень ваг і порогів НМ до оптимального рішення, відповідно; αk – крок збіжності; s(wk) – напрямок пошуку в N-вимірному просторі ваг. Спосіб визначення s(wk) та αk на кожній ітерації залежить від особливостей конкретного методу.

Узагальнений градієнтний алгоритм стосовно до задачі навчання БНМ має наступний вигляд.

Крок 1. Ініціалізація: Задаються параметри БНМ: N – число входів, M – число шарів, початкові ваги та пороги w. Задаються параметри алгоритму навчання: максимально припустиме число циклів навчання Epochs, параметр збіжності алгоритму ε1 – мета навчання (у якості її звичайно виступає максимально припустима середньоквадратична помилка), ε2 – параметр збіжності уздовж прямої (для простоти можна вважати ε2 = ε1).

Крок 2. Покласти лічильник ітерацій k = 0.

Крок 3. Обчислити компоненти .

Крок 4. Чи виконується рівність ?

Так: збіжність досягнута. Перейти на крок 13.

Ні: перейти на крок 5.

Крок 5. Чи виконується нерівність k > Epochs?

Так: досягнуте максимальне число циклів навчання, збіжність не досягнута. Перейти на крок 13.

Ні: перейти на крок 6.

Крок 6. Обчислити s(wk).

Крок 7. Чи виконується нерівність ?

Так: перейти на крок 9.

Ні: покласти: . Перейти на крок 9.

Крок 8. Знайти таке значення αk, при якому F(wαks(wk))min, використовуючи параметр ε2.

Крок 9. Покласти wk+1 = wk+ αks(wk).

Крок 10. Чи виконується нерівність F(wk+1) < F(wk) ?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]