Актёр-критик

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

Перейти к: навигация, поиск
Статья написана с использованием LLM GLM-5-Turbo и проверена участником Arina Pakalova (MSD)


Содержание

Концепция разделения

В системном дизайне агентов обучения с подкреплением (RL) монолитные подходы быстро упираются в инженерные ограничения. Чистые методы на основе политики (Policy-Based) напрямую оптимизируют градиент, но страдают от экстремальной дисперсии оценок: для стабилизации требуется огромное количество траекторий, что критично в условиях реального времени (например, при оценке маневра обгона на трассе). Чистые методы на основе ценности (Value-Based, вроде DQN) эффективны в снижении дисперсии за счет временных различий, но не работают в непрерывных пространствах действий (управление углом поворота руля, тяговым усилием).

Архитектура Актёр-Критик (Actor-Critic) решает эту проблему через декомпозицию. Мы выделяем две структуры с четкими зонами ответственности:

  • Актёр (Actor): отвечает за генерацию действия a_t в состоянии s_t согласно политике \pi_\theta(a|s). Его задача — исследование пространства действий и управление.
  • Критик (Критик): отвечает за оценку функции ценности V_\phi(s) или функции преимущества A_\phi(s, a). Его задача — сигнализировать Актёру о качестве выбранного действия без необходимости ждать окончания эпизода.

Такое разделение позволяет использовать низкодисперсионные оценки Критика для стабилизации высокодисперсионного градиента Актёра.

Архитектура и потоки данных

Взаимодействие компонентов реализуется через единый вычислительный граф. На каждом шаге t среда передает состояние s_t. Актёр семплирует действие a_t \sim \pi_\theta(\cdot|s_t) и выполняет его. Среда возвращает награду r_t и новое состояние s_{t+1}.

Критик вычисляет TD-ошибку (Temporal Difference error) — скалярный сигнал рассогласования между предсказанной и фактической доходностью: \delta_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t) где \gamma — коэффициент дисконтирования.

TD-ошибка \delta_t является ключевым потоком данных между модулями: 1. Обновление Критика: минимизируется среднеквадратичная ошибка предсказания: \mathcal{L}(\phi) = \delta_t^2. 2. Обновление Актёра: \delta_t используется в качестве базовой линии (baseline) в градиенте политики, подавляя дисперсию: \nabla_\theta J(\theta) \approx \mathbb{E}[\nabla_\theta \log \pi_\theta(a_t|s_t) \delta_t]

Компромисс при проектировании (Trade-off): Выбор между раздельными нейросетями (Separate networks) и сетями с общим торсом (Shared backbone). В бортовых вычислителях беспилотного транспорта аппаратные ограничения вынуждают использовать общий торс (например, ResNet-ядро для обработки лидарных данных) с двумя раздельными "головами". Это экономит память и вычисления на инференсе, но создает проблему конкуренции градиентов (gradient interference): сигналы обновления для Актёра и Критика могут противоречить друг другу, дестабилизируя обучение общего признакового пространства.

Проблема масштабирования и стабильности

При переходе от симуляции к сложным средам возникает проблема параллелизма сбора данных и стабилизации весов. Это порождает два основных архитектурных паттерна: A2C (Advantage Actor-Critic) и A3C (Asynchronous Actor-Critic).

  • A3C (Асинхронный): Запускает множество копий среды в отдельных потоках (workers). Каждый воркер копирует глобальные веса, собирает траекторию, считает локальные градиенты и асинхронно обновляет глобальную сеть.
   *   Проблема: В условиях непрерывного управления (например, удержание в полосе при высокой скорости) асинхронные обновления приводят к использованию "устаревших" (stale) весов для вычисления TD-ошибки. Это вызывает осцилляции политики и риска "выброса" рулевого управления.
  • A2C (Синхронный): Убирает асинхронность. Несколько воркеров собирают данные параллельно, но обновление глобальной сети происходит строго синхронно по завершении батча всеми воркерами.
   *   Инженерное решение: На практике A2C вытеснил A3C. Синхронизация гарантирует, что градиент вычисляется по актуальным весам, что критически важно для сходимости. Кроме того, в современных стеках RL (например, при обучении на GPU) векторизованные среды A2C utilize аппаратное ускорение эффективнее, чем межпоточные блокировки A3C, изначально заточенные под CPU.

Дополнительное снижение дисперсии в обоих подходах достигается переходом от V(s) к функции преимущества A(s, a), например, через GAE (Generalized Advantage Estimation), что позволяет балансировать смещение (bias) и дисперсию (variance) оценки.

Литература

  1. Konda, V. R., & Tsitsiklis, J. N. (2000). Actor-Critic Algorithms. Advances in Neural Information Processing Systems (NeurIPS).
  2. Sutton, R. S., McAllester, D., Singh, S., & Mansour, Y. (2000). Policy Gradient Methods for Reinforcement Learning with Function Approximation. Advances in Neural Information Processing Systems (NeurIPS).
  3. Mnih, V., Badia, A. P., Mirza, M., Graves, A., Lillicrap, T., Harley, T., ... & Kavukcuoglu, K. (2016). Asynchronous Methods for Deep Reinforcement Learning. International Conference on Machine Learning (ICML).

См. также

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