Используя Tensorflow, я создал ИИ, который играет в Asphalt, используя сверточную нейронную сеть. Он основан на клонировании поведения .

Что такое нейронная сеть и как она работает?

Мы можем просто сказать, что нейронная сеть - это компьютерная система, созданная по модели человеческого мозга. Подобно дендриту (нейрону), нейронная сеть принимает несколько входных данных и выдает один выход, в нашем случае она берет кадр изображения из игры и предсказывает, нажимать ли W, A или D.

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

Для получения дополнительной информации

Обратное распространение

Используя обратное распространение, мы можем решить эту проблему. Первоначально вес внутри функции является случайным, но со временем он оптимизируется. Обратное распространение берет результат, предсказанный моделью, и фактический результат, который должен был быть предсказан, и немного изменяет функцию, так что предсказанный результат совпадает с требуемым выходом в нейронной сети.

Сверточная нейронная сеть

Сверточная нейронная сеть (CNN) - это особый вид нейронной сети, которая в основном используется для поиска шаблонов в изображениях и видео. Посмотрите это видео, чтобы лучше понять концепцию.

Получение данных обучения

Чтобы вся модель нейронной сети выполняла определенную задачу, нам необходимо обучить модель некоторым данным. Здесь все необходимые данные - это кадры изображения и соответствующий штрих в этом кадре. Данные хранятся в файле CSV.

Изображение уменьшается до серой шкалы и обрезается, чтобы иметь только необходимую информацию в качестве обучающих данных. А также для увеличения обучающих данных изображения зеркально отражаются, а направление левого и правого изображения меняется на противоположное.

Обучение сети

Затем модель обучается на этих данных и со временем улучшается с использованием алгоритма обратного распространения. Первоначально веса случайны, и прогноз модели довольно случайен. Веса оптимизируются после каждого прогноза в соответствии с уже предоставленными нами выходными данными.

Ссылка на проект

github: https://github.com/Sampanna-Sharma/Self-driving-Car

Вдохновения

Этот проект был вдохновлен играми Sentdex в Python и играми Сираджа Равала по моделированию беспилотного вождения автомобиля.