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

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

(Различия между версиями)
Перейти к: навигация, поиск
 
(3 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] (MSD)}}
+
{{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 12:13, 17 июля 2026 (MSD)}}
== Концепция разделения ==
== Концепция разделения ==
-
В системном дизайне агентов [[Обучение с подкреплением|обучения с подкреплением]] (RL) монолитные подходы быстро упираются в инженерные ограничения. Чистые [[Policy Gradient|методы на основе политики]] (Policy-Based) напрямую оптимизируют градиент, но страдают от экстремальной [[Дисперсия|дисперсии]] оценок: для стабилизации требуется огромное количество траекторий, что критично в условиях реального времени (например, при оценке маневра обгона на трассе). Чистые [[Value-based методы|методы на основе ценности]] (Value-Based, вроде DQN) эффективны в снижении дисперсии за счет [[Временные различия|временных различий]], но не работают в непрерывных пространствах действий (управление углом поворота руля, тяговым усилием).
+
В системном дизайне агентов [[Обучение с подкреплением|обучения с подкреплением]] (RL) монолитные подходы быстро сталкиваются с инженерными ограничениями. Чистые [[Policy Gradient|методы на основе политики]] (policy-based) напрямую оптимизируют градиент, но страдают от высокой [[Дисперсия|дисперсии]] оценок: для стабилизации требуется огромное количество траекторий, что критично в условиях реального времени (например, при оценке маневра обгона на трассе). Чистые [[Value-based методы|методы на основе функции ценности]] (value-based, такие как DQN) эффективны в снижении дисперсии за счет [[Временные различия|временных различий]], но неприменимы в непрерывных пространствах действий (управление углом поворота руля, тяговым усилием).
-
Архитектура Актёр-Критик (Actor-Critic) решает эту проблему через декомпозицию. Мы выделяем две структуры с четкими зонами ответственности:
+
Архитектура Актёр-Критик (Actor-Critic) решает эту проблему через декомпозицию<ref>Konda V., Tsitsiklis J. Actor-critic algorithms //Advances in neural information processing systems. – 1999. – Т. 12.</ref>. Мы выделяем две структуры с четкими зонами ответственности:
-
* '''Актёр (Actor):''' отвечает за генерацию действия <tex>a_t</tex> в состоянии <tex>s_t</tex> согласно политике <tex>\pi_\theta(a|s)</tex>. Его задача — исследование пространства действий и управление.
+
* '''Актёр (Actor):''' отвечает за генерацию действия <tex>a_t</tex> в состоянии <tex>s_t</tex> согласно политике <tex>\pi_\theta(a|s)</tex>. Его задача — исследование пространства действий и непосредственное управление.
-
* '''Критик (Критик):''' отвечает за оценку функции ценности <tex>V_\phi(s)</tex> или функции преимущества <tex>A_\phi(s, a)</tex>. Его задача — сигнализировать Актёру о качестве выбранного действия без необходимости ждать окончания эпизода.
+
* '''Критик (Critic):''' отвечает за оценку функции ценности <tex>V_\phi(s)</tex> или функции преимущества <tex>A_\phi(s, a)</tex>. Его задача — сигнализировать Актёру о качестве выбранного действия без необходимости дожидаться окончания эпизода.
-
Такое разделение позволяет использовать низкодисперсионные оценки Критика для стабилизации высокодисперсионного градиента Актёра.
+
Такое разделение позволяет использовать оценки Критика с низкой дисперсией для стабилизации градиента Актёра, изначально подверженного высокой дисперсии.
== Архитектура и потоки данных ==
== Архитектура и потоки данных ==
Строка 15: Строка 15:
Взаимодействие компонентов реализуется через единый вычислительный граф. На каждом шаге <tex>t</tex> среда передает состояние <tex>s_t</tex>. Актёр семплирует действие <tex>a_t \sim \pi_\theta(\cdot|s_t)</tex> и выполняет его. Среда возвращает награду <tex>r_t</tex> и новое состояние <tex>s_{t+1}</tex>.
Взаимодействие компонентов реализуется через единый вычислительный граф. На каждом шаге <tex>t</tex> среда передает состояние <tex>s_t</tex>. Актёр семплирует действие <tex>a_t \sim \pi_\theta(\cdot|s_t)</tex> и выполняет его. Среда возвращает награду <tex>r_t</tex> и новое состояние <tex>s_{t+1}</tex>.
-
Критик вычисляет [[TD-ошибка|TD-ошибку]] (Temporal Difference error) — скалярный сигнал рассогласования между предсказанной и фактической доходностью:
+
Критик вычисляет [[TD-ошибка|TD-ошибку]] (Temporal Difference error) — скалярный сигнал рассогласования между текущей оценкой и целевым значением:
<tex>\delta_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t)</tex>
<tex>\delta_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t)</tex>
где <tex>\gamma</tex> — коэффициент дисконтирования.
где <tex>\gamma</tex> — коэффициент дисконтирования.
TD-ошибка <tex>\delta_t</tex> является ключевым потоком данных между модулями:
TD-ошибка <tex>\delta_t</tex> является ключевым потоком данных между модулями:
-
1. '''Обновление Критика:''' минимизируется среднеквадратичная ошибка предсказания: <tex>\mathcal{L}(\phi) = \delta_t^2</tex>.
+
# '''Обновление Критика:''' минимизируется среднеквадратичная ошибка предсказания: <tex>\mathcal{L}(\phi) = \delta_t^2</tex>.
-
2. '''Обновление Актёра:''' <tex>\delta_t</tex> используется в качестве базовой линии (baseline) в градиенте политики, подавляя дисперсию:
+
# '''Обновление Актёра:''' <tex>\delta_t</tex> используется в качестве базовой оценки (baseline) в градиенте политики, снижая её дисперсию<ref>Sutton R. S. et al. Policy gradient methods for reinforcement learning with function approximation //Advances in neural information processing systems. – 1999. – Т. 12.</ref>:
<tex>\nabla_\theta J(\theta) \approx \mathbb{E}[\nabla_\theta \log \pi_\theta(a_t|s_t) \delta_t]</tex>
<tex>\nabla_\theta J(\theta) \approx \mathbb{E}[\nabla_\theta \log \pi_\theta(a_t|s_t) \delta_t]</tex>
-
'''Компромисс при проектировании (Trade-off):''' Выбор между раздельными нейросетями (Separate networks) и сетями с общим торсом (Shared backbone). В бортовых вычислителях беспилотного транспорта аппаратные ограничения вынуждают использовать общий торс (например, ResNet-ядро для обработки лидарных данных) с двумя раздельными "головами". Это экономит память и вычисления на инференсе, но создает проблему конкуренции градиентов (gradient interference): сигналы обновления для Актёра и Критика могут противоречить друг другу, дестабилизируя обучение общего признакового пространства.
+
'''Инженерный компромисс (trade-off):''' Выбор между раздельными нейросетями (separate networks) и сетями с общей основой (shared backbone). В бортовых вычислителях беспилотного транспорта аппаратные ограничения вынуждают использовать общую базу (например, ResNet-ядро для обработки лидарных данных) с двумя раздельными выходами. Это экономит память и вычисления на инференсе, но создает проблему интерференции градиентов (gradient interference): сигналы обновления для Актёра и Критика могут противоречить друг другу, дестабилизируя обучение общего признакового пространства.
== Проблема масштабирования и стабильности ==
== Проблема масштабирования и стабильности ==
Строка 30: Строка 30:
При переходе от симуляции к сложным средам возникает проблема параллелизма сбора данных и стабилизации весов. Это порождает два основных архитектурных паттерна: [[A2C]] (Advantage Actor-Critic) и [[A3C]] (Asynchronous Actor-Critic).
При переходе от симуляции к сложным средам возникает проблема параллелизма сбора данных и стабилизации весов. Это порождает два основных архитектурных паттерна: [[A2C]] (Advantage Actor-Critic) и [[A3C]] (Asynchronous Actor-Critic).
-
* '''A3C (Асинхронный):''' Запускает множество копий среды в отдельных потоках (workers). Каждый воркер копирует глобальные веса, собирает траекторию, считает локальные градиенты и асинхронно обновляет глобальную сеть.
+
* '''A3C (Асинхронный):''' Запускает множество копий среды в отдельных потоках (workers). Каждый поток копирует глобальные веса, собирает траекторию, считает локальные градиенты и асинхронно обновляет глобальную сеть<ref>Mnih V. et al. Asynchronous methods for deep reinforcement learning //International conference on machine learning. – PmLR, 2016.</ref>. <br />'''Проблема:''' В задачах непрерывного управления (например, удержание в полосе при высокой скорости) асинхронные обновления приводят к использованию устаревших (stale) весов для вычисления TD-ошибки. Это вызывает осцилляции политики и риск резких выбросов в управляющем сигнале.
-
* '''Проблема:''' В условиях непрерывного управления (например, удержание в полосе при высокой скорости) асинхронные обновления приводят к использованию "устаревших" (stale) весов для вычисления TD-ошибки. Это вызывает осцилляции политики и риска "выброса" рулевого управления.
+
* '''A2C (Синхронный):''' Убирает асинхронность. Несколько потоков собирают данные параллельно, но обновление глобальной сети происходит строго синхронно по завершении батча всеми потоками. <br />'''Инженерное решение:''' На практике A2C вытеснил A3C. Синхронизация гарантирует, что градиент вычисляется по актуальным весам, что критически важно для сходимости. Кроме того, в современных стеках RL (например, при обучении на GPU) векторизованные среды A2C используют аппаратное ускорение эффективнее, чем межпоточные блокировки A3C, изначально заточенные под CPU.
-
* '''A2C (Синхронный):''' Убирает асинхронность. Несколько воркеров собирают данные параллельно, но обновление глобальной сети происходит строго синхронно по завершении батча всеми воркерами.
+
-
* '''Инженерное решение:''' На практике A2C вытеснил A3C. Синхронизация гарантирует, что градиент вычисляется по актуальным весам, что критически важно для сходимости. Кроме того, в современных стеках RL (например, при обучении на GPU) векторизованные среды A2C utilize аппаратное ускорение эффективнее, чем межпоточные блокировки A3C, изначально заточенные под CPU.
+
-
Дополнительное снижение дисперсии в обоих подходах достигается переходом от <tex>V(s)</tex> к [[Преимущество (Advantage)|функции преимущества]] <tex>A(s, a)</tex>, например, через GAE (Generalized Advantage Estimation), что позволяет балансировать смещение (bias) и дисперсию (variance) оценки.
+
Дополнительное снижение дисперсии в обоих подходах достигается переходом от <tex>V(s)</tex> к [[Преимущество (Advantage)|функции преимущества]] <tex>A(s, a)</tex>, например, через GAE (Generalized Advantage Estimation), что позволяет находить баланс между смещением (bias) и дисперсией (variance) оценки.
 +
 
 +
== Пример из практики: управление беспилотным транспортом ==
 +
 
 +
* '''Вход''': облако точек от лидаров и камер.
 +
* '''Выход''': вектор непрерывных управляющих воздействий (угол поворота руля, продольное ускорение).
 +
 
 +
'''Фаза обучения''': На этапе обучения архитектура работает симметрично. Актёр генерирует кандидатные траектории, а Критик оценивает их по safety-score — вероятности безошибочного прохождения участка с учетом динамических препятствий. Ошибка временного сдвига (TD-error) направляет градиенты Актёра, штрафуя за опасные манёвры.
 +
 
 +
'''Фаза инференса''': Системный дизайн определяется фазой развертывания на борту. Вычислительные мощности автомобильного компьютера строго ограничены во времени (порядка 10 мс на цикл). Хранить в памяти и задействовать вычислительные блоки для половины весов нейросети (Критика), которая на инференсе не выполняет функций оценки, непозволительно.
 +
 
 +
Поэтому при развертывании происходит строгая асимметрия: Критик физически отсекается от графа вычислений, и в системе остается только Актёр.
 +
 
 +
'''Инженерное решение проблемы стабильности'''
 +
 
 +
Возникает задача обеспечения безопасности: как гарантировать, что Актёр продолжит избегать опасных состояний без контроля со стороны Критика? Решение закладывается на этапе проектирования сети. Используется кодировщик (encoder) для извлечения пространственных признаков. При этом к функции потерь Актёр добавляется вспомогательная ошибка реконструкции скрытого состояния Критика.
 +
 
 +
