Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW

У даній роботі представлена процедура моделювання та синтезу штучної нейронної мережі із використанням генетичного алгоритму. Як приклад штучної нейронної мережі обрано штучну нейронну мережу, що реалізує логічну функцію «XOR» (виключаюче АЛЕ). Синтез та моделювання виконано із використанням програм...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2013
Автор: Жеребко, В.А.
Мова:Ukrainian
Опубліковано: Інститут програмних систем НАН України 2013
Назва видання:Проблеми програмування
Теми:
Онлайн доступ:http://dspace.nbuv.gov.ua/handle/123456789/86682
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW / В.А. Жеребко // Проблеми програмування. — 2013. — № 3. — С. 100-108. — Бібліогр.: 8 назв. — укр.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-86682
record_format dspace
spelling irk-123456789-866822015-09-27T03:02:04Z Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW Жеребко, В.А. Прикладні засоби програмування та програмне забезпечення У даній роботі представлена процедура моделювання та синтезу штучної нейронної мережі із використанням генетичного алгоритму. Як приклад штучної нейронної мережі обрано штучну нейронну мережу, що реалізує логічну функцію «XOR» (виключаюче АЛЕ). Синтез та моделювання виконано із використанням програмного забезпечення LabVIEW. Структура XOR-нейронної мережі – двошаровий персептрон із одним прихованим шаром нейронів, а навчання XOR-нейронної мережі відбувається класичним генетичним алгоритмом з турнірною селекцією. 2013 Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW / В.А. Жеребко // Проблеми програмування. — 2013. — № 3. — С. 100-108. — Бібліогр.: 8 назв. — укр. 1727-4907 http://dspace.nbuv.gov.ua/handle/123456789/86682 681.51 uk Проблеми програмування Інститут програмних систем НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Ukrainian
topic Прикладні засоби програмування та програмне забезпечення
Прикладні засоби програмування та програмне забезпечення
spellingShingle Прикладні засоби програмування та програмне забезпечення
Прикладні засоби програмування та програмне забезпечення
Жеребко, В.А.
Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
Проблеми програмування
description У даній роботі представлена процедура моделювання та синтезу штучної нейронної мережі із використанням генетичного алгоритму. Як приклад штучної нейронної мережі обрано штучну нейронну мережу, що реалізує логічну функцію «XOR» (виключаюче АЛЕ). Синтез та моделювання виконано із використанням програмного забезпечення LabVIEW. Структура XOR-нейронної мережі – двошаровий персептрон із одним прихованим шаром нейронів, а навчання XOR-нейронної мережі відбувається класичним генетичним алгоритмом з турнірною селекцією.
author Жеребко, В.А.
author_facet Жеребко, В.А.
author_sort Жеребко, В.А.
title Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
title_short Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
title_full Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
title_fullStr Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
title_full_unstemmed Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW
title_sort програмна модель генетичного оптимізатора ваг штучної нейронної мережі в labview
publisher Інститут програмних систем НАН України
publishDate 2013
topic_facet Прикладні засоби програмування та програмне забезпечення
url http://dspace.nbuv.gov.ua/handle/123456789/86682
citation_txt Програмна модель генетичного оптимізатора ваг штучної нейронної мережі в LabVIEW / В.А. Жеребко // Проблеми програмування. — 2013. — № 3. — С. 100-108. — Бібліогр.: 8 назв. — укр.
series Проблеми програмування
work_keys_str_mv AT žerebkova programnamodelʹgenetičnogooptimízatoravagštučnoínejronnoímerežívlabview
first_indexed 2025-07-06T14:12:31Z
last_indexed 2025-07-06T14:12:31Z
_version_ 1836907143261847552
fulltext Прикладні засоби програмування та програмне забезпечення © В.А. Жеребко, 2013 100 ISSN 1727-4907. Проблеми програмування. 2013. № 3 УДК 681.51 В.А. Жеребко ПРОГРАМНА МОДЕЛЬ ГЕНЕТИЧНОГО ОПТИМІЗАТОРА ВАГ ШТУЧНОЇ НЕЙРОННОЇ МЕРЕЖІ В LABVIEW У даній роботі представлена процедура моделювання та синтезу штучної нейронної мережі із викорис- танням генетичного алгоритму. Як приклад штучної нейронної мережі обрано штучну нейронну мере- жу, що реалізує логічну функцію «XOR» (виключаюче АЛЕ). Синтез та моделювання виконано із ви- користанням програмного забезпечення LabVIEW. Структура XOR-нейронної мережі – двошаровий персептрон із одним прихованим шаром нейронів, а навчання XOR-нейронної мережі відбувається кла- сичним генетичним алгоритмом з турнірною селекцією. Вступ Проектування надвеликих оптима- льних систем управління та керування складними технологічними й виробничими процесами вимагає від системного аналі- тика та інженерного складу розробників системи використання сучасних інтелекту- альних технологій, зокрема математику штучних нейронних мереж (ШНМ) [1]. При вирішенні багатьох оптиміза- ційних задач актуальною є проблема зна- ходження глобального оптимуму цільової функції керування в багатовимірному про- сторі керованих змінних. Традиційні мето- ди багатовимірної оптимізації є методами локального пошуку, що сильно залежать від вибору початкової точки пошуку та накладають додаткові обмеження на влас- тивості цільової функції оптимізації. Одним із прикладів альтернативних інтелектуальних методів оптимізаційного пошуку є так звані еволюційні підходи, наприклад, генетичні алгоритми (ГА). Проблематика ШНМ й ГА [2] та комбінація цих методів – це одна з облас- тей досліджень, що інтенсивно розвива- ються в даний час. Її можна вважати су- часним відгалуженням інформатики, по- в'язаним з методами штучного інтелекту. ШНМ і ГА доповнюють класичні експертні системи, які вважаються одним з головних напрямів технологій штучного інтелекту, а також в деяких випадках ви- конують функції цих систем шляхом реа- лізації так званих інтелектуальних обчис- лювальних систем (ІОС). Останні є об'єд- нанням ШНМ та ГА, взаємодія яких до- зволяє вирішувати різні завдання, але най- важливіше – вони стають універсальним інструментарієм для обробки інформації. ІОС можна легко «перепрограмува- ти» на рішення іншої задачі, причому роль такого програмування відіграє процедура навчання. Таким чином, ІОС володіють здібністю до навчання, що вважається го- ловним атрибутом інтелектуальності. ГА є метод, що відображає природ- ну еволюцію методів вирішення проблем, і насамперед завдань оптимізації. ГА – це процедури пошуку, засновані на механіз- мах природного відбору і спадкоємства. У них використовується еволюційний прин- цип виживання найбільш пристосованих особин. Вони відрізняються від традицій- них методів оптимізації декількома базо- вими елементами. Зокрема, ГА: 1) обробляють не значення параме- трів завдання, а їх закодовану форму; 2) здійснюють пошук оптимального рішення виходячи не з єдиної початкової точки, а з їх деякої популяції; 3) використовують тільки цільову санкцію, а не її похідні або іншу додаткову інформацію; 4) застосовують стохастичні, а не детерміновані правила вибору. Перераховані чотири властивості, які можна сформулювати також як коду- вання параметрів, операції над популяція- ми, використання мінімуму інформації про завдання і рандомізація операцій призво- дять в результаті до стійкості ГА і до їх переваги над іншими широко вживаними інтелектуальними технологіями оптиміза- ційного пошуку. Прикладні засоби програмування та програмне забезпечення 101 В даній роботі розглядається прик- лад простої ШНМ із архітектурою персеп- трона, процедура навчання якої викону- ється із використанням ГА, а реалізацію виконано засобами пакету LabVIEW. 1. Постановка задачі Кожен нейрон ШНМ типу персепт- рон [3] є формальним пороговим елемен- том, що набуває одиничних значень у ви- падку, якщо сумарний зважений вхід бі- льше деякого порогового значення Ө:               i n i i i n i i j wX wX Y 1 1 ,1 ,0 . Таким чином, при заданих значен- нях вагових коефіцієнтів iw і порогів Өj, нейрон має певне вихідне значення для кожного можливого вектора входів. Мно- жина вхідних векторів, за яких нейрон ак- тивний (Yj=1), відокремлена від множини векторів, за яких нейрон пасивний (Yj=0), гіперплощиною, рівняння якої   i n i i wX 1 . Отже, нейрон здатний відокремити тільки такі дві множини векторів входів, для яких існує гіперплощина, що відсікає одну множину від іншої. Такі множини називають лінійно роздільними. Проілюс- труємо це поняття на прикладі [3]. Розглянемо одношаровий персепт- рон, що складається з одного нейрона з двома входами. Вхідний вектор містить тільки дві бульові компоненти 1x і 2x , що визначають площину. На даній площині можливі значення вхідних векторів відповідають вершинам одиничного квадрата. У кожній вершині задамо потрібне значення виходу нейрона: 1 (біла точка) або 0 (чорна точка). Потрібно визначити, чи існує такий набір ваг і порогів нейрона, при якому нейрон зможе набути цих значень виходів? На рис. 1 показана одна з ситуацій, коли цього зробити не можливо внаслідок лі- нійної нероздільності множини білих і чо- рних точок. x1·w1+x2·w2=Ɵ X1 1 1 X2 Рис. 1. Білі точки не можуть бути відокре- млені однією прямою від чорних Необхідні виходи нейрона для рис. 1 визначаються табл. 1, в якій легко впізнати завдання логічної функції «ви- ключаюче АБО» (XOR). Таблиця 1. Логічна функція XOR X1 X2 Y 0 0 0 1 0 1 0 1 1 1 1 0 Неможливість реалізації одношаро- вим персептроном цієї функції отримала назву проблеми виключаючого АБО. Вид- но, що одношаровий персептрон вкрай унеможливлює точно представити наперед задану логічну функцію XOR. Хоча даний приклад наочний, він не є серйозним обмеженням для ШНМ. Фун- кція XOR легко реалізується простою двошаровою ШНМ, причому багатьма способами. Один з прикладів такої ШНМ показаний на рис. 2. Вагові коефіцієнти 11w , 12w , 21w , 22w першого шару всі дорівнюють одини- ці, вагові коефіцієнти другого шару 21,  відповідно дорівнюють 1 і -1, а порогові значення Ө усіх нейронів вказані на рис. 2. Прикладні засоби програмування та програмне забезпечення 102 X1 X2 Σ Σ Σ Y Ɵ=0.5 Ɵ1=0.5 Ɵ2=1.5 w11=1 w12=1 w21=1 w22=1 v1=1 v2=-1 Рис. 2. Структура двошарової ШНМ, що реалізує функцію XOR Табл. 2. Таблиця істинності для такої ШНМ має вигляд X1 X2 s1 s2 y1 y2 S Y 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 2 2 1 1 0 0 Тут 2121111 wxwxs  – значен- ня, що поступає на вхід першого нейрона першого шару, 2221212 wxwxs  – вхід другого нейрона першого шару; 21, yy – виходи відповідних нейронів першого ша- ру; S – вхідне значення нейрона другого шару; Y – вихід ШНМ. 2. Генетичні алгоритми у штучних нейронних мережах Об'єднання ГА і ШНМ відоме в лі- тературі під абревіатурою COGANN (Combinations of Genetic Algorithms and Neural Networks) [4]. Думка про те, що ШНМ можуть навчатися за допомогою ГА, висловлювалася різними дослідника- ми. Перші роботи на цю тему стосувалися застосування ГА як методу навчання неве- ликих однонаправлених ШНМ, але в пода- льшому було реалізовано застосування ГА для ШНМ більшої розмірності. Як правило, завдання полягає в оп- тимізації ваг ШНМ [5], що має апріорі за- дану топологію (див. рис. 2). Ваги коду- ються у вигляді двійкових послідовностей (хромосом). Кожна особина популяції ха- рактеризується повним набором ваг ШНМ. Оцінка пристосованості особин визнача- ється функцією пристосованості (fitness- функція), що задається у вигляді суми ква- дратів погрішностей, тобто різниць між очікуваними (еталонними) і фактично отримуваними значеннями на виході ШНМ для різних вхідних даних. Приведемо два найважливіші аргу- менти на користь застосування ГА для оптимізації ваг ШНМ. Перш за все, ГА забезпечують глобальний перегляд прос- тору ваг і дозволяють уникати локальні мінімуми. Крім того, ГА можуть викорис- товуватися в завданнях, для яких інформа- цію про градієнти отримати дуже складно або вона виявляється дуже дорогою. Еволюційний підхід до навчання ШНМ складається з двох основних етапів. Перший з них – це вибір відповідної схеми представлення ваг міжнейронних зв'язків. Він полягає в ухваленні рішення – чи мо- жна кодувати ці ваги двійковими послідо- вностями або потрібна якась інша форма. На другому етапі вже здійснюється сам процес еволюції, заснований на ГА. Після вибору схеми хромосомного представлення, ГА застосовується до по- пуляції особин (хромосом, що містять за- кодований набір ваг ШНМ) з реалізацією типового циклу еволюції (ГА), що склада- ється з чотирьох кроків. Крок 1. Декодування кожної осо- бини (хромосоми) поточного покоління для відновлення набору ваг і конструю- вання відповідної цьому набору ШНМ з апріорі заданою архітектурою і правилом навчання. Прикладні засоби програмування та програмне забезпечення 103 Крок 2. Розрахунок загальної сере- дньоквадратичної погрішності між факти- чними і еталонними значеннями на всіх виходах ШНМ при подачі на її входи на- вчальних образів. Крок 3. Репродукція особин з віро- гідністю, відповідно до пристосованості, або згідно рангу (залежно від способу се- лекції – наприклад, по методу рулетки або ранговому методу). Крок 4. Застосування генетичних операторів – таких як схрещування, мута- ція і/або інверсія для отримання нового покоління особин (ваг ШНМ). 3. Програмна реалізація штучної нейронної мережі в LabVIEW Одним із сучасних схемних елемен- тів систем керування, що використовуєть- ся для швидкісного паралельного обрахун- ку масиву даних та реалізації ШНМ є пе- репрограмовані мікросхеми ПЛІС (FPGA), програмування яких виконується спеціалі- зованими засобами мовою VHDL. Підготовчі процедури моделювання й синтез ШНМ здебільшого виконуються засобами MATLAB, але цей програмний пакет не орієнтований на цільову реаліза- цію. Тож постає достатньо серйозне та актуальне питання вибору єдиного універ- сального програмного засобу та апаратної платформи для повного циклу проекту- вання ШНМ для використання в ІОС та системах автоматичного керування. Пропонується для модельних та прикладних досліджень ШНМ в задачах пошуку та оптимізації законів керування використовувати універсальний програм- ний засіб LabVIEW компанії National Instruments, а у якості цільової апаратної виконавчої платформи обрати контролер CompactRIO (далі cRIO) [7]. Пакет LabVIEW дозволяє виконати побудову та синтез ШНМ, провести компіляцію в код VHDL та дослідити витрати ресурсів cRIO в мікросхемі FPGA [8]. В даній роботі наведений приклад реалізації типової ШНМ із архітектурою персептрона, що виконує просту логічну функцію XOR на контролері FPGA плат- форми cRIO (див. рис. 3). Середовище графічного програму- вання LabVIEW не має вбудованих засобів для проектування ШНМ. Враховуючи те, що ШНМ складається із сполучених і вза- ємодіючих між собою штучних нейронів (див. рис. 2), тому їх реалізація мовою G в пакеті LabVIEW не викликає труднощів. Рис. 3. Блок-діаграма ШНМ, що реалізує функцію XOR в LabVIEW Прикладні засоби програмування та програмне забезпечення 104 Для роботи з контролером cRIO не- обхідно встановити до базового пакету LabVIEW додаткові програмні модулі LabVIEW FPGA та LabVIEW Real-Time. При проектуванні ШНМ та кодуванні їх мовою G на платформі cRIO FPGA потріб- но враховувати наступні обмеження засо- бів LabVIEW FPGA: – відсутність підтримки багатови- мірних (дво- та більше) масивів; – кількість елементів одновимірних масивів чітко фіксована; – відсутність типу даних із плаваю- чою комою (Floating-Point); У LabVIEW FPGA версії 8.5 була введена підтримка формату даних із фік- сованою комою (Fixed-Point). Операції суми та множення виконуються за допо- могою стандартних математичних опера- цій LabVIEW FPGA. А от операція ділен- ня взагалі відсутня в LabVIEW FPGA. Тому для коректного оперування даними Fixed-Point (FXP) доцільно встановити допоміжний модуль LabVIEW FPGA Fixed-Point Math. Масив вагових коефіцієнтів ШНМ складається із шести елементів. ШНМ має два логічні (бітові) входи та один вихід. Скомпільована блок-діаграма про- грами зі ШНМ завантажується лише на цільову платформу cRIO FPGA. Інтерфей- си всіх підпрограм, за виключенням голо- вної лицьової панелі, вимкнено для еконо- мії витрат ресурсів ПЛІС. В процесі компіляції код G конвер- тується в код VHDL, а потім у біт-файл конфігурації ПЛІС за допомогою сервера компіляції Xilinx ISE. ПЛІС cRIO (ядро Virtex-II 3000) має біля 28 тисяч тригерів та більш ніж 3 млн. логічних одиниць (вентилів). Код розроб- леної програми зі ШНМ був скомпільова- ний на ПК (процесор з подвійним ядром, частота 3ГГц, 2 Гб оперативної пам'яті) за проміжок часу близько 20 хвилин. В ре- зультаті об'єм витрачених пар логічних одиниць склав 15 %. 4. Генетичний алгоритм навчання штучної нейронної мережі Спрощена блок-схема алгоритму, що ілюструє ГА пошукової еволюції оп- тимальних вагових коефіцієнтів ШНМ, представлена на рис. 4. ПОЧАТОК Декодування хромосом (ваг ШНМ) ГА завершено ? КІНЕЦЬ ТакНі Селекція, схрещування та мутація Формування нової популяції Ініціалізація популяції хромосом ШНМ із заданими вагами Обчислення fitness-функції (погрішності виходу ШНМ) Оптимальна комбінація ваг ШНМ А А Г ен о ти п - > Ф ен о ти п Рис. 4. Блок-схема ГА еволюційного пошуку оптимальних ваг ШНМ Прикладні засоби програмування та програмне забезпечення 105 Відповідно до першого етапу типо- вого ГА апріорі задаються і залишаються незмінними архітектура ШНМ, що визна- чає кількість шарів, число нейронів в кож- ному шарі і топологію міжнейронних зв'я- зків, а також правило навчання ШНМ. Пристосованість кожної особини (геноти- пу) оцінюється значенням середньоквадра- тичної погрішності, розрахованої по відпо- відній цій особині ШНМ (фенотипу). У представленому процесі еволю- ційного навчання реалізується режим так званого пакетного навчання (batch training mode), при якому значення ваг змінюються тільки після пред'явлення ШНМ всіх на- вчальних образів. Такий прийом відрізня- ється від вживаного в більшості послідов- них алгоритмів навчання – наприклад, в методі зворотного розповсюдження поми- лки, ваги уточнюються після пред'явлення ШНМ кожної навчальної вибірки. На першому етапі ГА для навчання, необхідно визначити схему представлення ваг ШНМ, тобто вибрати між бінарним представленням і кодуванням ваг дійсними числами. Якщо для запису кожної з ваг вико- ристовується дуже мало біт, то навчання може продовжуватися дуже довго і не принести ніякого ефекту, оскільки точ- ність апроксимації окремих комбінацій дійсних значень ваг дискретними значен- нями часто виявляється недостатнім. З іншого боку, якщо використову- ється дуже багато біт, то двійкові послідо- вності, що представляють ШНМ великої розмірності, виявляються дуже довгими, що сильно подовжує процес еволюції і робить ГА навчання ШНМ нераціональ- ним з практичної точки зору. 5. Програмна модель навчання нейронної мережі в LabVIEW ШНМ, що реалізує логічну функцію XOR представлена на рис. 3. Для цієї ШНМ необхідно підібрати оптимальні ва- ги, що мінімізують значення погрішності 4 2 1 1 ( ) 4 i i i Q d y     , (1) де 4 – це кількість унікальних значень вихо- ду ШНМ, iy – поточний вихід ШНМ, а id – еталонний вихід ШНМ. ШНМ має набувати вихідних значень відповідно до табл. 1. У якості параметрів даного завдан- ня виступають перераховані вище вагові коефіцієнти ШНМ, тобто завдання має 6 параметрів. У даному прикладі набір з цих 6 параметрів визначає точку простору по- шуку і, отже, існує можливий розв'язок завдання – навчання ШНМ (див. рис. 5). Припустимо, що ваги можуть набу- вати значень з інтервалу [-1, 1]. Тоді кожна хромосома буде комбінацією з 6 двійкових (бінарних) послідовностей, що кодують конкретні ваги ШНМ. Це, очевидно, і є генотипи. Відповідні їм фенотипи пред- ставлені значеннями окремих ваг ШНМ, тобто набором (множиною) відповідних дійсних чисел також з інтервалу [-1, 1]. Хромосоми і генотипи позначають одне і те ж – фенотипи особин популяції, закодовані у формі впорядкованих послі- довностей генів із значеннями (аллелями), що дорівнюють 0 або 1. За допомогою ГА програмними за- собами LabVIEW необхідно знайти опти- мальний набір вагових коефіцієнтів ШНМ, а саме значення змінних: 11w , 12w , 21w , 22w , 21,  , що будуть максимально на- ближатись до еталонних значень ваг (див. рис. 2). Тобто необхідно знайти такі зна- чення ваг ШНМ, для яких fitness-функція погрішності Q (1) досягає мінімального значення, яке дорівнюватиме 0 (максима- льне 1). До платформи cRIO в мікросхему ПЛІС завантажується лише скомпільована ШНМ із невідомими ваговими коефіцієн- тами. Процедуру навчання ШНМ виконує спеціальний програмний засіб в середови- щі LabVIEW на платформі розробника. Це персональний ПК, на якому компілювалась структура ШНМ для ПЛІС. У відповідності до ГА, навчання ШНМ відбувається наступним чином. Спочатку генеруються випадкові набори вагових коефіцієнтів (пакет). Далі ці пакети у вигляді одновимірних масивів подаються на вхід параметрів (ваг) ШНМ. Також до ШНМ подаються бінарні зна- чення вхідних та еталонних вихідних зна- чень логічної функції XOR. Прикладні засоби програмування та програмне забезпечення 106 Рис. 5. Блок-діаграма fitness-функції в LabVIEW Далі обраховуються пакети fitness- функцій погрішності Q й обирається най- краща. У відповідності до цього, надалі виконується еволюційна математика селе- кції, схрещування та мутації найкращих хромосом популяції, у результаті чого отримуються нові пакети хромосом ваго- вих коефіцієнтів і процедура навчання по- новлюється. Ці дії виконуються до тих пір, доки fitness-функція погрішності Q не до- сягне оптимального значення (в нашому випадку значення 0), або не вичерпається задана початкова кількість популяцій. 6. Результати навчання нейронної мережі генетичним алгоритмом В дослідженні застосовується ГА з турнірною селекцією в підгрупах по дві особини з однією точкою схрещування та непомітною мутацією (creep mutation). За замовчуванням прийняті значення вірогід- ності схрещування 0,85 і мутації 0,05, а також розмірність популяції, яка дорівнює 50. Максимальна кількість поколінь – 500. Довжина хромосом для вирішуваного за- вдання дорівнює 66 бітам – по 11 генів на кожний ваговий коефіцієнт (11 біт). Задані параметри моделювання процедури пошуку та результати пошуку оптимальних ваг ШНМ можна спостеріга- ти на лицьовій панелі в LabVIEW, що зо- бражена на рис. 6. В процесі навчання із використан- ням ГА, було знайдено оптимальні вагові коефіцієнти ШНМ, які відповідають ета- лонним значенням (див. рис. 2), тобто всі ваги дорівнюють 1, окрім останнього (-1). Кількість використаних поколінь мутацій склала 4. Ці результати можна спостеріга- ти на лицьовій панелі в полі Solution. При кожній наступній спробі пере- навчання ШНМ ГА, за незмінних початко- вих умов, спостерігається стійке навчання ШНМ протягом 3-10 поколінь. Розкид зна- чень вагових коефіцієнтів відносно ета- лонних не перевищує 0.1 %, що ніяк не впливає на точність роботи даної ШНМ. Прикладні засоби програмування та програмне забезпечення 107 Рис. 6. Результати навчання ШНМ, що виконує логічну функцію XOR в LabVIEW Висновки У роботі представлений приклад проектування ШНМ із архітектурою пер- септрон та синтезу оптимальних ваг цієї ШНМ засобами програмування в середо- вищі LabVIEW. Була побудована модель ШНМ, що реалізує логічну функцію XOR. Для програмної реалізації персепт- рона було обрано структуру та архітектуру ШНМ із трьома нейронами та заданими пороговими значеннями активаційної фун- кції усіх нейронів. Процедура навчання ШНМ відбува- лась шляхом використання й реалізації класичного ГА з турнірною селекцією. Наведемо два найважливіших аргу- менти на користь застосування ГА для оп- тимізації ваг ШНМ. Перш за все, ГА за- безпечують глобальний перегляд простору ваг і дозволяють уникати локальні мініму- ми. Крім того, вони можуть використову- ватися в задачах, для яких інформацію про градієнтах отримати дуже складно або во- на виявляється занадто дорогою. В даному прикладі, для навчання ШНМ досить було виконати 3–15 генера- цій за допомогою ГА. Алгоритмам зворот- ного поширення потрібно була на багато більша кількість ітерацій – близько 500 ітерацій, де одна ітерація – це повний пе- рерахунок всіх навчальних даних (вагові коефіцієнти, похибка, значення виходів ШНМ). Зауважимо, що при цьому дві ге- нерації в ГА еквівалентні одній ітерації алгоритму зворотного розповсюдження, оскільки зворотне розповсюдження на да- ному навчальному прикладі складається з двох частин – прямий прохід (обчислення виходу ШНМ і помилки) і зворотний про- хід (налаштування ваг). ГА виконує лише першу частину. Таким чином, дві генерації займають менше часу, ніж обчислення од- нієї ітерації алгоритму зворотного розпо- всюдження. 1. Хайкин С. Нейронные сети: полный курс.: 2-е издание [пер. с англ.] / М.: Издательс- кий дом «Вильямс», 2006. – 1104 с. 2. Курейчик В.М. Генетические алгоритмы и их применение // Издательство ТРТУ, из- дание второе, 2002. – 242 с. 3. Каширина И.Л. Нейросетевые технологии. Учебно-методическое пособие для вузов. / Воронеж: Изд-во ВГУ, 2008. – 72 с. 4. Staffer J.D., Whitley L, Eshelman J. Combinations of Genetic Algorithms and Прикладні засоби програмування та програмне забезпечення 108 Neural Networks: A Survey of the State of the Art, Proceedings of International Workshop on Combinations of Genetic Algorithms and Neural Networks. COGANN-92. – 1992. 5. Рутковская Д., Пилиньский М., Рутковс- кий Л. Нейронные сети, генетические алго- ритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. – М.: Горячая линия – Телеком, 2006. – 452 с. 6. Галушкин А. Нейронные сети. Основы теории. – М.: Высш. шк., 2010. – 496 с. 7. Жеребко В.А, Кравець П.І., Василевська Х.С., Степанчук О.О. Підхід до побудови штучних нейронних мереж та їх реалізація на апаратній платформі CompactRIO // Віс- ник вінницького політехнічного інституту. – 2009. – № 3 (84). – С. 66–70. 8. Жеребко В.А., Онацький А.В., Соломонюк Ю.Р. Дослідження витрат ресурсів FPGA при побудові нейромережевої логічної фу- нкції XOR засобами LabVIEW // Обчислю- вальний інтелект OI-2011: I Міжнар. наук. конф., 10–13 травня 2011 р.: зб. пр. – ЧДТУ, 2011. – С. 165. Одержано 10.12.2012 Про автора: Жеребко Валерій Анатолійович, молодший науковий співробітник НДІ ІП, здобувач кафедри АУТС НТУУ «КПІ». Місце роботи автора: Національний технічний університет України «КПІ», 03056, Київ, Проспект Перемоги 37, корпус 18, к. 522, Тел. +380(44) 406 8346. E-mail: zherebko@kpi.ua mailto:zherebko@kpi.ua