Debugger's Process
131 subscribers
130 photos
78 videos
3 files
70 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Ну не хочет выучить управляемость и все. Наруто, блеать!
😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Должен был переключаться между обычным бегом и чем-то вроде этого. Но опять выучивает среднюю стратегию, игнорируя мои управляющие сигналы.
This media is not supported in your browser
VIEW IN TELEGRAM
Можно поставить Мужика из MuJoCo на колени, но не заставить выполнять чужие приказы!
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
После всех моих ухищрений он стал лучше бегать, но так и не стал отзываться на мои сигналы. В голову начинает навязчиво лезть мем "а ты знаешь, что такое безумие?"
❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Все-таки это черная магия. Я вот не могу заранее предсказать, чему научится мужик из MuJoCo при заданных параметрах алгоритма. А уж если код меняешь, то и вовсе.
This media is not supported in your browser
VIEW IN TELEGRAM
Я вот переписал пайплайн немного - суть осталась та же, но распараллелил слегка по-другому. И они теперь стали на редкость изобретательны, хоть сейчас в Министерство Тупых Походок.
This media is not supported in your browser
VIEW IN TELEGRAM
Это вот все при одной и той же архитектуре сетей, при одной и той же фиксированной функции наград. Просто несколько изменился порядок накопления эпизодов обучения в буфере.
Нуу... В целом я не могу сказать, что он "не научился". Свою технику он определенно улучшил.
Странно, что ему это делать проще, чем просто идти или бежать.

https://youtube.com/shorts/HmKsQYN84-w?si=FdGCHyJ6vC98l0N2
Вообще, я переписал пайплайн, чтобы можно было в обучение примешивать примеры от разных агентов.
И сейчас смотрю, что будет, если обучать с примерами от этих трех мужиков из MuJoCo:
Это три великих мастера, у которых учится юный падаван.
Weights & Biases им еще и рандомные имена генерит, чтобы проще было искать.
This media is not supported in your browser
VIEW IN TELEGRAM
А вот и правильный ответ.
Этот товарищ, wobbly-firefly-334, определенно превзошел своих учителей и стал лучшим бегуном из всех, что у меня получались. Хотя, надо сказать, немного похожим на logical-frost-200
❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Я пробовал заставить его продолжить с чьего-нибудь чужого стейта, например с низко прыгающего dauntless-dragon-312. Но он не шмог. Хотя и попытался.

На 5й секунде видно, как меняется его внутренний стейт - это я загрузил сознание этого бегуна в тело, оставшееся от dauntless-dragon-312.
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Я вам больше скажу. После того, как я дописал пайплайн, чтобы можно было примешивать данные от референсных агентов к обучаемому, я их комбинировал в разных сочетаниях, крутил параметры, и в итоге обучил Мужика из МуЖоКо реагировать на мои сигналы. По-честному, без замены его сознания на ходу.

Вот, смотрите. Изначально у него отрицательная награда (штраф) за высоту его центра масс, поэтому ему выгодно держаться поближе к земле. На 05-00 я меняю сигнал на положительный - и он распрямляется!
👍3❤‍🔥2
После того, как Мужик из MuJoCo начал реагировать на мои сигналы, пришло время подумать о том, что с ним делать дальше.

Дело вот в чем: динамическая функция наград - штука сложная для выучивания, он в облаке учился несколько часов. Дальше, по идее, нужно делать среду, где их двое, чтобы они могли драться друг с другом. Но это многократно усложнит среду - нет, не в два раза, хотя вместо одного мужика там будет два, а намного сильнее. Помимо этого удвоения вычислений к сожалению еще придется включить расчет коллизий всего со всем. Пока мужик один, достаточно считать коллизии его "стоп" с полом. Ну, можно еще голени с полом, чтоб он не проваливался, если вдруг упадет на колени. Но в драке-то ему как-то надо попадать по противнику!

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

Сейчас я немного залип на эксперименты с уже обученной в облаке сеткой.
Алгоритм обучения, Soft Actor-Critic, порождает две сетки - сетку-агента, эктора, который получает на вход состояние среды и выдает вектор действий, и сетку-критика, которая получает на вход состояние среды и действие, и выдает свою оценку ожидаемой награды. Не только за это действие, заметьте, а суммарной ожидаемой награды с учетом discount-фактора (это довольно тонкий момент, я думаю написать статью-другую на Хабр по текущим результатам, где разберу этот вопрос подробнее).

И вот обученная в облаке сетка-критик прямо волшебная. Используя ее, получилось на хилом домашнем компьютере не только нового эктора обучить (это вообще влёт делается, за 25 минут!), но даже новую сетку-критика! Правда, критик учился 10 часов и не стал лучше своего учителя, но все же, разница между обучением с нуля и обучением с обученным в облаке критиком - разительная. С нуля выходят зомби, которые выучиваются не падать, но особо вперед не идут.
👍3