← ДокументацияDOCS / Reinforcement Learning / GAE Algorithm

GAE (Generalized Advantage Estimation): точный контроль баланса между смещением и дисперсией

Введение

Во многих алгоритмах RL с policy gradient (например, PPO, A2C) необходимо оценивать преимущество действия — насколько оно оказалось лучше или хуже ожиданий.

Однако оценка advantage — задача нетривиальная:

  • можно получить низкую дисперсию, но сильное смещение,
  • или иметь непредвзятый результат, но с огромным шумом.

GAE был предложен Schulman et al. в 2016 году как способ найти оптимальный баланс между этими двумя крайностями, обеспечив более стабильное и эффективное обучение.

1. Напомним: что такое advantage

Advantage показывает, насколько конкретное действие в состоянии s оказалось лучше, чем ожидалось.

At = Q(st, at) - V(st)

Но в практике мы не знаем точно ни Q, ни V. Обычно используют приближённую формулу через n-step возврат:

At = rt + γ rt+1 + … + γn-1 rt+n-1 + γn V(st+n) - V(st)

  • Если взять n = 1, получим очень шумную оценку.
  • Если взять n = T, будет смещение при ошибках в V.

GAE вводит взвешенное суммирование этих n-step оценок с контролируемым сглаживанием.

2. Суть GAE: экспоненциальное сглаживание дельт TD

Вместо фиксированного шага, GAE рассчитывает advantage как экспоненциально затухающую сумму TD-ошибок (δ):

δt = rt + γ V(st+1) - V(st)

И далее:

ÂtGAE(γ, λ) = δt + γ λ δt+1 + (γ λ)2 δt+2 + …

Параметр λ ∈ [0, 1] управляет весом будущих шагов:

  • λ = 0: только текущая TD-ошибка (минимальная дисперсия, максимум смещения),
  • λ = 1: полный T-step возврат (минимум смещения, максимум дисперсии),
  • Значения от 0.9 до 0.97 — оптимальный компромисс на практике.

3. Почему GAE важен

GAE даёт:

  • более стабильные градиенты,
  • меньше шумов в обучении политики,
  • лучшую сходимость на сложных задачах.

В PPO, например, использование GAE — де-факто стандарт. Без него наблюдается:

  • плохая устойчивость в задачах с delayed rewards,
  • высокая чувствительность к параметрам обучения.

4. Интуитивно: как понимать GAE

Представь, что агент получил награду r0, r1, r2, …, и хочет понять: было ли действие в момент t хорошим?

Оценка TD-ошибок — это "маленькие сигналы", как сильно ожидание не совпало с реальностью. GAE говорит:

"Не смотри только на ближайшую ошибку, но и учти будущие ошибки, но с убывающим весом".

Именно это и делает GAE — интегрирует информацию о будущем, но не даёт ей взорвать градиенты.

5. Реализация на практике (словами)

Пусть у нас есть:

  • массив наград r,
  • массив значений V,
  • параметры γ, λ.

Тогда алгоритм:

  1. Идём назад по эпизоду.
  2. Для каждого t, считаем: δt = rt + γ Vt+1 - Vt
  3. GAE обновляется рекурсивно: At = δt + γ λ At+1
  4. Результат — сглаженный вектор advantage A, который пойдёт в PPO loss.

6. Параметры и их влияние

ПараметрЗначениеЭффект
γ0.99 (обычно)насколько важны будущие награды
λ0.95 – 0.97баланс между шумом и смещением
V(s)нейросетьдолжна быть достаточно точной для TD

Низкое λ → быстрый, но шумный градиент.

Высокое λ → устойчиво, но медленно.

Заключение

GAE — это фундаментальный компонент современных RL-алгоритмов, позволяющий:

  • оценивать качество действий более точно и стабильно,
  • контролировать баланс между долгосрочным учётом и устойчивостью,
  • ускорить обучение и уменьшить переобучение на шумных эпизодах.

Хотя математически прост, GAE оказывает глубокое влияние на поведение агента, особенно в задачах с отложенными наградами, стохастикой или длинными эпизодами.

GAE (Generalized Advantage Estimation): точный контроль баланса между смещением и дисперсией