Эпизод 2 из серии «Приглашение всем начинающим практикам RL»

В первой части этой серии мы узнали о некоторых важных терминах и концепциях обучения с подкреплением (RL). Мы также узнали, как RL работает на высоком уровне.

Прежде чем мы углубимся в теорию, лежащую в основе RL, я приглашаю вас узнать вместе со мной о RL на основе его СУПЕР крутого приложения AWS DeepRacer.

Что такое AWS DeepRacer?

AWS DeepRacer - это автономный гоночный автомобиль в масштабе 1/18, разработанный для тестирования моделей RL во время гонок на физическом треке. В AWS DeepRacer есть три типа гонок:

  1. Гонка на время - агент мчится на время по хорошо обозначенной трассе без неподвижных препятствий и движущихся участников.
  2. Объезд объекта - автомобиль движется по двухполосной трассе с фиксированным количеством неподвижных препятствий, размещенных вдоль трассы.
  3. Соревнования лицом к лицу - автомобиль соревнуется с другими движущимися автомобилями по двухполосной трассе.

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

Я предполагал, что вы знакомы с тем, как работает RL на высоком уровне. Если нет, прочтите первую статью из этой серии, чтобы узнать об этом подробнее.

В AWS DeepRacer мы хотим, чтобы наше транспортное средство (агент) самостоятельно участвовало в гонке по треку (среде), получая при этом максимальное совокупное вознаграждение, чтобы мы могли достичь нашей цели. - чтобы выиграть гонку на время, или избежать всех препятствий, или выиграть гонку против другого транспортного средства.

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

А как насчет государства? Здесь состояние - это изображение, снятое передней камерой транспортного средства. Автомобиль будет делать изображения (160x120) со скоростью около 15 кадров в секунду.

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

Следует отметить: чем более детализировано пространство действий, тем дольше модель будет сходиться.

Что касается вознаграждения, оно возвращается функцией вознаграждения, которая просто является функцией Python, которая принимает некоторые параметры на основе захваченного изображения (состояние) в качестве входных данных. В AWS DeepRacer есть несколько важных параметров:

  1. Положение на ходу
  2. Заголовок
  3. Путевые точки
  4. Ширина колеи
  5. Расстояние от средней линии
  6. Все колеса на трассе
  7. Скорость
  8. Угол поворота.

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

Как проходит тренировочный процесс?

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

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

Но… Что такое сеть?

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

В AWS DeepRacer модель NN - это, по сути, CNN + Feedforward NN, которая получила опыт (гиперпараметры) из определенного эпизода в качестве входных данных. После обучения модель отправляет результат обратно агенту для сбора дополнительных данных.

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

Чем больше энтропия, тем более случайны действия агента.

В зависимости от стратегии разведки и эксплуатации транспортное средство может иметь небольшую вероятность совершать случайные действия для исследования окружающей среды. Здесь есть хорошая статья об энтропии в ЧБ.

Подробнее об AWS DeepRacer

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

Заключительные слова

Поздравляю, вы идете в ногу со временем !!

Прочитав эту статью, вы должны были знать, как RL применяется в автономном гоночном автомобиле. Помните, что наше путешествие по RL все еще находится на начальной стадии! У меня еще есть много материалов, которыми я хочу с вами поделиться. Итак, если вам нравится контент и вы хотите продолжить обучение со мной в следующие 2 месяца, подпишитесь на мою учетную запись Medium, чтобы получать уведомления о моих будущих публикациях!

Мы узнаем больше о таксономии алгоритмов RL с высоты птичьего полета в следующей статье. Зацени!

об авторе

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

Луи работал стажером по аналитике / машинному обучению в различных отраслях промышленности, включая OTA (Traveloka), электронную коммерцию (Tokopedia), FinTech ( Сделай это), приложение Smart City (Qlue Smart City), и в настоящее время в качестве консультанта по науке о данных в Всемирном банке .

Посетите сайт Луи, чтобы узнать о нем больше! Наконец, если у вас есть какие-либо вопросы или темы для обсуждения, свяжитесь с Луи через LinkedIn.