Комментарии 13
Судя по видео алгоритм не различает типы врагов, т.е. он не знает будет ли этот враг в него, например, стрелять. Следовательно алгоритм работает только за счет того, что уровни в марио не рандомные, по сути это не обучение, а брутфорс — перебор вариантов действий на каждом участке до нахождения правильного.
+11
На самом деле играя делаешь примерно тоже. И в марио и особенно в super meat boy заметно. Ты просто заучиваешь последовательность действий. А враги всегда на тех же позициях и всегда в том же состоянии инициализации. И можно прям заучить как бежишь, тут прыжок а потом вот все три молотка будут в подходящей позиции и их пробегаешь. Стоит затупить где-то и всё уровень провален.
+4
брутфорс — это полный перебор, чтобы его осуществить понадобилось бы в разы больше времени. Этот алгоритм ищет решение для конкретного уровня за конечное время.
+1
Я не совсем понимаю, почему алгоритм сделан так, что видит все непроходимые блоки (стены, пол) одинаковыми? Ведь если бы он их различал и запоминал — все было бы быстрее, нет? Типа видит новый тип стены — пытается перепрыгнуть. Не получается? Пробует другие варианты. Какой-либо подошел? Запоминает визуальный вид стены и впредь все следующие преодолевает так же. И то же самое с противниками.
+3
Его реализация не учитывает рекуррентные соединения, и вобще не ждет пока нейрон получит все сигналы и использует его значение, больше к нему не возвращаясь. Я сейчас пишу эту штуку как раз.
+1
Когда допишите — сделаете статью? Искренне очень интересно почитать.
+1
Может быть. Я ведь еще не закончил писать, вдруг я не допишу из-за трудностей, которые то и дело вылазят. После первого прочтения статьи с NEAT, казалось, что все легко и описано, а как взялся писать, оказалось, что куча нюансов, которые сразу либо не заметил в статье, либо до сих пор там не нашел *смех*.
+2
Я уже не могу редактировать свой комментарий, так что вот.
Я наконец дошел до момента, когда мне нужно писать часть с построением нейронных сетей из генотипа. И я понял, что его код без комментариев был слишком гениален для меня. Вобщем нейронам не нужно ждать, чтобы все входящие в него нейроны получили все свои сигналы и выпустили сигнал, потому что если мы забираем сигнал с какого-либо нейрона, который еще не спайкнул на текущем инпуте сети, это значит, что это рекуррентное соединение!
Я наконец дошел до момента, когда мне нужно писать часть с построением нейронных сетей из генотипа. И я понял, что его код без комментариев был слишком гениален для меня. Вобщем нейронам не нужно ждать, чтобы все входящие в него нейроны получили все свои сигналы и выпустили сигнал, потому что если мы забираем сигнал с какого-либо нейрона, который еще не спайкнул на текущем инпуте сети, это значит, что это рекуррентное соединение!
+1
Если внимательно посмотреть на инпуты модели, то там ничего нет кроме слоев уровня, ни врагов, ни монеток, ни блоков с секретами, ни обработки этих секретов, ни поиска секретных труб, а в гонке уход с трассы не отменяет фитнесс модели. То есть по сути модель не «видит» нифига кроме трассы и блоков, которые ее окружают и ее прогресс обучения не зависит от правильности прохождения трассы. А собственно фитнесс модели не учитывает ничего, кроме дистанции и времени.
Поэтому результаты обучения ничтожны. Как выше написал grokinn — это брутфорс. А раз брутфорс то модель не применима на других уровнях и не применима при рандоме врагов/секретов/машин и трасс.
Поэтому ценность полученных данных имеется только в виде нахождения идеальной траектории для одной конкретной локации и для неизменных параметров.
Ценность этих данных в других местах нулевая. На другом уровне модель опять упрется в стену и будет там торчать, как и на Марио Карте в трубу.
Вообще странно, что этот разработчик упорно игнорит эти вещи в своих видео и говорит о том, как марио «очень любит эту трубу».
Поэтому результаты обучения ничтожны. Как выше написал grokinn — это брутфорс. А раз брутфорс то модель не применима на других уровнях и не применима при рандоме врагов/секретов/машин и трасс.
Поэтому ценность полученных данных имеется только в виде нахождения идеальной траектории для одной конкретной локации и для неизменных параметров.
Ценность этих данных в других местах нулевая. На другом уровне модель опять упрется в стену и будет там торчать, как и на Марио Карте в трубу.
Вообще странно, что этот разработчик упорно игнорит эти вещи в своих видео и говорит о том, как марио «очень любит эту трубу».
+5
Интересно, а это сможет?
Mario Frustration
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Нейроэволюционный алгоритм учится играть в Mario