Как стать автором
Обновить

Комментарии 13

Судя по видео алгоритм не различает типы врагов, т.е. он не знает будет ли этот враг в него, например, стрелять. Следовательно алгоритм работает только за счет того, что уровни в марио не рандомные, по сути это не обучение, а брутфорс — перебор вариантов действий на каждом участке до нахождения правильного.
На самом деле играя делаешь примерно тоже. И в марио и особенно в super meat boy заметно. Ты просто заучиваешь последовательность действий. А враги всегда на тех же позициях и всегда в том же состоянии инициализации. И можно прям заучить как бежишь, тут прыжок а потом вот все три молотка будут в подходящей позиции и их пробегаешь. Стоит затупить где-то и всё уровень провален.
брутфорс — это полный перебор, чтобы его осуществить понадобилось бы в разы больше времени. Этот алгоритм ищет решение для конкретного уровня за конечное время.
за конечное время.

Нет. И это надо чётко понимать. Нет никаких гарантий что алгоритм найдёт за конечное время хоть что-то полезное.
НЛО прилетело и опубликовало эту надпись здесь
Я не совсем понимаю, почему алгоритм сделан так, что видит все непроходимые блоки (стены, пол) одинаковыми? Ведь если бы он их различал и запоминал — все было бы быстрее, нет? Типа видит новый тип стены — пытается перепрыгнуть. Не получается? Пробует другие варианты. Какой-либо подошел? Запоминает визуальный вид стены и впредь все следующие преодолевает так же. И то же самое с противниками.
Скорость обучения может упасть с увеличением числа категорий. Либо он использует примитивный алгоритм классификации состояний, способный принимать лишь 0 и 1.
Его реализация не учитывает рекуррентные соединения, и вобще не ждет пока нейрон получит все сигналы и использует его значение, больше к нему не возвращаясь. Я сейчас пишу эту штуку как раз.
Когда допишите — сделаете статью? Искренне очень интересно почитать.
Может быть. Я ведь еще не закончил писать, вдруг я не допишу из-за трудностей, которые то и дело вылазят. После первого прочтения статьи с NEAT, казалось, что все легко и описано, а как взялся писать, оказалось, что куча нюансов, которые сразу либо не заметил в статье, либо до сих пор там не нашел *смех*.
Я уже не могу редактировать свой комментарий, так что вот.
Я наконец дошел до момента, когда мне нужно писать часть с построением нейронных сетей из генотипа. И я понял, что его код без комментариев был слишком гениален для меня. Вобщем нейронам не нужно ждать, чтобы все входящие в него нейроны получили все свои сигналы и выпустили сигнал, потому что если мы забираем сигнал с какого-либо нейрона, который еще не спайкнул на текущем инпуте сети, это значит, что это рекуррентное соединение!
Если внимательно посмотреть на инпуты модели, то там ничего нет кроме слоев уровня, ни врагов, ни монеток, ни блоков с секретами, ни обработки этих секретов, ни поиска секретных труб, а в гонке уход с трассы не отменяет фитнесс модели. То есть по сути модель не «видит» нифига кроме трассы и блоков, которые ее окружают и ее прогресс обучения не зависит от правильности прохождения трассы. А собственно фитнесс модели не учитывает ничего, кроме дистанции и времени.

Поэтому результаты обучения ничтожны. Как выше написал grokinn — это брутфорс. А раз брутфорс то модель не применима на других уровнях и не применима при рандоме врагов/секретов/машин и трасс.

Поэтому ценность полученных данных имеется только в виде нахождения идеальной траектории для одной конкретной локации и для неизменных параметров.

Ценность этих данных в других местах нулевая. На другом уровне модель опять упрется в стену и будет там торчать, как и на Марио Карте в трубу.

Вообще странно, что этот разработчик упорно игнорит эти вещи в своих видео и говорит о том, как марио «очень любит эту трубу».

Интересно, а это сможет?
Mario Frustration

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории