Недавно был на воркшопе по 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?
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 для робототехники.
TL;DR:
Для полной автономии в неструктурированных средах, таких как дома, роботам не хватает понимания окружения и законов физики мира.
AI пытается решить проблемы робототехники с помощью обучения с подкреплением и обучения по демонстрациям. В первом случае (Quadruped Parkour) требуются точные и быстрые симуляторы в дополнение к трансферу из симуляции в реальность. Во втором случае (Mobilee ALOHA, Diffusion Policy) нужно очень много данных, которые используются для тренировки мультимодальных диффузионных моделей или трансформеров. Такие гиганты области, как Расс Тедрейк, верят, что обучение по демонстрациям может привести нас далеко. Но на данный момент основным сдерживающим фактором прогресса являются данные, поэтому появляются такие проекты, как Open-X Embodiment — своего рода ImageNet для робототехники.
MIT Technology Review
Is robotics about to have its own ChatGPT moment?
Researchers are using generative AI and other techniques to teach robots new skills—including tasks they could perform in homes.
💯3
После недавней отставки гидравлического Атласа, появился его электрический преемник. Говорят, что электрический Атлас мощнее гидравлического! Более того, для управления помимо model predictive control используют AI (reinforcement learning и computer vision).
Boston Dynamics позиционируют новый Атлас как продукт, а не исследовательскую платформу. В начале следующего года его будут тестировать на заводах Hyundai. Если новый Атлас перенял все навыки своего старшего брата, то может быть действительно полезным в индустрии.
Подробная статья про новый Атлас
Boston Dynamics позиционируют новый Атлас как продукт, а не исследовательскую платформу. В начале следующего года его будут тестировать на заводах Hyundai. Если новый Атлас перенял все навыки своего старшего брата, то может быть действительно полезным в индустрии.
Подробная статья про новый Атлас
YouTube
All New Atlas | Boston Dynamics
We are unveiling the next generation of humanoid robots—a fully electric Atlas robot designed for real-world applications. The new Atlas builds on decades of research and furthers our commitment to delivering the most capable, useful mobile robots solving…
🤯3
Про проблемы в робототехнике
Почему робототехника и управление так сложны? Во-первых, для управления роботами с помощью классических методов и обучения с подкреплением требуются точные и быстрые симуляторы. Мы можем быстро и достаточно точно моделировать твердые тела, но когда в игру вступают контакты со средой и деформируемые тела, мы теряем точность и быстроту моделирования.
Во-вторых, дизайн функции вознаграждения: каким должно быть вознаграждение в задаче намазывания джема на хлеб? В самом простом случае можно просто дать вознаграждение 1 в случае успеха и 0 во всех других случаях. Но с таким разреженным вознаграждением обучение будет очень долгим.
У классических методов управления на основе оптимизации, таких как model predictive control, есть еще одна проблема: отсутствие градиентов в задачах с контактами. Если роботу нужно толкнуть объект на столе, то без контакта с объектом у контроллера нет градиента, который мог бы указать, куда двигаться.
Пишите в комментариях, если я что-то упустил.
Почему робототехника и управление так сложны? Во-первых, для управления роботами с помощью классических методов и обучения с подкреплением требуются точные и быстрые симуляторы. Мы можем быстро и достаточно точно моделировать твердые тела, но когда в игру вступают контакты со средой и деформируемые тела, мы теряем точность и быстроту моделирования.
Во-вторых, дизайн функции вознаграждения: каким должно быть вознаграждение в задаче намазывания джема на хлеб? В самом простом случае можно просто дать вознаграждение 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). Для этого нам нужен доступ к эксперту, что, к сожалению, не всегда возможно. Процесс работает так: собираются данные и обучается агент; просим агента выполнить задачу и записываем данные; просим эксперта оценить, как бы он поступил в тех ситуациях, в которых оказался агент; добавляем новые данные в исходный датасет; обучаем агента на всех данных; повторяем ... . Видно, что эксперт как-бы учит агента корректировать свои ошибки.
В предыдущем посте я писал про несколько проблем, из-за которых прогресс в робототехнике не был таким существенным, как в 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
Студенты из ETH Zurich разработали робота SpaceHopper, способного передвигаться в условиях низкой гравитации с помощью прыжков. Предполагается, что он будет использоваться в будущих космических миссиях для исследования малых небесных тел.
Контроллер для передвижения был создан с помощью обучения с подкреплением без модели, используя вариацию алгоритма proximal policy optimization. Для тренировки, конечно же, использовали симуляцию (IsaacGym). Для достижения sim2real использовали domain randomization: меняли массу и центр масс звеньев, трение в шарнирах и коэффициенты низкоуровневого PD контроллера.
preprint
YouTube
SpaceHopper - The robot that learned to move in weightlessness
In the SpaceHopper project, students at ETH Zurich developed a robot capable of moving in low gravity environments through hopping motions. It is intended to be used in future space missions to explore small celestial bodies. The exploration of asteroids…
🥰3❤2🤯2
Whole-body legged loco-manipulation
За последний год появилось несколько интересных работ на тему локо-манипуляции. Это когда четырёхногий робот с роботизированной рукой должен выполнять задачи, включающие как передвижение, так и манипуляцию. Простой пример — четырёхногий робот, который гонится за бабочкой и пытается её поймать.
Недавно китайские учёные представили новые результаты по этой теме. Они разработали иерархический контроллер с высокоуровневыми и низкоуровневыми уровнями управления. Обе стратегии обучались методом обучения с подкреплением без модели (proximal policy optimization) в симуляторе. Подобно другим недавним похожим исследованиям, авторы использовали метод привилегированного учителя: во время тренировок агент имеет доступ ко всей информации о роботе и окружающей среде, которая кодируется в латентный вектор; затем обучается студент, имеющий доступ только к наблюдениям, например, с камеры, который учится воспроизводить латентный вектор. Этот метод позволяет эффективно переходить от симуляции к реальности без значительной потери качества.
сайт проекта
preprint
За последний год появилось несколько интересных работ на тему локо-манипуляции. Это когда четырёхногий робот с роботизированной рукой должен выполнять задачи, включающие как передвижение, так и манипуляцию. Простой пример — четырёхногий робот, который гонится за бабочкой и пытается её поймать.
Недавно китайские учёные представили новые результаты по этой теме. Они разработали иерархический контроллер с высокоуровневыми и низкоуровневыми уровнями управления. Обе стратегии обучались методом обучения с подкреплением без модели (proximal policy optimization) в симуляторе. Подобно другим недавним похожим исследованиям, авторы использовали метод привилегированного учителя: во время тренировок агент имеет доступ ко всей информации о роботе и окружающей среде, которая кодируется в латентный вектор; затем обучается студент, имеющий доступ только к наблюдениям, например, с камеры, который учится воспроизводить латентный вектор. Этот метод позволяет эффективно переходить от симуляции к реальности без значительной потери качества.
сайт проекта
preprint
YouTube
Visual Whole-Body Controlfor Legged Loco-Manipulation
Website: wholebody-b1.github.io
TLDR: A legged robot learning whole-body control for mobile manipulation.
Authors: Minghuan Liu*, Zixuan Chen*, Xuxin Cheng, Yandong Ji, Ruihan Yang, Xiaolong Wang
Abstract: We study the problem of mobile manipulation using…
TLDR: A legged robot learning whole-body control for mobile manipulation.
Authors: Minghuan Liu*, Zixuan Chen*, Xuxin Cheng, Yandong Ji, Ruihan Yang, Xiaolong Wang
Abstract: We study the problem of mobile manipulation using…
🫡3❤2
Locoman
Ребята из университета Карнеги-Меллон, Вашингтонского университета и DeepMind представили новый дизайн, который позволяет четырехногому роботу манипулировать разными объектами. В отличие от "классического" дизайна, когда роботизированная рука располагается на спине у робота, например, как у робота из прошлого поста, здесь маленькие шестистепенные робо-руки находятся на передних ногах робота.
Демо проекта выглядит впечатляюще, я даже подумал, что результаты получены с помощью обучения с подкреплением. Однако оказалось, что низкоуровневый контроллер — это так называемый whole-body controller, полностью основанный на оптимизации, модели робота и робо-рук. Верхнеуровневый контроллер — это конечный автомат, который выбирает один из нескольких режимов: передвижение, манипуляция одной рукой, двумя руками и несколько других режимов.
К сожалению, самые интересные результаты — открывание шкафов и вставление вилки в розетку — были получены с помощью телеуправления, а не автономно. Поэтому делаем следующие выводы: а) не ведёмся на видео и читаем статью; б) при хорошей инженерии, с помощью оптимизационных методов можно добиваться отличных результатов.
preprint
Ребята из университета Карнеги-Меллон, Вашингтонского университета и DeepMind представили новый дизайн, который позволяет четырехногому роботу манипулировать разными объектами. В отличие от "классического" дизайна, когда роботизированная рука располагается на спине у робота, например, как у робота из прошлого поста, здесь маленькие шестистепенные робо-руки находятся на передних ногах робота.
Демо проекта выглядит впечатляюще, я даже подумал, что результаты получены с помощью обучения с подкреплением. Однако оказалось, что низкоуровневый контроллер — это так называемый whole-body controller, полностью основанный на оптимизации, модели робота и робо-рук. Верхнеуровневый контроллер — это конечный автомат, который выбирает один из нескольких режимов: передвижение, манипуляция одной рукой, двумя руками и несколько других режимов.
К сожалению, самые интересные результаты — открывание шкафов и вставление вилки в розетку — были получены с помощью телеуправления, а не автономно. Поэтому делаем следующие выводы: а) не ведёмся на видео и читаем статью; б) при хорошей инженерии, с помощью оптимизационных методов можно добиваться отличных результатов.
preprint
YouTube
LocoMan: Advancing Versatile Quadrupedal Dexterity with Lightweight Loco-Manipulators
Abstract: Quadrupedal robots have emerged as versatile agents capable of locomoting and manipulating in complex environments. Traditional designs typically rely on the robot's inherent body parts or incorporate top-mounted arms for manipulation tasks. However…
❤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). Подробнее обо всех этих подходах поговорим в следующий раз.
За короткое время существования канала я уже несколько раз упомянул обучение с подкреплением (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🫡3❤2
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. Инфраструктура: симулятор и визуализация, организация сбора и хранения данных, масштабированное обучение моделей и тестирование на реальных роботах.
Недавно Дитер Фокс, глава отдела робототехники в Nvidia, прочитал лекцию в Университете Карнеги-Меллона на тему: «Где же RobotGPT?». В этом посте я постараюсь резюмировать основные идеи его выступления.
Существуют две основные причины, почему RobotGPT до сих пор не появился. Первая причина — это парадокс Моравека: низкоуровневым сенсомоторным операциям сложнее научиться, чем высококогнитивным. Вторая причина — отсутствие данных, сопоставимых по объему с теми, на которых обучались большие языковые модели.
Дитер считает, что если собрать достаточно данных, то можно обучить модель, способную решать задачи манипуляции в робототехнике. Есть три способа сбора данных: использовать видео из интернета, генерировать данные на роботах с помощью телеуправления или создавать данные в симуляции. Первый вариант, хотя и перспективен, на данный момент не подходит из-за большой разницы между человеческими руками и робо-грипперами. Второй вариант сегодня наиболее популярен, но, по словам Дитера, разнообразие таких данных ограничено. Третий способ предлагает преимущества в плане дешевизны, масштабируемости и воспроизводимости, но имеет недостаток в виде sim2real gap.
Диетер подробно рассказал о подходе своей команды к генерации данных с использованием симуляции:
1. Генерация сцен и задач: случайным образом создается сцена с различными объектами, и формируются задачи, связанные с этими объектами, включая вознаграждение. Для этого можно применять большие языковые модели (LLM).
2. Создание экспертов: они решают задачи, используя привилегированную информацию, такую как точное положение и свойства объектов. Команда Nvidia использует Task and Motion Planning (TAMP) ([PDDLStream](https://github.com/caelan/pddlstream)), скорее всего, благодаря скорости по сравнению с RL.
3. Обучение студентов: студенты имеют доступ только к данным с камер и сенсоров. Они обучаются на данных, генерированных экспертами, а также на реальных данных, если они доступны (например, с телеуправляемых роботов). Это, по сути, обучение по демонстрациям экспертов, используя либо трансформеры, либо диффузионные модели.
4. Инфраструктура: симулятор и визуализация, организация сбора и хранения данных, масштабированное обучение моделей и тестирование на реальных роботах.
YouTube
RI Seminar: Dieter Fox: Where's RobotGPT?
https://www.ri.cmu.edu/event/ri-seminar-with-dieter-fox/
Dieter Fox
Professor, University of Washington
Senior Director of Robotics Research, NVIDIA
Where is RobotGPT?
Abstract:
The last years have seen astonishing progress in the capabilities of generative…
Dieter Fox
Professor, University of Washington
Senior Director of Robotics Research, NVIDIA
Where is RobotGPT?
Abstract:
The last years have seen astonishing progress in the capabilities of generative…
👍4❤2🫡1
Hugging Face представил LeRobot — передовые алгоритмы машинного обучения для робототехники на базе PyTorch. Цель проекта — снизить порог входа в робототехнику, чтобы больше людей могли внести свой вклад в эту область. Основной акцент сделан на обучение по демонстрациям и обучение с подкреплением. Репозиторий включает в себя предтренированные модели, датасеты, среды для обучения агентов, а также различные инструменты для реализации собственных моделей.
На данный момент реализованы три архитектуры: Action Chunking with Transformers (ACT) из статьи ALOHA, Diffusion Policy, и temporal difference MPC (TDMPC), один из лучших алгоритмов обучения с подкреплением на основе модели. В репозитории представлены примеры скачивания датасетов, оценки обученных моделей и их тренировки.
Если вы решите попробовать, не забудьте поделиться своими результатами в комментариях.
На данный момент реализованы три архитектуры: Action Chunking with Transformers (ACT) из статьи ALOHA, Diffusion Policy, и temporal difference MPC (TDMPC), один из лучших алгоритмов обучения с подкреплением на основе модели. В репозитории представлены примеры скачивания датасетов, оценки обученных моделей и их тренировки.
Если вы решите попробовать, не забудьте поделиться своими результатами в комментариях.
GitHub
GitHub - huggingface/lerobot: 🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning
🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning - huggingface/lerobot
👍2🫡2
В этом посте я начал рассказывать про основы обучения с подкреплением (RL). Мы обсудили, что такое RL на основе модели и без модели, а методы для оптимизации контроллера/стратегии делятся на прямые и косвенные методы или методы на основе функции ценности. Сегодня хочу поделиться ссылкой на статью про последние, которую я написал для DeepSchool. Статья посвящена глубокому Q-обучению для игр, которое в свое время показало ценность и возможности RL.
🔥4
Forwarded from DeepSchool
Глубокое Q-обучение
В далеком 2016 году весь IT-мир заговорил об обучении с подкреплением — reinforcement learning, или RL. И неспроста: алгоритм глубокого Q-обучения научился играть в игры Atari на уровне людей-экспертов. С тех пор и проснулся большой интерес к обучению с подкреплением. Многие идеи, которые используются в глубоком Q-обучении, применяются также в современных алгоритмах.
Из этой статьи вы узнаете:
- как адаптировать классическое Q-обучение для решения реальных задач
- какие трюки используют для стабилизации тренировок в глубоком Q-обучении
- и, конечно же, что представляет собой сам алгоритм глубокого Q-обучения
Читайте новую статью по ссылке: https://www.notion.so/deepschool-pro/Q-1ed7a65cc3d24a70928275bf0406296a?pvs=4
В далеком 2016 году весь IT-мир заговорил об обучении с подкреплением — reinforcement learning, или RL. И неспроста: алгоритм глубокого Q-обучения научился играть в игры Atari на уровне людей-экспертов. С тех пор и проснулся большой интерес к обучению с подкреплением. Многие идеи, которые используются в глубоком Q-обучении, применяются также в современных алгоритмах.
Из этой статьи вы узнаете:
- как адаптировать классическое Q-обучение для решения реальных задач
- какие трюки используют для стабилизации тренировок в глубоком Q-обучении
- и, конечно же, что представляет собой сам алгоритм глубокого Q-обучения
Читайте новую статью по ссылке: https://www.notion.so/deepschool-pro/Q-1ed7a65cc3d24a70928275bf0406296a?pvs=4
deepschool-pro on Notion
Глубокое Q-обучение | Notion
Автор: Шамиль Мамедов
Редактура: Александр Наздрюхин
Редактура: Александр Наздрюхин
👏5
Для повторения успехов больших языковых моделей в робототехнике нам прежде всего не хватает данных, особенно данных, собранных на реальных роботах. На сегодняшний день самым популярным способом сбора таких данных является телеоперация. Однако этот метод дорогостоящий и требует людей с навыками телеоперации. Альтернативным способом является использование ручных грипперов с камерой. Хотя этот метод более масштабируем, у него есть свои недостатки:
- Маленькое поле обзора (представьте, что ваши руки находятся прямо под глазами).
- Недостаточная точность оценки действий из видео.
- Отсутствие задержек, которые неминуемо будут у робота, обучаемого воспроизводить демонстрации.
Универсальный интерфейс для манипуляции решает все эти проблемы и на практике показывает отличные результаты и большой потенциал использования таких устройств. Вот как он решает вышеперечисленные проблемы:
- Используем fisheye-камеру (например, GoPro), чтобы увеличить поле обзора и визуальный контекст.
- Добавляем зеркала в гриппер для улучшения оценки глубины.
- Используем IMU для более точной оценки действий.
- Вместо действий в виде "открыт/закрыт" используем непрерывное управление (ширину открытия гриппера).
- Фильтруем данные для отдельных конечных роботов на основе кинематики.
В качестве архитектуры контроллера использовали Diffusion Policy, который принимал на вход серию изображений, положение и ориентацию конца робота и ширину открытия гриппера. Очень важно синхронизировать показания различных сенсоров во времени, учитывать задержки в управлении и отправлять действия заранее.
Для каждого нового навыка собирали 250-300 демонстраций. И, конечно же, на робота устанавливали абсолютно такой же гриппер, как и для сбора данных. Гриппер можно сделать самому, все детали доступны.
У гриппера есть недостатки: например, данные фильтруются под каждого робота. Более общий подход мог бы предусматривать вход URDF робота и подстраивать действия в соответствии. Авторы отмечают, что сам гриппер нелегкий и имеет меньше степеней свободы, поэтому процесс сбора данных медленнее, чем просто демонстрации людей. Более того, если использовать робота с другим гриппером, например, с тремя пальцами, то подход не сработает.
Лично мне кажется, что это отличное промежуточное решение для сбора данных. Но очевидно, что робототехника сделает большой шаг вперед, когда мы научимся обучать роботов на основе видео из интернета. Как вы считаете?
Некоторые из демонстраций добавлю к комменты. На сайте проекта много демонтсраций.
- Маленькое поле обзора (представьте, что ваши руки находятся прямо под глазами).
- Недостаточная точность оценки действий из видео.
- Отсутствие задержек, которые неминуемо будут у робота, обучаемого воспроизводить демонстрации.
Универсальный интерфейс для манипуляции решает все эти проблемы и на практике показывает отличные результаты и большой потенциал использования таких устройств. Вот как он решает вышеперечисленные проблемы:
- Используем fisheye-камеру (например, GoPro), чтобы увеличить поле обзора и визуальный контекст.
- Добавляем зеркала в гриппер для улучшения оценки глубины.
- Используем IMU для более точной оценки действий.
- Вместо действий в виде "открыт/закрыт" используем непрерывное управление (ширину открытия гриппера).
- Фильтруем данные для отдельных конечных роботов на основе кинематики.
В качестве архитектуры контроллера использовали Diffusion Policy, который принимал на вход серию изображений, положение и ориентацию конца робота и ширину открытия гриппера. Очень важно синхронизировать показания различных сенсоров во времени, учитывать задержки в управлении и отправлять действия заранее.
Для каждого нового навыка собирали 250-300 демонстраций. И, конечно же, на робота устанавливали абсолютно такой же гриппер, как и для сбора данных. Гриппер можно сделать самому, все детали доступны.
У гриппера есть недостатки: например, данные фильтруются под каждого робота. Более общий подход мог бы предусматривать вход URDF робота и подстраивать действия в соответствии. Авторы отмечают, что сам гриппер нелегкий и имеет меньше степеней свободы, поэтому процесс сбора данных медленнее, чем просто демонстрации людей. Более того, если использовать робота с другим гриппером, например, с тремя пальцами, то подход не сработает.
Лично мне кажется, что это отличное промежуточное решение для сбора данных. Но очевидно, что робототехника сделает большой шаг вперед, когда мы научимся обучать роботов на основе видео из интернета. Как вы считаете?
Некоторые из демонстраций добавлю к комменты. На сайте проекта много демонтсраций.
💯4❤1🫡1
