motkot
@motkot
Программирование C#.

Поясните за эту нейронную сеть?

Хочу нейронную сеть для пошаговой стратегии.

Нашел вот эту штуку: https://github.com/kipgparker/MutationNetwork/blob...

Вписал вот это:

private void UseNeuralNetwork()
    {
        CalculateAttackVariant();
        CalculateMoveVariant();

        float[] inputs = new float[5];

        inputs[0] = MoveVariants.Count;
        inputs[1] = AttackVariants.Count;
        inputs[2] = Health;
        inputs[3] = Damage;
        inputs[4] = GridActions.PlayerTurn.CalculateMinimalDistance(GridActions.PlayerTurn.PlayerUnits, transform.position);
        _brain.fitness = fitness;

        var output = _brain.FeedForward(inputs);

        print(output[0]);
        
    }


В консоль выводить 0.56. В чем логика? Он выводит число от 0 до 1?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@berng
от -1 до 1. Выводит функцию активации после нейронов последнего слоя сети, а там tanh.
Фактически это результат работы сети, если сеть обучена. Чтобы подгрузить обученные коэффициенты, нужно запустить _brain.Load().
Судя по коду - обучается пошагово, генетическим алгоритмом через функцию Mutate, ищется оптимум через функцию CompareTo по сравнению с остальными объектами, чтобы оптимизировать свой fitness по отношению к другим.
fitness должен как-то вычисляться исходя из ваших нужд после каждого шага мутации.
Самого генетического алгоритма обучения тут нет, здесь только вспомогательные функции, очень облегчающие его реализацию. Процесс обучения надо писать самому или искать как он реализован в других файлах кода, либо подгружать обученные коэффициенты сети из файла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы