Policy gradient

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 10:54, 26 июня 2026 (MSD)}}
+
{{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 10:54, 26 июня 2026 (MSD)}}
== Общее описание Policy Gradient ==
== Общее описание Policy Gradient ==

Текущая версия

Статья написана с использованием LLM GLM-5-Turbo и проверена участником Arina Pakalova 10:54, 26 июня 2026 (MSD)


Содержание

Общее описание Policy Gradient

Методы Policy Gradient (PG) представляют собой класс алгоритмов обучения с подкреплением, в которых оптимизация производится напрямую по параметрам стратегии \pi_\theta(a|s), задающей вероятность или плотность распределения действия a в состоянии s. В отличие от value-based методов, требующих дискретизации пространства действий или сложной архитектуры для непрерывных доменов, PG естественным образом работает с многомерными непрерывными пространствами, что делает их базовым инструментом для управления робототехническими манипуляторами, где действие — это вектор суставных моментов или скоростей [1].

Целью оптимизации является максимизация математического ожидания совокупной награды (objective function): J(\theta) = \mathbb{E}_{\tau \sim p_\theta(\tau)} \left[ \sum_{t=0}^{T} \gamma^t r_t \right], где \tau = (s_0, a_0, r_0, \dots, s_T, a_T, r_T) — траектория, p_\theta(\tau) — совместное распределение траекторий, зависящее от параметров \theta, \gamma \in [0, 1] — коэффициент дисконтирования.

Базовая теорема политики градиента (Policy Gradient Theorem) позволяет выразить градиент целевой функции через градиент логарифма вероятности действия (log-likelihood ratio trick) [1]: \nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim p_\theta(\tau)} \left[ \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) R(\tau) \right], где R(\tau) = \sum_{t=0}^T \gamma^t r_t — возврат (return) всей траектории.

На практике в физическом симуляторе (например, MuJoCo) это означает, что мы запускаем эпизод, собираем временны́е ряды состояний и действий, а затем сдвигаем параметры сети в направлении, которое увеличивает вероятность действий, приведших к высокой суммарной награде.

Проблема высокой дисперсии

Использование полного возврата траектории R(\tau) в качестве оценки качества каждого шага порождает критическую проблему высокой дисперсии градиентной оценки. В контактной динамике (например, при захвате объекта роботом-манипулятором) финальная награда может быть получена только в конце эпизода. При этом стохастичность начальных условий, трения и задержек контроллеров приводит к тому, что идентичные действия в одном и том же состоянии в разных траекториях могут получить кардинально разные оценки R(\tau).

Высокая дисперсия градиента на реальном оборудовании означает разброс обновлений параметров: одно удачное столкновение с инерцией объекта может заставить алгоритм считать угловую скорость безопасной, в то время как в 99% случаев она ведет к разрушению механики. Для сведения дисперсии к приемлемому для физики уровню применяются два фундаментальных приема [1]:

  1. Введение базовой оценки (baseline) b(s_t): Вычитание константы или функции состояния из возврата не смещает градиент, но радикально снижает дисперсию. В качестве b(s_t) используется функция ценности V(s_t).
  2. Учет причинности (Causality): Действие в момент t не может повлиять на награду, полученную до этого момента. Поэтому вместо R(\tau) используется возврат с текущего шага (reward-to-go): \hat{R}_t = \sum_{k=t}^T \gamma^{k-t} r_k.

Модифицированная оценка градиента принимает вид: \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_{i,t}|s_{i,t}) \left( \hat{R}_{i,t} - b(s_{i,t}) \right), где N — размер батча траекторий.

Пошаговая логика вычислений

В современной практике чистый PG (алгоритм REINFORCE [1]) практически не применяется из-за неэффективности использования данных. Стандартом вычислений является вариация с обобщенной оценкой преимущества (Generalized Advantage Estimation, GAE) [1]. Логика вычислений в рамках одного эпохального обновления:

  1. Сбор данных. В симуляторе параллельно генерируется N траекторий с помощью текущей политики \pi_\theta. Фиксируется последовательность (s_t, a_t, r_t, s_{t+1}).
  2. Вычисление TD-ошибок (Temporal Difference). На каждом шаге вычисляется \delta_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t), где V_\phi — функция ценности (критик), обучаемая параллельно методом градиентного спуска по среднеквадратичной ошибке.
  3. Расчет преимущества (Advantage). Вычисляется экспоненциально взвешенная сумма TD-ошибок:

