Что такое PPO в контексте RLHF и как считается loss?
Ответ от нейросети
sobes.tech AI
PPO (Proximal Policy Optimization) — это алгоритм оптимизации политики в обучении с подкреплением, широко используемый в RLHF (Reinforcement Learning with Human Feedback) для дообучения языковых моделей с учётом человеческой обратной связи.
Основная идея PPO — обновлять политику так, чтобы она не отклонялась слишком сильно от текущей, что предотвращает нестабильность обучения. Для этого используется специальная функция потерь, которая ограничивает величину обновления.
Loss в PPO обычно считается как:
L^{CLIP}( heta) = \mathbb{E}_t \left[ \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t \right) \right]
где:
- $r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}$ — отношение вероятностей новой и старой политики для действия $a_t$ в состоянии $s_t$;
- $\hat{A}_t$ — оценка преимущества (advantage);
- $\epsilon$ — гиперпараметр, задающий допустимый диапазон изменений.
Таким образом, loss штрафует обновления, которые слишком сильно изменяют политику, сохраняя стабильность и эффективность обучения. В RLHF PPO используется для оптимизации модели с учётом наград, полученных от человеческой обратной связи.