Просто попробуйте нашу новую среду LongiControl Environment

Здесь я представляю исследование, проведенное с Яном Доменом и Кристофом Фрибелем.

Мотивация

В последние годы наблюдается всплеск практических успехов в использовании обучения с подкреплением (RL) [1] для решения сложных игр и небольших задач [2] [3] [4]. Эти успехи в RL были частично достигнуты благодаря активным совместным усилиям сообщества RL по работе над общими симуляторами среды с открытым исходным кодом, такими как OpenAI's Gym [5], которые позволяют ускорить разработку и достоверные сравнения между различными, текущими состояниями. -искусственные стратегии.

Однако многие существующие среды содержат игры, а не реальные проблемы. Только недавние публикации инициируют переход к прикладному RL [6] [7]. В этой статье мы стремимся объединить мотивированные RL из реального мира с легким доступом к очень актуальной проблеме: продольному управлению автономным транспортным средством. За автономным вождением будущее, но до тех пор, пока автономные транспортные средства самостоятельно не найдут свое место в стохастическом реальном мире, предстоит решить множество проблем.

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

Прежде чем мы более подробно рассмотрим среду Longicontrol, мы кратко опишем основы RL ниже. Если вы знакомы с RL, смело переходите к разделу Продольный контроль.

Обучение с подкреплением (RL) - это прямой подход к обучению на основе взаимодействия с окружающей средой для достижения поставленной цели. В этом контексте учащийся и лицо, принимающее решение, называется агентом, а часть, с которой он взаимодействует, называется средой. Взаимодействие осуществляется в непрерывной форме, так что агент выбирает действия на каждом временном шаге t, среда реагирует на них и представляет новые ситуации агенту в форме состояния Sₜ₊₁ . В ответ на отзыв агента среда возвращает вознаграждение Rₜ₊₁ в виде числового скалярного значения. Агент стремится к максимальному увеличению вознаграждения с течением времени [1].

После введения идеи RL следует краткое объяснение некоторых терминов. Для более подробного ознакомления, пожалуйста, обратитесь к [1].

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

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

Исследование и эксплуатация. Основная проблема в обучении с подкреплением - это баланс исследования и эксплуатации. Чтобы получить высокие награды, агент должен выбирать действия, которые в прошлом оказались особенно полезными. Чтобы обнаружить такие действия в первую очередь, необходимо протестировать новые действия. Это означает, что агент должен использовать уже полученные знания, чтобы получить вознаграждение, и в то же время исследовать другие действия, чтобы иметь лучшую стратегию в будущем [1].

Q-Learning. Многие популярные алгоритмы обучения с подкреплением основаны на прямом изучении Q-значений. Один из самых простых - Q-Learning. Правила обновления следующие:

Q соответствует ожидаемому будущему доходу при выборе действия a в состоянии s и следовании политике от него. Награда за взаимодействие обозначается как r. Адаптация Q-функции контролируется скоростью обучения и коэффициентом дисконтирования. Политика подразумевается в Q-Value:

Глубокий детерминированный градиент политики (DDPG). Для поиска оптимального действия требуется эффективная оценка Q-функции. Хотя это просто для дискретных и небольших пространств действий (вычисляются все действия и выбираются те, для которых выбрано наибольшее значение), проблема становится неразрешимой, если пространство действий является непрерывным. Однако во многих приложениях, таких как робототехника и управление энергопотреблением, дискретизация нежелательна, поскольку они отрицательно влияют на качество решения и в то же время требуют большого количества памяти и вычислительной мощности в случае точной дискретизации. . Lillicrap et al. [8] представили алгоритм под названием DDPG, который может решать непрерывные задачи с помощью глубокого обучения с подкреплением. В отличие от Q-Learning, здесь используется архитектура «актер-критик». Подробное описание можно найти в [8].

Продольный контроль

В области продольного управления цель состоит в том, чтобы транспортное средство завершило однополосный маршрут за заданное время с максимальной энергоэффективностью, не вызывая аварий. Таким образом, это соответствует минимизации полной энергии E, используемой в интервале от t₀ до T как функции мощности P:

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

Где v - скорость, a - ускорение, а a_dot - рывок, где () ₗᵢₘ, ₘᵢₙ и () ₗᵢₘ, ₘₐₓ представляют нижний и верхний пределы соответственно.

Подходы к планированию

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

Вы, вероятно, задаетесь вопросом, какой подход выбрать, если маршрут неизвестен с уверенностью, и особенно если в районе перед вами есть другие участники дорожного движения. С одной стороны, ограничения скорости в основном известны, с другой стороны, поведение других участников дорожного движения очень стохастично. Обычно этого нельзя предвидеть. Таким образом, необходим другой подход. Поскольку обучение с подкреплением способно решать стохастические задачи, это многообещающий подход к этой проблеме. А поскольку было бы слишком опасно и неэффективно обучать автономное транспортное средство непосредственно в реальном движении, симуляция предлагает решение. Там алгоритмы можно безопасно разрабатывать и тестировать. Следовательно, мы окажемся в нашей новой среде RL, которая будет представлена ​​ниже.

Longicontrol Environment

Как мы видели ранее, установка RL состоит из двух частей: агента и среды. Разберемся с окружающей средой поближе. Он не зависит от агента. Это означает, что вы можете тестировать любые алгоритмы для агента.

Окружающая среда состоит из двух частей. Автомобиль и среда вождения. В первую очередь следует сосредоточить внимание на транспортном средстве.

