Удосконалення HybrID: Як найкраще поєднати непряме та пряме кодування в еволюційних алгоритмах

Лабораторія штучного інтелекту, що розвивається, Університет Вайомінгу, Ларамі, Вайомінг, Сполучені Штати Америки

удосконалення

Лабораторія штучного інтелекту, що розвивається, Університет Вайомінгу, Ларамі, Вайомінг, Сполучені Штати Америки

Цифри

Анотація

Цитування: Helms L, Clune J (2017) Удосконалення HybrID: Як найкраще поєднувати непряме та пряме кодування в еволюційних алгоритмах. PLOS ONE 12 (3): e0174635. https://doi.org/10.1371/journal.pone.0174635

Редактор: Йонтанг Ши, Університет Нанкаї, КИТАЙ

Отримано: 19 липня 2016 р .; Прийнято: 12 березня 2017 р .; Опубліковано: 23 квітня 2017 р

Наявність даних: Геноми чемпіонів, дані про фізичну підготовку та конфігураційні файли, що використовуються для формування популяцій, доступні з цифрового сховища Dryad, doi: 10.5061/dryad.7c4g3.

Фінансування: JC був підтриманий нагородою Національного наукового фонду CAREER (CAREER: 1453549) (http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=503214). Фінансисти не мали жодної ролі у розробці досліджень, зборі та аналізі даних, прийнятті рішення про публікацію чи підготовці рукопису.

Конкуруючі інтереси: Автори заявили, що не існує конкуруючих інтересів.

Вступ

Еволюційні алгоритми (ЕА) автоматично шукають простір можливих рішень для повернення високоефективних рішень [1]. Вони регулярно виробляють нові, ефективні рішення багатьох складних проблем, і часто перевершують людських інженерів [2–12]. Однією з важливих сфер є розвиток штучних нейронних мереж (ANN), які є обчислювальними моделями, натхненними можливостями обробки інформації природного мозку [1]. ANN, як правило, складні для побудови вручну, але вони здатні вирішувати складні обчислювальні завдання, включаючи розпізнавання об'єктів і символів для завдань комп'ютерного зору та управління рухом для роботів [13–15]. EA можуть оптимізувати ваги та архітектуру ANN і успішно розробили ANN для різноманітних додатків, включаючи контролери роботів [4, 6, 15–18] та розпізнавання шаблонів [5, 19–21].

Принцип регулярності проектування є ключем до успіху експертів з регулярних проблем [22]. Регулярність відноситься до стисливості інформації, що описує структуру, і, як правило, включає симетрії та повторення тем дизайну, зі змінами та без змін [23, 24]. Багато природних організмів демонструють регулярність завдяки симетрії ліворуч-праворуч і повторення дизайнерських мотивів, що виникають в результаті повторного використання генетичної інформації при виробленні фенотипу, що дозволяє описувати складні фенотипи компактними геномами.

Інженерні проблеми містять закономірності різного ступеня. Наприклад, спроба запам'ятати потік випадкових чисел є абсолютно нерегулярною проблемою, тоді як запам'ятовування значення в потоці чисел, що виводиться з функції синуса, є регулярним. На відміну від звичайного прикладу, числа у випадковому потоці не мають відношення до інших чисел у потоці для використання у розв’язанні. Проблеми реального світу не є цілком регулярними, і ефективні алгоритми повинні як використовувати закономірності, так і обробляти порушення, щоб добре працювати [24]. Непряме кодування має труднощі з генеруванням фенотипів з нерегулярними елементами, що негативно позначається на їх роботі щодо нерегулярних проблем. [24, 31].

Попередня робота показала, що ефективність EA щодо проблем із деякою регулярністю та деякою нерегулярністю може бути покращена шляхом розвитку геномів, що поєднують непряме та пряме кодування, оскільки непряме кодування може фіксувати закономірності, а пряме кодування може впоратися з нерегулярністю [24, 32]. Інші роботи запровадили непряме кодування на основі клітин під назвою Епігенетичне відстеження, здатне адаптуватися як до звичайних, так і до нерегулярних проблем, включаючи правила розвитку, які можуть націлюватись на окремі клітини [33, 34]. Хоча експерименти показують, що епігенетичне відстеження може впоратися з порушеннями і, в принципі, може використати регулярність, чи є воно ефективнішим, ніж пряме кодування проблем з деякою регулярністю, досі експериментально не досліджено.

Одним із способів поєднання непрямого та прямого кодування є алгоритм HybrID [24, 32], який еволюціонує опосередковано закодовані геноми до заздалегідь визначеної точки перемикання, де геноми перетворюються на пряме кодування та надалі розвиваються для отримання нерегулярних ознак. Хоча HybrID може ефективно вирішувати регулярні та нерегулярні проблеми, користувач повинен задати точку перемикання, що є недоліком, оскільки оптимальна точка перемикання для різних проблем невідома заздалегідь і вимагає значних обчислювальних зусиль для емпіричного визначення. Крім того, остаточні еволюціоновані геноми HybrID кодуються безпосередньо і, отже, не можуть використовувати нові закономірності, які можуть виникнути, якщо середовище зміниться або рішення будуть перенесені на іншу проблему [28, 29]. Сильні та слабкі сторони HybrID піднімають питання про те, як найкраще поєднувати непряме та пряме кодування, щоб повною мірою використати переваги кожного кодування, яке ми досліджуємо, представивши два нових кодування HybrID, які відповідають конкретним обмеженням оригінального методу HybrID. Ми повідомляємо, що ці нові кодування здатні перевершити оригінальний HybrID для певних класів проблем і проливають світло на те, як можна повною мірою використовувати сильні сторони кожного кодування.

HyperNEAT та HybrID

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

Композиційний шаблон, що виробляє мережі

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

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

Для генерації фенотипу геометричне розташування кожного фенотипового елемента ітеративно вводиться в CPPN, який видає властивості цього елемента. Проект Picbreeder [36], який розвиває двовимірні зображення, є прикладом того, як CPPN може кодувати фенотипи (рис. 1). Для генерування фенотипу Picbreeder з геному координати x та y пікселя на зображенні вводяться в CPPN, який виводить значення кольору. Процес повторюється для всіх пікселів на зображенні, отримуючи повний фенотип. Потім CPPN розробляються для отримання цікавих нових зображень.