В рамках курса Стэнфордского университета AA228/CS238 «Принятие решений в условиях неопределенности» прошла лекция, посвященная методам оценки градиента стратегии (Policy Gradient Estimation). Магистрантка Амелия представила детальный разбор математических подходов, которые позволяют оптимизировать поведение агентов в сложных средах, где невозможно составить полную таблицу состояний.
🌡️ Параметризация стратегии: от таблиц к функциям 1:06
В классических задачах обучения с подкреплением стратегия ($\pi$) определяет, какое действие следует предпринять в конкретном состоянии. Однако, как отмечает Амелия, при работе с большими или непрерывными пространствами состояний хранение стратегии в виде таблицы становится невозможным .
В качестве примера спикер приводит систему управления температурой в здании:
- Состояния: Текущая температура (от 0 до 100 градусов).
- Действия: Включить обогрев, включить кондиционер или ничего не делать.
- Ограничение: Нельзя включать обогрев и охлаждение одновременно .
Вместо хранения 100 различных значений для каждого градуса, стратегия параметризуется вектором $\theta$. Например, можно задать два параметра: $\theta_1$ (порог включения тепла) и $\theta_2$ (порог включения кондиционера) . Задача оптимизации сводится к поиску таких значений $\theta$, которые максимизируют полезность — $u(\theta)$ .
📉 Метод конечных разностей (Finite Differences) 4:56
Первый и наиболее интуитивно понятный метод оценки градиента основан на классическом определении производной. Спикер напоминает, что для вычисления наклона функции в точке мы можем взять другую точку на небольшом расстоянии ($\Delta$) и вычислить разность значений .
В многомерном случае для каждого параметра $\theta_i$ вычисляется частная производная:
- Берется стандартный базисный вектор $e_i$ (где 1 стоит только в позиции $i$).
- Вычисляется разность между полезностью с измененным параметром и исходной полезностью: $u(\theta + \Delta e_i) - u(\theta)$ .
- Результат делится на $\Delta$.
Амелия подчеркивает, что этот метод требует проведения симуляций (rollouts) для оценки полезности . Главным недостатком является высокая чувствительность к дисперсии: если оценка полезности зашумлена, для получения адекватного градиента потребуется огромное количество запусков симуляции .
📊 Регрессионный градиент (Regression Gradient) 9:00
Более робастным методом является построение регрессионной модели вокруг текущей точки параметров. Вместо того чтобы изменять каждый параметр по очереди, спикер предлагает собирать набор данных о возмущениях (perturbations) .
Процесс выглядит следующим образом:
- Генерация возмущений: Создается матрица $\Delta\theta$ размером $m \times n$, где $m$ — количество возмущений, а $n$ — количество параметров.
- Выбор количества проб: По словам Амелии, эмпирическое правило гласит, что количество возмущений ($m$) должно вдвое превышать количество параметров ($n$) .
- Сэмплирование: Хорошие результаты дает случайное сэмплирование из нормального распределения с последующей нормализацией, что можно визуализировать как выбор точек на поверхности гиперсферы .
- Оценка изменения полезности: Для каждого возмущения проводится симуляция и вычисляется изменение полезности $\Delta u$ .
Для нахождения градиента используется формула с псевдообратной матрицей: $\nabla u(\theta) \approx \Delta\theta^\dagger \Delta u$ . Псевдоинверсия необходима, так как матрица возмущений обычно не является квадратной и может быть неинвертируемой в обычном смысле .
🧠 Отношение правдоподобия и Log-Derivative Trick 19:21
Самый математически сложный, но эффективный метод — использование отношения правдоподобия (Likelihood Ratio). Здесь полезность представляется как интеграл по всем возможным траекториям $\tau$ : $u(\theta) = \int p_\theta(\tau) R(\tau) d\tau$, где $p_\theta(\tau)$ — вероятность траектории при параметрах $\theta$, а $R(\tau)$ — суммарное вознаграждение (return) .
Ключевым моментом здесь является «трюк с логарифмической производной» (log-derivative trick). По словам Амелии, это позволяет переписать градиент интеграла как математическое ожидание : $\nabla_\theta u(\theta) = E_\tau [\nabla_\theta \log p_\theta(\tau) R(\tau)]$ .
Этот подход особенно удобен для стохастических стратегий, которые выдают не конкретное действие, а распределение вероятностей действий . Например, при 30 градусах стратегия может с вероятностью 90% советовать включить тепло и с вероятностью 5% — кондиционер .
🧬 Разбор траектории и независимость от среды 31:47
Амелия подробно разбирает, из чего складывается вероятность траектории $p_\theta(\tau)$. Она включает в себя:
- Вероятность начального состояния (не зависит от параметров $\theta$) .
- Вероятности переходов между состояниями (определяются динамикой среды, а не стратегией) .
- Вероятности выбора действий согласно стратегии $\pi_\theta(a|s)$ .
При взятии градиента логарифма этой вероятности происходит удивительное упрощение: все члены, описывающие динамику среды (переходы состояний), исчезают, так как они не зависят от $\theta$ .
В итоге, для оценки градиента нам нужно знать только градиент логарифма нашей собственной стратегии, что делает метод чрезвычайно мощным: нам не нужно знать, как устроена среда, чтобы оптимизировать поведение в ней . В практической реализации, как отмечает спикер в дискуссии со студентами, приходится сэмплировать конечное число траекторий, так как перебрать все возможные варианты развития событий невозможно .