Skip to content

Imitation learning benchmark focusing on complex locomotion tasks using MuJoCo.

License

Notifications You must be signed in to change notification settings

NOTMOVETON/loco-mujoco-examples

 
 

Repository files navigation

Имитационное обучение для квадропеда

В процессе реализации дальнейшей работы был изучен бенчмарк loco-mujoco, и библиотеки для обучения с подкреплением imitation-lib и mushroomRL. Во время изучения было обучено множество агентов, логи для которых и их самих я выложить не могу, так как каждый из них занимает более 100мб.

Описание экспериментов

Эксперимент 1: Ходьба квадропеда в одном направлении

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

Эксперимент 2: Ходьба квадропеда в 8 случайных направлениях

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

Используемые библиотеки и алгоритм

Эти эксперименты были проведены при помощи loco-mujoco, mushroom-RL и imitation-lib.

Основным алгоритмом был GAIL(на основе TRPO), который позволяет обучаться поведению на основе демонстраций. Этот алгоримт был реализован в imitation-lib и для реализации использовался mushroom-RL.

Результаты экспериментов

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

Результаты задачи 1

Итоговое поведение:

simple_learned_cut.mp4

Поведение эксперта:

simple_expert_cut.mp4

Результаты задачи 2

Итоговое поведение:

hard_learned_cut.mp4

Поведение эксперта:

hard_expert_cut.mp4

Проблемы, с которыми я столкнулся

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

  1. Проблемы с mushroom-RL:

    • Библиотека не поддерживает параллелизацию сред, что существенно увеличивает время обучения. Для задачи, требующей быстрой и эффективной симуляции, это оказалось критическим недостатком.
  2. Проблемы с imitation-lib:

    • Неправильные значения аргументов по умолчанию в некоторых функциях библиотеки, что привело к невозможности корректного обучения на GPU без правки исходного кода.

Итог и впечатления

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

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

About

Imitation learning benchmark focusing on complex locomotion tasks using MuJoCo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%