Робототехника

RL для роботов

В 2021 году Boston Dynamics продала первую партию роботов Spot коммерческим клиентам. За следующий год было задокументировано более 500 случаев, когда Spot самостоятельно адаптировался к неожиданным ситуациям, которые не были в тренировочных данных. Это возможно благодаря RL с правильным sim2real transfer - роботы учатся не «знать всё», а быть робастными к неизвестному.

  • **OpenAI Dactyl** научился решать кубик Рубика одной рукой с нуля в симуляторе через Domain Randomization - ни одного реального тренировочного эпизода.
  • **Boston Dynamics Atlas** использует RL с reward shaping для паркура: прыжки, сальто, преодоление препятствий - каждый трюк начинается с curriculum от простых движений.
  • **Surgical robot (CMU)** с RL-политикой и CBF-фильтром безопасности выполняет манипуляции с мягкими тканями, физически не допуская превышения допустимого давления.

Sim2Real Transfer

OpenAI Dactyl в 2019 году научился вертеть кубик Рубика одной рукой. На реальном роботе. Без единого реального тренировочного эпизода. Вся подготовка - симулятор MuJoCo, 100 лет виртуального времени. Секрет - Domain Randomization: физические параметры случайно варьировались в широких диапазонах при каждом эпизоде. Масса предмета от 0.05 до 0.5 кг. Трение от 0.1 до 4.0. Задержка управления от 0 до 60 мс. Политика научилась быть робастной ко всему этому - и реальный мир оказался лишь одной точкой в этом огромном распределении. Sim2Real gap - зазор между симулятором и реальностью - это не баг, а фича, которую Domain Randomization превращает в регуляризатор.

Domain Randomization: рандомизировать физику (масса, трение, демпфирование), восприятие (шум камеры, освещение, текстуры), актуатор (задержка, люфт, насыщение). System Identification: калибровать симулятор по реальным измерениям. Adaptive Domain Randomization (ADR, OpenAI): начинать с малого диапазона и автоматически расширять его по мере того как агент справляется.

Почему Domain Randomization помогает sim2real transfer, хотя реальные физические параметры не включены в диапазон рандомизации?

Обучение на основе демонстраций

Обучить робота подметать пол через чистый RL - тысячи часов случайного взмахивания щёткой. Дать 10 демонстраций человека - и обучение сходится за минуты. Imitation Learning (IL) сокращает начальный разрыв между случайной политикой и приемлемым поведением. Behaviour Cloning (BC) - простейший вариант: supervised learning на парах (observation, action) из демонстраций. Проблема: compound error - маленькие ошибки клонирования накапливаются, и робот попадает в состояния, которых не было в демонстрациях. DAgger (Dataset Aggregation) решает это: после каждой итерации спрашиваем эксперта «что надо было сделать в этом состоянии?» и добавляем пары в датасет. GAIL (Generative Adversarial Imitation Learning) идёт дальше: дискриминатор учится отличать действия эксперта от действий агента, а его выход служит reward-сигналом.

BC: pi_theta(a|s) обучается максимизировать log P(a_expert | s) - простой supervised learning. DAgger: итеративно агрегирует датасет из демонстраций эксперта по посещённым агентом состояниям. GAIL: reward = log D(s, a) где D - дискриминатор, обученный на парах (эксперт vs агент). IRL (Inverse RL): восстановить reward-функцию эксперта из его поведения.

Почему Behaviour Cloning страдает от compound error и как DAgger решает эту проблему?

Reward Shaping для роботов

Скажи роботу «собери кубик» и дай +1 только при успехе - агент никогда не найдёт сигнал в огромном пространстве случайных действий. Reward Shaping добавляет промежуточные сигналы, направляющие исследование. Потенциальные функции Нга-Рассела-Саттона (1999) гарантируют, что shaping не меняет оптимальную политику: F(s, a, s') = gamma*Phi(s') - Phi(s), где Phi - любая функция состояния. В робототехнике типичный shaping: reward = -||end_effector - target|| + bonus_for_contact + bonus_for_grasp. Каждый промежуточный бонус - это пояс безопасности: агент не провалится в локальный оптимум «не двигайся». Но наградная функция - самый влиятельный и самый опасный рычаг: неправильный shaping порождает unexpected behavior. Кейс: агент научился перемещать объект ногой вместо руки, потому что так быстрее достигалась промежуточная награда.

