1088

Бот-программа учится проходить Марио⁠⁠

Нейронные сети рулят
Вы смотрите срез комментариев. Показать все
227
Автор поста оценил этот комментарий

Это не нейронная сеть, а обычный генетический алгоритм. Нейронная сеть умеет находить решение аналогичной ситуации на основе ранее полученного опыта (распределения веса персептронов). Тут же просто перебираются комбинации клавиш, пока не получится новый результат. Из поколения выбираются несколько лидеров (кто прошел дальше) и создается новая популяция. И так раз за разом, пока одна из особей не дойдет до конца. По измени что-от на уровне и особь его запорет. 

раскрыть ветку (44)
73
Автор поста оценил этот комментарий

зашел сюда, только чтобы это написать

просто умный перебор

25
Автор поста оценил этот комментарий

Здесь нейронная сеть + генетический алгоритм. Последний используется для обучения сети вместо какого-нибудь градиентного спуска. 

раскрыть ветку (33)
12
Автор поста оценил этот комментарий

Тогда я, видимо, не понял этого видео. Мне кажется, что тут просто последовательность нажатий клавиш. И каждое новое поколение нажимает на одну случайную клавишу больше. И либо умирает, либо нет. Что анализирует нейронная сеть в этом случае?

раскрыть ветку (29)
25
Автор поста оценил этот комментарий

Посмотрите исходный код, там видно, что есть и нейронная сеть, и генетический алгоритм для ее обучения. То, что тут используется, называется NEAT: https://en.wikipedia.org/wiki/Neuroevolution_of_augmenting_topologies 

Данные с экрана - вход сети, клавиша - выход. Т.е., теоретически, хорошо обученная сеть должна справляться с любым уровнем, не обязательно исходным. 

раскрыть ветку (7)
21
Автор поста оценил этот комментарий

Да, теперь я понял Вас. Действительно, клавиши нажимаются не случайно, а на основании решения нейросети, а генетический алгоритм её обучает. Вы правы! 

Только вот получается что только новые нажатия делаются нейросетью - она не пересматривает свои решения для предыдущих поколений. Хотя в идеале после каждой интерации обучения - нужно все нажатия заново рассчитывать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

насколько я понял, пересматривает, иначе бы в самом начале как шел несколько метров ГГ вперед без смерти, так бы и шел в конечном результате при прохождении, но нет, сеть решила что прыгать будет быстрее и он уже прыгал. 

2
Автор поста оценил этот комментарий

Исходник не читал, но поумничаю))
Теоретически. Данная сеть слишком сильно сведена к данному конкретному уровню, просто потому что у них в виде входов - матрица вокруг персонажа. Сеть, возможно, и будет справляться с другими уровнями, но гораздо хуже, чем с исходным. Потому что паттерн входов был все время одинаковый (данный уровень), а значит и весы сетки заточены под него. Особенно если у них есть сенсоры времени, которые будут влиять на весы конкретно под этот уровень. Если бы в процессе обучения давался каждый раз разный уровень, то... не факт, что сетка научилась бы вообще что-то делать.
Если у них есть веселые механизмы сброса весов, то, возможно, справится с любым.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну, переучить сеть с паттернов текущего уровня куда быстрее, чем учить для каждого нового уровня (и новых паттернов, чем-то, вероятно, схожих с предыдущими) с нуля, правильно ведь?

1
Автор поста оценил этот комментарий

Это нейросеть, верно. Но преимущества нейросети сведены на нет. Обычно архитектура НС подразумевает обучение на примерах (back propagation, k-means и т.п.), тут же весь fitness сваливается на плечи ген. алгоритма, а для нейросетей с ростом нейронов/слоёв/точности весов пространство поиска (кол-во возможных вариантов генома) растёт очень (нет, ОЧЕНЬ) быстро.


В общем, хороший пример proof-of-concept. Плохо, если кто-то на этом защитит кандидатскую, а какой-нибудь полугосударственный банк (читаем ниже посты sokoban) влупит кучу бабла на разогрев воздуха суперкомпьютером.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

K-means вообще кластеризация, как ей сеть обучать не знаю. А back propagation тоже не идеальный вариант для обучения, т.к. локальные минимумы, и все такое. 

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ген.алгоритм - тоже локальные минимумы и всё такое :)

Спасают только конские мутации, но это уже эволюционный алгоритм, не канонъ.

ещё комментарии
0
DELETED
Автор поста оценил этот комментарий

@twolegs можно добавиться к тебе ВК или скайп и мучить вопросами?

Ибо как раз в скором планирую изучать эту тему для своих проектов

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Заветные буквы в вк как ник. И я не могу сказать, что многое знаю о сетях :)

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Мне хватило такого непосредственного упоминания "какого-нибудь градиентного спуска" чтобы понять, что ты гораздо лучше меня разбираешься

Сейчас добавлю тебя х)

3
Автор поста оценил этот комментарий

вот вот. 

просто брутфорс примитивный. 

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий
Это не нейронная сеть

Давно хочу почитать нейронные сети, с чего начать? (язык c, java)

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

язык не важен, главное построить мат модель

2
Автор поста оценил этот комментарий

Идеальный вариант - Хайкин "Нейронные сети". Но там очень математика :) Ещё где-то по сети гуляют лекции Ежова, но там больше о задаче прогнозирования.

0
Автор поста оценил этот комментарий

тут не просто переблр потому, что ПО получает свелния о своём положении, положении злодеев и среды. И учится принимать решения из своего опыта.


Запустить её на другой уровень- она пройдет его памного быстрее чем в перый раз.

0
Автор поста оценил этот комментарий
Ага, согласен, в данной программе не видно мышления, лишь перебор вариантов.
0
Автор поста оценил этот комментарий

Нейронная сеть должна обучаться, и вот именно случайные нажатия и последствия их похоже ее и обучают. 

ещё комментарий
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества