Что такое DeepRacer?

Из AWS-документации:

AWS DeepRacer - это интегрированная система обучения, предназначенная для пользователей всех уровней, позволяющая изучать и изучать обучение с подкреплением, а также экспериментировать и создавать приложения для автономного вождения. Он состоит из следующих компонентов:

Сервис AWS Machine Learning для обучения и оценки моделей обучения с подкреплением в имитируемой среде автономного вождения.

RC-автомобили AWS DeepRacer в масштабе 1/18, способные выполнять логические выводы на обученной модели AWS DeepRacer для автономного вождения.

AWS DeepRacer, позволяющий участникам соревноваться в производительности моделей на определенном треке в смоделированной или реальной среде и оценивать результаты в виртуальной или физической таблице лидеров.

AWS-Robomaker предоставляет виртуальную среду. Он создает трехмерный мир с одной из пары виртуальных гоночных трасс и автомобилем, который будет по нему мчаться.

AWS-Sagemaker предоставляет среду для обучения автомобиля. Приведен дизайн нейронной сети. Входными данными является изображение, полученное с камеры, установленной на автомобиле. Выход - это действие. Можно выбрать, какие действия использовать. Например, может потребоваться две скорости, скажем, 1 м / с и 2 м / с. Затем можно выбрать, например, 5 углов поворота, на которые машина сможет поворачивать. В этом примере доступно всего 2 * 5 = 10 возможных действий, каждое из которых представлено выходным нейроном. Для вождения автомобиля будет выбрана команда, связанная с нейроном, который получает самый сильный входной сигнал.

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

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

Как я попал в это?

12/11: я получил электронное письмо с вопросом: «Находятся ли ваши навыки искусственного интеллекта в выигрыше? Тогда приходите на хакатон Accenture AWS DeepRacer в Кронберге 14 ноября ». Я почувствовал вызов. Я просматриваю инструкции и вхожу в консоль AWS, чтобы создать свою первую виртуальную гоночную машину. Настройка очень удобная. Существует сервис AWS, который автоматически создает все необходимые ресурсы.

Первые несколько тренировок я провожу с функциями подсчета баллов по умолчанию. У меня есть пара идей, что можно сделать. Но мне кажется, что я слишком поздно, чтобы вникать в эту тему просто потому, что слишком поздно начал. К счастью, я прочитал в разделе вопросов и ответов:

В: У меня нет работающей модели. Могу ли я участвовать?
A: Просто приходи. Вы по-прежнему можете тренировать моделей в течение дня и общаться с другими разработчиками.

13/11: Я работаю с клиентом. Днем я наконец решаюсь поучаствовать в хакатоне Accenture. Я бронирую поезд и отель и вечером еду во Франкфурт. На данный момент у меня нет даже модели, которая смогла бы финишировать на одном круге. Я все еще поигрался только с парой примеров функций вознаграждения.

В поезде заканчиваю свою первую награду. Я стремлюсь к простой и надежной модели, которую можно быстро обучить. Когда я приезжаю в отель, я вставляю код в консоль AWS, чтобы посмотреть, что происходит. Результат: Примерно через 15 минут тренировки машина проходит свой первый круг. Через минуту он завершает еще один круг, а затем еще 50 без единой аварии! Я очень доволен этим результатом, но я все еще не ожидаю, что эта модель станет самой быстрой на мировом соревновании Accenture на следующий день.

14/11: Я встаю до смешного рано, чтобы попасть в офис Accenture в Кронберге и присутствовать на телефонном разговоре с клиентом. Затем в 9:00 начинается собственно гонка. Я удивлен, увидев, что моя модель очень хорошо работает и в реальном мире. Это известная проблема, что перенос модели из моделируемой среды в реальный мир может быть очень сложной задачей. Я пробую несколько способов улучшить ситуацию, но, за исключением некоторых незначительных корректировок параметров, мне не удалось найти лучшего подхода. Я понимаю, что начать с простой надежной базовой модели было лучшим вариантом для этого соревнования.

И, в конце концов, это спасло меня от первого места в крупнейшей в мире частной лиге AWS DeepRacer, которую проводит Accenture. Я немного горжусь, ведь это был глобальный конкурс, в котором участвовали 30 сайтов в 17 странах. Это также мой входной билет на чемпионат AWS DeepRacer Championship Cup в re: Inventory в Лас-Вегасе.

Вегас Бэби

12/01: я прибыл в Вегас. Мои последние тренировки две недели назад. У меня не было времени много готовиться к тому, что меня ждет впереди. Я приехала в отель и, наконец, нашла время, чтобы обучить больше моделей. После небольшого шока от того, что AWS изменила пользовательский интерфейс для обучения и немного изменила поведение машины в виртуальной среде, мне удалось обучить пару моделей, ни одна из которых не отличается от моего первоначального подхода.

12/03: в общей сложности 64 конкурента со всего мира и из множества компаний. Я представляю Accenture. Все участники распределяются в одну из 4 групп по 16. Чтобы пройти в следующий раунд, я должен быть среди первых 4 в своей группе. После пары разминок гонка начинается. Каждому участнику дается 4 пробега по 4 минуты каждая, и засчитывается общий самый быстрый круг. В итоге я занял 3-е место в своей группе. Так что я в последней группе из 16 человек.

12/04: последние 16 соревнуются по системе двойного выбывания. Я выбыл из четвертьфинала, то есть я вошел в восьмерку лучших по всему миру. Я очень доволен тем, что смог зайти так далеко. Я тоже очень измотан.

12/05: финал. Смотрите на youtube.

Подробности о том, как обучалась модель, можно найти здесь:
Как обучить модель за 15 минут

Функцию подсчета очков и параметры, используемые для обучения, можно найти здесь (оставьте мне звезду, если вы что-то узнали;) https://github.com/TwoDigits/deepracer