Potential-based shaping: F = gamma*Phi(s') - Phi(s) не меняет оптимальную политику (теорема). Примеры Phi: -расстояние до цели, -время до цели, потенциальная энергия конфигурации. Curriculum learning: начинать с простых задач (цель рядом), постепенно усложнять (цель далеко, препятствия). Sparse vs dense reward: sparse надёжнее, dense быстрее учится.

Почему potential-based reward shaping F = gamma*Phi(s') - Phi(s) не изменяет оптимальную политику?

Безопасность в роботизированном RL

Агент RL в Atari смерть - просто сброс эпизода. Агент RL в реальном роботе - 50 тысяч долларов оборудования и потенциально травмированный оператор. Безопасность в Robot RL - не академический вопрос. Constrained MDP формализует это: max E[return] при условии E[cost] <= d. Алгоритмы вроде CPO (Constrained Policy Optimization) и TRPO+Lagrangian оптимизируют политику в feasible регионе с мягкими ограничениями на нарушения. Safe exploration: Control Barrier Functions (CBF) накладывают жёсткие геометрические барьеры поверх любой политики RL - робот физически не может войти в опасную зону. Control Lyapunov Functions (CLF) гарантируют стабилизацию. Вместе CBF+CLF создают слой безопасности, не требующий доверия к RL-политике.

Constrained MDP: max J_r(pi) s.t. J_c(pi) <= d, где J_c - ожидаемая суммарная стоимость нарушений. Control Barrier Function h(x): h(x) >= 0 в безопасном множестве, dh/dt + alpha*h >= 0 гарантирует инвариантность. QP (Quadratic Program) минимально модифицирует действие RL-политики для выполнения CBF.

Safe RL = добавить штраф за опасные действия в reward-функцию

Штрафы в reward меняют задачу, но не гарантируют безопасности: агент может выучить нарушать ограничения, если вознаграждение достаточно велико. Истинная безопасность требует жёстких ограничений на уровне действий (CBF) или планирования (constrained MDP)

RL-агент оптимизирует суммарный return. Штраф за нарушение - лишь часть return. При достаточной награде за нарушение агент научится его совершать. CBF же делает нарушение физически невозможным через проекцию действия на безопасное множество.

Как Control Barrier Function (CBF) гарантирует безопасность независимо от политики RL?

Ключевые идеи

  • **Sim2Real через Domain Randomization** - политика, обученная на широком распределении физических параметров, обобщается на реальный мир как на «ещё одну точку» этого распределения.
  • **DAgger** закрывает distributional shift BC, итеративно добавляя экспертные метки для состояний, которые агент фактически посещает при выполнении.
  • **Potential-based shaping** F = gamma*Phi(s') - Phi(s) добавляет промежуточные сигналы без изменения оптимальной политики - телескопическая сумма зависит только от начала и конца.
  • **CBF** - жёсткий геометрический барьер безопасности поверх любой RL-политики: QP-задача минимально модифицирует действие, гарантируя инвариантность безопасного множества.

Связанные темы

RL для роботов пересекается с манипуляцией, симуляцией и Model-Based RL:

  • Grasping и Manipulation — Тактильные сенсоры и силовое управление дают reward-сигнал и обратную связь для RL-политик захвата
  • Model-Based RL — World Models в sim2real ускоряют адаптацию к реальной физике: разрыв между симулятором и реальностью уменьшается при точной модели динамики

Вопросы для размышления

  • Как Adaptive Domain Randomization (ADR) автоматически строит curriculum сложности и почему начинать с малых диапазонов рандомизации лучше, чем с больших?
  • Почему DAgger требует доступа к эксперту во время выполнения, и как GAIL обходит это ограничение?
  • Можно ли гарантировать безопасность RL-робота в полностью незнакомой среде, если CBF обучался только на известных препятствиях?

Связанные уроки

  • rl-03
RL для роботов

0

1

Войти