Robot Learning – Telegram
Robot Learning
81 subscribers
2 photos
37 links
О робототехнике и AI в робототехнике
Download Telegram
Channel created
Недавно был на воркшопе по AI и робототехнике, организованном Университетом Тилбурга. Удивительно, что такому непримечательному университету удалось собрать таких известных спикеров, как Francesco Nori (глава робототехники в Deepmind), Sergey Levine, Roberto Calandra, Jens Kober и еще нескольких достаточно известных людей.

Francesco Nori и Sergey Levine говорили про generalist robot, , которые могут решать широкий спектр задач, определённых с помощью естественного языка. В качестве архитектур упоминали "robot transformer" (RT-2) и другие похожие модели на основе трансформера. Несмотря на большие модели, объёмы данных и впечатляющие видео, success rate у этих моделей не превышает 70%. Roberto Calandra пошутил, что если робот-бариста с success rate 95% будет разбивать 10 стаканов в день, то нужен ли он мне вообще. В общем, ребята хотят make ChatGPT moment for robotics happen!

Roberto Calandra, Jens Kober и другие больше поддерживали идею о специализированных роботах, которые могут очень хорошо решать узкий спектр задач (success rate 99.99%), при этом используя очень мало данных: например, 5 демонстраций вместо 150. Аргумент у этих ребят следующий: если мы научим роботов делать какие-то задачи очень хорошо, то сможем начать продавать их и собирать больше данных. И по мере улучшения контроллеров сможем обновлять программное обеспечение уже проданных роботов. Более того, на заводах роботам не нужно решать огромный спектр задач.

Вы что думаете, надо ли гнаться за generalist robots?
🔥4
Интересная статья от Мелиссы Хейккиля про "ChatGPT moment" в робототехнике.

TL;DR:

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

AI пытается решить проблемы робототехники с помощью обучения с подкреплением и обучения по демонстрациям. В первом случае (Quadruped Parkour) требуются точные и быстрые симуляторы в дополнение к трансферу из симуляции в реальность. Во втором случае (Mobilee ALOHA, Diffusion Policy) нужно очень много данных, которые используются для тренировки мультимодальных диффузионных моделей или трансформеров. Такие гиганты области, как Расс Тедрейк, верят, что обучение по демонстрациям может привести нас далеко. Но на данный момент основным сдерживающим фактором прогресса являются данные, поэтому появляются такие проекты, как Open-X Embodiment — своего рода ImageNet для робототехники.
💯3
После недавней отставки гидравлического Атласа, появился его электрический преемник. Говорят, что электрический Атлас мощнее гидравлического! Более того, для управления помимо model predictive control используют AI (reinforcement learning и computer vision).

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


Подробная статья про новый Атлас
🤯3
Channel photo updated
Про проблемы в робототехнике

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

Во-вторых, дизайн функции вознаграждения: каким должно быть вознаграждение в задаче намазывания джема на хлеб? В самом простом случае можно просто дать вознаграждение 1 в случае успеха и 0 во всех других случаях. Но с таким разреженным вознаграждением обучение будет очень долгим.

У классических методов управления на основе оптимизации, таких как model predictive control, есть еще одна проблема: отсутствие градиентов в задачах с контактами. Если роботу нужно толкнуть объект на столе, то без контакта с объектом у контроллера нет градиента, который мог бы указать, куда двигаться.

Пишите в комментариях, если я что-то упустил.
🔥3🫡1
Про imitation learning

В предыдущем посте я писал про несколько проблем, из-за которых прогресс в робототехнике не был таким существенным, как в AI. Обучение по демонстрациям, стоящее за недавними впечатляющими результатами, такими как ALOHA, RT-2 и Diffusion Policies, пытается обойти эти проблемы и свести робототехнику (и управление) к обучению с учителем. Теперь не нужны симуляторы, reward engineering и гладкие градиенты, достаточно иметь много демонстраций, желательно на самих роботах, например, с помощью телеуправления.

Если данные уже собраны, например, в виде D={(s, a)}, то мы можем обучить регрессивную модель, которая для любого состояния s будет выдавать действие a: a = f(s). Модель может быть как детерминированной, так и стохастической; непрерывной или дискретной в зависимости от задачи.

Какие же могут возникнуть проблемы у этого метода? Самая большая проблема — это накопление ошибок, которое может привести к катастрофическим последствиям для робота и людей вокруг. Если подробнее, то на каждом шагу наш агент (контроллер) будет делать небольшую ошибку err в управляющем действии a. В результате робот выйдет за рамки распределения тренировочных данных и начнет экстраполировать. Это явление называют "сдвигом распределения" (distribution shift) и ведет к непредсказуемым последствиям.

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

Последний и самый эффективный способ решения проблемы сдвига распределения — это интерактивное обучение, например, алгоритм Data Aggregation (DAgger). Для этого нам нужен доступ к эксперту, что, к сожалению, не всегда возможно. Процесс работает так: собираются данные и обучается агент; просим агента выполнить задачу и записываем данные; просим эксперта оценить, как бы он поступил в тех ситуациях, в которых оказался агент; добавляем новые данные в исходный датасет; обучаем агента на всех данных; повторяем ... . Видно, что эксперт как-бы учит агента корректировать свои ошибки.
👍4🔥2🫡2🥱1😎1
SpaceHopper

Студенты из ETH Zurich разработали робота SpaceHopper, способного передвигаться в условиях низкой гравитации с помощью прыжков. Предполагается, что он будет использоваться в будущих космических миссиях для исследования малых небесных тел.

