Объяснение 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
Советы и хитрости
- Делайте ваши модели простыми, модель выше ориентирована на то, чтобы автомобиль оставался на центральной линии, это отличное место для начала, не изменит ничего из вышеперечисленного для новичка.
- Не награждайте отрицательным смещением, это может заставить машину финишировать раньше, чтобы избежать их, и сокращает ценные тренировочные эпизоды. Наказать вместо этого умножением на десятичные числа.
- Просмотрите журналы своих тренировок. Они также находятся в CloudWatch, но не очень удобочитаемы.
https://codelikeamother.uk/using-jupyter-notebook-for-analysing-deepracer-s-logs
4. Тренируйте свои модели в течение 1-2 часов, вы можете клонировать их, чтобы продолжить обучение, но 1-2 часа являются хорошим индикатором вашего прогресса на трассе. (См. Слева).
Мой опыт
Мне действительно понравился опыт DeepRacer как увлекательное соревнование, но это больше способ понять RL и машинное обучение в целом. На изучение обширного материала ушло много времени, но оно того стоит. Если вы хотите узнать больше, просто дайте мне знать!
Лучший способ принять участие - участвовать в гонках на модели, которую вы сделали сами, и тогда вас зацепят, и это хорошо.
В будущем я планирую написать расширенное руководство для гонщиков, чтобы сосредоточьтесь на способах быть конкурентоспособными и эффективными с вашим временем, надеюсь, они сработают для нас в конце октября :)
Спасибо!
Полезные ресурсы
- Начало работы
https://aws.amazon.com/deepracer/getting-started/ - Руководство по AWS
https://github.com/aws-samples/aws-deepracer-workshops/blob/master/Workshops/2019-AWSSummits-AWSDeepRacerService/Lab1/Readme.md - Создайте свой собственный трек https://medium.com/@autonomousracecarclub/guide-to-creating-a-full-re-invent-2018-deepracer-track-in-7-steps-979aff28a6f5
- Обучение AWS
https://www.aws.training/Details/eLearning?id=32143