А как реализован «основной алгоритм движения по маршруту»?
Он как-то учитывает препятствия?
Может капитанство, но мне кажется надо организовать обратную связь от перцептрона с датчиками в алгоритм движения по маршруту и передавать информацию о препятствиях.
А как реализован «основной алгоритм движения по маршруту»?
Классическим волновым алгоритмом определяется маршрут движения по террейну (для избегания непроходимых участков). Проставляются вейпоинты, далее к модели применяется а) импульс, доворачивающий на очередной вейпоинт б) импульс по направлению движения модели. Импульсы, корректирующие движение по препятствиям, применяются отдельно.
Потому что 1)Изначально хотелось проверить именно применение нейросети 2)Волновой алгоритм рассчитывает траекторию движения в некий момент времени, после которого ситуация с наличием здания на карте может измениться. Например, в момент начала движения здание было атаковано и разрушилось. Или наоборот — на маршруте инженерные юниты возвели новое сооружение.
Попробуйте обучение с подкреплением (reinforcement learning). Вы в конце высказали подобную идею, но этатема уде довольно проработанная. Начните с Deep Q Learning (есть хорошая статья на медиуме).
Не занимайтесь подгонкой коэффициентов и какой-то обработкой входных данных, предоставьте это сети. Исследования показывают, что RL хорошо работает на сложных необработанных вхрдных двнных. Можете добавить больше рейкастов.
Кажется странным решение использовать аж 12 слоев в сети, ведь обычно хватает 1-2х скрытых слоев и по слою на ввод-вывод. Есть результаты замеров с разным количеством слоев?
К сожалению, нет замеров, но очень хотелось бы их провести. На мой взгляд, 12 слоёв и вправду избыточно. Дело в том, что я хотел добавить возможность простейшего самообучения, и довольно смутно представлял себе возможное количество вариантов входных данных, а значит и требуемую ёмкость сети. В конечном итоге в силу нехватки времени от идеи самообучения отказался, а изначально заложенная избыточность осталась.
Использование многослойной нейронной сети для обхода препятствий в играх