Novelty search in neuroevolution for end effector positioning

The article considers the use of the neuroevolution algorithm for neural network policies search when creating a controller for a robotic arm, in particular for the subtask of positioning the end effector. Neuro-evolution is a family of machine learning methods that use evolutionary algorithms by im...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2023
Автори: Vitiuk, A.Y., Doroshenko, A.Y.
Формат: Стаття
Мова:Ukrainian
Опубліковано: Інститут програмних систем НАН України 2023
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/581
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-581
record_format ojs
resource_txt_mv ppisoftskievua/9f/1d946b11861b02c0c4c8705318ae679f.pdf
spelling pp_isofts_kiev_ua-article-5812024-04-28T11:55:00Z Novelty search in neuroevolution for end effector positioning Пошук новизни у методі нейроеволюції для позиціонування роботизованої кінцівки Vitiuk, A.Y. Doroshenko, A.Y. neural network; neuroevolution; robotic arm; reinforcement learning; NEAT; novelty search; fitness function UDC 004.89 нейронна мережа; нейроеволюція; роботизована рука; навчання з підкріпленням; NEAT; пошук новизни; функція пристосованості УДК 004.89 The article considers the use of the neuroevolution algorithm for neural network policies search when creating a controller for a robotic arm, in particular for the subtask of positioning the end effector. Neuro-evolution is a family of machine learning methods that use evolutionary algorithms by imitating the process of natural selection. This approach has been found to be particularly effective for the positioning task, where the final position can be achieved in many optimal ways and therefore requires reinforcement learning. It is noted that the final result of neuroevolution is an optimal network topology, which makes the model more resource-efficient and easier to analyze. The paper considers the process of neural network policy search for controlling a two-dimensional robot with two links. According to the results of the experiments, an increase in the efficiency of the best solution found using novelty search for the NEAT algorithm is noted compared to the NEAT algorithm without novelty search. It was established that the proposed approach allows to obtain an effective neural network policy, which has a minimal configuration, which will allow to increase the speed of the controller, that is critical for the operation of a real system. Thus, the use of novelty search as a method of optimizing the neuroevolutionary process to solve the positioning problem allows to increase the efficiency of the learning process and obtain the optimal network topology.Prombles in programming 2023; 3: 49-57 У статті досліджено використання алгоритму нейроеволюції для пошуку політик у формі нейромереж у процесі створення контролера для управління роботизованою кінцівкою. Описано основні аспекти нейроеволюційного підходу для навчання нейромережі у задачах, що не мають найкращого рішення та потребують навчання з підкріпленням. Задача позиціонування має такий ландшафт функцій пристосованості, що робить її схильною потрапляти у пастки локального оптимуму. Досліджено підхід підвищення ефективності пошуку політики у формі нейромережі для задачі позиціонування робочої кінцівки. Зокрема, розглянуто використання пошуку новизни для поліпшення нейро-еволюційного процесу навчання за допомогою алгоритму NEAT. Цей підхід покращує здатність алгоритму знаходити інноваційні та ефективні рішення, сприяючи розвитку більш універсальних і потужних архітектур нейронних мереж. Результати навчання політики управління для двовимірної роборуки з двома ланками у симуляції середовища показали, що використання пошуку новизни дозволяє отримати ефективну політику в формі нейромережі, яка має мінімальну конфігурацію. А це дозволить підвищити швидкодію контролера, яка є критичною для роботи реальної системи. Дослідження даного підходу для вирішення задачі позиціонування в системах більшої розмірності та складних роботизованих систем становлять особливий інтерес для покращення програмних контролерів управління роботизованими кінцівками в динамічних умовах реального світу.Prombles in programming 2023; 3: 49-57 Інститут програмних систем НАН України 2023-10-06 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/581 10.15407/pp2023.03.049 PROBLEMS IN PROGRAMMING; No 3 (2023); 49-57 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3 (2023); 49-57 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3 (2023); 49-57 1727-4907 10.15407/pp2023.03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/581/631 Copyright (c) 2023 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2024-04-28T11:55:00Z
collection OJS
language Ukrainian
topic neural network
neuroevolution
robotic arm
reinforcement learning
NEAT
novelty search
fitness function
UDC 004.89
spellingShingle neural network
neuroevolution
robotic arm
reinforcement learning
NEAT
novelty search
fitness function
UDC 004.89
Vitiuk, A.Y.
Doroshenko, A.Y.
Novelty search in neuroevolution for end effector positioning
topic_facet neural network
neuroevolution
robotic arm
reinforcement learning
NEAT
novelty search
fitness function
UDC 004.89
нейронна мережа
нейроеволюція
роботизована рука
навчання з підкріпленням
NEAT
пошук новизни
функція пристосованості
УДК 004.89
format Article
author Vitiuk, A.Y.
Doroshenko, A.Y.
author_facet Vitiuk, A.Y.
Doroshenko, A.Y.
author_sort Vitiuk, A.Y.
title Novelty search in neuroevolution for end effector positioning
title_short Novelty search in neuroevolution for end effector positioning
title_full Novelty search in neuroevolution for end effector positioning
title_fullStr Novelty search in neuroevolution for end effector positioning
title_full_unstemmed Novelty search in neuroevolution for end effector positioning
title_sort novelty search in neuroevolution for end effector positioning
title_alt Пошук новизни у методі нейроеволюції для позиціонування роботизованої кінцівки
description The article considers the use of the neuroevolution algorithm for neural network policies search when creating a controller for a robotic arm, in particular for the subtask of positioning the end effector. Neuro-evolution is a family of machine learning methods that use evolutionary algorithms by imitating the process of natural selection. This approach has been found to be particularly effective for the positioning task, where the final position can be achieved in many optimal ways and therefore requires reinforcement learning. It is noted that the final result of neuroevolution is an optimal network topology, which makes the model more resource-efficient and easier to analyze. The paper considers the process of neural network policy search for controlling a two-dimensional robot with two links. According to the results of the experiments, an increase in the efficiency of the best solution found using novelty search for the NEAT algorithm is noted compared to the NEAT algorithm without novelty search. It was established that the proposed approach allows to obtain an effective neural network policy, which has a minimal configuration, which will allow to increase the speed of the controller, that is critical for the operation of a real system. Thus, the use of novelty search as a method of optimizing the neuroevolutionary process to solve the positioning problem allows to increase the efficiency of the learning process and obtain the optimal network topology.Prombles in programming 2023; 3: 49-57
publisher Інститут програмних систем НАН України
publishDate 2023
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/581
work_keys_str_mv AT vitiukay noveltysearchinneuroevolutionforendeffectorpositioning
AT doroshenkoay noveltysearchinneuroevolutionforendeffectorpositioning
AT vitiukay pošuknovizniumetodínejroevolûcíídlâpozicíonuvannârobotizovanoíkíncívki
AT doroshenkoay pošuknovizniumetodínejroevolûcíídlâpozicíonuvannârobotizovanoíkíncívki
first_indexed 2024-10-02T04:06:57Z
last_indexed 2024-10-02T04:06:57Z
_version_ 1818527990103932928
fulltext Інструментальні засоби та середовища програмування 49 УДК 004.89 http://doi.org/10/15407/pp2023.03.49 А.Є. Вітюк, А.Ю. Дорошенко ПОШУК НОВИЗНИ У МЕТОДІ НЕЙРОЕВОЛЮЦІЇ ДЛЯ ПОЗИЦІОНУВАННЯ РОБОТИЗОВАНОЇ КІНЦІВКИ У статті досліджено використання алгоритму нейроеволюції для пошуку політик у формі нейромереж у процесі створення контролера для управління роботизованою кінцівкою. Описано основні аспекти нейроеволюційного підходу для навчання нейромережі у задачах, що не мають найкращого рішення та потребують навчання з підкріпленням. Задача позиціонування має такий ландшафт функцій пристосова- ності, що робить її схильною потрапляти у пастки локального оптимуму. Досліджено підхід підвищення ефективності пошуку політики у формі нейромережі для задачі позиціо- нування робочої кінцівки. Зокрема, розглянуто використання пошуку новизни для поліпшення нейроево- люційного процесу навчання за допомогою алгоритму NEAT. Цей підхід покращує здатність алгоритму знаходити інноваційні та ефективні рішення, сприяючи розвитку більш універсальних і потужних архі- тектур нейронних мереж. Результати навчання політики управління для двовимірної роборуки з двома ланками у симуляції се- редовища показали, що використання пошуку новизни дозволяє отримати ефективну політику в формі нейромережі, яка має мінімальну конфігурацію. А це дозволить підвищити швидкодію контролера, яка є критичною для роботи реальної системи. Дослідження даного підходу для вирішення задачі позиціону- вання в системах більшої розмірності та складних роботизованих систем становлять особливий інтерес для покращення програмних контролерів управління роботизованими кінцівками в динамічних умовах реального світу. Ключові слова: нейронна мережа, нейроеволюція, роботизована рука, навчання з підкріпленням, NEAT, пошук новизни, функція пристосованості. Вступ У сфері робототехніки дослідження інтелектуальних контролерів для управлін- ня робочими кінцівками є актуальним на- прямком досліджень і розробок. Навіть вра- ховуючи активну роботу провідних дослід- ницьких центрів по всьому світу, рівень точ- ності та ефективності роботизованої руки все ще не може досягнути рівня людської руки. А з огляду на те, як промисловість продовжує використовувати автоматизацію, попит на роботизовані системи, які можуть виконувати складні та точні завдання, зріс. Від виробництва до охорони здоров’я, від логістики до аерокосмічної галузі, розгор- тання роботизованих систем для задач мані- пулювання об’єктами стало повсюдним, ре- волюціонізуючи традиційні робочі процеси та відкриваючи нові можливості. У цьому контексті розробка інтелектуальних контр- олерів, особливо тих, що використовують нейроеволюцію, стала критично важливим фактором для оптимізації продуктивності та адаптивності роботизованих маніпулято- рів у різноманітних середовищах. Складність, притаманна сучасним роботам, вимагає контролерів, які виходять за межі традиційних методологій, заснова- них на правилах. Інтелектуальні контроле- ри, засновані на передових технологіях, та- ких як штучний інтелект, машинне навчання та нейронні мережі, обіцяють подолати роз- рив між можливостями роботизованої руки та вимогами складних сценаріїв реального світу. Серед цих методів нейроеволюція ви- діляється як потужний і актуальний підхід, який використовує принципи еволюції для створення інтелектуальних контролерів, адаптованих до задач роботизованої руки. Дана стаття розглядає метод підви- щення ефективності застосування нейрое- волюції для пошуку політик у формі ней- ромереж, які можуть бути використані для різноманітних задач управління роботизо- ваною кінцівкою, зокрема, позиціонування та маніпуляції цільовим об’єктом. Метою дослідження є підвищення точності ней- ромережі для позиціонування робочої кін- цівки, яка може бути навчена з допомогою ©А.Є. Вітюк, А.Ю. Дорошенко, 2023 ISSN 1727-4907. Проблеми програмування. 2023. №3 Інструментальні засоби та середовища програмування 50 нейроеволюційного алгоритму підходами навчання з підкріпленням, які не вимагають збору тренувального набору даних. Задача позиціонування має такий ландшафт функцій пристосованості, що робить її схильною потрапляти у пастки локального оптимуму. Вирішення даної проблеми становить особливий інтерес для подальшого покращення програмних контролерів управління роботизованими кінцівками. 1. Політики в формі нейромереж для задачі управління роботизованою кінцівкою Більшість роботизованих завдань ви- магають виконання багатокрокових цілей, для яких потрібен механізм планування. Тра- диційні роботизовані контролери зазвичай розробляються вручну, а розподіл завдань на підзадачі виконує людина-конструктор. Оскільки завдання та робочі середо- вища для роботів ускладнюються, зростає потреба в методах навчання та пошуку, які можуть планувати вирішення задачі, не по- кладаючись на вже існуючу структуру під- задач або станів, розроблену людиною. Методи навчання та еволюційного пошуку розроблені для оптимізації швид- кої поведінки, яка потім використовується певним контролером вищого рівня. Нейро- еволюція – це сімейство методів машинно- го навчання, які використовують еволюцій- ні алгоритми для полегшення вирішення складних проблем, таких як ігри, робототех- ніка та моделювання природних процесів. Нейроеволюційні алгоритми імітують про- цес природного відбору. Кінцевим результа- том нейроеволюції є оптимальна топологія мережі, яка робить модель більш ресурсое- фективною та легшою для аналізу [4] Для навчання з учителем потрібні на- бори ситуацій захвату та відповідної опти- мальної поведінки. Оскільки оптимальна поведінка часто невідома, покрити типові ситуації – складна задача. Нейроеволюція – це метод навчання з підкріпленням, і він не потребує навчальних прикладів, де ідеальна поведінка захватного пристрою відома. Нейроеволюція не покладається на повну інформацію про стан. Інші методи з підкріпленням часто припускають, що поточний стан системи повністю відомий. Однак, якщо конфігурація середовища ди- намічно змінюється, спостережувані зна- чення реакцій не можуть бути пов’язані з правильним основним станом. Нейроево- люція вирішує проблему, розвиваючи пов- торювані зв’язки; повторення встановлює пам›ять, яка дає можливість розрізняти стани. Класичною задачею для роботизова- ної кінцівки із захватним пристроєм є взає- модія з цільовим об’єктом, що є проблемою на стику робототехніки, комп’ютерного зору та штучного інтелекту. Стійкий захват передбачає складну координацію рухів ро- ботизованої руки з метою точного позиціо- нування руки та маніпулювання об’єктами в навколишньому середовищі. Тобто цю за- дачу можна розділити на дві взаємозалеж- ні частини: позиціонування руки та мані- пулювання об’єктом. Необхідність використання двох контролерів для цього завдання демон- струє, що нейроеволюції легше розвинути реактивну поведінку, ніж довгострокову стратегічну поведінку. Розглянемо детальніше першу підза- дачу – позиціонування кінцівки роботизова- ної руки для досягнення цільового об’єкту. Позиціонування руки означає точне розміщення кінцевого елемента роботизо- ваної руки (наприклад, захвату або інстру- менту) у певному місці в середовищі. Це передбачає визначення відповідних кутів з’єднань і рухів, необхідних для досягнення бажаної мети. Роботизована рука зазвичай склада- ється з кількох шарнірів, які забезпечують руку ступенями свободи (DOF). DOF пред- ставляє кількість незалежних параметрів, необхідних для опису конфігурації руки. Кожен суглоб дозволяє руці обертатися або переміщатися вздовж певної осі, дозволяю- чи руці рухатися в кількох напрямках. По- зиціонування роботизованої руки базуєть- ся на використанні систем координат для визначення положення та орієнтації руки. Орієнтація руки може бути представлена за допомогою кутів Ейлера, кватерніонів або матриць обертання. Інструментальні засоби та середовища програмування 51 2. Алгортим NEAT NEAT (NeuroEvolution of Augmenting Topologies) є потужним нейроеволюційним алгоритмом, призначеним для розвитку штучних нейронних мереж (ANN) зі склад- ними та адаптивними структурами. Розро- блений Кеннетом О. Стенлі та Рісто Мійк- кулайненом 2002 року, NEAT став відомим як інноваційний підхід до розвитку ней- ронних мереж для різних завдань із контр- олем, оптимізацією та розпізнаванням ша- блонів включно. NEAT був спеціально розробле- ний для вирішення проблем розвитку ней- ронних мереж із різними топологіями, що було обмеженням у традиційних підходах нейроеволюції. NEAT представляє меха- нізми, які дозволяють нейронним мережам ускладнюватися з часом, дозволяючи їм ви- рішувати дедалі складніші завдання. Розглянемо ключові особливості та концепції алгоритму NEAT. • Генотип і фенотип: у NEAT ін- дивідууми представлені як генотипом, так і фенотипом. Генотип кодує структуру ней- ронної мережі, включаючи вузли (нейрони) і зв’язки (синапси), тоді як фенотип пред- ставляє активну мережу з фактичними ва- гами, призначеними зв’язкам. • Інновації та історичні маркуван- ня: NEAT використовує історичну схему маркування для відстеження походження генів (з’єднань і вузлів) протягом поколінь. Інновації в структурі мережі зберігають- ся. Це гарантує, що нові функції не будуть втрачені під час еволюційного процесу. • Ускладнення та спрощення: NEAT дозволяє нейронним мережам роз- виватися та ускладнюватись протягом ба- гатьох поколінь. Нові вузли та з’єднання можна вводити поступово, починаючи від простих мереж і розвиваючись до більш складних структур. Крім того, NEAT під- тримує видалення зайвих або непотрібних структур, сприяючи спрощенню мереж, коли це виправдано. • Видоутворення: NEAT включає видоутворення, процес поділу популяції на види на основі подібності. Це запобігає домінуванню кількох особин і дозволяє збе- регти різноманітність. Специфікація заохо- чує дослідження різних мережевих струк- тур і запобігає втраті багатообіцяючих ін- новацій. • Спільний доступ до пристосова- ності: NEAT використовує обмін пристосо- ваністю серед видів. Геноми з подібною ме- режевою структурою діляться значеннями фітнес-функції, сприяючи співпраці всере- дині виду, а не інтенсивній конкуренції. Це дає інноваційним структурам шанс розви- ватися та вдосконалюватися. • Схрещування і мутація: NEAT використовує операції схрещування та му- тації. Схрещування поєднує гени двох бать- ків для створення нащадків із сумішшю їх- ніх ознак. Мутація вносить невеликі зміни в гени, полегшуючи дослідження простору рішення. Еволюційний цикл алгоритму NEAT передбачає створення нових поколінь ней- ронних мереж шляхом відбору, відтворен- ня, кросинговеру та мутації. Придатність кожної окремої мережі оцінюється на осно- ві її продуктивності в конкретному завдан- ні. Протягом багатьох поколінь NEAT ітера- тивно розвиває мережі, які демонструють покращену продуктивність і підвищену складність, що приводить до рішень, які до- бре підходять для їхніх завдань. Загалом, інноваційний підхід NEAT до розвитку нейронних мереж із різними топологіями зробив значний внесок у роз- виток нейроеволюційних алгоритмів та їх застосування для оптимізації рішень, що базуються на використанні нейромереж. 3. Оптимізація пошуком новизни Хоча методи прямої оптимізації функцій пристосованості добре працюють у багатьох простих задачах, у розв’язку більш складних задач вони часто потрапля- ють у пастку локального оптимуму. Пошук новизни представляє собою підхід, який може бути інтегрований в ал- горитм NEAT, щоб направляти еволюцій- ний процес до знаходження оптимальних рішень там, де ландшафти функцій присто- сованості не можуть бути успішно пройдені за допомогою процесу оптимізації, засно- ваного виключно на вимірюванні близькос- ті поточного рішення до цілі. Пошук нови- Інструментальні засоби та середовища програмування 52 зни має на меті усунути обмеження тради- ційної еволюції на основі цільової функції, заохочуючи дослідження нових областей простору рішень на основі новизни рішень, а не лише їх значення цільової функції [1]. У звичайній еволюції на основі ці- льової функції особини в популяції зазви- чай оцінюються на основі їхньої продук- тивності у виконанні конкретного завдання, і еволюційний процес надає перевагу осо- бам, які мають успіх у цьому завданні. Не- зважаючи на ефективність, цей підхід може призвести до збіжності до локальних опти- мумів, де рішення можуть застрягнути в не- оптимальних областях простору рішень і не вдасться дослідити альтернативні рішення. Пошук новизни відкриває іншу пер- спективу. Замість того, щоб зосереджувати- ся виключно на функції пристосованості, він оцінює особини на основі їх новизни, яка кількісно визначає, наскільки поведінка або характеристики особини відрізняються від інших. Новизна визначається віддалені- стю або несхожістю у поведінці чи просторі ознак. Інтеграція пошуку новизни у алго- ритм NEAT передбачає кілька ключових кроків: 1. Визначення поведінки або осо- бливостей. Поведінка або особливості ок- ремих осіб повинні бути визначені так, щоб їх можна було кількісно оцінити та порів- няти. Для робототехнічних завдань це може включати визначення конкретних аспектів поведінки, таких як траєкторії, стани або сенсорні моделі. 2. Розрахунок новизни. Новизна особини визначається шляхом порівнян- ня її поведінки чи особливостей з іншими індивідами в популяції. Міра відстані або несхожості, така як евклідова відстань або метрика подібності, використовується для обчислення показників новизни. 3. Архів. «Архів новинок» підтри- мується для зберігання різноманітного на- бору поведінки або функцій, які зустрічали- ся раніше. Архів є еталоном для розрахунку новизни і допомагає запобігти передчасній збіжності популяції. 4. Відбір. Замість того, щоб відби- рати особини виключно на основі функції пристосованості, алгоритм NEAT із вико- ристанням пошуку новизни враховує оцін- ки функції пристосованості та новизни. Особини з високими показниками новизни отримують шанс вижити та розмножува- тися, навіть якщо їхні показники функції пристосованості нижчі. Це спонукає до до- слідження нових і недосліджених регіонів простору рішень. Пошук новизни сприяє досліджен- ню, заохочуючи популяцію знаходити різ- номанітні рішення, які спочатку можуть бути пропущені традиційним відбором на основі функції пристосованості. Крім того, завдяки пріоритетності новизни алгоритм має меншу ймовірність застрягти в локальних оптимумах. Це за- побігає передчасному переходу до неопти- мальних рішень популяції. Різноманітність рішень, виявлених за допомогою пошуку новизни, може при- вести до більш надійних та адаптованих рішень, оскільки алгоритм розглядає біль- ший простір пошуку. Пошук новизни застосовувався в задачах, де дослідження різноманітних рі- шень має вирішальне значення. Включа- ючи новизну як критерій відбору, NEAT з пошуком новизни покращує здатність алго- ритму знаходити інноваційні та ефективні рішення, сприяючи розвитку більш універ- сальних і потужних архітектур нейронних мереж. 4. Задачі позиціонування кінцівки робота у навчальному середовищі для пошуку політики у формі нейромережі Для задачі навчання ми розглянемо модель роботизованої руки, представлену як інтелектуальний агент в обмеженому та спрощеному середовищі. Агент – це суб’єкт, здатний сприйма- ти своє оточення за допомогою датчиків, а також впливати на своє оточення за допо- могою приводів. Агенти зазвичай можуть сприймати власні дії, але не обов›язково є вплив цих дій на навколишнє середовище. Агент може бути математично описаний функцією агента, яка визначає дію агента на основі всієї його послідовності сприйняття. Інструментальні засоби та середовища програмування 53 Тож, поведінка агента може бути повністю описана шляхом визначення дії для кожної можливої послідовності сприйняття [1]. Схема взаємодії агента і середовища пред- ставлена на рис. 1. Рис. 1. Взаємодія компонентів навчального середовища Розглянемо задачу позиціонування кінцівки роботизованої руки за допомогою середовища OpenAI Gym із двовимірною роботизованою рукою з двома суглобами. Це середовище моделювання призначене для забезпечення віртуальної платформи з метою тестування та розробки алгоритмів керування двовимірною роботизованою ру- кою [7]. Приклад стану навколишнього се- редовища представлений на рис. 2. Робот складається з двох з’єднань, кожне довжиною 100 пікселів, і мета – до- сягти червоної крапки, яка випадково ге- нерується в кожному епізоді. Простір дій представляє можливі дії, які може виконати агент. У двовимірному середовищі маніпу- лятора простір дій складається з керування кутами з’єднання маніпулятора робота: • 0: залишити поточне значення кута з’єднання • 1: приріст кута з’єднання 1 • 2: зменшення кута з’єднання 1 • 3: приріст кута з’єднання 2 • 4: зменшення кута з’єднання 2 • 5: приріст кутів з’єднань 1 і 2 • 6: зменшення кутів з’єднань 1 і 2 Простір спостережень дає інфор- мацію про поточний стан навколишнього середовища. У середовищі двовимірної руки робота простір спостережень є без- перервним і містить відповідну інформа- цію, необхідну для контролю та ухвален- ня рішень: • цільова позиція в напрямку x, пікселі • цільова позиція в напрямку y, пікселі • поточне положення з’єднання 1, рад • поточне положення з’єднання 2, рад. Рис. 2. Середовище OpenAI Gym 2D Robot Arm Навколишнє середовище забезпечує винагороду для управління процесом нав- чання. Винагорода залежить від досягнення цільової позиції: • робот отримає штраф -1, якщо поточна відстань між кінцівкою і цільовою позицією більша, ніж попередня відстань; • робот отримає винагороду 1, якщо поточна відстань між кінцівкою і цільовою позицією > -Ɛ < Ɛ, де Ɛ = 10 пікселів. Крім того, визначено умови завер- шення для визначення кінця епізоду: поточ- на винагорода становить -10 або +10. Під час експериментів із середови- щем OpenAI Gym 2D Robot Arm було ви- значено недолік обмеженого кута обертан- ня з’єднань, що суттєво обмежує простір пошуку, проте створює додаткові умови для демонстрації переваг нейроеволюційного підходу. 5. Розробка контролера для позиціонування робочої кінцівки симулятора Для навчання політики у формі нейромережі для управління робочою кін- цівкою в середовищі була обрана бібліоте- ка NEAT-Python як реалізація алгоритму NEAT. Бібліотека NEAT-Python забезпечує реалізацію стандартних методів NEAT для моделювання генетичної еволюції геномів організмів у популяції. Вона містить ути- літи для перетворення генотипу організму Інструментальні засоби та середовища програмування 54 в його фенотип (штучну нейронну мережу) і надає зручні методи для завантаження та збереження конфігурацій геному разом із параметрами NEAT. Крім того, вона надає корисні процедури, які допомагають збира- ти статистичні дані про хід еволюційного процесу та зберігати/завантажувати про- міжні контрольні точки. Контрольні точки дозволяють нам періодично зберігати стан еволюційного процесу і пізніше відновлю- вати виконання процесу [1]. Для прискорення процесу навчання було використано розпаралелювання обчис- лень функції пристосованості між процесо- рами за допомогою класу ParallelEvaluator: neat.ParallelEvaluator(mp.cpu_count(), config.eval_genome, timeout=20) У процесі нейроеволюції використо- вується двовимірний симулятор роботизо- ваної руки для реалізації методу навчання методом спроб і помилок. Він підтримує популяцію геномів, які розвиваються з по- коління в покоління, доки не буде знайдено успішний розв’язок. У процесі еволюції ко- жен організм у популяції перевіряється на придатність шляхом імітації руки з двома суглобами. Наприкінці симуляції організм отримує сигнал винагороди у вигляді кіль- кості часових кроків, протягом яких він міг досягти цільової червоної точки та макси- мальної винагороди. Отриманий сигнал винагороди визначає працездатність орга- нізму і вирішує його долю в процесі нейро- еволюції. Спершу розглянемо реалізацію нав- чання з використанням звичайного алго- ритму NEAT. Управління еволюційним про- цесом відбувається з використанням цілео- рієнтованої цільової функції (goal-oriented objective function). Для розглянутого агента функція пристосованості набуває значення [-10, 10] залежно від успішності досягнен- ня цільової позиції. Досягнення цільової точки робочої кінцівки має локальні пастки найкращої пристосованості в областях, де значення функції буде коливатися у проміжку [-10, 10], проте глобального наближення до кін- цевої позиції досягнуто не буде. Вибір гіперпараметрів було здійсне- но з застосуванням широких меж пошуку, адже маємо великий обсяг керуючих сигна- лів для робочої кінцівки. Початкова конфі- гурація фенотипу нейромережі включає 4 вхідних вузли, 7 вихідних вузлів та 1 при- хований вузол. Вузли входу відповідають параметрам, що описують поточний стан системи, а вузли виходу відповідають керу- ючим сигналам. Прихований вузол призна- чений для введення нелінійності з самого початку еволюційного процесу. Структура нейромережі представлена на рисунку 3: Рис. 3. Структура початкової нейромережі Для розширення області пошуку необхідно покрити велику видову різнома- нітність популяції, щоб спробувати різні конфігурації геному протягом обмеженої кількості поколінь. Цього можна досяг- ти або зниженням порогу сумісності, або збільшенням значень коефіцієнтів, що ви- користовуються для розрахунку показників сумісності геному. Використані наступні значення параметрів: [NEAT] compatibility_disjoint_coefficient = 1.1 [DefaultSpeciesSet] compatibility_threshold = 3.0 Оскільки початкова структура ней- ромережі має досить велику кількість вихо- дів на невелику кількість входів, існує ймо- вірність перенавчання мережі, коли певні вхідні вузли не використовуватимуться і це буде приводити до субоптимального рішен- ня, яке знаходиться в локальному мінімумі. Водночас на меті є створення оптимальної конфігурації нейромережі, яка матиме мі- німальну кількість прихованих вузлів та зв’язків. Тому вірогідності додавання та видалення вузлів мають бути невеликими. Причому враховуючи початкову повно- Інструментальні засоби та середовища програмування 55 зв’язну модель, вірогідність видалення має бути додатково зменшена: [DefaultGenome] conn_add_prob = 0.3 conn_delete_prob = 0.2 За результатами експерименту на- віть після 1000 поколінь еволюції успішний контролер не був знайдений. Графік ви- доутворення показав, що процес зійшовся до одного виду, який далі не зміг отримати ефективне рішення. Тому поріг стагнації було зменшено, а кількість видів збільшено, щоб еволюційний процес підтримувався за рахунок видів, які не показали покращення значення пристосованості і підлягають ви- миранню: [DefaultStagnation] species_fitness_func = max max_stagnation = 20 species_elitism = 1 [DefaultReproduction] survival_threshold = 0.2 min_species_size = 2 Найкращий геном, отриманий з ви- користанням алгоритму нейроеволюції, кодує непрактичну конфігурацію нейро- контролера, яка враховує лише входи 3 та 4, що відповідають за переміщення другої ланки. Такий результат показує, що алго- ритм потрапив у пастку локально опти- мального рішення, коли поворот ланки, найближчої до цільової точки, може дати локальний приріст цільової функції. При- чому перша ланка не була використана, хоча її поворот дозволить наблизитися до кінцевої точки. Найкраща пристосованість організ- му, яка була отримана, становить всього 2, що недостатньо порівняно із цільовим зна- ченням 10 (критерієм закінчення). Структу- ра нейромережі, що закодована цим орга- нізмом, представлена на рисунку 4. Рис. 4. Структура нейромережі, що закодована в найкращому геномі з використанням NEAT без пошуку новизни На графі видно, що повороти друго- го з’єднання залежать лише від положення по одній осі та його поточного положення. Така структура призводить до спрощених рухів, декілька з яких направляють кінцівку у напрямку цільової точки, але вони є недо- статніми для її досягнення. Графік видоутворення, представле- ний на рисунку, показує, як протягом поко- лінь популяції організмів розвивався процес видоутворення. Аналіз середніх показників пристосованості показав, що нейроеволю- ційний процес покращував показники при- стосованості на перших поколіннях, проте з часом він зупинився на плато, не показуючи покращень. Рис. 5. Графік видоутворення еволюційного процесу з використанням NEAT без пошуку новизни Отже, збільшення кількості поко- лінь не буде рішенням, необхідно вико- ристовувати механізми для покращення характеристик нейроеволюційного про- цесу. Тому введемо використання мето- ду пошуку новизни, описаного раніше. Запуск здійснимо з тими ж гіперпара- метрами та на тій же кількості поколінь. Після 1000 поколінь еволюції найкращий агент-контролер досяг значення функції пристосованості 6, що значно перевищує попередній результат. Крім того, аналіз конфігурації нейромережі найкращої осо- бини (представлена на рисунку 6) пока- зує, що дана мережа надійніша, адже має зв’язки від усіх вхідних вузлів. Інструментальні засоби та середовища програмування 56 Рис. 6. Структура нейромережі, що закодована в найкращому геномі з використанням NEAT з пошуком новизни Збільшення кількості поколінь доз- волить мережі дорозвинути переможця для отримання ефективного контролеру з міні- мальною конфігурацією та керуванням усі- ма доступними управляючими сигналами. Зокрема, одночасним приростом кутів з’єд- нань 1 і 2 (вихідний вузол 5), який не має розвинутих зв’язків у отриманій конфігура- ції з найкращого геному. Висновки Вирішення задачі здійснення захва- тів роботизованою кінцівкою вимагає на- дійних стратегій керування, що мають вра- ховувати варіативність умов середовища. Позиціонування робочої кінцівки має зна- чний простір пошуку, тож класичні методи програмування контролерів дають ефек- тивні рішення лише для чітко визначених обмежених виробничих умов. А в умовах довільного середовища мають бути вико- ристані контролери, що використовують знання, накопичені під час взаємодії з цим середовищем. Інтеграція таких методів штучного інтелекту, як машинне навчан- ня та навчання з підкріпленням, сприяла значному прогресу у вирішенні складно- щів позиціонування рук і маніпулювання об’єктами. У статті досліджено підхід до по- кращення ефективності навчання політи- ки управління роботизованою кінцівкою у формі нейромережі з допомогою вико- ристання пошуку новизни для нейроево- люційного алгоритму NEAT. Задача пози- ціонування має такий ландшафт функцій пристосованості, що робить її схильною потрапляти у пастки локального оптимуму. Експерименти з моделлю двовимірної робо- руки з двома ланками показали, що викори- стання пошуку новизни дозволяє отримати ефективну політику в формі нейромережі. Адже NEAT з пошуком новизни покращує здатність алгоритму знаходити інноваційні та ефективні рішення, сприяючи розвитку більш універсальних і потужних архітектур нейронних мереж. Розробка оптимальних політик управління із застосуванням нейроево- люційного підходу може забезпечити не лише високу точність позиціонування, а й мінімальну конфігурацію. А це підви- щує швидкодію системи, яка є важливою характеристикою для роботизованої сис- теми. Майбутні дослідження даного підхо- ду для вирішення задачі позиціонування в системах більшої розмірності та складних роботизованих систем становлять особли- вий інтерес для покращення програмних контролерів управління роботизованими кінцівками в динамічних умовах реально- го світу. Література: 1. I. Omelianenko, Hands-On Neuroevo- lution with Python: Build high-perform- ing artificial neural network architectures using neuroevolution-based algorithms, Packt Publishing, 2019 2. R. Mahjourian, R. Miikkulainen, Neuro- evolutionary Planning for Robotic Con- trol, Department of Computer Science The University of Texas at Austin Austin, 2018 3. Kenneth O. Stanley and Risto Miikkulain- en, Evolving Neural Networks Through Augmenting Topologies, Evolutionary Computation 10 (2): 99-127, 2002. 4. Застосування засобів нейроеволюції в технічних системах автоматизації керування / А.Ю. Дорошенко, І.З. Ашур Інструментальні засоби та середовища програмування 57 // Проблеми програмування. – 2021. – № 1. – С. 16-25 5. Альона Вітюк, Анатолій Дорошенко. Програмний пакет для оцінки похибка калібрування стереокамери в системі комп’ютерного зору. Проблеми програмування, 2022. № 3-4. С. 469– 477. https://doi.org/10.15407/pp2022.03- 04.469 6. M. W¨urtinger, Neuroevolution for Ro- bot Control, Test Framework and Experi- mental Evaluation, Institut f¨ur Informatik Lehrstuhl f¨ur Programmierung und Soft- waretechnik, 2011. URL: https://www.pst. ifi.lmu.de/Lehre/Abschlussarbeiten/vorla- gen/thesis-wuertinger_2011-12-19.pdf 7. OpenAI Gym 2D Robot Arm Environ- ment, URL: https://github.com/ekorudi- awan/gym-robot-arm 8. Huang, Pei-Chi, Sentis et al., Tradeoffs in Neuroevolutionary Learning-Based Re- al-Time Robotic Task Design in the Im- precise Computation Framework. ACM Transactions on Cyber-Physical Systems. 3. 1-29. 10.1145/3178903, 2019 Одержано: 30.08.2023 Про авторів: Вітюк Альона Євгеніївна, аспірант НТУУ «КПІ імені Ігоря Сікорського». Кількість наукових публікацій в українських виданнях – 4. https://orcid.org/0000-0002-1445-9598 Дорошенко Анатолій Юхимович, доктор фізико-математичних наук, професор, завідувач відділу теорії комп›ютерних обчислень Інституту програмних систем НАН України, професор кафедри автоматики і управління в технічних системах НТУУ «КПІ імені Ігоря Сікорського». Кількість наукових публікацій в українських виданнях – понад 200. Кількість наукових публікацій в іноземних виданнях – понад 80. Індекс Гірша – 6. http://orcid.org/0000-0002-8435-1451, Місце роботи авторів: Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», проспект Перемоги 37 та Інститут програмних систем НАН України, 03187, м. Київ-187, проспект Академіка Глушкова, 40. e-mail: alyonavityuk@gmail.com, doroshenkoanatoliy2@gmail.com