Что такое DeepRacer?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вегас Бэби

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

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

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

5 декабря: Гранд-финал. Смотрите на youtube.

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

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