Pull to refresh
13
0

Пользователь

Send message
Да, в NEAT такой подход («фазовый поиск») применяется: sharpneat.sourceforge.io/phasedsearch.html
Второй способ получения простой и компактной сети — мультикритериальная оптимизация (он, кстати, упомянут в статье). Это когда отбор производится сразу по двум критериям: высокий фитнес и низкая сложность сетки. Вот тут есть видео, где мы подбираем сеть для вычисления XOR'а как раз этим способом. Минимизируем только число связей, а не кол-во нейронов, как в статье.
Ну весь unity-проект опубликовать не можем — там какие-то платные ассеты используются. А все, что касается NEAT и ГА поверх него, предполагаю опубликовать ко второй статье. Все равно без пояснений там сложно будет сориентироваться.
Рассмотрим простейшую нейронную сеть, состоящую из одного сенсора и одного выходного нейрона. Значением функции активации будет f(w*x), где x – то, что подается на сенсор, w – вес связи от сенсора до выходного нейрона. На рисунке показан график функции активации при w=0.2.
График


Т.е. «острота реакции» НС на изменения значений входов регулируется соответствующими весами. В начальной популяции можно инициализировать веса небольшим по модулю случайным числом, а не числом из диапазона [-5,5], как делал Кен в своей работе, если мы предполагаем, что это увеличит скорость поиска решения.

Information

Rating
Does not participate
Registered
Activity