Объяснение AWS DeepRacer

Добро пожаловать в небольшой справочник об AWS DeepRacer и обучении с подкреплением.

Вышеупомянутая команда - это команда "Outrun" из подразделения Quantum.
Работаем слева направо;

- Гуру математики (Дэвид Файфф)
- Без сэра или крыльев (Пол Маккартни)
- Команда DK (Дэвид Келли)
- Я (DBro)
- Доктор DeepRacer (Доктор Гленн Хоран)

Мы с энтузиазмом относимся к испытаниям новых технологий и победам.
AWS DeepRacer League от Liberty Mutual предоставила прекрасную возможность добиться и того, и другого.

AWS DeepRacer

Автомобиль DeepRacer или «агент», как его еще называют, представляет собой полностью автономный гоночный автомобиль, запрограммированный нами на Python и обученный на многих итерациях в AWS SageMaker в среде моделирования, созданной AWS RoboMaker.

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

Вместо этого агент предоставляет свою собственную метку временной задержки, известную как «вознаграждение».

Данные собираются фотообъективом агента, который переводит изображение в оттенки серого. Эти изображения не соответствуют смоделированному маршруту. Он пробует «действие» (формат JSON со свойствами скорости и угла), вы устанавливаете их перед тренировкой. Затем анализирует вознаграждение, полученное за попытки, и повторяет процесс с различными действиями, чтобы найти большее вознаграждение, которое возвращается в виде числа с плавающей запятой в вашей функции вознаграждения (обсудим позже).

Короче говоря, единственная цель агента: вернуть максимально возможное вознаграждение.

Лига свободы и правила

Правила просты. Каждой команде дается 4 минуты, чтобы показать лучшее время круга на треке re: Invent. Вам разрешается сойти с трассы максимум 3 раза, чтобы квалифицироваться на круг. Но каждое «отклонение от курса» должно быть исправлено путем ручного переноса автомобиля на трассу, сокращая время прохождения круга.

Самый быстрый круг Outrun - 9,26 секунды - в настоящее время занимает 3-е место в лиге.

8 лучших команд проходят в полуфинал, а 4 лучших - в финал 29-30 октября.

Победившая команда отправляется в re: Invent 2019, чтобы побороться за кубок Вегаса.

Winner of Vegas заканчивает год!

Обучение с подкреплением

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

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

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

Среда: физический мир, в котором действует агент.
Состояние: текущее положение агента.
Награда: обратная связь из среды.
Политика: метод сопоставления состояния агента с действиями.
Значение: будущее вознаграждение, которое агент получит, совершив действие в конкретное состояние.
SageMaker: с каждой партией опыта от RoboMaker, SageMaker обновляет нейронную сеть, «и, надеюсь, ваша модель улучшалась».

Пример моделирования RoboMaker

Советы и хитрости

  1. Делайте ваши модели простыми, модель выше ориентирована на то, чтобы автомобиль оставался на центральной линии, это отличное место для начала, не изменит ничего из вышеперечисленного для новичка.
  2. Не награждайте отрицательным смещением, это может заставить машину финишировать раньше, чтобы избежать их, и сокращает ценные тренировочные эпизоды. Наказать вместо этого умножением на десятичные числа.
  3. Просмотрите журналы своих тренировок. Они также находятся в CloudWatch, но не очень удобочитаемы.
    https://codelikeamother.uk/using-jupyter-notebook-for-analysing-deepracer-s-logs

4. Тренируйте свои модели в течение 1-2 часов, вы можете клонировать их, чтобы продолжить обучение, но 1-2 часа являются хорошим индикатором вашего прогресса на трассе. (См. Слева).

Мой опыт

Мне действительно понравился опыт DeepRacer как увлекательное соревнование, но это больше способ понять RL и машинное обучение в целом. На изучение обширного материала ушло много времени, но оно того стоит. Если вы хотите узнать больше, просто дайте мне знать!
Лучший способ принять участие - участвовать в гонках на модели, которую вы сделали сами, и тогда вас зацепят, и это хорошо.
В будущем я планирую написать расширенное руководство для гонщиков, чтобы сосредоточьтесь на способах быть конкурентоспособными и эффективными с вашим временем, надеюсь, они сработают для нас в конце октября :)

Спасибо!

Полезные ресурсы

  1. Начало работы
    https://aws.amazon.com/deepracer/getting-started/
  2. Руководство по AWS
    https://github.com/aws-samples/aws-deepracer-workshops/blob/master/Workshops/2019-AWSSummits-AWSDeepRacerService/Lab1/Readme.md
  3. Создайте свой собственный трек https://medium.com/@autonomousracecarclub/guide-to-creating-a-full-re-invent-2018-deepracer-track-in-7-steps-979aff28a6f5
  4. Обучение AWS
    https://www.aws.training/Details/eLearning?id=32143