Обучение с подкреплением и выравнивание

Обучение вне политики

Использовать чужие данные — и почему это работает ровно до тех пор, пока политики близки

Шаг 110 из 117 · ~26 мин

Зачем

Градиент политики требует данных, собранных текущей политикой. Сделали шаг — данные устарели, собирайте заново. Для языковой модели это означает генерацию заново после каждого обновления, и это дорого.

Хочется переиспользовать. Инструмент известен из блока 3, урок 150:

Eaπ[f(a)]=Eaμ[π(a)μ(a)f(a)]\mathbb{E}_{a\sim\pi}\big[f(a)\big] = \mathbb{E}_{a\sim\mu}\Big[\htmlData{k=ratio}{\frac{\pi(a)}{\mu(a)}}f(a)\Big]

Тождество точное: ожидание по одному распределению переписывается как ожидание по другому с поправочным весом. Оценка остаётся несмещённой при любом μ\mu, у которого носитель покрывает носитель π\pi.

Где оно ломается

Несмещённость сохраняется всегда, дисперсия — нет. Измерим на трёхруком примере: целевая политика π=(0.2,0.2,0.6)\pi = (0.2, 0.2, 0.6), награды (1,0,2)(1, 0, 2), истинное значение 1.41.4.

поведенческая μ\muдисперсияэффективный размер выборкимакс. отношение
(0.2,0.2,0.6)(0.2, 0.2, 0.6) — совпадает0.640.64100%100\%1.01.0
(0.3,0.3,0.4)(0.3, 0.3, 0.4)1.771.7786%86\%1.51.5
(0.45,0.45,0.1)(0.45, 0.45, 0.1)12.5312.5326%26\%6.06.0
(0.02,0.02,0.96)(0.02, 0.02, 0.96)1.541.5423%23\%10.010.0

Оценка во всех строках даёт ровно 1.41.4 — она несмещена. Но эффективный размер выборки падает вчетверо, как только политики заметно расходятся: из ста собранных примеров реально работают двадцать три.

считается как 1/Eμ[(π/μ)2]1/\mathbb{E}_\mu[(\pi/\mu)^2] и равен единице ровно при совпадении политик. Это самая полезная диагностика во всём off-policy обучении: она отвечает на вопрос «сколько данных у меня осталось» одним числом.

Обратите внимание на четвёртую строку: дисперсия там меньше, чем в третьей, хотя ESS ниже и максимальное отношение вдвое больше. Дисперсия зависит и от того, какие именно значения получают большие веса; ESS — нет. Поэтому смотреть стоит на оба числа, а не выбирать одно.

Отсюда — вся конструкция следующих уроков

Логика получается такая:

  1. переиспользовать данные можно, и оценка остаётся честной;
  2. качество оценки падает по мере расхождения политик;
  3. значит нужно ограничить расхождение;
  4. а ограничение накладывается на шаг оптимизации.

Пункты 3 и 4 — это trust region (урок 100) и PPO (урок 110). Посмотрите, как выглядит целевая функция, когда отношение отпущено на волю и когда ограничено.

отношение π/μ целевая функция

без ограничения с обрезкой со штрафом KL
отношение r 1
ширина ε 0.2
преимущество A 1
штраф β 0
значение
1
производная
1
диапазон обрезки
0.8–1.2
Серая прямая — обычная off-policy цель r·A: она растёт неограниченно, и оптимизатор с удовольствием уйдёт туда, где оценка уже ничего не стоит. Поставьте штраф β больше нуля и посмотрите на жёлтую кривую — так выглядит мягкое ограничение. Уроки 100 и 110 объясняют оба.

Смертельная триада

Второй способ сломаться, и он не про дисперсию. Три ингредиента:

ингредиентчто даёт
аппроксимация функцииобобщение вместо таблицы
бутстрэппингобучение оценки по оценке
off-policy данныепереиспользование

Любые два безопасны, все три вместе могут расходиться. Это не редкая патология: известны компактные контрпримеры на нескольких состояниях, где значения уходят в бесконечность.

Причина в том, что оператор Беллмана сжимает в равномерной норме (урок 030), а проекция на пространство функций сети — в норме, взвешенной распределением данных. Когда распределение данных не соответствует политике, композиция двух операторов перестаёт быть сжимающей, и гарантия исчезает.

Практически это лечится не теорией, а осторожностью: целевые сети, ограничение расхождения политик, консервативные шаги. Все приёмы следующих уроков делают одно — держат обучение в режиме, где данные почти соответствуют политике.

Итог

  • Importance sampling позволяет переиспользовать данные и не вносит смещения.
  • Дисперсия и эффективный размер выборки быстро деградируют при расхождении политик: измерено падение до 23%23\% и рост дисперсии в двадцать раз.
  • ESS и дисперсия — разные диагностики, и смотреть стоит на обе.
  • Смертельная триада: аппроксимация, бутстрэппинг и off-policy вместе снимают гарантию сходимости.
  • Отсюда потребность ограничивать шаг — тема уроков 100 и 110.

Источники

Проверки

0 из 2
  1. Чужие данные и их цена

    Отметьте все верные утверждения об обучении вне политики.

  2. Веса важности и эффективный размер выборки

    Реализуйте importance_facts(target, behaviour, values) — три списка одинаковой длины: целевая политика π\pi, поведенческая μ\mu и величина f(a)f(a), ожидание которой нас интересует. Верните [estimate, variance, effective_sample_fraction, max_ratio]:

    • estimate = aμ(a)π(a)μ(a)f(a)\sum_a \mu(a)\,\dfrac{\pi(a)}{\mu(a)}\,f(a) — оценка importance sampling (посчитайте именно так, не сокращая: это проверяет реализацию);
    • variance = aμ(a)[π(a)μ(a)f(a)]2estimate2\sum_a \mu(a)\left[\dfrac{\pi(a)}{\mu(a)}f(a)\right]^2 - \texttt{estimate}^2;
    • effective_sample_fraction = 1aμ(a)(π(a)/μ(a))2\dfrac{1}{\sum_a \mu(a)\left(\pi(a)/\mu(a)\right)^2} — доля выборки, которая реально работает;
    • max_ratio = maxaπ(a)/μ(a)\max_a \pi(a)/\mu(a).

    Проверить себя можно так: при π=μ\pi = \mu третье число равно единице, а первое — обычному ожиданию.

    функция importance_facts

    Загрузка редактора…

    Ctrl/⌘ + Enter