Актёр-критик
Материал из MachineLearning.
| | Статья написана с использованием LLM GLM-5-Turbo и проверена участником Arina Pakalova (MSD) |
Содержание |
Концепция разделения
В системном дизайне агентов обучения с подкреплением (RL) монолитные подходы быстро сталкиваются с инженерными ограничениями. Чистые методы на основе политики (policy-based) напрямую оптимизируют градиент, но страдают от высокой дисперсии оценок: для стабилизации требуется огромное количество траекторий, что критично в условиях реального времени (например, при оценке маневра обгона на трассе). Чистые методы на основе функции ценности (value-based, такие как DQN) эффективны в снижении дисперсии за счет временных различий, но неприменимы в непрерывных пространствах действий (управление углом поворота руля, тяговым усилием).
Архитектура Актёр-Критик (Actor-Critic) решает эту проблему через декомпозицию[1]. Мы выделяем две структуры с четкими зонами ответственности:
- Актёр (Actor): отвечает за генерацию действия
в состоянии
согласно политике
. Его задача — исследование пространства действий и непосредственное управление.
- Критик (Critic): отвечает за оценку функции ценности
или функции преимущества
. Его задача — сигнализировать Актёру о качестве выбранного действия без необходимости дожидаться окончания эпизода.
Такое разделение позволяет использовать оценки Критика с низкой дисперсией для стабилизации градиента Актёра, изначально подверженного высокой дисперсии.
Архитектура и потоки данных
Взаимодействие компонентов реализуется через единый вычислительный граф. На каждом шаге среда передает состояние
. Актёр семплирует действие
и выполняет его. Среда возвращает награду
и новое состояние
.
Критик вычисляет TD-ошибку (Temporal Difference error) — скалярный сигнал рассогласования между текущей оценкой и целевым значением:
где
— коэффициент дисконтирования.
TD-ошибка является ключевым потоком данных между модулями:
- Обновление Критика: минимизируется среднеквадратичная ошибка предсказания:
.
- Обновление Актёра:
используется в качестве базовой оценки (baseline) в градиенте политики, снижая её дисперсию[1]:
Инженерный компромисс (trade-off): Выбор между раздельными нейросетями (separate networks) и сетями с общей основой (shared backbone). В бортовых вычислителях беспилотного транспорта аппаратные ограничения вынуждают использовать общую базу (например, ResNet-ядро для обработки лидарных данных) с двумя раздельными выходами. Это экономит память и вычисления на инференсе, но создает проблему интерференции градиентов (gradient interference): сигналы обновления для Актёра и Критика могут противоречить друг другу, дестабилизируя обучение общего признакового пространства.
Проблема масштабирования и стабильности
При переходе от симуляции к сложным средам возникает проблема параллелизма сбора данных и стабилизации весов. Это порождает два основных архитектурных паттерна: A2C (Advantage Actor-Critic) и A3C (Asynchronous Actor-Critic).
- A3C (Асинхронный): Запускает множество копий среды в отдельных потоках (workers). Каждый поток копирует глобальные веса, собирает траекторию, считает локальные градиенты и асинхронно обновляет глобальную сеть[1].
Проблема: В задачах непрерывного управления (например, удержание в полосе при высокой скорости) асинхронные обновления приводят к использованию устаревших (stale) весов для вычисления TD-ошибки. Это вызывает осцилляции политики и риск резких выбросов в управляющем сигнале. - A2C (Синхронный): Убирает асинхронность. Несколько потоков собирают данные параллельно, но обновление глобальной сети происходит строго синхронно по завершении батча всеми потоками.
Инженерное решение: На практике A2C вытеснил A3C. Синхронизация гарантирует, что градиент вычисляется по актуальным весам, что критически важно для сходимости. Кроме того, в современных стеках RL (например, при обучении на GPU) векторизованные среды A2C используют аппаратное ускорение эффективнее, чем межпоточные блокировки A3C, изначально заточенные под CPU.
Дополнительное снижение дисперсии в обоих подходах достигается переходом от к функции преимущества
, например, через GAE (Generalized Advantage Estimation), что позволяет находить баланс между смещением (bias) и дисперсией (variance) оценки.
См. также
Примечания
Литература
- Konda V., Tsitsiklis J. Actor-critic algorithms // Advances in neural information processing systems. — 1999. — Т. 12.
- Sutton R. S. et al. Policy gradient methods for reinforcement learning with function approximation // Advances in neural information processing systems. — 1999. — Т. 12.
- Mnih V. et al. Asynchronous methods for deep reinforcement learning // International conference on machine learning. — PMLR, 2016.

