Этот пост является частью Месяца до мастера, 12-месячного проекта ускоренного обучения. На май моя цель — создать программную часть беспилотного автомобиля.

Вчера я закончил тренировать свою модель самоуправляемого автомобиля на наборе данных Udacity. Сегодняшней задачей было попытаться визуализировать результат:

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

Несколько замечаний:

  • Изначально я думал, что есть два набора данных Udacity: набор данных для обучения (который я использовал вчера) и набор данных для тестирования (который я случайно использовал для обучения несколько дней назад). Сегодня я понял, что тестовый набор данных на самом деле является подмножеством обучающего набора, поэтому я решил вместо этого использовать некоторые данные Nvidia для тестирования. Здесь важно то, что модель была обучена на наборе данных Udacity и протестирована на совершенно новой местности из набора данных Nvidia. Другими словами, модель хорошо работает на дорогах вне своего тренировочного набора (это очень важно, если вы хотите универсальный функциональный самоходный автомобиль).
  • Чтобы правильно смоделировать выходные данные модели Udacity, мне нужно было сделать две вещи: 1. Сопоставить данные Udacity с диапазоном значений, используемых симулятором Nvidia (в модели Nvidia в качестве единиц измерения используются градусы, а в Udacity набор данных находится в диапазоне от -1 до 1) и 2. Выполните небольшую предварительную обработку тестового набора Nvidia (например, кадрирование), чтобы протестировать модель Udacity.
  • Во время тестирования скрипт визуализировал изображения поворота рулевого колеса на основе предсказанного угла поворота рулевого колеса, а затем я наложил эти изображения поверх исходных необрезанных кадров Nvidia для более широкого обзора.
  • Примерно на 40-й секунде видео машина полностью останавливается, а затем резко поворачивает направо. Кажется, что машина начинает поворачивать до того, как визуальные эффекты показывают, что она должна двигаться вправо (в конце концов, машина может двигаться прямо), поэтому я не совсем понимаю, как это происходит. Набор данных Udacity ничего не знает об этом конкретном повороте. Единственное разумное объяснение состоит в том, что модель распознала, что находится на полосе поворота, или модель просто более предикативна, чем человек. В любом случае, это было немного неожиданно, но довольно приятно видеть.

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

Читайте следующий пост. Читайте предыдущий пост.

Макс Дойч — одержимый ученик, создатель продукта, подопытный кролик Month to Master и основатель Openmind.

Если вы хотите следить за годичным проектом ускоренного обучения Макса, обязательно подпишитесь на эту учетную запись Medium.