Движение автомобиля упрощено, смоделировано равноускоренное. Моделирование основано на дискретизации по времени t = 0,1 с. Текущая скорость vₜ и позиция xₜ рассчитываются следующим образом:

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

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

На рис. 3 показан пример реализации дорожки в моделировании. Среда вождения моделируется таким образом, что расстояние является произвольно большим, а произвольно установленные ограничения скорости определяют произвольную допустимую скорость. Это можно считать эквивалентом стохастически смоделированного трафика. На расстояние до 150 м водитель транспортного средства получает информацию о предстоящих ограничениях скорости, так что вождение в прямом направлении возможно. В результате возникает проблема постоянного контроля. Ниже перечислены отдельные компоненты состояния.

Состояния

Состояние состоит из пяти частей:

  • Скорость
  • Предыдущее ускорение
  • Текущее ограничение скорости
  • Будущее ограничение скорости
  • Будущее ограничение скорости

Текущие ограничения скорости и скорости интуитивно понятны. Удержание последнего разгона в состоянии, наверное, сразу не для всех очевидно. Это нужно для расчета рывка. Размер, который описывает, насколько плавно автомобиль ускоряется.

Действие а

Агент выбирает действие в диапазоне значений [-1,1]. Таким образом, агент может выбирать между максимальным и минимальным ускорением автомобиля в зависимости от состояния. Этот тип моделирования приводит к тому, что агент может выбирать только допустимые действия.

Награда r

Функция вознаграждения определяет обратную связь, которую агент получает для каждого действия, и является единственным способом контролировать поведение агента. Это один из самых важных и сложных компонентов среды RL. Это особенно сложно в представленной здесь среде, потому что это не может быть просто представлено скалярным числом. Если бы только потребление энергии было вознаграждено (наказано), автомобиль просто остановился бы. Агент узнает, что с точки зрения энергопотребления эффективнее всего просто не садиться за руль. Хотя это правда, и мы все должны чаще использовать наши велосипеды, мы все же хотим, чтобы агент ездил в нашей среде. Итак, нам нужно вознаграждение, которое сделает вождение более привлекательным для агента. При сравнении различных подходов разница между текущей скоростью и текущим ограничением скорости оказалась особенно подходящей. Минимизируя разницу, агент автоматически приходит в движение. Чтобы по-прежнему учитывать потребление энергии, компонент вознаграждения поддерживается за счет потребления энергии. Третий компонент вознаграждения вызван рывком. Это связано с тем, что наш автономный автомобиль также должен уметь комфортно управлять. Чтобы окончательно наказать и за нарушение скоростного режима, добавлена ​​четвертая часть вознаграждения.

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

Чтобы иметь возможность вообще оценить влияние различных весов, необходим действующий процесс обучения RL. Об этом следует подумать дальше.

Образцовый процесс обучения

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

После некоторого прогресса он начинает водить, но игнорирует ограничения скорости. Это нежелательно. Поэтому даем ему тренироваться еще дольше:

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

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

Многоцелевая оптимизация

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

Пример вознаграждения 1. Если применяется только вознаграждение за движение - отклонение от разрешенной скорости: агент нарушает ограничения скорости.

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

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

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

Резюме

В конце статьи мы подытожим наиболее важные моменты.

С помощью предлагаемой среды RL, адаптированной к стандартизации OpenAI Gym, мы показываем, что легко создавать прототипы и реализовывать современные алгоритмы RL. Кроме того, среда LongiControl подходит для различных обследований. Помимо сравнения алгоритмов RL и оценки алгоритмов безопасности, также возможны исследования в области многоцелевого обучения с подкреплением. Дальнейшие возможные цели исследования - это сравнение с алгоритмами планирования для известных маршрутов, исследование влияния неопределенностей модели и рассмотрение очень долгосрочных целей, таких как прибытие в определенное время.

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

Здесь Ссылка на GitHub, Бумага и мой профиль LinkedIn.

Приятного использования😉

использованная литература

[1] Р. Саттон и А. Барто, Введение в обучение с подкреплением (1988), MIT Press.

[2] В. Мних, К. Кавукчуоглу, Д. Сильвер, А. Грейвс, И. Антоноглу, Д. Виерстра и М. А. Ридмиллер, Игра в Atari с глубоким обучением с подкреплением (2013), CoRR

[3] Д. Сильвер, Дж. Шриттвизер, К. Симонян, К., И. Антоноглу, А. Хуанг, А. Гез, Т. Хуберт, Л. Бейкер, М. Лай, А. Болтон и др., Мастеринг игра в ход без человеческого знания (2017), Природа

[4] Р. Лисснер и К. Шроер, А. Дитерманн и Б. Бекер, Глубокое обучение с подкреплением для расширенного управления энергопотреблением гибридных электромобилей (2018), ICAART

[5] Дж. Брокман, В. Чунг, Л. Петтерссон, Дж. Шнайдер, Дж. Шульман, Дж. Танг и В. Заремба, OpenAI Gym. CoRR, 2016.

[6] М. Андрыхович, Б. Бейкер, М. Хоцей, Р. Йозефович и др., Изучение ловких манипуляций руками. CoRR, 2018.

[7] Ф. Рихтер, Р. К. Ороско, М. К. Йип, Среды обучения с подкреплением с открытым исходным кодом для хирургической робототехники, CoRR, 2019.

[8] T. P. Lillicrap et al., Непрерывный контроль с глубоким обучением с подкреплением (2015), CoRR

[9] С. Убель, Eine im Hybridfahrzeug einsetzbare Energiemanagementstrategie mit effizienter Längsführung (2018), Технический университет Дрездена.