Это вторая часть моей серии из трех статей об AWS Deep Racer. Если вы попали прямо сюда, первую часть серии можно посмотреть здесь, и в основном она посвящена настройке AWS Deep Racer в одной учетной записи AWS с использованием многопользовательского режима. Я бы порекомендовал вам сначала прочитать это, а затем вернуться к чтению о виртуальных гонках.

Как только ваши участники получат доступ к AWS Deep Racer, вы захотите создать гонку, в которой они смогут принять участие, чтобы усилить геймификацию. Чтобы провести виртуальную гонку, вам понадобится кто-то с правами администратора, чтобы войти в консоль Deep Racer и перейти к «Гоночной лиге», а затем к «Гонкам сообщества» с левой стороны. Затем у вас должна быть возможность «Создать гонку» с правой стороны, после чего вам будут представлены различные варианты формата вашей виртуальной гонки.

Из доступных вариантов я бы порекомендовал подумать о том, является ли это частью серии, будет ли включать личную гонку и уровень предыдущего опыта ваших гонщиков в Deep Racer. Например, наша виртуальная гонка была рассчитана на большинство участников, никогда ранее не пользовавшихся Deep Racer, и представляла собой «отборочный этап» перед личным финалом. Мы решили провести «классическую гонку», потому что люди могли устанавливать время, а затем улучшать модели, чтобы установить максимально быстрый круг, что давало им шанс получить действительно хорошие модели для личного забега. Если ваша гонка была разовой и не сопровождалась дальнейшими действиями, вы можете предпочесть «живую гонку», позволяющую организовать видеоконференцию и всем вместе наблюдать за гонкой в ​​режиме «перестрелки». Мы выбрали «гонку на время» как самую простую гонку для новых участников, а также потому, что она соответствовала нашим планам на личную гонку, но если вы проводите мероприятие для людей со значительным опытом, вы можете выбрать альтернативу. Затем вы можете выбрать период времени, в течение которого будет проходить ваше виртуальное мероприятие, хотя стоит отметить, что люди не могут предварительно присоединиться к гонке до ее открытия, им разрешено присоединиться только после того, как период времени гонки открыт.

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

Я настоятельно рекомендую запустить запуск мероприятия. Для новичков введение в машинное обучение и обучение с подкреплением необходимо, чтобы помочь понять концепции, и как только они будут изложены простыми словами с некоторыми аналогиями, концепции обучения с подкреплением на высоком уровне вскоре будут поняты. Наши участники получили отличный обзор от AWS по машинному обучению в целом, обучению с подкреплением, функциям вознаграждения и гиперпараметрам в Deep Racer. Как владелец собаки, я думаю, что это была моя любимая горка.

На поведение модели AWS Deep Racer влияют функция вознаграждения и гиперпараметры.

Функция вознаграждения написана на питоне, примеры которого можно найти здесь. Функции вознаграждения могут брать ряд входных параметров от автомобиля, их можно найти здесь. Они включают в себя такие параметры, как текущая скорость транспортного средства, его положение на трассе, количество пройденного пути по трассе и многое другое. Их можно дополнить, импортировав модули Python, например время, математика и другие, которые могут быть полезны для более сложных моделей. Я видел, как некоторые очень сложные модели работали плохо, а некоторые очень простые (с точки зрения количества строк кода) работали очень хорошо, и наоборот! Важно отметить, что вы кодируете что-то, чтобы вознаградить результат, а не кодируете точное действие, таким образом модель может решить сложную проблему, такую ​​​​как вождение, без тысяч строк кода.

Гиперпараметры влияют на то, как модели тренируются. Этот пост не предназначен для того, чтобы научить вас внутренней работе машинного обучения, и я не доктор философии по математике, поэтому, если вы хотите действительно понять внутреннюю работу, я бы порекомендовал пройти курс. Примером, ориентированным на AWS, может быть курс Специализация машинного обучения AWS для гуру облака, который, поскольку учебная программа сертификации охватывает теорию машинного обучения, а также реализацию сервисов AWS, дает отличный обзор. Вообще говоря, вы настраиваете эти гиперпараметры либо в пользу исследования (в нашем случае исследуйте дорожку, пытаясь найти способ максимизировать вознаграждение), либо в пользу эксплуатации (уточняйте и получайте дополнительные выгоды на пути вокруг работающей дорожки). В разделе Информация на странице, где вы их настраиваете, есть инструкции.

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

Также важно сообщить людям, как ввести модель в вашу виртуальную гонку. Несмотря на то, что вы предоставили участникам гиперссылку, как я описал ранее, которую они могут использовать для регистрации, им все равно нужно будет представить свои индивидуальные модели для участия в вашей гонке. К сожалению, в настоящее время консоль Deep Racer не предоставляет наиболее интуитивно понятный способ сделать это в двух разных местах! Во-первых, при создании самой модели у пользователей есть возможность «Автоматически отправить в лигу Deep Racer». Это первое место, где участники могут отправить свою модель в неправильную гонку. вход в публичную гонку скорее всего на совсем другой трассе!

Участники, занявшие второе место, могут войти в неправильную гонку после того, как модель потренировалась. Есть хорошая кнопка под названием «Отправиться в виртуальную гонку», к сожалению, в очередной раз, которая ведет гонщика по пути участия в публичной гонке, скорее всего, на совершенно другой трассе!

Чтобы убедиться, что участники участвуют в вашей гонке, лучше всего посоветовать им после регистрации по предоставленной вами гиперссылке перейти в Racing League -> Гонки сообщества, а затем прокрутить вниз, чтобы найти нужную гонку.

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

Во время виртуальной гонки важно думать о том, как общаться и взаимодействовать с участниками. Поскольку мы являемся пользователями Office 365, я организовал команду Microsoft с каналами для объявлений и вопросов и ответов, чтобы участникам было куда обратиться за справочной информацией или записями звонков, которые мы сделали, например, на стартовом мероприятии. Я продолжал публиковать обновления, чтобы поддерживать интерес. Количество оставшихся дней, а также сводка дня и видео текущего лидирующего круга, которое можно загрузить с экрана таблицы лидеров (щелкните правой кнопкой мыши и сохраните, когда видео запущено), были моими частыми сообщениями. Я организовал несколько «операций» в разных точках на протяжении нашей виртуальной гонки, чтобы участники могли прийти за помощью в начале работы, устранении неполадок или совете по настройке своих моделей. Именно во время этих операций выявились проблемы, которые я описал выше, такие как представление модели на публичную гонку. Кроме того, у людей возникли проблемы с разрешениями примерно через час, связанные с тайм-аутом сеанса. Выход и повторный вход через «Ваш профиль гонщика» или полный выход из консоли AWS обычно помогали, хотя один неудачливый участник потерял сложную функцию вознаграждения, которую он создавал в консоли в то время, поэтому, если вы создаете что-то сложный, возможно, стоит создать его за пределами экрана функции вознаграждения Deep Racer и вставить его.

В целом наша виртуальная гонка прошла успешно и подготовила нас к очному событию. У нас было более 1100 часов обучения с 85 участниками, и мы получили отличные отзывы о том, что участники чему-то научились и получили удовольствие от этого. Три человека шли меньше 9 секунд, а 15 человек шли меньше 10 секунд. Всего 2,2 секунды отделяют наших лучших 30 участников, которые были приглашены на наше личное мероприятие. Наш лучший квалификационный участник финишировал со скоростью 8,394 секунды, видео их круга ниже!

Теперь мы переходим к физической гонке, и мой отчет о том, как это настроить и как все прошло, завершит эту трилогию постов в блогах Deep Racer… Третью часть этой серии можно посмотреть здесь.