Что ж, это проблема обучения с подкреплением, в которой выходами нейронной сети являются клавиши на клавиатуре, которые нужно нажимать, чтобы максимизировать оценку, выставляемую функцией приспособленности. Используя генетические алгоритмы (ГА) и начиная с начальной архитектуры нейронной сети, ГА стремится найти лучшую архитектуру, которая итеративно максимизирует функцию приспособленности. GA генерирует различные архитектуры, создавая их популяцию, а затем использует их для решения задачи (игры), выбирает ту, которая дает более высокий балл (с помощью функции приспособленности). В следующий раз GA использует лучших кандидатов архитектуры (родителей в терминологии GA) для использования для разведения и снова повторяет процесс создания новой популяции (архитектур). Конечно, разведение включает в себя и мутацию.
Этот процесс продолжается до тех пор, пока не будет выполнен критерий завершения (определенное значение для функции приспособленности или создание ряда популяций). Вы можете заметить, что генетические алгоритмы требуют больших вычислительных ресурсов и поэтому от них отказываются для решения крупномасштабных задач. Естественно, когда архитектура генерируется, она обучается с использованием обратного распространения ошибки или любого другого применимого метода оптимизации, включая GA.
Например, это видео показывает, как генетические алгоритмы помогают выбрать "лучшее < / em> "Архитектура, чтобы играть в Марио, и у него это очень хорошо получается!" Однако обратите внимание, что если GA выберет архитектуру для очень хорошей игры с Марио на одном уровне, эта архитектура не обязательно будет хорошо работать на следующих уровнях, как показано в другое видео. На мой взгляд, это связано с тем, что и генетические алгоритмы, и обратное распространение имеют тенденцию находить локальные минимумы. Так что впереди еще долгий путь ...
Источники
person
Amir
schedule
01.01.2016