Как эволюционировать веса нейронной сети в нейроэволюции?

Я новичок в искусственных нейронных сетях и алгоритмах нейроэволюции в целом. Я пытаюсь реализовать алгоритм под названием NEAT (NeuroEvolution of Augmented Topologies), но в описании в оригинальной публичной статье пропущен метод эволюции весов сети, говорится: «Веса соединений изменяются как в любой системе NE, причем каждое соединение либо возмущено, либо нет в каждом поколении ".

Я провел некоторый поиск о том, как изменять веса в системах NE, но, к сожалению, не могу найти подробного описания.

Я знаю, что при обучении NE обычно используется алгоритм обратного распространения для коррекции весов, но он работает только в том случае, если у вас есть фиксированная топология (структура) на протяжении поколений, и вы знаете ответ на проблему. В NeuroEvolution вы не знаете ответ, у вас есть только фитнес-функция, поэтому здесь невозможно использовать обратное распространение.

15
задан FalconUA 22 August 2019 в 00:21
поделиться