Реферат

Архітектура нейронної мережі

ВСТУП

Термін “нейронні мережі” сформувався до середини 50-х років XX століття.
Основні результати в цій області зв’язані з іменами У.Маккалоха,
Д.Хебба, Ф.Розенблатта, М.Мінського, Дж.Хопфілда.

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

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

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

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

1 ПОСТАНОВКА ЗАВДАННЯ

, постійної часу Т (див. таблицю 1.1). В таблиці наведені також час
перехідного процесу tп, час наростання tн та кількість коливань
перехідної характеристики за час перехідного процесу n ; ці параметри не
приймають участь у розрахунках і приводяться лише для більш повної
характеристики перехідного процесу.

Таблиця 1.1 – Варіант технічного завдання

Варіант К ( Т, с tп , с tн , с n

17 2 0.3 0.5 9 1 3

Для виконання поставленого завдання на курсову роботу необхідно:

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

— провести навчання мережі за допомогою одного з відомих алгоритмів;

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

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

— забезпечити значення R?0.99 коефіцієнта кореляції, отриманого після
регресійного аналізу (ідеальна кореляція відповідає R =1.00);

— надати приклад застосування створеної мережі;

— звести всі отримані результати в пояснювальну записку, оформлену
відповідно до діючого стандарту [1], перелік обов’язкових складових
пояснювальної записки наводиться нижче.

Перелік обов’язкових складових пояснювальної записки:

— узагальнена схема нейронної мережі;

— опис створеної мережі як об’єкта Neural Network, що виконується
програмою;

— вхідний і цільовий масиви для навчання мережі (не повністю);

— вхідний і цільовий масиви для тестування мережі (не повністю);

— вихідний масив при тестуванні;

— масив відносних помилок тестування (ВПТ), обчислених у відсотках;

— графік зменшення помилки в процесі навчання;

— графік ВПТ;

— графік, на якому відображено результати регресійного аналізу з
вказівкою значення коефіцієнта кореляції R;

— матриці вагових коефіцієнтів і зміщень кожного нейрона після
закінчення навчання;

— середнє модулів ВПТ, обчислене за допомогою MATLAB функції MAE;

— приклад застосування створеної мережі;

— всі m-файли, необхідні для отримання перелічених результатів;

— файл результату виконання програми с включенням виконаних файлів;

— графіки часових функцій на вході і виході мережі.

Всі перелічені результати за виключенням схеми і графіків повинні
міститись у файлі результатів, що вказаний у переліку останнім.
Узагальнену схему створеної нейронної мережі можна отримати за
допомогою: по-перше, GUI інтерфейсу пакета прикладних програм Neural
Network Toolbox, який називається NNTool, по-друге, за допомогою
пакета Simulink.

2 ТЕОРЕТИЧНА ЧАСТИНА

2.1 Структура штучного нейрона

Нейрон є складовою частиною нейронної мережі. На рисунку 2.1
представлена його структура. Він складається з елементів трьох типів:
помножувачів (синапсів), суматора і нелінійного перетворювача. Синапси
здійснюють зв’язок між нейронами, множать вхідний сигнал на число, що
характеризує силу зв’язку, (вагу синапса). Суматор виконує додавання
сигналів, що надходять по синаптичним зв’язках від інших нейронів і
зовнішніх вхідних сигналів. Нелінійний перетворювач реалізує нелінійну
функцію одного аргументу – виходу суматора. Ця функція називається
функцією активації чи передатною функцією нейрона.

Рисунок 2.1 – Структура штучного нейрона

Математична модель штучного нейрона є наступною:

, (2.1)

(2.2)

де wі – вага (weight) синапса, i=1…n; b — значення зсуву (bias); s —
результат сумування (sum); хi — компонент вхідного вектора (вхідний
сигнал), i=1…n;

у — вихідний сигнал нейрона; п — число входів нейрона; f — нелінійне
перетворення (функція активації).

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

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

2.2 Архітектура нейронної мережі

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

У курсовій роботі використовуються виключно багатошарові нейронні
мережі, які в свою чергу, можна поділити на:

— мережі прямого розповсюдження ;

— мережі зі зворотними зв’язками.

У мережах прямого розповсюдження [3] нейрони вхідного шару отримають
вхідні сигнали, перетворюють і передають їх нейронам першого шару,
останні – нейронам другого, потім третього і так дальше аж до вихідного
шару, який видає їх користувачу. У мережах зі зворотними зв’язками
інформація з подальших шарів передається на попередні. Мережі прямого
розповсюдження є статичними в тому розумінні, що на заданий вхід вони
виробляють одну сукупність вихідних значень, яка не залежить від
попереднього стану мережі. Мережі зі зворотними зв’язками є динамічними,
оскільки в них модифікуються входи нейронів, що призводить до зміни
стану мережі. Для правильної роботи зворотні зв’язки повинні містити
елементи затримки TDL (time delay link – ланка затримки часу).
Використання TDL рівносильне диференціюванню в аналогових системах, тому
вони застосовуються не тільки у колах зворотних зв’язків. Наприклад, для
реалізації цифрових фільтрів (типово динамічні системи) використовують
мережі ADALINE [9] (ADAptive LInear NEtwork – адаптовані нейронні
мережі) в яких TDL знаходяться в колах прямого проходження сигналів.
Мережі , які містять TDL і/або зворотні зв’язки, називаються
рекурентними.

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

2.2.1 Лінійні мережі

Лінійні нейронні мережі [3, 4, c.89] по своїй структурі аналогічні
персептрону і відрізняються лише функцією активації, яка є лінійною
(PURELIN). Вихід лінійної мережі може приймати будь-яке значення, тоді
як вихід персептрона обмежений значеннями 0 або 1. Лінійні мережі,
здатні вирішувати тільки лінійно відділені завдання класифікації, проте
в них використовується інше правило навчання, засноване на методі
найменших квадратів, яке є набагато ефективнішим, ніж правило навчання
персептрона «дельта». Настройка параметрів виконується так, щоб
забезпечити мінімум помилки. Поверхня помилки як функція входів має
єдиний мінімум, і визначення цього мінімуму не викликає труднощів. На
відміну від персептрона настройка лінійної мережі може бути виконана за
допомогою як процедури адаптації, так і процедури навчання. В останньому
випадку використовується правило WH (Widrow — Hoff) навчання Б. Уїдроу і
М. Хоффа

Рисунок 2.2 – Модель лінійного нейрона з двома входами

Крім того, лінійні нейронні мережі можуть використовуватись в
адаптивному режимі. Вони дозволяють коректувати ваги і зсуви нейронів
під час вступу на вхід кожного нового елементу навчальної множини і
тому широко застосовуються при рішенні задач фільтрації сигналів і в
системах управління. Такі адаптивні мережі отримали назву ADALINE
(ADAptiv LInear neuron NEtworks). Основоположною роботою в цій області є
книга Б. Уїдроу і С. Стернcа в якій вони і ввели скорочення ADALINE.

3 ПРОЕКТУВАННЯ НЕЙРОННОЇ МЕРЕЖІ

3.1 Формування вхідних і цільових даних для навчання мережі

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

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

(3.1)

– показник Лапласа.

.

.

gdsJE

„A`„AgdsJE

01/44iUUUUAeAeAeAeAeAeAeAe°Ae?“

a$gdsJE

gdsJE

gdsJE

j

????E

???????????E

*авчання, при умові, що перед процедурою тестування ці масиви будуть
оновлені. Тобто потрібно ще раз запустити m-файл, який відповідає за
формування вхідних та цільових даних.

Детальніше всі основні команди, що використовуються для формування
вхідних даних приведені у відповідному m-файлі (див. додаток А).

3.2 Створення нейронної мережі

Створення мережі полягає у розробці і створенні комп’ютерної моделі, яка
в подальшому може навчатися і потім використовуватись для моделювання.
За допомогою GUI NNTool можуть бути створені тільки окремі типи одно- та
двохшарових мереж (персептрон, радіальна базисна мережа, мережа з прямим
розповсюдженням сигналу, мережі Кохонена, Елмана і Хопфільда тощо). Тоді
як у робочому вікні MATLAB за допомогою функції NETWORK можна створити
будь-яку мережу користувача.

В даній курсовій роботі для передбачення значення часової функції за її
попередніми значеннями використовується адаптуюча лінійна нейронна
мережа ADALINE (ADAptive Linear Neuron networks) [4,9]. Лінійні мережі
— це мережі в яких функція активації є лінійною. Правило навчання
лінійних мереж засновано на методі найменших квадратів. Налаштування
параметрів даної мережі виконується таким чином, щоб забезпечити мінімум
похибки. Вихід лінійної мережі може приймати будь-яке значення, водночас
вихід персептрона обмежується значеннями 0 та 1. Адаптуюча лінійна
нейронна мережа ADALINE дозволяє корегувати ваги та зміщення при подачі
на вхід кожного нового елемента вхідного масиву даних для навчання.

На рисунку 3.1 представлена узагальнена схема нейронної мережі:

Рисунок 3.1 – Узагальнена схема нейронної мережі

Деякий сигнал поступає на лінію затримки так, що на її виході формуються
2 сигнали: p(t-1), p(t-2), так як для формування входу застосовується
динамічна ланка другого порядку, то в мережі буде використано лінію
затримки з двома блоками.

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

3.3 Навчання нейронної мережі

Після того, як при створенні мережі визначені кількість шарів і
кількість нейронів у кожному з них, необхідно знайти значення ваг і
зміщень кожного з нейронів, тобто здійснити настройку параметрів
моделі. Це може бути досягнуто за допомогою процедури навчання мережі.
Вона зводиться, як правило, до мінімізації помилки, яку мережа допускає
при пред’явленні до неї всіх даних навчання. У процесі навчання може
з’явитися вибір: типу навчання (без вчителя, з вчителем); процедури
навчання: ADAPT (адаптувати – метод для об’єктів класу network (проект
мережі), при якому значення ваг і зміщень нейронів поновлюються після
кожного пред’явлення до мережі вектора входу) або TRAIN (навчати – метод
для об’єктів класу network, при якому значення ваг і зміщень нейронів
поновлюються тільки після пред’явлення до мережі закінченої
послідовності векторів входу); функції адаптації або навчання, що
визначає алгоритм навчання, та параметрів цих функцій; кількості циклів
або епох навчання тощо. Правильний вибір перелічених можливостей є
доволі складною задачею. Тому при першому застосуванні доцільно вибирати
опції, призначені за умовчанням, які часто залишаються придатними і для
дослідження кінцевого варіанта системи.

Для навчання мережі застосуємо алгоритм навчання з вчителем [2],
оскільки задається цільовий масив, навчання здійснюється з використанням
функції ADAPT, також для навчання мережі можна використати функцію
TRAIN, та це недоцільно, оскільки ця функція на відміну від ADAPT
проводить навчання зразу на цілому проміжку, а потім аналізує результат.
Функція ADAPT проводить налаштування вагових коефіцієнтів та коефіцієнта
зсуву і перевіряє похибку при кожному надходженні вхідних даних, таким
чином навчання мережі проходить швидше і за меншу кількість ітераційних
циклів (епох).

.

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

.

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

Текст програми навчання мережі приведений в m-файлі (див. додаток А).

3.4 Моделювання та тестування нейронної мережі

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

– вектор вихідних даних мережі.

Функція SIM (симулювання) виконує процес моделювання і обчислює реакцію
мережі на вхідний масив Р. Для тестування та моделювання мережі
використовується той самий масив даних, що й при навчанні (див. додаток
А).

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

(3.2)

– цільовий вектор.

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

Визначимо за допомогою функції MAE(Еv) середнє значення відносних
похибок тестування. Результат її виконання рівний 2.2401%, через
початкові значення перехідної характеристики (див. додатки А та Б).
Проте, оскільки нам треба визначати значення перехідної характеристики в
наступні моменти часу, то це значення являється цілком задовільним.

3.5 Приклад застосування створеної нейронної мережі

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

знаходимо вихід мережі, який має значення 2.0040. Таке значення
отримане завдяки похибці, яка має місце в мережі, так як значення по
перехідній характеристиці рівне 2.0057. Фрагмент програми прикладу
застосування створеної нейронної мережі і результати її виконання
наведені в додатках А та Б.

ВИСНОВКИ

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

В даній курсовій роботі для передбачення значення часової функції за її
попередніми значеннями використовується адаптуюча лінійна нейронна
мережа ADALINE, яка найкраще підходить для розв’язування поставленої
задачі. Процес створення мережі відбувався за такими етапами: підготовка
вхідних даних, створення мережі, навчання мережі, моделювання та
тестування мережі. Так як на практиці ці етапи досить важко реалізуються
і потребують ґрунтовних знань не тільки принципів побудови і навчання
нейронних мереж, але і навиків в області програмування, щоб полегшити
роботу було розроблено спеціальний програмний пакет в середовищі MATLAB.
Застосувавши вбудовані функції та процедури цього пакету, було створену
нейронну мережу для реалізації поставленої задачі.

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

ПЕРЕЛІК ПОСИЛАНЬ НА ДЖЕРЕЛА

СТП 02070855-03-99. Стандарт підприємства. Курсовий і дипломний проект:
Вимоги до змісту та оформлення. – Івано-Франківськ, ІФНТУНГ, 1999.

Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теорія и
практика. – М.: Горячая линия — Телеком, 2001. – 382 с.

Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6 / Под общ. Ред.
К.т.н. В.Г.Потемкина. – М.: ДИАЛОГ-МИФИ, 2002. – 486 с. – (Пакеты
прикладных программ; кн. 4).

Notebook «Нейронные сети» — заготовка для книги [3], мережа кафедри
КТіСУ: h:\disciplines\neuro\kurs_rob\M-book_neural_net.doc.

Дьяконов В.П. MATLAB 6/6.1/6.5 + Simulink 4/5 в математике и
моделировании. Полное руководство пользователя. М.: СОЛОН-Пресс. – 2003.
– 576 с.

Иванников В., Ланнэ А. MATLAB для DSP. Нейронные сети: графический
інтерфейс пользователя // CHIP NEWS. – 2001. – # 8.

Neural Network Toolbox. User’s Guide, v.4, мережа кафедри КТіСУ:
h:\disciplines\neuro\MATLAB\nnet.pdf

Перелік більшості функцій MATLAB NNT, мережа кафедри КТіСУ:
h:\disciplines\neuro\MATLAB\function_list.doc.

Скановане зображення книги [3], сторінки 102-146 (4. Персептроны, 5.
Линейные сети, 6. Радиальные базисне сети), мережа кафедри КТіСУ:
h:\disciplines\neuro\kurs_rob\Medvedev_Potemkin_102-146.

Приклади реалізації трьох нейронних мереж, мережа кафедри КТіСУ:
h:\disciplines\neuro\MATLAB\Neural Networks.doc.

(

(

(

.

.

.

.

.

.

.

.

.

s

y

W1

Wi

Wn

f

(

b

x1

xn

xi

.

.

.

Похожие записи