МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
іНСТИТУТ КОМП’ютерних НАУК та ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра “Системи автоматизованого проектування”
ОПТИМІЗАЦІЯ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ
ГЕНЕТИЧНИМИ АЛГОРИТМАМИ У СЕРЕДОВИЩІ MATLAB
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторної роботи № 6
з дисципліни “Моделювання систем”
для студентів спеціальності 7.080402
“Інформаційні технології проектування”
Затверджено
на засіданні кафедри систем
автоматизованого проектування
Протокол № від . .2008 р.
на засіданні методичної ради ІКНІ
Протокол № від . .2008 р.
ВАК № від . .2008 р.
Львів-2008
Оптимізація моделі нейронної мережі генетичними алгоритмами у середовищі Matlab. Методичні вказівки до виконання лабораторної роботи № 6 з дисципліни “Моделювання систем” для студентів спеціальності 7.080402 “Інформаційні технології проектування” для денної та заочної форм навчання/Укл. П.В.Тимощук. - Львів: Національний університет ”Львівська політехніка”, 2008. – 25 с.
Укладач: Тимощук П.В.
Відповідальний за випуск: Лобур М. В., д-р техн. наук, професор
Рецензенти: Мичуда З. Р., д-р техн. наук, професор
Каркульовський В. І., канд. техн. наук, доцент
МЕТА РОБОТИ
Вивчити і закріпити знання та основні аспекти роботи, а також отримати практичні навички оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі програми Matlab.
ОПТИМІЗАЦІЯ ПАРАМЕТРІВ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ
ЗА ДОПОМОГОЮ ГЕНЕТИЧНИХ АЛГОРИТМІВ
У СЕРЕДОВИЩІ MATLAB
1. Оптимізація моделі нейронної мережі за допомогою генетичних алгоритмів. У розглянутих в попередніх лабораторних роботах прикладах використовуються окремі випадки значень параметрів моделі нейронної мережі
EMBED Equation.3 (1)
де EMBED Equation.3,EMBED Equation.3)EMBED Equation.3, EMBED Equation.3,EMBED Equation.3)EMBED Equation.3- постійні вхідні сигнали та стани мережі відповідно; EMBED Equation.3 - скаляр, що відповідає вхідній провідності нейрона EMBED Equation.3; EMBED Equation.3 - скаляр, який відповідає вхідній ємності нейрона EMBED Equation.3; EMBED Equation.3- коефіцієнт підсилення активаційної функціїEMBED Equation.3; EMBED Equation.3 - діагонально-стабільна симетрична матриця з EMBED Equation.3, EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3),g(EMBED Equation.3))EMBED Equation.3;EMBED Equation.3→EMBED Equation.3, EMBED Equation.3 - локально неперервна за Ліпшицем та нелінійно діагональна, EMBED Equation.3EMBED Equation.3, EMBED Equation.3 для кожного EMBED Equation.3, EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3. Для інших значень a, p, l та EMBED Equation.3 зони розподіл зон кількості переможців відповідно змінюється, тому для гарантування коректного функціонування мережі у необхідному регіоні вказані парамери повинні бути адекватно адаптовані. У нормальному режимі необхідно вибрати лише одного переможця серед будь-яких двох вхідних сигналів з діапазону EMBED Equation.3 i=1,2. Тому мають бути знайдені значення параметрів EMBED Equation.3 та EMBED Equation.3, які гарантують коректне функціонування мережі у діапазоні зміни EMBED Equation.3EMBED Equation.3EMBED Equation.3. Для того, щоб визначити такі параметри, необхідно розв’язати наступну задачу параметричного синтезу.
Задача параметричного синтезу. Знайти такі значення параметрів a,p,l та EMBED Equation.3, які задовольняють умови
a>p>0;
2(a-p)<r; (2)
l>0, EMBED Equation.3>0,
що для всіх пар EMBED Equation.3 у діапазоні [-1,+1]EMBED Equation.3 модель (1) демонструє лише одного позитивного компонента у встановленому режимі.
При умові
EMBED Equation.3 (3)
деEMBED Equation.3, EMBED Equation.3 , EMBED Equation.3 - роздільна здатність вхідних сигналів мережі існування властивості
EMBED Equation.3>0;EMBED Equation.3<0, (4)
де EMBED Equation.3, EMBED Equation.3, у встановленому режимі лише позитивний компонент вектора EMBED Equation.3 буде відповідати найбільшому компоненту вектора EMBED Equation.3. Тому може бути запропонована наступний алгоритм отримання шуканих параметрів:
крок 1: задання початкових значень EMBED Equation.3 та EMBED Equation.3, які задовольняють нерівності EMBED Equation.3 з умови (3) та нерівностей EMBED Equation.3EMBED Equation.3
крок 2: знаходження значень EMBED Equation.3 та EMBED Equation.3 в результаті розв’язання сформульованої задачі параметричного синтезу.
Сформульовану задачу параметричного синтезу можна подати, як проблему оптимізації. Техніка, придатна для розв’язання такої задачі, може грунтуватись на використанні генетичних алгоритмів. Генетичні алгоритми, розроблені Джоном Голандом та його колегами, є пошуковими процедурами, які базуються на принципах природних селекції та генетики. Вони поєднують виживання найпридатніших стрингів (штучних точок), при якому значення стрингів випадково змінюються, формуючи алгоритм з певними рисами людського пошуку. У кожному поколінні (ітерації) створюється нова множина стрингів, використовуючи старі стринги. Теоретично та емпірично доведено, що генетичні алгоритми забезпечують робастний пошук у складних просторах. Алгоритми не лімітуються обмеженнями стосовно простору цільових функцій, їх неперервності та існування похідних, унімодальності та ін.
Генетичні алгоритми відрізняються від традиційних оптимізаційних та пошукових процедур тим, що: 1) функціонують з кодами параметрів, а не з самими параметрами; 2) пошук ведеться за множиною точок, а не за однією точкою; 3) використовують інформацію цільової функції, а не похідних або іншу додаткову інформацію; 4) використовують імовірнісні, а не детерміністичні правила переходів. Дослідження генетичних алгоритмів ведуться у багатьох наукових школах, алгоритми знаходять широке наукове та інженерне застосування.
Для трансформації вищепоставленої задачі синтезу до задачі оптимізації сконструюємо цільову функцію у формі, придатній для використання у генетичних алгоритмах. Така функція повинна бути ненегативною для всіх можливих вхідних сигналів EMBED Equation.3. У встановленому режимі модель нейронної мережі другого порядку (1) має лише чотири незалежних параметри: EMBED Equation.3 та EMBED Equation.3, оскільки параметр EMBED Equation.3 залежить від решти параметрів, а параметр EMBED Equation.3 має вплив на розв’язки моделі (1) лише у перехідних режимах. Тому у поставленій задачі синтезу ціль може бути сформульована, як максимізація у межах EMBED Equation.3 наступної функції:
EMBED Equation.3, (5)
де EMBED Equation.3 - кількість розв’язків встановленого режиму моделі нейронної мережі другого порядку (1) EMBED Equation.3 у діапазоні зміни вхідних сигналів EMBED Equation.3 EMBED Equation.3 - кількість дискретних точок EMBED Equation.3, які мають наступні обмеження:
EMBED Equation.3 (6)
де EMBED Equation.3 та EMBED Equation.3 - задані скалярні мінімальне та максимальне значення станів у встановлених режимах EMBED Equation.3 та EMBED Equation.3 моделі (1) при EMBED Equation.3 з точки зору схемної реалізації мережі; EMBED Equation.3 - нелінійна недиференційовна функція шуканих параметрів EMBED Equation.3.
Оскільки цільова функція (5) є ненегативною для заданих вхідних сигналів EMBED Equation.3, її не потрібно приводити до форми так званої функції придатності. Однак, для того, щоб отримати в результаті розв’язання задачі синтезу мінімальні значення параметрів EMBED Equation.3та EMBED Equation.3, долучимо ці параметри до цільової функції. Оскільки відносно параметрів EMBED Equation.3,EMBED Equation.3 та EMBED Equation.3 мета природно постає, як мінімізація їх значень, для трансформації задачі мінімізації до задачі максимізації EMBED Equation.3,EMBED Equation.3 та EMBED Equation.3 сформуємо наступну цільову функцію:
EMBED Equation.3 (7)
де EMBED Equation.3 - максимально дозволене з умови діагонально-стабільного типу матриці EMBED Equation.3 значення недіагонального елементу EMBED Equation.3; EMBED Equation.3 - мале додатнє число; EMBED Equation.3- ваги, які можуть бути вибрані з умов EMBED Equation.3 Діапазони зміни ваг вибиремо такими для того, щоб значення членів цільової функції були однакового порядку. Це гарантуватиме те, що у цільовій функції не будуть суттєво домінувати її окремі члени. Тоді можна сформулювати наступну задачу максимізації з обмеженнями: знайти такі значення параметрів EMBED Equation.3 та EMBED Equation.3, які максимізують функцію (7), що має обмеження (6).
При розв’язанні сформульованої задачі максимізації генетичні алгоритми генеруватимуть послідовність значень параметрів EMBED Equation.3 та EMBED Equation.3, використовуючи модель нейронної мережі другого порядку (1), цільову функцію (7) та обмеження (6). Тому, використовуючи для максимізації генетичні алгоритми, можна розв’язувати задачу аналізу, обчислювати значення цільової функції і провіряти, чи не порушуються якісь з обмежень. Якщо ні, призначати параметрам цільової функції значення, які відповідають обчисленій цільовій функції. Якщо обмеження порушуються, розв’язок є непридатним.
Оскільки сформульована задача оптимізації має обмеження і знаходження оптимального розв’язку є досить трудоємким, трансформуємо задачу оптимізації з обмеженнями до задачі оптимізації без обмежень, включивши обмеження до цільової функції. Тобто, для розв’язання поставленої задачі максимізації з обмеженнями у формі нерівностей (6) апроксимуємо її задачею максимізації без обмежень. Припустимо, що розв’язок задачі без обмежень збігається до розв’язку задачі з обмеженнями.
Для розв’язання задачі без обмежень вирішальним кроком є побудова відповідної енергетичної (псевдо-цільової) функції EMBED Equation.3, для якої мінімум EMBED Equation.3 є одночасно розв’язком вищепоставленої задачі синтезу. Одним з найпростіших методів побудови апроксимаційної енергетичної функції є метод штрафних функцій. Сформуємо для методу штрафних функцій нову цільову функцію і перетворимо задачу з обмеженнями шляхом додавання до цільової функції (6) члена штрафної функції до наступної задачі максимізації без обмежень: знайти такі параметри моделі мережі (1) EMBED Equation.3, які максимізують значення енергетичної функції
EMBED Equation.3 (8)
де EMBED Equation.3 EMBED Equation.3- цілий ненегативний член штрафної функції, EMBED Equation.3EMBED Equation.3 - штрафний параметр (як правило EMBED Equation.3).
Оскільки штрафна функція містить двосторонні обмеження (6), тому може бути використана наступна функція з двома окремими обмеженнями:
EMBED Equation.3 (9)
Вирази (8) та (9) є негладкими, тобто перші похідні від EMBED Equation.3 по відношенню до шуканих змінних EMBED Equation.3 не є неперервні. Тому для розв’язання задачі максимізації замість градієнтного методу можна використати неградієнтний метод максимізації генетичними алгоритмами. Припустимо, що точний оптимальний розв’язок EMBED Equation.3 максимізує (9) при будь-яких штрафних параметрах скінченного значення EMBED Equation.3 для всіх EMBED Equation.3. Використаємо, як необхідну умову для успішного застосування методу штрафних функцій те, що існують такі значення параметрів EMBED Equation.3, що модель мережі другого порядку (1) буде мати лише розв’язки для будь-яких вхідних сигналів EMBED Equation.3. Відмітимо, що енергетична функція EMBED Equation.3 містить, крім цільової функції (5), член “штрафної” функції, який зменшує значення EMBED Equation.3 завжди, коли якесь з обмежень (6) порушується і чим більше порушення, тим суттєвішим є вказане зменшення.
В результаті розв’язання задачі максимізації (9) визначаються такі значення параметрів EMBED Equation.3, які гарантують існування розв’язків нейронної мережі, що мають властивість (4) для будь-яких вхідних сигналів в максимально можливому діапазоні зміни вхідних сигналів EMBED Equation.3. Отриманий діапазон може бути використаний, як обмеження, які повинні застосовуватись для вхідних сигналів моделі нейронної мережі другого порядку (1).
2. Реалізація генетичних алгоритмів у середовищі Matlab.
Генетичні алгоритми і графічне меню прямого пошуку. Генетичні алгоритми і графічне меню прямого пошуку – це набір функцій, які розширюють можливості графічного меню оптимізації і обчислювального числового середовища програми Matlab. Генетичні алгоритми і графічне меню прямого пошуку включають програму для розв’язання задач оптимізації, використовуючи генетичні алгоритми прямого пошуку. Алгоритми дають можливість розв’язувати низку задач оптимізації, які знаходяться за межами стандартного графічного меню оптимізації. Всі функції графічного меню інструментів – це М-файли Matlab, сформовані з тверджень Matlab, які реалізують спеціалізовані алгоритми оптимізації. Коди Matlab для цих функцій можна побачити, використовуючи протокол (твердження) type function_name.Можливості генетичних алгоритмів і графічного меню прямого пошуку можна розширити, написавши власні М-файли або використовуючи панель інструментів в комбінації з Simulink.
Запуск генетичних алгоритмів. Щоб запустити генетичні алгоритми, треба натиснути на клавішу Start y режимі Ran solver. Після цього в полі Current generations буде показаний номер поточного покоління. Поля Status і Results покажуть повідомлення "GA runnig". Коли робота алгоритму припиняється, поля Status і Results показують повідомлення "GA terminated". Поки алгоритми запускаються, параметри в панелі інструментів можна змінювати. Зміни будуть прийняті в наступному поколінні. Поки зміни, які з’являються на початку наступного покоління, не будуть прийняті, поля Staus і Results генерують повідомлення Changes pending. На початку наступного покоління з’являється повідомлення Changes applied.
Написання М-файлів для функцій, які треба оптимізувати. Для використання генетичних алгоритмів і графічного меню прямого пошуку спочатку треба написати М-файл, який обчислює функцію, що має бути оптимізована. М-файл повинен бути вектором-рядком, довжина якого дорівнює числу незалежних змінних для цільової функції, і повертатися скалярною величиною.
Припустимо, що треба мінімізувати функцію. М-файл, який обчислює цю функцію, повинен бути вектором-рядком x довжини 2, відповідаючи змінним EMBED Equation.3 і EMBED Equation.3 , і повертати скалярну величину, рівну значенню функції в точці x. Для того, щоб написати М-файл, необхілно виконати такі кроки:
1. Вибрати команду New у файловому меню Matlab.
2. Вибрати М-файл. Ця команда відкриває новий М-файл у редакторі.
3. В М-файлі ввести такі два рядки кодів:
function z = my_fun(x)
z = x(1) ^2 - 2*x(1) *x(2)+ 6*x(1)+ x(2) ^2 - 6*x(2);
4. Зберегти М-файл у папці на шляху Matlab.
Для того, щоб перевірити, що М-файл повертає правильне значення, треба ввести my_fun([2 3]). Отримана відповідь буде мати такий вигляд: ans =-5.
Примітка. Не слід використовувати Editor/Debugger для того, щоб виправити несправності М-файлу для цільової функції під час роботи панелі графічного алгоритму або меню пошуку за шаблоном. Це призводить до появи повідомлень на мові Java в командному вікні і ускладнює виправлення несправностей.
Виклик генетичних алгоритмів. Існує два шляхи: генетичні алгоритми можна викликати за допомогою панелі інструментів:
викликаючи функцію генетичних алгоритмів ga в командному рядку;
використовуючи меню генетичних алгоритмів та графічний інтерфейс для генетичних алгоритмів.
Для того, щоб викликати генетичні алгоритми в командному рядку, треба викликати функцію генетичних алгоритмів ga з синтаксичною структурою [x fval] = ga(@fitnessfun, nvars, options), де
@fitnessfun - шлях до функції придатності;
nvars - число незалежних змінних для функції придатності;
оptions – структура, яка містить опції для генетичних алгоритмів. Якщо ці аргументи не задаються, функція ga використовує свої опції.
Використання функції ga є зручним, якщо потрібно:
повернути результати безпосередньо до робочого простору Matlab;
керувати генетичними алгоритмами багаторазово з різними опціями, викликаючи функцію ga з М-файлу;
керувати генетичними алгоритмами багаторазово з різними опціями, викликаючи функцію ga з М-файлу.
Використання інструментів генетичних алгоритмів. Меню інструментів генетичних алгоритмів - це графічний інтерфейс користувача, який дає можливість використовувати генетичні алгоритми без роботи в командному рядку. Щоб відкрити панель інструментів генетичних алгоритмів, треба ввести команду Gatool. Ця команда відкриває меню, яке показане на рис. 1. Для використання панелі інструментів генетичних алгори-
Рис. 1. Панель інструментів генетичних алгоритмів.
тмів треба ввести інформацію про:
функцію придатності -- цільову функцію, яку треба мінімізувати. Ввести функцію придатності потрібно у формі @fitnessfun, де fitnessfun.m – М-файл, який обчислює функцію придатності. Знак @ вказує шлях функції до fitnessfun.
число змінних -- довжина вхідного вектора функції прилатності. Для функції my_fun, описаної при написанні М-файлів для функцій, які треба оптимізувати, вводиться 2.
Щоб запустити генетичні алгоритми, треба клацнути на клавіші Start. Панель інструментів покаже результати оптимізації в полях Status i Results. Опції для генетичних алгоритмів можна змінити на панелі Options. Для того, щоб переглянути опції в одній з категорій, перелічених на панелі, треба клацнути поряд з нею на знаку +. Отримати більш конкретнуї інформацію можна в меню генетичних алгоритмів і в детальному описі панелі інструментів.
Функція Растрінга. Розглянемо, як у середовищі Matlab можна знайти мінімум функції Растрінга, тобто функції, яка часто використовується для тестування генетичних алгоритмів. Панель інструментів містить М-файл rastriginsfcn.m, який обчислює значення функції Растрінга. Функція Растрінга має багато місцевих мінімумів -- "впадин". Однак, вона має тільки один глобальний мінімум, який знаходиться в точці [0 0] простору x-y. У будь-якому локальному мінімумі, окрім [0 0], значення функції Растрінга є більшим, ніж 0. Чим віддаленішим є локальний мінімум від початку координат, тим більшим є значення функції в цій точці.
Примітка. Оскільки генетичні алгоритми використовують випадкові дані, кожного разу, коли вони запускаються, повертаються дещо різні результати. Щоб знайти мінімум, треба виконати такі кроки:
Ввести команду gatool в командний рядок, щоб відкрити меню генетичних алгоритмів.
Ввести у меню генетичних алгоритмів наступне: у полі Функції адекватності ввести @rastriginsfcn; у полі Число змінних ввести 2 - число незалежних змінних для функції Растрінга.
Потім треба натиснути клавішу Start на панелі Run. Поки алгоритми запускаються, поле теперішнього покоління буде відображувати номер сучасного покоління. Алгоритми можна тимчасово зупинити, натиснувши клавішу Pause. Якщо це зробити, ім'я кнопки зміниться на Resume. Щоб відновити алгоритм з моменту зупинки, треба натиснути Resume. Коли алгоритм завершить свою роботу, поля Status i Results покажуть таку інформацію: кінцеве значення функції придатності після припинення роботи алгоритму: 0.0067749206244585025. Слід зазначити, що таке значення є дуже близькимь до фактичного мінімального значення функції Растрінга, яке становить 0.
Пошук мінімуму функції Растрінга з командного рядка. Для знаходження мінімуму функції Растрінга з командного рядка треба ввести [x fval reason] = ga(@rastriginsfcn, 2). Це приведе до отримання значень x = 0.0027 -0.0052; fval = 0.0068, де x -кінцева точка, що повертається алгоритмом, fval - значення функції придатності в кінцевій точці, reason – причина зупинки алгоритму.
Демонстрація графіків. Панель графіків дає можливість демонструвати різноманітні графіки, які надають інформацію про генетичні алгоритми в процесі їх запуску. Ця інформація може допомогти змінити опції для поліпшення роботи алгоритмів. Наприклад, для того, щоб відобразити кращі і середні значення функції придатності в кожному поколінні, вибирається комірка поряд з кращим значенням функції придатності. Якщо натиснути Start, панель генетичних алгоритмів покаже графік кращих і середніх значень функції придатності в кожному поколінні. Щоб отримати краще уявлення про кращі значення функції придатності, можна змінити осі ординат y на графіку на логарифмічний масштаб. Це робиться так:
1. Вибирається закладка Axes Properties в меню Edit у вікні графіка для того, щоб відкрити Property Editor.
2. Натискається Y tab.
3. У закладці Scale вибирається Log.
Після цього з'являється графік. Зазвичай, значення функції придатності покращується швидко в ранніх поколіннях, коли точки віддалені від оптимуму. Значення функції придатності покращуються повільніше в пізніх поколіннях, значення яких знаходяться ближче до оптимальної точки.
Прямий пошук. Прямий пошук - метод розв’язання задач оптимізації, який не вимагає ніякої інформації про градієнт цільової функції. На відміну від більш традиційних методів оптимізації, які використовують інформацію про градієнт або вищі похідні, для того, щоб знайти оптимальну точку, алгоритм прямого пошуку знаходить набір точок навколо даної точки, визначаючи, де значення цільової функції є меншим, ніж значення даної точки. Прямий пошук можна використовувати для того, щоб розв’язати задачі, для яких цільова функція не диференціюється. Панель інструментів генетичних алгоритмів і прямого пошуку пропонує спеціальні алгоритми прямого пошуку, які називаються алгоритмами пошуку за шаблоном. Алгоритми пошуку за шаблоном обчислюють послідовність точок, які знаходяться ближче до оптимальної точки. На кожному кроці алгоритми визначають набір точок, який називається сіткою, навколо даної точки - точки, що обчислюється на попередньому кроці алгоритмів. Сітку алгоритми формують, додаючи дану точку до фіксованого набору векторів, що зветься шаблоном. Якщо алгоритми знаходять в сітці точку, яка вдосконалює цільову функцію в даній точці, така точка стає новою точкою на наступному кроці алгоритмів.
Пошук за шаблоном з командного рядка. Для того, щоб виконати пошук за шаблоном з командного рядка, треба викликати функцію patternsearch за синтаксисом [x fval] = patternsearch(@objfun, x0), де @objfun - шлях до цільової функції. x0 – початкова точка для пошуку за шаблоном, fval -- кінцеве значення цільової функції, x – точка, в якій досягнуте кінцеве значення.
Сітки. На кожному кроці алгоритм пошуку за шаблоном шукає набір точок, які називаються сіткою, що вдосконалює цільову функцію. Алгоритм формує сітку, перемножаючи скалярно вектори шаблону, які називаються розміром сітки. Додавання результуючих векторів до даної точки дає точку з кращим значенням цільової функції, знайдену на попередньому кроці. Наприклад, якщо дана точка є [1.6 3.4], тоді шаблон складається з векторів v(1) = [1 0]v(2) = [0 1]v(3) = [-1 0]v(4) = [0 -1]. Розмір сітки - 4. Алгоритм перемножає вектори шаблону на 4 і додає їх до даної точки для отримання наступної сітки:
[1.6 3.4] + 4*[1 0]= [5.6 3.4]
[1.6 3.4] + 4*[0 1]= [1.6 7.4]
[1.6 3.4] + 4*[-1 0]= [-2.4 3.4]
[1.6 3.4] + 4*[0 -1]= [1.6 -0.6].
Вектор шаблону, який створює точку сітки, називається його напрямом.
3. Приклади оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі Matlab. Розглянемо приклади оптимізації моделі нейронної мережі другого порядку, яка описується диференційним рівнянням (1), на основі генетичних алгоритмів за допомогою програми Matlab.
Приклад 1. Оптимізуємо модель другого порядку (1), яка має нормалізоване значення параметра матриці зв’язків EMBED Equation.3 , використовуючи генетичні алгоритми. Нехай дискретні точки вхідних сигналів розміщуються в діапазоні EMBED Equation.3 Розв’яжемо задачу оптимізації для вибраного з умови (2) значення недіагонального елемента матриці зв’язків EMBED Equation.3 Обмежимо значення параметрів EMBED Equation.3 у діапазоні EMBED Equation.3 з початковими значеннями EMBED Equation.3 Використаємо кусково-лінійну нелінійність активаційної функції EMBED Equation.3 Нехай значення ваг енергетичної функції (7) такі: EMBED Equation.3 Виберемо дискретні точки EMBED Equation.3 та EMBED Equation.3 у кількості EMBED Equation.3 та EMBED Equation.3 відповідно. Задамо число генерацій генетичних алгоритмів EMBED Equation.3 , значення штрафних членів EMBED Equation.3 та межі значень станів EMBED Equation.3
Розв’язок задачі оптимізації моделі, отриманий за допомогою генетичних алгоритмів, наступний: EMBED Equation.3 Максимальний діапазон вхідних сигналів, в якому існує коректний розв’язок моделі (1), приблизно визначається нерівністю EMBED Equation.3 Значення параметрів EMBED Equation.3 та EMBED Equation.3 після початкової та кінцевої генерацій наведені на рис. 2. Динаміка енергетичної функції у нормалізованих одиницях представлена на рис. 3. Для EMBED Equation.3 рівновіддалених на інтервалі EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 форма енергетичної функції представлена на рис. 4. Лінії однакового рівня для цієї функції показані на рис. 5. Для порівняння, форма енергетичної функції та лінії однакового рівня для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 показані на рис. 6 та на рис. 7 відповідно.
Для того, щоб провірити якість отриманої моделі нейронної мережі другого порядку, задамо EMBED Equation.3 дискретних значень вхідних сигналів EMBED Equation.3 у діапазоні EMBED Equation.3 і знайдемо стани рівноваги EMBED Equation.3 для всіх заданих значень EMBED Equation.3 . Позначивши стани, які відповідають одному переможцю і задовольняють умову EMBED Equation.3 , EMBED Equation.3 символом “ EMBED Equation.3 ”, отримаємо розподіл зон переможців в залежності від значень вхідних сигналів EMBED Equation.3 та EMBED Equation.3 , показаний на рис. 8. Згідно з рис. 8 максимальний розмір отриманого діапазону коректного функціонування моделі нейронної мережі другого порядку (1) визначається нерівністю EMBED Equation.3 , тобто синтезована мережа знаходить переможця, якщо виконуються нерівності EMBED Equation.3 . Для порівняння, розподіл зон кількості переможців у залежності від значень вхідних сигналів EMBED Equation.3 та EMBED Equation.3 для EMBED Equation.3 та EMBED Equation.3 початкових значень параметрів моделі (1) EMBED Equation.3 та EMBED Equation.3 показано на рис. 9.
Рис. 2. Розв’язок задачі синтезу EMBED Equation.3 після початкової та кінцевої генерацій – приклад 1.
Як можна побачити, діапазон коректного функціонування мережі збільшився. Неважко пересвідчитись у тому, що для будь-якої іншої кількості EMBED Equation.3 вхідних сигналів EMBED Equation.3 , які задовольняють умову (7), вказаний на рис. 9 регіон буде мати не меншу площу.
Отримана модель є достатньо жорсткою. Зміна отриманих значень параметрів моделі мережі у межах 1% практично не впливає на розмір діапазону коректного функціонування моделі мережі.
Приклад 2. Долучимо до множини параметрів моделі (1), які повинні бути оптимізовані, парамер EMBED Equation.3 . Обмежимо значення EMBED Equation.3 діапазоном EMBED Equation.3 , а значення EMBED Equation.3 та EMBED Equation.3 залишимо у попередніх діапазонах. Задамо параметрам початкові значення EMBED Equation.3 , EMBED Equation.3 відповідно та значення ваг енергетичної функції (7) EMBED Equation.3 . Застосуємо EMBED Equation.3 дискретних значень вхідних сигналів EMBED Equation.3 у діапазоні EMBED Equation.3 , EMBED Equation.3 значень параметрів EMBED Equation.3 , кількість генерацій генетичних алгоритмів EMBED Equation.3 та умову
Рис. 3. Динаміка максимальної та середньої величини енергетичної функції EMBED Equation.3 в залежності від кількості генерацій EMBED Equation.3 - приклад 1.
EMBED Equation.3 . В результаті мінімізації енергетичної функції (7) за допомогою генетичних алгоритмів отримуються наступні значення параме-
трів моделі (1): EMBED Equation.3 . Динаміка енергетичної функції у нормалізованих одиницях представлена на рис. 10. Розподіл зон кількості переможців в залежності від значень вхідних сигналів EMBED Equation.3 та EMBED Equation.3 для отриманих параметрів представлений на рис. 11. Як можна побачити з порівняння рис. 11 та рис. 9, розмір діапазону коректного функціонування моделі (1) збільшився і визначається нерівністю EMBED Equation.3 , тобто є максимально можливим. Можна пересвідчитись у тому, що для будь-якої іншої кількості EMBED Equation.3 вхідних сигналів EMBED Equation.3 , які задовольняють умову (7), розмір зони коректного функціонування моделі на рис. 11 буде залишатись незмінним. Отриманий розв’язок є стійким до зміни значень параметрів моделі (1).
Змоделюємо динаміку вихідних сигналів моделі (1). Задамо значення EMBED Equation.3 та EMBED Equation.3 з тим, щоб вихідні сигнали розміщувались у необхідному діапазоні з рис. 11. Динаміка станів EMBED Equation.3 в норма-
Рис. 4. Форма енергетичної функції EMBED Equation.3 для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 - приклад 1.
лізованих одиницях та нормалізованому масштабі часу має форму, представлену на рис. 12. Згідно з рис. 12 компоненти EMBED Equation.3 демонструють влас-
тивість вибору більшого з двох сигналів. Переможцем є EMBED Equation.3 , вказуючи на те, що вхідний сигнал EMBED Equation.3 є більшим, ніж EMBED Equation.3 . Змінимо значення вхідних сигналів мережі на EMBED Equation.3 . Динаміка станів EMBED Equation.3 буде мати форму, представлену на рис. 13. Згідно з рис. 13, компоненти EMBED Equation.3 демонструють властивість (4).
Отже, генетичні алгоритми дозволяють оптимізувати модель нейронної мережі другого порядку (1) шляхом оптимізації значень її параметрів EMBED Equation.3 , EMBED Equation.3 та розміру діапазону коректних розв’язків. Відмітимо, що для надійного знаходження за допомогою генетисних алгоритмів значень параметрів моделі (1) доцільним є використання значної кількості ( EMBED Equation.3 ) дискретних точок EMBED Equation.3 та EMBED Equation.3 , максимально дозволену умовою (8) кількість EMBED Equation.3 дискретних значень вхідних сигналів EMBED Equation.3 та кількість генерацій генетичних алгоритмів EMBED Equation.3 . Це дає можливість уникати виконання виснажливого пошуку “правильних” початкових значень параметрів EMBED Equation.3 та чисел EMBED Equation.3 .
Рис. 5. Лінії однакового рівня енергетичної функції EMBED Equation.3 для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 - приклад 1.
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Сформулювати задачу параметричного синтезу моделі нейронної мережі.
2. Пояснити алгоритм параметричного синтезу моделі нейронної мережі.
3. Що таке генетичні алгоритми?
4. Як конструюється цільова функція у формі, придатній для використання в генетичних алгоритмах?
5. Пояснити трансформацію задачі мінімізації цільової функції до задачі її максимізації.
6. Як задача оптимізації з обмеженнями перетворюється до задачі оптимізації без обмежень?
7. Пояснити трансформацію штрафної функції з двохсторонніми обмеженнями до штрафної функції з двома окремими обмеженнями.
8. Як здійснюється оптимізація моделі нейронної мережі генетичними алгоритмами?
9. Пояснити один з прикладів оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі Matlab.
Рис. 6. Енергетична функція EMBED Equation.3 для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 - приклад 1.
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Ознайомитися з теоретичними відомостями.
Увімкнути комп'ютер. Переконатись у наявності встановленої програми Matlab. Запустити програму Matlab.
Оптимізувати за допомогою тулбоксу Genetic Algorithms програми Matlab модель нейронної мережі з прикладу 1. Отримати: графік значень параметрів EMBED Equation.3 та EMBED Equation.3 після початкової та кінцевої генерацій, наведені на рис. 2, якщо EMBED Equation.3 , де n - № прізвища студента у списку групи; графік динаміки енергетичної функції у нормалізованих одиницях, поданий на рис. 3, якщо EMBED Equation.3 ; графік форми енергетичної функції для EMBED Equation.3 рівновіддалених на інтервалі EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 , показаний на рис. 4, якщо EMBED Equation.3 ; графік ліній однакового рівня енергетичної функції, поданий на рис. 5, якщо EMBED Equation.3 ; графік форми енергетичної функції для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 , показаний на рис. 6, якщо EMBED Equation.3 ; графік ліній однакового рівня для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 , поданий на рис. 7, якщо EMBED Equation.3 .
Рис. 7. Лінії однакового рівня енергетичної функції EMBED Equation.3 для EMBED Equation.3 та EMBED Equation.3 значень параметрів EMBED Equation.3 та EMBED Equation.3 - приклад 1.
Написати на мові Matlab програму моделювання аналогової нейронної мережі, яка описується диференційним рівнянням (1). Узагальнивши
написану програму, отримати графіки розподілу зон кількості переможців в залежності від значень вхідних сигналів EMBED Equation.3 та EMBED Equation.3 , показані на рис. 8 і рис. 9.
Оптимізувати за допомогою тулбоксу Genetic Algorithms програми Matlab модель нейронної мережі з прикладу 1 при наявності у множині параметрів моделі (1) парамера EMBED Equation.3 . Отримати: графік динаміки енергетичної функції у нормалізованих одиницях, показаний на рис. 10, якщо EMBED Equation.3 ; графік розподілу зон кількості переможців в залежності від значень вхідних сигналів EMBED Equation.3 та EMBED Equation.3 , поданий на рис. 11, якщо EMBED Equation.3 .
Отримати: графік динаміки станів EMBED Equation.3 в нормалізованих одиницях та нормалізованому масштабі часу, поданий на рис. 12, якщо EMBED Equation.3 ; графік динаміки станів EMBED Equation.3 , показаний на рис. 13, якщо EMBED Equation.3 . Порівняти результати функціонування моделі нейронної мережі, отри-
Рис. 8. Розподіл зон кількості переможців моделі нейронної мережі (1) в залежності від значень вхідних сигналів EMBED Equation.3 при EMBED Equation.3 - приклад 1.
маної за допомогою евристичного пошуку, та моделей, оптимізованих за допомогою генетичних алгоритмів.
Проінформувати викладача про завершення роботи.
Продемонструвати на комп’ютері та пояснити результати виконання отриманих завдань.
Оформити звіт.
ЗМІСТ ЗВІТУ
1. Титульний аркуш.
2. Зміст.
3. Мета роботи.
4. Короткі теоретичні відомості.
5. Завдання.
6. Хід роботи.
7. Отримані результати.
8. Висновки.
Рис. 9. Розподіл зон кількості переможців моделі нейронної мережі (1) в залежності від значень вхідних сигналів EMBED Equation.3 при EMBED Equation.3 - приклад 1.
ВИМОГИ ДО ЗВІТУ
Звіт повинен бути оформлений на стандартних листках формату А4. Звіт може бути надрукований (розмір шрифта – 14, інтервал між рядками – 1.5) або якісно написаний від руки українською мовою. В обох випадках текст розміщується на двох сторонах аркуша. Рекомендується розміщувати до 30 рядків на сторінці.
На аркушах слід залишати поля. Розмір лівого поля – 25 мм, правого – не менше 10 мм, верхнього і нижнього – не менше 20мм. На початку розділів рекомендується збільшувати розмір верхнього поля до 40 мм.
Нумерація сторінок має бути наскрізною, першою сторінкою є титульний лист. На титульному листі номер сторінки не ставиться.
Звіт повинен бути стислим, чітким, лаконічним і містити лише інформацію, що має пряме відношення до предмету дослідження. Обсяг теоретичних відомостей не повинен перевищувати двох сторінок.
Рис. 10. Динаміка максимального та середнього значень енергетичної функції EMBED Equation.3 - приклад 2.
РЕКОМЕНДОВАНА ЛІТЕРАТУРА
1. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. Специальный справочник.-СПб.: Питер, 2001.-480с.
2. Лозинський А., Мороз В., Паранчук Я. Розв’язування задач електромеханіки в середовищах пакетів MathCAD і MATLAB: Навчальний посібник. - Львів: Видавництво Національного університету “Львівська політехніка”, 2000.-166 с.
3. Потемкин В.Г. Система инженерных и научных расчетов МАТЛАБ 5.x:-В 2-х т. Том 1.-М...