Policy gradient

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

(Различия между версиями)
Перейти к: навигация, поиск

Arina Pakalova (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM и проверена участником ~~~ 10:54, 26 июня 2026 (MSD)}} == Общее описание Po...)
К следующему изменению →

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

Статья написана с использованием LLM и проверена участником 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 вырождается в Montgomery оценку (нулевой bias, высокая дисперсия). В робототехнике типичное значение \lambda = 0.95. 4. Формирование 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}. 5. Обновление весов. Вычисляется \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].

Литература

Личные инструменты