Контроллер для передвижения был создан с помощью обучения с подкреплением без модели, используя вариацию алгоритма proximal policy optimization. Для тренировки, конечно же, использовали симуляцию (IsaacGym). Для достижения sim2real использовали domain randomization: меняли массу и центр масс звеньев, трение в шарнирах и коэффициенты низкоуровневого PD контроллера.

preprint
🥰32🤯2
Whole-body legged loco-manipulation

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

Недавно китайские учёные представили новые результаты по этой теме. Они разработали иерархический контроллер с высокоуровневыми и низкоуровневыми уровнями управления. Обе стратегии обучались методом обучения с подкреплением без модели (proximal policy optimization) в симуляторе. Подобно другим недавним похожим исследованиям, авторы использовали метод привилегированного учителя: во время тренировок агент имеет доступ ко всей информации о роботе и окружающей среде, которая кодируется в латентный вектор; затем обучается студент, имеющий доступ только к наблюдениям, например, с камеры, который учится воспроизводить латентный вектор. Этот метод позволяет эффективно переходить от симуляции к реальности без значительной потери качества.

сайт проекта
preprint
🫡32
Locoman

Ребята из университета Карнеги-Меллон, Вашингтонского университета и DeepMind представили новый дизайн, который позволяет четырехногому роботу манипулировать разными объектами. В отличие от "классического" дизайна, когда роботизированная рука располагается на спине у робота, например, как у робота из прошлого поста, здесь маленькие шестистепенные робо-руки находятся на передних ногах робота.

Демо проекта выглядит впечатляюще, я даже подумал, что результаты получены с помощью обучения с подкреплением. Однако оказалось, что низкоуровневый контроллер — это так называемый whole-body controller, полностью основанный на оптимизации, модели робота и робо-рук. Верхнеуровневый контроллер — это конечный автомат, который выбирает один из нескольких режимов: передвижение, манипуляция одной рукой, двумя руками и несколько других режимов.

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

preprint
2🫡2
Знакомимся с обучением с подкреплением

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

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

RL может быть как на основе модели, так и без модели. Существование RL без модели — это, в некоторой степени, философский вопрос: можно пересчитать по пальцам работы, в которых RL без модели обучали на реальном роботе. В основном, когда говорят об RL без модели, подразумевают, что агент обучался в симуляции. Что такое симулятор, если не модель?

Как правило, RL на основе модели работает следующим образом:

1. Собираем данные с помощью рандомного (эвристического) контроллера.
2. Тренируем модель и обучаем агента (контроллер).
3. Деплоим агента на железе и собираем новые данные.
4. Улучшаем модель на основе новых данных с последующим улучшением агента.
5. Повторяем шаги 3 и 4, пока не будем довольны агентом.

RL на основе модели является более эффективным (sample efficient), то есть позволяет быстрее получить желаемое поведение.

В RL без модели существуют два подхода к обучению моделей: прямое оптимизирование параметризованного контроллера (policy optimization) или косвенное через оптимизацию функции ценности (value function). В RL на основе модели, помимо этих подходов, можно использовать управление на основе прогнозирующих моделей (model predictive control). Подробнее обо всех этих подходах поговорим в следующий раз.
👍4🫡32
Where’s RobotGPT? By Dieter Fox

Недавно Дитер Фокс, глава отдела робототехники в Nvidia, прочитал лекцию в Университете Карнеги-Меллона на тему: «Где же RobotGPT?». В этом посте я постараюсь резюмировать основные идеи его выступления.

Существуют две основные причины, почему RobotGPT до сих пор не появился. Первая причина — это парадокс Моравека: низкоуровневым сенсомоторным операциям сложнее научиться, чем высококогнитивным. Вторая причина — отсутствие данных, сопоставимых по объему с теми, на которых обучались большие языковые модели.

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

Диетер подробно рассказал о подходе своей команды к генерации данных с использованием симуляции:

1. Генерация сцен и задач: случайным образом создается сцена с различными объектами, и формируются задачи, связанные с этими объектами, включая вознаграждение. Для этого можно применять большие языковые модели (LLM).

2. Создание экспертов: они решают задачи, используя привилегированную информацию, такую как точное положение и свойства объектов. Команда Nvidia использует Task and Motion Planning (TAMP) ([PDDLStream](https://github.com/caelan/pddlstream)), скорее всего, благодаря скорости по сравнению с RL.

3. Обучение студентов: студенты имеют доступ только к данным с камер и сенсоров. Они обучаются на данных, генерированных экспертами, а также на реальных данных, если они доступны (например, с телеуправляемых роботов). Это, по сути, обучение по демонстрациям экспертов, используя либо трансформеры, либо диффузионные модели.

4. Инфраструктура: симулятор и визуализация, организация сбора и хранения данных, масштабированное обучение моделей и тестирование на реальных роботах.
👍42🫡1
Hugging Face представил LeRobot — передовые алгоритмы машинного обучения для робототехники на базе PyTorch. Цель проекта — снизить порог входа в робототехнику, чтобы больше людей могли внести свой вклад в эту область. Основной акцент сделан на обучение по демонстрациям и обучение с подкреплением. Репозиторий включает в себя предтренированные модели, датасеты, среды для обучения агентов, а также различные инструменты для реализации собственных моделей.

На данный момент реализованы три архитектуры: Action Chunking with Transformers (ACT) из статьи ALOHA, Diffusion Policy, и temporal difference MPC (TDMPC), один из лучших алгоритмов обучения с подкреплением на основе модели. В репозитории представлены примеры скачивания датасетов, оценки обученных моделей и их тренировки.

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