В процессе реализации дальнейшей работы был изучен бенчмарк loco-mujoco
, и библиотеки для обучения с подкреплением imitation-lib
и mushroomRL
. Во время изучения было обучено множество агентов, логи для которых и их самих я выложить не могу, так как каждый из них занимает более 100мб.
Первая задача заключалась в том, чтобы обучить квадропеда ходить в одном фиксированном направлении.
Вторая задача усложняется тем, что квадропеду требуется ходить в одном из восьми направлений, которые выбираются случайным образом в начале каждого эпизода.
Эти эксперименты были проведены при помощи loco-mujoco, mushroom-RL и imitation-lib.
Основным алгоритмом был GAIL
(на основе TRPO
), который позволяет обучаться поведению на основе демонстраций. Этот алгоримт был реализован в imitation-lib
и для реализации использовался mushroom-RL
.
После подбора гиперпараметров я получил множества агентов, из которых выбрал по одному лучшему из обеих задач.
Итоговое поведение:
simple_learned_cut.mp4
Поведение эксперта:
simple_expert_cut.mp4
Итоговое поведение:
hard_learned_cut.mp4
Поведение эксперта:
hard_expert_cut.mp4
Во время экспериментов возникло несколько серьезных трудностей, связанных с используемыми библиотеками:
-
Проблемы с mushroom-RL:
- Библиотека не поддерживает параллелизацию сред, что существенно увеличивает время обучения. Для задачи, требующей быстрой и эффективной симуляции, это оказалось критическим недостатком.
-
Проблемы с imitation-lib:
- Неправильные значения аргументов по умолчанию в некоторых функциях библиотеки, что привело к невозможности корректного обучения на GPU без правки исходного кода.
По результатам экспериментов могу отметить, что мне не очень понравилась работа с loco-mujoco, так как его можно использовать только для простых задач, таких как обучение базовой ходьбе квадропедов и гуманоидов. Однако при решении более сложных задач, таких как паркур или выполнение сложных маневров, данный инструмент не подходит и требует более сложных симуляций.
В целом, эти эксперименты позволили мне выявить узкие места в процессах обучения и сделать вывод о необходимости более глубоких исследований в области имитационного обучения для роботов. Сейчас я занимаюсь изучением MJX, для реализации обучения ходьбе, а далее более сложным маневрам для квадропеда