Application of neuro evolution tools in automation of technical control systems
Reinforced learning is a field of machine learning based on how software agents should perform actions in the environment to maximize the concept of cumulative reward. This paper proposes a new application of machine reinforcement learning techniques in the form of neuroevolution of augmenting topol...
Збережено в:
Дата: | 2021 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | Ukrainian |
Опубліковано: |
Інститут програмних систем НАН України
2021
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/448 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-448 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/d9/4e5c81dd83187d7a038718bf403295d9.pdf |
spelling |
pp_isofts_kiev_ua-article-4482024-04-26T22:25:02Z Application of neuro evolution tools in automation of technical control systems Застосування засобів нейроеволюції в технічних системах автоматизації керування Doroshenko, А.Yu. Achour, I.Z. artificial neural networks; reinforced learning; genetic algorithms; control automation in technical systems UDC 004.4'22 штучні нейронні мережі; навчання з підкріпленням; генетичні алгоритми; автоматизація керування в технічних системах УДК 004.4'22 Reinforced learning is a field of machine learning based on how software agents should perform actions in the environment to maximize the concept of cumulative reward. This paper proposes a new application of machine reinforcement learning techniques in the form of neuroevolution of augmenting topologies to solve control automation problems using modeling control problems of technical systems. Key application components include OpenAI Gym toolkit for developing and comparing reinforcement learning algorithms, full-fledged open-source implementation of the NEAT genetic algorithm called SharpNEAT, and intermediate software for orchestration of these components. The algorithm of neuroevolution of augmenting topologies demonstrates the finding of efficient neural networks on the example of a simple standard problem with continuous control from OpenAI Gym.Prombles in programming 2021; 1: 16-25 Навчання з підкріпленням – галузь машинного навчання, що базується на тому, як програмним агентам слід виконувати дії у середовищі з метою максимізації поняття кумулятивної винагороди. В даній роботі запропоновано нове застосування техніки машинного навчання з підкріпленням у формі нейроеволюції наростаючих топологій для розв’язування задач автоматизації керування на одному з прикладів моделювання задач керування технічними системами. Використовується набір інструментів для розробки та порівняння алгоритмів навчання з підкріпленням OpenAI Gym, повноцінна реалізація з відкритим програмним кодом генетичного алгоритму нейроеволюції NEAT під назвою SharpNEAT, та проміжне програмне забезпечення для оркестрації зазначених компонентів. Алгоритм нейроеволюції наростаючих топологій демонструє знаходження ефективних нейронних мереж на прикладі вирішення простих стандартних галузевих задач з системами з неперервним керуванням з набору OpenAI Gym.Prombles in programming 2021; 1: 16-25 Інститут програмних систем НАН України 2021-04-23 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/448 10.15407/pp2021.01.016 PROBLEMS IN PROGRAMMING; No 1 (2021); 16-25 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2021); 16-25 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2021); 16-25 1727-4907 10.15407/pp2021.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/448/452 Copyright (c) 2021 PROBLEMS IN PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-26T22:25:02Z |
collection |
OJS |
language |
Ukrainian |
topic |
artificial neural networks reinforced learning genetic algorithms control automation in technical systems UDC 004.4'22 |
spellingShingle |
artificial neural networks reinforced learning genetic algorithms control automation in technical systems UDC 004.4'22 Doroshenko, А.Yu. Achour, I.Z. Application of neuro evolution tools in automation of technical control systems |
topic_facet |
artificial neural networks reinforced learning genetic algorithms control automation in technical systems UDC 004.4'22 штучні нейронні мережі навчання з підкріпленням генетичні алгоритми автоматизація керування в технічних системах УДК 004.4'22 |
format |
Article |
author |
Doroshenko, А.Yu. Achour, I.Z. |
author_facet |
Doroshenko, А.Yu. Achour, I.Z. |
author_sort |
Doroshenko, А.Yu. |
title |
Application of neuro evolution tools in automation of technical control systems |
title_short |
Application of neuro evolution tools in automation of technical control systems |
title_full |
Application of neuro evolution tools in automation of technical control systems |
title_fullStr |
Application of neuro evolution tools in automation of technical control systems |
title_full_unstemmed |
Application of neuro evolution tools in automation of technical control systems |
title_sort |
application of neuro evolution tools in automation of technical control systems |
title_alt |
Застосування засобів нейроеволюції в технічних системах автоматизації керування |
description |
Reinforced learning is a field of machine learning based on how software agents should perform actions in the environment to maximize the concept of cumulative reward. This paper proposes a new application of machine reinforcement learning techniques in the form of neuroevolution of augmenting topologies to solve control automation problems using modeling control problems of technical systems. Key application components include OpenAI Gym toolkit for developing and comparing reinforcement learning algorithms, full-fledged open-source implementation of the NEAT genetic algorithm called SharpNEAT, and intermediate software for orchestration of these components. The algorithm of neuroevolution of augmenting topologies demonstrates the finding of efficient neural networks on the example of a simple standard problem with continuous control from OpenAI Gym.Prombles in programming 2021; 1: 16-25 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2021 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/448 |
work_keys_str_mv |
AT doroshenkoayu applicationofneuroevolutiontoolsinautomationoftechnicalcontrolsystems AT achouriz applicationofneuroevolutiontoolsinautomationoftechnicalcontrolsystems AT doroshenkoayu zastosuvannâzasobívnejroevolûcíívtehníčnihsistemahavtomatizacííkeruvannâ AT achouriz zastosuvannâzasobívnejroevolûcíívtehníčnihsistemahavtomatizacííkeruvannâ |
first_indexed |
2024-09-16T04:08:43Z |
last_indexed |
2024-09-16T04:08:43Z |
_version_ |
1818528174504411136 |
fulltext |
Інструментальні засоби та середовища програмування
© А.Ю. Дорошенко, І.З. Ашур, 2021
16 ISSN 1727-4907. Проблеми програмування. 2021. № 1
УДК 004.4'22 https://doi.org/10.15407/pp2021.01.016
А.Ю. Дорошенко, I.З. Ашур
ЗАСТОСУВАННЯ ЗАСОБІВ НЕЙРОЕВОЛЮЦІЇ
В ТЕХНІЧНИХ СИСТЕМАХ АВТОМАТИЗАЦІЇ КЕРУВАННЯ
В роботі запропоновано нове застосування техніки нейроеволюції наростаючих топологій для
розв’язування задач автоматизації керування на одному з прикладів добре відомих стандартних та по-
пулярних задач керування технічними системами, де використовується навчання з підкріпленням. Ви-
користовується відкритий інструментарій для розробки та порівняння алгоритмів навчання з підкріп-
ленням OpenAI Gym, повноцінна реалізація з відкритим програмним кодом генетичного алгоритму
нейроеволюції NEAT під назвою SharpNEAT, та проміжне програмне забезпечення для оркестрації за-
значених компонентів.
Ключові слова: штучні нейронні мережі, навчання з підкріпленням, генетичні алгоритми, автоматизація
керування в технічних системах.
Вступ
В сучасній інженерній науці все
більш важливими стають методи бороть-
би з невизначеністю, серед яких значне
місце займають штучні нейронні мережі
та методи навчання. Навчання з підкріп-
ленням – галузь машинного навчання, що
базується на тому, як програмним агентам
слід виконувати дії у середовищі з метою
максимізації поняття кумулятивної вина-
городи. Навчання з підкріпленням – це
одна з трьох основних парадигм машин-
ного навчання разом з контрольованим
навчанням та навчанням без вчителя. На-
вчання з підкріпленням відрізняється від
контрольованого навчання відсутністю
необхідності розмічених вхідних та вихі-
дних даних та відсутністю необхідності
явного коригування субоптимальних дій.
Натомість навчання з підкріпленням фо-
кусується на пошуку балансу між дослі-
дженням «невідомої» території та викори-
станням набутих знань. Середовище для
навчання з підкріпленням зазвичай опису-
ється у формі марківського процесу рі-
шень, адже багато алгоритмів навчання з
підкріпленням використовують техніки
динамічного програмування. Головна різ-
ниця між класичними методами динаміч-
ного програмування та алгоритмами нав-
чання з підкріпленням полягає у тому, що
останні не оперують знаннями про чітку
математичну модель марківського проце-
су рішень та орієнтуються на великі мар-
ківські процеси, в яких застосування точ-
них методів стає неможливим. Завдяки
рівню абстракції навчання з підкріплен-
ням, воно використовується у ряді галузей
знань, як теорія ігор, теорія керування,
дослідження операцій, теорія інформації,
оптимізація на основі симуляції, багатоа-
гентні системи, колективний інтелект,
статистика тощо. У літературі, присвяче-
ній дослідженню операцій та теорії керу-
вання, навчання з підкріпленням зазвичай
називається наближеним динамічним про-
грамуванням або нейродинамічним про-
грамуванням [1, 2].
У цій роботі використовується ме-
тод нейроеволюції наростаючих топологій
(NEAT) [3], що являє собою генетичний
алгоритм для генерації еволюціонуючих
штучних нейронних мереж, заснований на
трьох ключових принципах: спостережен-
ня (трекінг) генів з історичними відмітка-
ми для схрещування (кросинговеру) між
топологіями, використання поняття ево-
люції видів для підтримання інновацій та
інкрементальний розвиток топологій, по-
чинаючи з простих початкових структур.
Алгоритм NEAT дозволяє використовува-
ти генетичні алгоритми для визначення
кращої і мінімально необхідної топології
нейронної мережі.
У роботі використано також OpenAI
Gym [4] – набір інструментів для розробки
та порівняння алгоритмів навчання з підк-
ріпленням. Gym являє собою колекцію
тестових задач-середовищ, що можуть бу-
ти використані у користувацьких алгорит-
мах навчання з підкріпленням. Ці середо-
Інструментальні засоби та середовища програмування
17
вища мають спільний інтерфейс, що дає
змогу користувачам використовувати зага-
льні, спільні підходи до розробки власних
алгоритмів.
Суть даної роботи полягає у розро-
бці й дослідженні можливості та ефекти-
вності застосування техніки нейроево-
люції наростаючих топологій на прикладі
однієї з стандартних та популярних за-
дач навчання з підкріпленням з викорис-
танням OpenAI Gym, повноцінної імпле-
ментації з відкритим програмним кодом
алгоритму NEAT під назвою SharpNEAT
[5], та проміжного програмного забезпе-
чення для оркестрації зазначених компо-
нентів.
Навчання з підкріпленням
Навчання з підкріпленням – це
галузь машинного навчання, де програм-
ним агентам слід виконувати дії у середо-
вищі з метою максимізації поняття куму-
лятивної винагороди. Навчання з підкріп-
ленням є однією з трьох основних паради-
гм машинного навчання разом з контро-
льованим навчанням та навчанням без
вчителя.
Навчання з підкріпленням відрізня-
ється від контрольованого навчання у від-
сутності необхідності розмічених вхідних
та вихідних даних та відсутності необхід-
ності явного коригування субоптималь-
них дій. Натомість навчання з підкріплен-
ням фокусується на пошуку балансу між
дослідженням «невідомої» території та
використанням набутих знань.
Середовище для навчання з підкрі-
пленням зазвичай описується у формі
марківського процесу рішень, адже багато
алгоритмів навчання з підкріпленням ви-
користовують техніки динамічного про-
грамування.
Типовий алгоритм навчання з підк-
ріпленням моделюється марківським про-
цесом рішень [6], де ми маємо:
набір станів середовища та аге-
нта S;
набір дій агента A;
вірогідність переходу (у момент
t) з одного стану до іншого при виконанні
дії a ∈ А;
негайну винагороду після пере-
ходу з одного стану до іншого при вико-
нанні дії a ∈ А.
Рис. 1. Схема взаємодії компонентів
в алгоритмі навчання з підкріпленням
Агент алгоритму навчання з підк-
ріпленням взаємодіє з середовищем у
дискретні проміжки часу. Для кожного
проміжку часу агент отримує поточний
стан та винагороду. Після цього, агент
обирає дію з набору доступних дій
(для дискретного простору дій) або зна-
чення (для неперервного простору дій),
що, в свою чергу, надсилається до середо-
вища. Середовище переходить у новий
стан та визначається винагорода для пе-
реходу. Задача агента навчання з підкріп-
ленням полягає у вивченні політики, що
максимізує очікувану кумулятивну вина-
городу.
Застосування алгоритму NEAT
Нейроеволюція наростаючих топо-
логій (NEAT) це – генетичний алгоритм
для генерації еволюціонуючих штучних
нейронних мереж, що встановлює пара-
метри зв'язків між нейронами та структу-
ри мереж у спробах знаходження балансу
між придатністю еволюціонуючих рішень
та їх різноманіттям.
Традиційно, топологія нейромере-
жі обирається людиною, що проводить
експеримент, а вдалі значення вагів зв'яз-
Інструментальні засоби та середовища програмування
18
ків між нейронами отримуються в процесі
навчання. Це призводить до ситуації, де
необхідно застосування підходу проб та
помилок для знаходження вдалої тополо-
гії для даної задачі. NEAT – приклад ал-
горитму, що еволюціонує і топологію, і
значення вагів зв'язків штучної нейронної
мережі одночасно.
Для кодування нейронної мережі у
фенотип для генетичного алгоритму,
NEAT використовує пряму схему коду-
вання, в такій схемі явно представлений
кожен зв'язок та нейрон.
Підхід NEAT починається з мере-
жі, подібної до перцептрону, з лише вхід-
ним та вихідним прошарком нейронів. З
плином дискретних кроків еволюції,
складність топології нейронної мережі
може зростати за рахунок створення но-
вих нейронів у шляхах зв'язків або за ра-
хунок створення нових зв'язків між попе-
редньо роз’єднаними нейронами.
Проблема договору про конкурен-
цію з'являється, коли існує декілька спо-
собів представлення інформації у феноти-
пі. Наприклад, якщо геном містить ней-
рони A, B та C, що представлені саме у
цій послідовності, та схрещується з іден-
тичним за функціональністю, проте різ-
ним за представленням геномом [C B A],
кросинговер створить виплід, якому бра-
кує інформації, як [A B A] або [C B C].
NEAT вирішує цю проблему за рахунок
трекінгу історії генів з використанням
глобального числа інновацій, що збільшу-
ється з утворенням нових генів. З дода-
ванням нових генів, глобальне число
інновацій інкрементується та присвою-
ється цьому гену. Таким чином, новіші
гени мають більші значення маркеру гло-
бального числа інновацій. Для окремо
взятого покоління, при виникненні іден-
тичної мутації у декількох геномах, всім
таким геномам присвоюється одне і те ж
значення маркеру глобального числа
інновацій. Ці маркери числа інновацій
дозволяють алгоритму обирати гени для
кросинговеру [7].
SharpNEAT представляє собою ім-
плементацію еволюційного алгоритму, а
саме алгоритму еволюції нейронних ме-
реж. Еволюційний алгоритм використовує
еволюційні механізми мутації, рекомбіна-
ції та відбору для пошуку нейронних
мереж, функціонал та поведінка котрих
задовільнила б попередньо визначену
задачу.
Фреймворк SharpNEAT надає набір
вбудованих задач-прикладів для демонст-
рації роботи алгоритму еволюції. Імпле-
ментація SharpNEAT є модульною, що
дозволяє легко вносити зміни, розширен-
ня та повторно використовувати її части-
ни. SharpNEAT створений, зокрема, для
задоволення інтересів питань біологічної
еволюції та границь нейроеволюції у зрізі
рівня складності проблем, рішення яких
можуть запропонувати алгоритми нейро-
еволюції.
Існує дві основні концепції нав-
чання з підкріпленням: середовище (на-
вколишній світ) та агент (алгоритм).
Агент надсилає команди до середовища, а
середовище відповідає спостереженнями
та винагородами. Головний інтерфейс
gym стандартизований та універсальний,
інтерфейси для агентів відсутні.
Основні методи середовища OpenAI
Gym:
reset(self):
скидання стану середовища. Повертає спо-
стереження.
step(self, action):
симулювати середовище на один часовий
крок вперед. Повертає спостереження, ви-
нагороду та флаг закінчення епізоду.
render(self, mode='human'):
повертає один кадр середовища.
OpenAI Gym не оперує будь-якими
припущеннями щодо структури агенту.
У даній роботі розглядається се-
редовище BipedalWalker-v3 [8], просте
середовище з роботом, що крокує (див.
рис. 2) Робот має чотири шарніри для
його кінцівок.
Середовище існує у двох реаліза-
ціях:
“Normal”, з легкими нерівнос-
тями поверхні;
Інструментальні засоби та середовища програмування
19
“Hardcore”, зі сходами, пенька-
ми та ямами.
Винагорода видається за рух впе-
ред. Найвіддаленіші точки середовища
відповідають 300 і більше балам винагоро-
ди. При падінні робот отримує штраф у
100 балів. Застосування скрутного момен-
ту до шарнірів також має відносно невели-
ку вартість у балах винагороди, а отже
ефективніші агенти отримують більші ви-
нагороди.
Спостереження за середовищем
складається з кутової швидкості корпусу,
кутових швидкостей, горизонтальних
швидкостей, вертикальних швидкостей,
положень шарнірів, контакту ніг з землею,
та десяти значень вимірювань лідару. Аб-
солютні координати у спостереженні за
середовища відсутні.
Для успішного вирішення середо-
вища необхідно набрати 300 балів винаго-
роди не довше, ніж за 1600 часових ітера-
цій [9].
Рис. 2. Кадр з візуалізації середовища
BipedalWalker-v3
Для поєднання середовища OpenAI
Gym з реалізацією алгоритму Neat
SharpNEAT, були застосовані засоби
міжпроцесової взаємодії типу іменований
канал.
Іменований канал – це один з ме-
ханізмів обміну даними між процесами
Unix та подібних операційних систем. На
відміну від неіменованих каналів, доступ
до яких мають лише процеси, породжені
від спільного батьківського, доступ до
іменованих каналів мають всі процеси,
що знають ім'я цього каналу та мають
відповідні права читання та/або запис в
канал. Як і неіменований канал, іменова-
ний канал забезпечує обмін даними через
оперативну пам'ять. В Unix-системах
ім'я іменованого каналу зберігається у
файловій системі як ім'я файлу каналу і
доступне після перезавантаження систе-
ми. У MS Windows файл каналу створю-
ється у пам'яті і знищується між заванта-
женнями [10].
Як реалізація іменованих каналів на
стороні SharpNEAT було обрано сімейство
класів .NET System.IO.Pipes:
NamedPipeClientStream та
NamedPipeServerStream [11].
Як реалізація іменованих каналів на
стороні Python-обгортки середовища
OpenAI Gym було обрано сімейство
pywin32: win32file та win32pipe [12].
Експеримент SharpNEAT був скон-
фігурований наступним чином:
функція активації нейронів: Leaky
rectified linear unit, Leaky ReLU, нещільний
лінійний випрямляч, монотонна [13].
Випрямляч у контексті штучних
нейромереж є передавальною функцією.
Вона є аналогом напівперіодичного ви-
прямляча у схемотехніці. Ця передавальна
функція запроваджена для динамічних
мереж Ганлозером (англ. Hahnloser) та ін-
шими у 2000 році з біологічним підґрун-
тям та математичним обґрунтуванням. В
2011 році вперше продемонстровано, як
забезпечити краще навчання глибинних
мереж, на відміну від передавальних фун-
кцій, які широко використовувались до
цього, а саме, логістичною функцією (яка
була запозичена з теорії ймовірностей),
і виявились більш практичними ніж гіпер-
болічний тангенс. ReLU є, станом на
2018 рік, найбільш популярною передава-
льною функцією для глибинних нейронних
мереж [14].
Нещільна ReLU (рис. 3) використо-
вує невеликий додатній градієнт, коли пе-
редавач не активний, з рівнянням
0,001 0
( )
0
x x
f x
x x
Інструментальні засоби та середовища програмування
20
і областю значень: ( , ) .
До переваг ReLU відносяться.
1. Біологічна правдоподібність –
одностороння, на відміну від центрально
симетричного гіперболічного тангенса.
2. Розріджена активація – напри-
клад, у випадково ініціалізованій мережі,
тільки близько 50 % прихованих елементів
активуються (мають не нульове значення).
3. Краще градієнтне поширення:
рідше виникає проблема зникнення градіє-
нта у порівнянні з сигмоїдальною переда-
вальною функцією, яка може виникнути в
обох напрямках.
4. Швидкість обчислення: тільки
порівняння, додавання та множення.
5. Інваріантність відносно масш-
табування: max(0, ) max(0, )ax a x для
a ≥ 0.
ReLU використано для відокрем-
лення специфічного збудження та неспе-
цифічної заборони (інгібування) у піра-
міді з нейронною абстракцією (Neural
Abstraction Pyramid), яка була навчена з
учителем, щоб вирішувати декілька за-
вдань комп'ютерного зору. У 2011 році,
ReLU використовували як елемент нелі-
нійності з метою показати, можливість
глибокого навчання нейронної мережі без
попереднього навчання без учителя.
ReLU, на відміну від сигмоїда та подібних
передавальних функцій, дозволяє швидше
та ефективніше навчання глибоких ней-
ронних мереж на великих та складних
наборах даних.
Рис. 3. Графік функції Leaky ReLU
Кількість видів: 10.
Відсоток елітарності: 20 %. Гено-
ми різних видів відсортовані за успішніс-
тю, кращі з них, елітарні, зберігаються,
інші ж вибраковуються щоб надати дорогу
виплоду.
Розмір популяції: 2000. Кількість
геномів у популяції.
Початкова частка зв'язків: 5 %.
Відсоток відбору: 20 %. Геноми рі-
зних видів сортуються за успішністю та
обираються батьківські геноми для ство-
рення виплоду. Відбір відбувається до за-
стосування правил елітарності.
Відсоток безстатевого виплоду:
50 %. Відсоток виплоду, шо створиться
безстатевим шляхом, за рахунок мутацій.
Відсоток статевого виплоду: 49 %.
Відсоток виплоду, що утворюється стате-
вим шляхом.
Відсоток міжвидового розмножен-
ня: 1 %. Відсоток статевого розмноження,
що задіє геноми різних видів.
Ймовірність мутації ваги зв'язків:
94 %.
Ймовірність мутації створення но-
вого нейрону: 1 %.
Ймовірність мутації створення
зв'язку: 2,5 %.
Ймовірність мутації видалення
зв'язку: 2,5 %.
Результати експериментів
В результаті застосування алгори-
тму NEAT/SharpNAET з попередньо ви-
значеною конфігурацією, середовищем та
проміжними прошарками поєднуючого
програмного забезпечення, поставлену
задачу вдалося вирішити (рис. 6) за
10972000 епізодів симуляції. Під успіш-
ним вирішенням розуміється набір необ-
хідних 300 балів винагороди найкращою
еволюційною нейромережею у кожній із
100 послідовних тестових симуляцій.
На рис. 4 та рис. 5 зображені візуа-
лізації топологій нейромереж геномів-
чемпіонів у різні випадкові етапи еволюції.
Інструментальні засоби та середовища програмування
21
На рис. 7–10 зображені графіки ос-
новних показників історичних даних екс-
перименту: складності та придатності
створених геномів.
Рис. 4. Візуалізація випадкової топології нейромережі проміжних поколінь
Інструментальні засоби та середовища програмування
22
Рис. 5. Візуалізація однієї з найкращих топологій нейромережі
Рис. 6. Комбінована візуалізація кадрів симуляції середовища з використанням агента NEAT
Інструментальні засоби та середовища програмування
23
Рис. 7. Графік залежності складності кращої та середньої топології від покоління
Рис. 8. Графік залежності найкращої та середньої винагороди агентів від покоління
Інструментальні засоби та середовища програмування
24
Рис. 9. Графік розподілу складності геному за його рангом
Рис. 10. Графік розподілу придатності геному за його рангом
Висновки
В роботі запропоновано нове застосу-
вання техніки нейроеволюції наростаю-
чих топологій для розв’язування задач
автоматизації керування на одному з при-
кладів моделювання задач керування тех-
нічними системами, де використовується
навчання з підкріпленням. Використову-
ється набір інструментів для розробки та
порівняння алгоритмів навчання з підкрі-
пленням OpenAI Gym, повноцінна реалі-
зація з відкритим програмним кодом ге-
нетичного алгоритму нейроеволюції
NEAT під назвою SharpNEAT та проміж-
не програмне забезпечення для оркестра-
ції зазначених компонентів. Алгоритм
нейроеволюції наростаючих топологій
демонструє знаходження ефективних
нейронних мереж на прикладі вирішення
простих стандартних галузевих задач з
Інструментальні засоби та середовища програмування
24
системами з неперервним керуванням
OpenAI Gym. Наступними кроками може
бути дослідження можливості та ефектив-
ності застосування розглянутої техніки та
супровідних компонентів середовища на
прикладі масштабних задач, задач інших
напрямків, дослідження можливості та
ефективності застосування паралельних,
розподілених та апаратно-прискорених
обчислень у NEAT.
Література
1. Хайкин С. Нейронные сети: полный курс,
2-е изд., Испр.: Пер. с англ. М.: ООО «И.Д.
Вильямс », 2006. 1104 с.
2. Wilson, Halsey (2018). Artificial intelligence.
Grey House Publishing. 184 p.
3. Kenneth O. Stanley. Ph.D. Dissertation:
EFFICIENT EVOLUTION OF NEURAL
NETWORKS THROUGH
COMPLEXIFICATION [Електронний ре-
сурс] / Kenneth O. Stanley // Department of
Computer Sciences, The University of Texas
at Austin. 2004. Режим доступу до ресурсу:
http://nn.cs.utexas.edu/keyword?stanley:phd0
4.
4. https://gym.openai.com/
5. https://sharpneat.sourceforge.io/
6. Russell Stuart J.; Norvig Peter (2010).
Artificial intelligence: a modern approach
(Third ed.). Upper Saddle River, New Jersey.
P. 830, 831.
7. Kenneth O. Stanley and Risto Miikkulainen
(2002). "Evolving Neural Networks Through
Augmenting Topologies". Evolutionary
Computation 10 (2). P. 99–127.
8. https://gym.openai.com/envs/BipedalWalker-
v2/
9. https://github.com/openai/gym/blob/master/gy
m/envs/box2d/bipedal_walker.py
10. https://tldp.org/LDP/lpg/node15.html
11. https://docs.microsoft.com/en-
us/windows/win32/ipc/named-
pipes?redirectedfrom=MSDN
12. https://github.com/mhammond/pywin32
13. https://medium.com/@himanshuxd/activation
-functions-sigmoid-relu-leaky-relu-and-
softmax-basics-for-neural-networks-and-
deep-8d9c70eed91e
14. https://towardsdatascience.com/activation-
functions-neural-networks-1cbd9f8d91d6
References
1. Haykin, Simon S. (1999). Neural networks: a
comprehensive foundation. Prentice Hall.
2. Wilson, Halsey (2018). Artificial intelligence.
Grey House Publishing. 184 pages.
3. Kenneth O. Stanley. Ph.D. Dissertation:
EFFICIENT EVOLUTION OF NEURAL
NETWORKS THROUGH
COMPLEXIFICATION / Kenneth O. Stanley //
Department of Computer Sciences, The
University of Texas at Austin. – 2004. –
http://nn.cs.utexas.edu/keyword?stanley:phd04.
4. https://gym.openai.com/
5. https://sharpneat.sourceforge.io/
6. Russell, Stuart J.; Norvig, Peter (2010).
Artificial intelligence: a modern approach
(Third ed.). Upper Saddle River, New Jersey.
P. 830, 831.
7. Kenneth O. Stanley and Risto Miikkulainen
(2002). "Evolving Neural Networks Through
Augmenting Topologies". Evolutionary
Computation 10 (2): 99-127
8. https://gym.openai.com/envs/BipedalWalker-
v2/
9. https://github.com/openai/gym/blob/master/gy
m/envs/box2d/bipedal_walker.py
10. https://tldp.org/LDP/lpg/node15.html
11. https://docs.microsoft.com/en-
us/windows/win32/ipc/named-
pipes?redirectedfrom=MSDN
12. https://github.com/mhammond/pywin32
13. https://medium.com/@himanshuxd/activation
-functions-sigmoid-relu-leaky-relu-and-
softmax-basics-for-neural-networks-and-
deep-8d9c70eed91e
14. https://towardsdatascience.com/activation-
functions-neural-networks-1cbd9f8d91d6
Одержано 21.02.2021
Про авторів:
Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
професор, завідувач відділу теорії
комп’ютерних обчислень,
професор кафедри автоматики та
управління в технічних системах
НТУУ “КПІ імені Ігоря Сікорського”.
Інструментальні засоби та середовища програмування
25
Кількість наукових публікацій в
українських виданнях – понад 190.
Кількість наукових публікацій в
зарубіжних виданнях – понад 80.
Індекс Гірша – 6.
http://orcid.org/0000-0002-8435-1451,
Ашур Ілля Зін-Еддінович,
аспірант 3 курсу в
НТУУ “КПІ імені Ігоря Сікорського”.
Місце роботи авторів:
Національний технічний університет
України "КПІ імені Ігоря Сікорського",
проспект Перемоги 37.
Інститут програмних систем
НАН України,
03187, м. Київ-187,
проспект Академіка Глушкова, 40.
Тел.: (044) 526 3559.
E-mail: doroshenkoanatoliy2@gmail.com,
ilyaachour@gmail.com
http://orcid.org/0000-0002-8435-1451
|