\hat{A}_t^{\text{GAE}(\gamma, \lambda)} = \sum_{l=0}^{T-t} (\gamma \lambda)^l \delta_{t+l}. Параметр \lambda \in [0, 1] управляет компромиссом между смещением (bias) и дисперсией. При \lambda=0 оценка зависит только от одного шага (низкая дисперсия, высокое смещение), при \lambda=1 вырождается в оценку Монте-Карло (нулевой bias, высокая дисперсия). В робототехнике типичное значение \lambda = 0.95.

  1. Формирование loss-функции. Поскольку оптимизаторы в фреймворках глубокого обучения минимизируют функцию потерь, градиентный подъем заменяется на спуск:

L_{\text{PG}}(\theta) = -\frac{1}{N \cdot T} \sum_{i=1}^N \sum_{t=0}^T \log \pi_\theta(a_{i,t}|s_{i,t}) \hat{A}_{i,t}.

  1. Обновление весов. Вычисляется \nabla_\theta L_{\text{PG}} и делается шаг оптимизатора (например, Adam).

Ограничения и практика

Фундаментальное ограничение базового Policy Gradient — неспособность гарантировать монотонное улучшение политики при нетривиальном размере шага обучения. В задачах с жесткими физическими ограничениями (ограничения на тяговые моменты, рабочие области) произвольное изменение \theta может вывести распределение \pi_\theta за пределы устойчивого многообразия. В симуляторе это приводит к расхождению контактного решателя, на реальном оборудовании — к аварийному останову (E-stop) из-за превышения пороговых значений токов.

По этой причине наивный PG заменяется алгоритмами с доверительными областями (Trust Region Policy Optimization, TRPO) или клиппированием вероятностей (Proximal Policy Optimization, PPO) [1]. В PPO целевая функция модифицируется ограничителем: L^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min\left( \rho_t(\theta) \hat{A}_t, \, \text{clip}(\rho_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right], где \rho_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)}, а \epsilon (обычно 0.1 или 0.2) жестко ограничивает отношение новых вероятностей к старым. Это предотвращает разрушительные обновления весов.

С инженерной точки зрения PG-методы (в лице PPO) обладают критически низкой выборочной эффективностью (sample efficiency). Обучение контроллера пошагового перемещения манипулятора требует десятков миллионов кадров симуляции. Проблема усугубляется разрывом симуляции и реальности (sim-to-real gap): неточности моделирования трения скольжения и упругих деформаций приводят к тому, что политика, оптимизированная в градиенте симулятора, на реальном объекте теряет устойчивость. Практическим решением является инъекция доменного шума (Domain Randomization) в параметры физического движка на этапе сбора траекторий для PG, что делает градиент робастным к вариациям физических констант [1].

См. также

Примечания

Литература

  • Sutton R. S. et al. Reinforcement learning: An introduction. — Cambridge: MIT press, 1998. — Т. 1. — № 1.
  • Greensmith E., Bartlett P. L., Baxter J. Variance reduction techniques for gradient estimates in reinforcement learning // Journal of Machine Learning Research. — 2004. — Т. 5. — № Nov..
  • Williams R. J. Simple statistical gradient-following algorithms for connectionist reinforcement learning // Machine learning. — 1992. — Т. 8. — № 3.
  • Kochenderfer M. J., Wheeler T. A., Wray K. H. Algorithms for decision making. — MIT press, 2022.
  • Jin R., Li S., Wang B. On stationary point convergence of PPO-Clip // International Conference on Learning Representations. — 2024. — Т. 2024.
  • Tobin J. et al. Domain randomization for transferring deep neural networks from simulation to the real world // 2017 IEEE/RSJ international conference on intelligent robots and systems (IROS). — IEEE, 2017.
Личные инструменты