Pull to refresh

Как я нейронку в «динозаврика» играть учил

Reading time 2 min
Views 6.2K

Вступление


Одним обычным днём я сидел в интернете, вдруг его отключили. Вспомнив про старую пасхалку от Google, а именно про бегающего динозаврика на странице ошибки. Изучая машинное обучение и вспомнив проект Mari/O, я решил сделать что-то похожее, хотелось чтобы искусственная нейронная сеть научилась играть в «Динозаврика» на уровне реального человека.

image

Для выполнения поставленной цели было решено использовать Генетические алгоритмы, то есть заставить динозавров ‘Эволюционировать’.

Генетический алгоритм


Так что такое этот генетический алгоритм?

Генети́ческий алгори́тм — это алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, аналогичных естественному отбору в природе. Является разновидностью эволюционных вычислений, с помощью которых решаются оптимизационные задачи с использованием методов естественной эволюции, таких как наследование, мутации, отбор и кроссинговер. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.

image

Разработка


Принцип работы нашей программы (как мы уже говорили) основаны на машинном «обучение с подкреплением». Описать принцип работы я постараюсь в нескольких словах:

В каждом поколении выбираются несколько лучших представителей. На их основе создаётся новое. На основе различного «веса» нейронных связей и входной информации (дистанция до преграды, и её высота) принимается решение о действие конкретного представителя вида.

image

Надеюсь всё понятно.

Заключение


В итоге наша «Генетическая модель» достигла 332 тысячи очков за 219 генераций.

image

Есть возможный потенциал в достижении больших результатов.

Но пока ещё стоит над многим поработать.

P.S.: Спасибо за прочтение! Кстати мы хотели показать в прямом эфире процесс обучения нейронки. Посмотреть можно тут.

Upd. Тем временем программа набрала 942 тысячи очков.
Tags:
Hubs:
+2
Comments 31
Comments Comments 31

Articles