Глава 3: Оценка политик вне политики сбора данных (OPE)
«Нельзя запустить новую политику в продакшене, чтобы узнать, насколько она хороша — значит, нужно оценить её ценность по тем данным, которые уже есть.»
Постановка задачи
В главе 2 мы определили офлайн постановку: фиксированный датасет $\mathcal{D}$ переходов $(s, a, r, s')$, собранных поведенческой политикой $\pi_\beta$. Мы обучаем новую политику $\pi$ (например, с помощью CQL, IQL или других методов этой книги) по $\mathcal{D}$. Ключевой вопрос до внедрения:
Чему равна $J(\pi) = \mathbb{E}_{\tau \sim \pi}\bigl[\sum_t \gamma^t r_t\bigr]$ — истинный ожидаемый return политики $\pi$?
Ответить на это, запуская $\pi$ в реальной среде, нельзя: это уже внедрение, а не оценка. В промышленности развёртывание непроверенной политики может быть небезопасным или дорогим. Нужно оценивать $J(\pi)$ только по офлайн датасету $\mathcal{D}$, собранному под $\pi_\beta$, а не под $\pi$. Это и есть Off-Policy Evaluation (OPE).
OPE — парная по смыслу к офлайн RL задача: офлайн RL обучает политику по $\mathcal{D}$; OPE оценивает кандидатную политику по тому же $\mathcal{D}$. На практике используют оба шага: обучают несколько политик (например, CQL с разным $\alpha$), ранжируют их с помощью OPE, выбирают лучшего кандидата и только потом рассматривают внедрение (часто после отдельной проверки безопасности).
Почему нельзя просто использовать обученную Q-функцию?
В главе 2 уже вводилась оценка $\hat{J}(\hat\pi) = \mathbb{E}_{s,a \sim d^{\hat\pi}}[Q_\theta(s,a)]$ — return, который предсказывает обученная Q-сеть для жадной политики. Мы отмечали: $\hat{J}$ легко становится чрезмерно оптимистичной, когда $Q_\theta$ завышает ценность OOD-действий (действий вне поддержки датасета).
Отсюда два связанных эффекта:
- Selection bias (смещение отбора): при обучении offline RL политика $\pi$ подбирается по $Q_\theta$ — argmax, улучшение, консервативные штрафы. Та же сеть затем «оценивает» ту политику, которую она же помогла выбрать. Ошибки экстраполяции на OOD-действиях систематически в пользу кандидата, а не случайны.
- OOD-overestimation: для пар $(s, a)$, которых почти не было в $\mathcal{D}$, $Q_\theta$ не опирается на достаточное число TD-целей. Завышение на таких действиях напрямую раздувает $\hat{J}(\pi)$ для политик, которые эти действия и выбирают.
Использовать training Q-network как единственный оценщик $J(\pi)$ — значит смешать обучение и валидацию. OPE вводит отдельные оценки $J(\pi)$: они явно учитывают сдвиг распределения между $\pi_\beta$ и $\pi$ и не предполагают, что $Q_\theta$ «уже правильная».
Три семейства оценок
1. Importance Sampling (IS)
Return траектории $\tau = (s_0, a_0, r_0, s_1, a_1, \ldots)$ под $\pi$ равен $G(\tau) = \sum_{t\ge 0} \gamma^t r_t$. Траектории в $\mathcal{D}$ сгенерированы $\pi_\beta$. Тождество:
где $\rho(\tau)$ — вероятность $\tau$ под $\pi$, $\rho_\beta(\tau)$ — под $\pi_\beta$. Произведение $\prod_{t} \frac{\pi(a_t|s_t)}{\pi_\beta(a_t|s_t)}$ — trajectory importance weight. Оценка:
Плюсы: несмещённость при полной поддержке (каждое действие с положительной вероятностью под $\pi$ имело положительную вероятность под $\pi_\beta$).
Минусы: дисперсия взрывается, когда $\pi$ и $\pi_\beta$ сильно расходятся — произведение весов может стать огромным. На практике: per-step / per-decision IS и clipping весов — меньше дисперсия, ценой смещения.
2. Direct Method (DM)
Обучают модель награды/динамики (или только Q) по $\mathcal{D}$, затем оценивают $J(\pi)$ симуляцией $\pi$ в модели или усреднением $\hat{Q}(s, \pi(s))$. Поскольку $J(\pi)$ — ожидаемый return от начального распределения состояний, корректная DM-оценка — среднее по начальным $s_0^{(i)}$ (по одному на траекторию в $\mathcal{D}$ или по held-out):
Усреднение $\hat{Q}(s, \pi(s))$ по всем $s$ из $\mathcal{D}$ даёт ценность на посещённом распределении состояний, а не $J(\pi)$; иногда это дешёвый суррогат, если $s_0$ не логируются. Стандартный способ получить $\hat{Q}$ — Fitted Q Evaluation (FQE).
Плюсы: низкая дисперсия; использует весь датасет.
Минусы: смещение при ошибке модели или $\hat{Q}$ — в offline RL часто есть extrapolation error; DM/FQE могут быть излишне оптимистичны для действий $\pi$.
Fitted Q Evaluation (FQE) подробнее
FQE (Le et al., 2019, Batch Policy Learning under Constraints; там же формализована для OPE) подгоняет Q-функцию, приближающую ценность целевой политики $\pi$, только по офлайн данным из $\mathcal{D}$. В отличие от Fitted Q Iteration (FQI), FQE оценивает фиксированную политику: в Bellman-цели на следующем шаге используется $\pi(s')$, а не $\max_a$ или поведенческая политика. Истинная $Q^\pi$ удовлетворяет $Q^\pi(s,a) = r + \gamma \mathbb{E}_{s'}[Q^\pi(s', \pi(s'))]$, поэтому регрессия идёт на цель $y = r + \gamma \hat{Q}(s', \pi(s'))$ по переходам $(s,a,r,s') \in \mathcal{D}$. Минимизируют TD-ошибку: $\mathcal{L}_{FQE} = \mathbb{E}_{(s,a,r,s') \sim \mathcal{D}}[(r + \gamma \hat{Q}_{tgt}(s', \pi(s')) - \hat{Q}(s,a))^2]$. Можно делать одну регрессию или итерации с обновлением целевой сети. Минимальный шаг обучения и оценка $J$ в коде:
# FQE update: TD-цель использует π в следующем состоянии (не поведенческое действие)
with torch.no_grad():
a_next = policy_fn(next_states) # π(s')
q_next = Q_tgt(next_states, a_next)
td_target = rewards + gamma * (1 - dones) * q_next
q = Q(states, actions)
loss = F.mse_loss(q, td_target)
# ... backward, step оптимизатора, затем soft update Q_tgt ← Q
# FQE-оценка: (1/n) Σ Q(s, π(s)) по *начальным* состояниям для J(π); по всем состояниям датасета — суррогат
def estimate_J_FQE(Q, policy_fn, states):
with torch.no_grad():
a = policy_fn(states)
return Q(states, a).mean().item()
Зачем FQE: не нужны importance weights и знание $\pi_\beta$; удобно для непрерывных действий (достаточно одного forward pass для $\hat{Q}(s', \pi(s'))$). Оценка $\hat{J}_{FQE} = \frac{1}{n}\sum_i \hat{Q}(s_0^{(i)}, \pi(s_0^{(i)}))$ дёшева после обучения $\hat{Q}$, поэтому FQE хорошо масштабируется при сравнении многих кандидатов. Смещение: $\hat{Q}$ обучена на распределении данных; при подстановке $\pi(s)$ и $\pi(s')$ действия могут быть вне распределения — та же экстраполяционная ошибка из главы 2. FQE наиболее надёжна, когда $\pi$ близка к $\pi_\beta$ или покрытие состояний в $\mathcal{D}$ достаточно богатое.
📄 Код:
fqe.py— FQE на том же игрушечном окружении: обучение BC, подгонка $Q^\pi$, оценка $\hat{J}_{FQE}$ и сравнение с rollout return.
3. Doubly Robust (DR)
Комбинирует IS и DM: оценка несмещена, если верна (a) модель importance weights, или (b) value model $\hat{Q}$:
где $\rho_{0:t}$ — importance weight до шага $t$. Если $\hat{Q} = Q^\pi$, хвостовые TD-остатки имеют нулевое матожидание. Если $\pi_\beta = \pi$, веса равны 1, но DR не вырождается в чистый DM: коррекционные слагаемые остаются. На практике DR часто даёт меньшую дисперсию, чем IS, и меньшее смещение, чем один DM. Ограничение: на длинных горизонтах $\rho_{0:t}$ по-прежнему может взрываться или обнуляться; смягчают Marginalized IS (state-marginal weights).
Практические рекомендации
| Ситуация | Предпочтительно |
|---|---|
| $\pi$ близка к $\pi_\beta$ | IS (или weighted IS с clipping) |
| Большое пространство действий / $\pi$ далеко от $\pi_\beta$ | FQE или DM (принять смещение) |
| Нужно одно число для сравнения многих политик | FQE быстрая; ранжировать по $\hat{J}_{FQE}$, топ — проверить DR или IS |
| Критично по безопасности | Несколько оценок; сильное расхождение — стоп-сигнал для внедрения |
Снижение дисперсии
Для IS: per-decision IS, ограничение (cap) весов, нормализованные веса. Для DR: хорошо настроенная $\hat{Q}$ (TD на $\mathcal{D}$, target network) уменьшает дисперсию коррекционного члена.
Доверительные интервалы
Bootstrap по траекториям (или по эпизодам) даёт интервал вокруг $\hat{J}$; альтернатива — концентрационные границы (Chebyshev, high-confidence OPE). Широкий интервал — высокая неопределённость: не принимать решение о внедрении только по точечной оценке.
Правило для внедрения: если IS, FQE и DR (или любые две независимые оценки) сильно расходятся — трактуйте $J(\pi)$ как ненадёжную и не используйте результат как единственное основание для выдачи политики в продакшен. Согласуйте оценки, улучшите покрытие данных или проведите shadow / ограниченный rollout (главы 10, 12–13).
Ограничения
- OPE не снимает фундаментальную проблему offline RL. Если $\pi$ посещает состояния или действия с малым или нулевым покрытием в $\mathcal{D}$, ни один оценщик не будет точным — в данных просто нет нужной информации. OPE показывает, насколько хорошо можно оценить $J(\pi)$ по $\mathcal{D}$; она не делает $\pi$ безопасной.
- Misspecification модели: DM и DR опираются на $\hat{Q}$ или модель динамики. В offline RL эти модели смещены (оптимизм или пессимизм). При сильной ошибке модели OPE вводит в заблуждение.
- Промышленный контекст: в главах 5–11 часто используют on-policy rollouts в симуляторе (
evaluate(agent, env, ...)). Это уместно, когда симулятор есть. OPE нужна, когда симулятора нет или новую политику нельзя запускать вообще. Для многих процессов high-fidelity симулятора нет — тогда OPE (или отчёт OPE рядом с любыми симуляционными метриками) — правильный инструмент.
Итог
| Оценщик | Смещение | Дисперсия | Когда использовать |
|---|---|---|---|
| IS | Низкое (при support) | Высокая | $\pi \approx \pi_\beta$ |
| DM / FQE | Высокое (ошибка модели) | Низкая | Быстрое ранжирование, смещение осознанно |
| DR | Низкое, если верны Q или веса | Средняя | Разумный выбор по умолчанию, когда применимо |
Off-Policy Evaluation отвечает на вопрос: по офлайн данным только, насколько хороша эта политика? OPE не заменяет контролируемое внедрение и мониторинг, но позволяет сравнивать и отбирать политики до реального rollout.
Следующая глава открывает алгоритмическую часть: Conservative Q-Learning (CQL) — первый метод обучения политики по $\mathcal{D}$.
Литература
- Le, H. M., Voloshin, C., & Yue, Y. (2019). Batch Policy Learning under Constraints. ICML (PMLR 97). arXiv:1903.08738. (формализация FQE для OPE)
- Gauci, J., et al. (2018). Horizon: Facebook's Open Source Applied Reinforcement Learning Platform. arXiv:1811.00260. (платформа production RL; не FQE.)
- Precup, D., Sutton, R. S., & Singh, S. (2000). Eligibility Traces for Off-Policy Policy Evaluation. ICML.
- Thomas, P., Theocharous, G., & Ghavamzadeh, M. (2015). High-Confidence Off-Policy Evaluation. AAAI.
- Jiang, N., & Li, L. (2016). Doubly Robust Off-policy Value Evaluation for Reinforcement Learning. ICML.
- Voloshin, C., Le, H. M., Jiang, N., & Yue, Y. (2019). Empirical Study of Off-Policy Policy Evaluation for Reinforcement Learning. NeurIPS Workshop.
- Levine, S., Kumar, A., Tucker, G., & Fu, J. (2020). Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems. arXiv:2005.01643. (раздел об OPE)