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

Максимально энтропийное RL

Добавить энтропию в цель — и получить ту же формулу, что стоит за выравниванием

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

Изменить цель, а не алгоритм

До сих пор энтропия появлялась как бонус, добавляемый вручную, чтобы политика не схлопывалась. Максимально энтропийное RL делает её частью постановки:

J(π)=E[trt+βH(π(st))]J(\pi) = \mathbb{E}\Big[\sum_t \htmlData{k=reward}{r_t} + \htmlData{k=temp}{\beta}\,\htmlData{k=entropy}{\mathcal{H}\big(\pi(\cdot\mid s_t)\big)}\Big]

β\beta — обменный курс: сколько награды мы готовы отдать за один нат энтропии. Это не гиперпараметр оптимизатора, а часть определения задачи, ровно как γ\gamma в уроке 010.

Зачем это нужно:

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

Последняя строка недооценена. Без энтропии оптимальная политика детерминирована и меняется скачком, когда два действия меняются местами по ценности. С энтропией она меняется плавно, и оптимизация становится куда лучше себя ведущей.

Решение в замкнутой форме

Для одного состояния задача решается точно. Максимизировать Eπ[Q]+βH(π)\mathbb{E}_\pi[Q] + \beta\mathcal{H}(\pi) при условии нормировки — это задача на условный экстремум (блок 5, урок 110), и ответ:

π(a)=exp(Q(a)/β)aexp(Q(a)/β)\pi^*(a) = \frac{\exp\big(Q(a)/\beta\big)}{\sum_{a'}\exp\big(Q(a')/\beta\big)}

Оптимальная политика — softmax по ценностям с температурой β\beta. Не приближение, не эвристика — точное решение задачи с энтропийным членом.

Отсюда сразу видны пределы:

β\betaполитика
0\to 0жадная, детерминированная
=1= 1softmax по QQ
\to \inftyравномерная

И значение оптимума тоже известно: V(s)=βlogaexp(Q(a)/β)V^*(s) = \beta \log\sum_a \exp(Q(a)/\beta) — «мягкий максимум» вместо обычного. Отсюда и название soft actor-critic: в уравнении Беллмана max\max заменяется на logsumexp.

Обобщение: тяга к опорной политике

Заменим энтропию на расхождение с некоторой опорной политикой πref\pi_{\text{ref}}:

J(π)=Eπ[r]βKL(ππref)J(\pi) = \mathbb{E}_\pi[r] - \beta\,\mathrm{KL}\big(\pi \,\|\, \pi_{\text{ref}}\big)

При равномерной πref\pi_{\text{ref}} это в точности предыдущая задача (с точностью до константы). В общем случае решение такое же по форме:

π(a)πref(a)exp(r(a)/β)\pi^*(a) \propto \pi_{\text{ref}}(a)\,\exp\big(r(a)/\beta\big)

То есть опорная политика перевзвешивается экспонентой награды. Не заменяется — перевзвешивается, и это существенно: действия, которым πref\pi_{\text{ref}} приписывала нулевую вероятность, останутся нулевыми при любой награде.

Проверьте оба предела и тождество с логарифмом нормировки.

ABC

действие вероятность

опорная π_ref оптимум π*
температура β 1
ожидаемая награда
1.3755
KL(π*‖π_ref)
0.2322
значение цели
1.1433
β·log Z
1.1433
Два последних числа совпадают при любом β — это тождество, а не совпадение: оптимум KL-регуляризованной задачи равен β·log Z, где Z — нормировка перевзвешенной опорной политики. Урок 140 обращает это равенство и получает DPO.

Тождество, на которое стоит обратить внимание: значение оптимума равно βlogZ\beta \log Z, где Z=aπref(a)er(a)/βZ = \sum_a \pi_{\text{ref}}(a)e^{r(a)/\beta}. Виджет считает его двумя независимыми способами — по определению цели и через нормировку — и они совпадают при любом β\beta. Урок 140 обратит это равенство и получит из него DPO.

Почему это в блоке про выравнивание

Формула ππrefer/β\pi^* \propto \pi_{\text{ref}}e^{r/\beta} и есть цель RLHF (урок 130). Смысл там читается буквально: взять предобученную модель и перевзвесить её тем, что нравится людям, не позволяя уходить далеко.

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

Итог

  • Энтропия в цели — часть постановки, а не бонус; β\beta задаёт обменный курс.
  • Оптимум — softmax по ценностям с температурой β\beta; это точное решение.
  • max\max в уравнении Беллмана заменяется на logsumexp — отсюда «soft».
  • Обобщение с опорной политикой даёт ππrefer/β\pi^* \propto \pi_{\text{ref}}e^{r/\beta}: перевзвешивание, а не замена.
  • Значение оптимума равно βlogZ\beta\log Z, и это тождество лежит в основе DPO.

Источники

Проверки

0 из 2
  1. Энтропия в цели

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

  2. Оптимум KL-регуляризованной задачи

    Реализуйте kl_optimum(reference, rewards, beta) — верните [first_probability, expected_reward, divergence, objective_via_log_z]:

    • оптимальная политика π(a)πref(a)exp(r(a)/β)\pi^*(a) \propto \pi_{\text{ref}}(a)\exp(r(a)/\beta); верните π(0)\pi^*(0). Считайте через логарифмы со сдвигом на максимум — при малых β\beta экспонента иначе переполнится (блок 6, урок 060);
    • expected_reward = aπ(a)r(a)\sum_a \pi^*(a) r(a);
    • divergence = KL(ππref)\mathrm{KL}(\pi^*\|\pi_{\text{ref}});
    • objective_via_log_z = βlogaπref(a)er(a)/β\beta\log\sum_a \pi_{\text{ref}}(a)e^{r(a)/\beta}.

    Последнее число обязано равняться expected_rewardβdivergence\texttt{expected\_reward} - \beta\cdot\texttt{divergence} — то есть значению самой цели. Посчитайте его другим путём, через нормировку, и сверьте: это и есть тождество, из которого в уроке 140 выводится DPO.

    функция kl_optimum

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

    Ctrl/⌘ + Enter