Game AI - изменение модели классификации изображений для аналогового вывода

Я разрабатываю игровой AI, который пытается освоить гоночный симулятор. Я уже обучил CNN (alexnet) игровым кадрам, в которых я играю в игру и нажимаю клавиши в качестве цели. У меня было две основные проблемы с этой настройкой:

  1. Извлечение текущей скорости из спидометра, чтобы подать ее на ИИ. Этот вопрос уже был решен здесь.

  2. Во время тестирования я заметил, что ИИ не может делать небольшие корректировки на прямых дорогах и сильно срезает повороты.

Я почти уверен, что вторая проблема связана с тем, что игра обрабатывает нажатые двоичные клавиши (например, нажатие "а" -> 100% левого поворота). ИИ просто не может делать точные движения. Чтобы решить эту проблему, я хочу эмулировать джойстик, который точно контролирует игру. Используя pygame, мне уже удалось записать входные данные моего контроллера в качестве обучающих данных.
Контроллер имеет две оси, одна для поворота, другая для дроссельной заслонки. Обе оси могут иметь любое значение от -1 до 1:

Axis 0: Value -1 -> 100% left
        Value +1 -> 100% right

Axis 1: Value -1 -> full break
        Value +1 -> full throttle

Моя цель - научить alexnet выводить аналоговые значения необработанных осей, учитывая текущую скорость и захваченный кадр, и передавать свои прогнозы в эмулятор джойстика. На GitHub я нашел кого-то, кто попробовал нечто подобное и не смог добиться хороших результатов даже на модифицированном alexnet. Из-за этого мне было интересно, можно ли вообще изменить CNN для вывода аналоговых значений вместо использования его в качестве классификатора изображения.
Мой вопрос: стоит ли прилагать усилия для редактирования alexnet, вместо того, чтобы использовать совершенно другую модель. Я нашел в сети некоторые модели, такие как модель NVIDIA "сквозное самостоятельное вождение", которая, к сожалению, контролирует только угол поворота рулевого колеса, и, кажется, создана для повседневной езды на низкой скорости.

Спасибо!

0 ответов

Другие вопросы по тегам