Генетический алгоритм. Урок 14. Отслеживание родословной.
Автор megabax   
13.05.2018 г.
unit AIObj

Генетический алгоритм. Урок 14. Отслеживание родословной.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


На прошлом уроке я обещал провести некоторое исследование процесса обучения нейросети методом генетического алгоритма. Для этого мы будем процесс обучения выводить в лог. Итак, добавляем в класс GeneticAlgorithm новые поля:

        /// <summary>

        /// Предыдущая лучшая особь

        /// </summary>

        public GANeuralNet prev_spec;

 

        /// <summary>

        /// Буфер для логирования

        /// </summary>

        public StringBuilder log_buf;

И изменим конструктор:

        public GeneticAlgorithm()

        {

            log_buf = new StringBuilder();

            population = new List<GANeuralNet>();

            for (int i = 1; i <= count; i++)

            {

                GANeuralNet net = new GANeuralNet(this);

                net.create_layer(hidden_layer_count, 10, a);

                net.create_layer(1, hidden_layer_count, a);

                population.Add(net);

            }

        }

И, для вывода инфы в лог изменим метод next_age: ...

...

...

...