В результате на этапе обучения Критик принуждает кодировщик формировать латентное пространство, в котором четко разделены безопасные и опасные области. После удаления Критика на инференсе Актёр продолжает использовать этот «безопасный» срез признаков для принятия решений. Знания о безопасности навсегда имплементируются в структуру весов Актёра еще на этапе совместного обучения.
-
== Литература ==
 
-
# Konda, V. R., & Tsitsiklis, J. N. (2000). Actor-Critic Algorithms. Advances in Neural Information Processing Systems (NeurIPS).
 
-
# 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).
 
-
# 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).
 
== См. также ==
== См. также ==
* [[Обучение с подкреплением]]
* [[Обучение с подкреплением]]
Строка 47: Строка 58:
* [[Policy gradient]]
* [[Policy gradient]]
* [[Компромисс обучение-применение]]
* [[Компромисс обучение-применение]]
 +
 +
== Примечания ==
 +
{{примечания}}
 +
 +
== Литература ==
 +
* {{статья | автор = 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 }}

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

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


Содержание

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

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

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

  • Актёр (Actor): отвечает за генерацию действия a_t в состоянии s_t согласно политике \pi_\theta(a|s). Его задача — исследование пространства действий и непосредственное управление.
  • Критик (Critic): отвечает за оценку функции ценности 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) в градиенте политики, снижая её дисперсию[1]:

\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). Каждый поток копирует глобальные веса, собирает траекторию, считает локальные градиенты и асинхронно обновляет глобальную сеть[1].
    Проблема: В задачах непрерывного управления (например, удержание в полосе при высокой скорости) асинхронные обновления приводят к использованию устаревших (stale) весов для вычисления TD-ошибки. Это вызывает осцилляции политики и риск резких выбросов в управляющем сигнале.
  • A2C (Синхронный): Убирает асинхронность. Несколько потоков собирают данные параллельно, но обновление глобальной сети происходит строго синхронно по завершении батча всеми потоками.
    Инженерное решение: На практике A2C вытеснил A3C. Синхронизация гарантирует, что градиент вычисляется по актуальным весам, что критически важно для сходимости. Кроме того, в современных стеках RL (например, при обучении на GPU) векторизованные среды A2C используют аппаратное ускорение эффективнее, чем межпоточные блокировки A3C, изначально заточенные под CPU.

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

Пример из практики: управление беспилотным транспортом

  • Вход: облако точек от лидаров и камер.
  • Выход: вектор непрерывных управляющих воздействий (угол поворота руля, продольное ускорение).

Фаза обучения: На этапе обучения архитектура работает симметрично. Актёр генерирует кандидатные траектории, а Критик оценивает их по safety-score — вероятности безошибочного прохождения участка с учетом динамических препятствий. Ошибка временного сдвига (TD-error) направляет градиенты Актёра, штрафуя за опасные манёвры.

Фаза инференса: Системный дизайн определяется фазой развертывания на борту. Вычислительные мощности автомобильного компьютера строго ограничены во времени (порядка 10 мс на цикл). Хранить в памяти и задействовать вычислительные блоки для половины весов нейросети (Критика), которая на инференсе не выполняет функций оценки, непозволительно.

Поэтому при развертывании происходит строгая асимметрия: Критик физически отсекается от графа вычислений, и в системе остается только Актёр.

Инженерное решение проблемы стабильности

Возникает задача обеспечения безопасности: как гарантировать, что Актёр продолжит избегать опасных состояний без контроля со стороны Критика? Решение закладывается на этапе проектирования сети. Используется кодировщик (encoder) для извлечения пространственных признаков. При этом к функции потерь Актёр добавляется вспомогательная ошибка реконструкции скрытого состояния Критика.

В результате на этапе обучения Критик принуждает кодировщик формировать латентное пространство, в котором четко разделены безопасные и опасные области. После удаления Критика на инференсе Актёр продолжает использовать этот «безопасный» срез признаков для принятия решений. Знания о безопасности навсегда имплементируются в структуру весов Актёра еще на этапе совместного обучения.

См. также

Примечания

Литература

  • 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.