Как стать автором
Обновить

Комментарии 22

Спасибо за интересную статью! Пауку очень не хватает головы и брюшка :)
Головогруди и брюшка! И ещё двух ног. Ну и хелицер с педипальпами.
Наверное математик статью писал. У них с примерами из жизни обычно тяжело. То с бассейном и трубами, втекающей и вытекающей, придумают. Теперь вот паука о шести ногах придумали.

Примеры из жизни должны придумывать физики. Без обид.

Спасибо за статью, жду с нетерпением статью про обучение пауков полету.

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

Спасибо за комментарий!


Не совсем понял про то, почему полученные агенты не являются решениями. Суммарная награда высокая, и агент научился быстро и надёжно передвигаться.


Но я уловил основную идею. Нам повезло, что мы можем сформулировать задачу таким образом, чтобы обратная связь от среды в виде наград была почти моментальной. Алгоритм A2C без дополнительных модификаций не способен к хорошему exploration. Например, данная реализация не способна решить простейшие среды с разреженными наградами a.k.a. sparse reward, а именно https://gym.openai.com/envs/MountainCar-v0/

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

С каким алгоритмом RL вы сравниваетесь?
Есть много сред, где случайный шум уже даёт какой-то результат, и его можно плавно оптимизировать до хорошей стратегии. А есть среды со Sparse Reward.
Какая именно из известных вам методик хорошо решает задачи со Sparse Reward?
НЛО прилетело и опубликовало эту надпись здесь
На видео среда MuJoCo. Это продвинутый физический симулятор. www.mujoco.org
Что-то мне подсказывает, что есть ошибки в симуляции и не похоже что трение было настроено правильно, обратите внимание как паук движется — словно его центральная точка жестко зафиксирована по высоте и не может быть изменена. Возможно поэтому смотрится словно, вы обучали кукловода имитировать его движение, а не паука двигаться.

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

Да, если присмотреться, видно что пол вроде прыгает, вероятно лучше привязывать камеру к X и Z паука, а Y зафиксировать и не привязывать к пауку. X и Z тоже неплохо бы фильтровать, чтобы перенести дрожание с фона на паука.
Хотелось бы статью про SAC, как пишут этот алгоритм более sample efficient чем РРО
У меня SAC не сошелся не разу на квадрупеде (44 входа 12 выходов), в отличие от PPO который сходится явно бодрее и это с учетом того, что на SAC было потрачено в 2 раза больше времени, даже эволюционный подход работал лучше чем SAC.
Странно, САК должен быть «лучше» РРО, судя по пейперу и так же тот факт, что SAC недавно добавили в Unity ML Agents как замену PPО, который там был больше года как единственный алгоритм RL. Вы использовали уже готовый бейзлайн SAC или сами писали? Может быть где-то гиперпараметры не правильно были заданы.
Проверял на все реализациях, которые только можно было найти в открытом доступе, плюс eще парочку смежных типа T3D
Вероятность того что я просто не смог подобрать гиперпараметры вполне реальна.
Проверил на себе. У меня САК сходиться намного быстрее ППО с Юнити МЛ Агентс.

Неплохо, но это ведь не совсем ходьба. Тут получается как 2 широкие ноги, и передвижение синхронными движениями. Ходьба это именно когда часть ног опирается, часть перемещается.

Сейчас есть области, в которых был бы применим Reinforcement Learning — такой, какой он сейчас, или чуть более продвинутый?
Я наблюдаю следующую проблему: в реальных задачах или награды слишком Sparse (например, у чатбота или у квадрокоптера-разведчика), или слишком много степеней свободы (чатбот, робот-инженер), или слишком высока цена ошибки (робоавтомобиль).
хорошая статья, спасибо

В целом тема интересная. Жаль, что py_mujoco перестали под windows поддерживать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории