Ответы пользователя по тегу 2D
  • Как сделать нейросетку для генетического 2D алгоритма?

    @imageman
    Рекуррентные сети
    https://qudata.com/ml/ru/NN_RNN_Torch.html - довольно сносное описание.
    Объясню "на пальцах":
    а) на вход нейросети подаются N блоков (фиксированной длинны), к примеру для N ботов это будут координаты x,y поэтому у нас будет вектор [N , 2]
    б) у нас есть некое внутреннее состояние нейросети (почти всегда инициализируется нолями) которое задается всегда определенным образом перед каждым запуском. Это массив длинной K (например 10). *** В твоем случае в самом начале в этот массив можно записать свои собственные координаты, какие-то дополнительные параметры (например число ботов).
    в) сеть состоит из двух частей - рекуррентная (перебирает по очереди вход) и финальная часть, которая на основе внутреннего состояния дает окончательный вывод (прогноз, результат).

    Теперь чуть подробнее. Рекуррентная часть это простая нейросеть любой конфигурации, которая на вход принимает массив "внутреннее состояние нейросети" и одну из N строк входного массива (в твоем случае "внутреннее состояние нейросети" + 2 числа). Обрабатывает это и на выходе получается новый массив "внутреннее состояние нейросети". Т.е. (как пример) на входе 12 чисел, на выходе 10 чисел.

    После обработки всех N строк входного массива в дело вступает финальная часть нейросети. Она может быть тоже любой конфигурации (структуры). На вход принимает "внутреннее состояние нейросети" (например 10 чисел), на выходе какой-то уже конечный результат (к примеру "угол" и "скорость").

    Надеюсь понятно изложил.
    Ответ написан
    1 комментарий