Идеи из литературы по RL для реального управления роботами

Роботы - обещание

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

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

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

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

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

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

Оказывается, существует огромная разница между работой на конвейере и на улице. На сборочной линии обычно можно точно контролировать все, что находится в окружающей среде, а задачи, которые должен выполнять робот, часто очень специфичны и узки. Несмотря на эти преимущества, разработка алгоритмов планирования движения и управления для промышленных роботов - долгий и утомительный процесс, требующий объединенных усилий многих экспертов в данной области. Это делает процесс очень дорогостоящим и длительным, что подчеркивает огромный разрыв между нашими текущими возможностями и возможностями, необходимыми для роботов, которым необходимо работать в гораздо более общих средах и выполнять множество задач. Если у нас возникают трудности с разработкой алгоритмов для этих узких задач, как мы можем масштабироваться до роботов для наших домов? Этим роботам придется перемещаться по часто сложному ландшафту городских пространств, справляться с грязным реальным миром (сравните мытье посуды, случайно оставленной в раковине, и окраску экстерьера автомобиля, точно размещенную и рассчитанную на сборочной линии) и взаимодействовать с людьми. при обеспечении их безопасности.

Успехи глубокого обучения и обучения с подкреплением в последние годы побудили многих исследователей разработать методы управления роботами с помощью RL. Мотивация очевидна: можем ли мы автоматизировать процесс разработки алгоритмов распознавания, планирования и управления, позволив роботу изучить их автономно? Если бы мы могли, мы бы решили сразу две наши проблемы; сэкономить время и энергию, которые мы тратим на разработку алгоритмов для проблем, которые мы знаем, как решать сегодня (промышленные роботы), и найти решения тех более сложных проблем, для которых у нас нет текущего решения.

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

Применение RL в робототехнике сопряжено с множеством проблем, и, на мой взгляд, многие из них можно грубо разделить на четыре категории:

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

Sim2Real: если мы хотим обучить наши политики в смоделированной среде, а затем развернуть их

Спецификация награды: при игре в шахматы или StarCraft2 цель очень ясна и легко определяется количественно; победа или поражение. Однако как вы количественно оцените уровень успеха в чем-то вроде мытья посуды? Или складное белье?

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

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

Примерная эффективность

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

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

В своей статье они утверждают, что во время обучения и планирования политика имеет тенденцию использовать те области пространства состояний, в которых изученная модель работает плохо, что уводит агента «с курса» из областей, в которых он может надежно планировать наперед. использование изученной модели для тех, в которых она полностью слепа, что делает ее неэффективной. Их решение относительно простое; изучите несколько различных моделей окружающей среды и во время планирования единообразно выбирайте из этих различных моделей, эффективно регулируя процесс обучения. Это позволило применять RL на основе моделей к более сложным задачам, чем это было возможно ранее, достигая асимптотической производительности, сопоставимой с алгоритмами без моделей, при меньшем количестве попыток.

Интересно, что недавний алгоритм, не использующий модели, продемонстрировал превосходную сложность выборки, настолько большую, что можно было обучить политику на реальном роботе за относительно короткий промежуток времени. В 2019 году исследователи из Беркли и Google Brain опубликовали статью, в которой описывают внеполитический алгоритм критики актеров под названием Soft Actor Critic (SAC). Они продемонстрировали, что этот алгоритм очень хорошо работает с низкой сложностью выборки на нескольких традиционных контрольных тестах RL, а затем приступили к обучению робота ходить всего за 4 часа взаимодействия с окружающей средой.

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

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

Sim2Real

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

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

Чтобы решить проблему с визуальным вводом, хорошая бумага от 2017 года от OpenAI и Беркли предлагает очень изящное решение; рандомизируйте визуальные входы, предоставляемые средой, и обучите политику, чтобы она была очень устойчивой к этим изменениям, в надежде, что реальный мир захочет просто еще один вариант моделирования.

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

Очень крутое продолжение этой работы было опубликовано в газете 2019 года. В этой статье исследователи использовали аналогичное рандомизированное моделирование, чтобы помочь обучить политику надежности, но одновременно обучили условный GAN (cGAN) преобразовывать рандомизированные изображения обратно в каноническую форму исходного моделирования. Во время тестирования cGAN преобразовал реальные изображения в каноническую форму изображения, с которой была знакома политика, тем самым помогая сократить пробел в Sim2Real. Используя этот метод, они обучили агента моделированию и использовали его на роботе с 70% успешностью. Используя некоторую тонкую настройку настоящего робота, они смогли достичь 91% и даже 99% успеха.

Спецификация вознаграждения

Допустим, вы хотите, чтобы ваш робот научился складывать книги на книжную полку, и что у вас есть алгоритм с очень низкой сложностью выборки. Как можно разработать для этого функцию вознаграждения? В очень крутой статье 2019 года исследователи из Беркли именно это и сделали. Вместо указания функции вознаграждения они предоставляют алгоритму несколько изображений состояния цели (упорядоченные книжные полки) и позволяют ему запрашивать пользователя (очень несколько раз), является ли текущее состояние целевым состоянием. Используя ранее упомянутый алгоритм Soft Actor Critic вместе с несколькими другими алгоритмами, они обучили свою политику на реальном роботе за несколько часов. Они тренировали разные правила для разных задач, таких как положить книги на полку и накинуть ткань на коробку.

Заключение

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