[Reinforcement Learning] Rethinking Policy Gradient
2025.06.29 - [Data & Research] - [Reinforcement Learning] Table of Contents
이번 포스팅에서는 policy gradient와 MLE추정을 비교해보면서 그 의미를 살펴보겠습니다.
2021.10.30 - [Data & Research] - [Statistics] 선형 회귀분석 (Simple Linear regression)
1. 최대가능도 추정 (Maximum Likelihood Estimation) - "맹목적인 모방"
만약 우리에게 '전문가'가 수행한 아주 좋은 궤적 \(\tau = (s_0, a_0, r_1, \dots)\)가 주어졌다고 가정해봅시다. MLE의 목표는 우리 정책 \(\pi_\theta\)가 이 전문가의 궤적을 그대로 따라 할 확률을 최대로 만드는 파라미터 \(\theta\)를 찾는 것입니다. 이는 궤적의 로그 가능도(log-likelihood), 즉 \(\log p_{\theta}(\tau)\)를 최대로 하는 것과 같습니다.
경사 상승법을 사용하기 위해 \(\log p_{\theta}(\tau)\)를 \(\theta\)에 대해 미분하면 다음과 같습니다.
\[ \nabla_{\theta} \log p_{\theta}(\tau) = \nabla_{\theta} \log \left( \mu(s_0) \prod_{t=0}^{T-1} \pi_{\theta}(a_t|s_t) p(s_{t+1}|s_t, a_t) \right) \]
로그의 성질에 의해 곱은 합으로 분리되고, \(\theta\)와 무관한 환경 모델 \(p(\cdot)\)과 시작 상태 분포 \(\mu(\cdot)\) 항은 미분하면 0이 되어 사라집니다. 따라서 최종 결과는 다음과 같습니다.
\[ \nabla_{\theta} \log p_{\theta}(\tau) = \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) \]
MLE의 파라미터 업데이트 규칙은 이 그래디언트 방향으로 \(\theta\)를 업데이트합니다.
\[ \theta \leftarrow \theta + \alpha \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) \]
이 업데이트는 궤적에 포함된 모든 행동\((a_0, a_1, \dots)\)의 로그 확률을 동일하게(가중치 1) 증가시킵니다. 즉, 그 행동이 좋은 결과로 이어졌는지 여부와 상관없이 전문가의 모든 행동을 '맹목적으로' 모방하여 확률을 높이는 것입니다.
2. 정책 경사도 (Policy Gradient) - "보상 가중 모방"
반면, 정책 경사도의 목표는 단순히 궤적의 확률이 아닌, 보상의 총합(리턴)의 기댓값을 최대로 만드는 것입니다.
\[ J(\theta) = \mathbb{E}_{\tau \sim \pi_{\theta}}[R(\tau)] \quad \text{, where } R(\tau) = \sum_{t=0}^{T-1} r_t \]
이 목적 함수의 그래디언트 \(\nabla_{\theta} J(\theta)\)는 정책 경사도 정리에 의해 다음과 같이 표현됩니다.
\[ \nabla_{\theta} J(\theta) = \mathbb{E}_{\pi_{\theta}} \left[ \left( \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) \right) \left( \sum_{t=0}^{T-1} r_t \right) \right] \]
REINFORCE 알고리즘은 이 기댓값을, 실제로 수행한 하나의 궤적 샘플로 근사합니다. 따라서 N개의 궤적에 대한 배치 업데이트 규칙은 다음과 같습니다.
\[ \nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \left[ \left( \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}(a_t^{(i)}|s_t^{(i)}) \right) \left( \sum_{t=0}^{T-1} r_t^{(i)} \right) \right] \]
이 업데이트는 MLE의 그래디언트(\(\sum \nabla \log \pi\))에 보상의 총합 \(R(\tau)\)이 가중치로 곱해진 형태입니다.
- 리턴 \(R(\tau)\)이 높은 (Good) 궤적이 나오면, 가중치가 크므로 해당 궤적의 행동들의 확률을 많이 높입니다.
- 리턴 \(R(\tau)\)이 낮은 (bad) 궤적이 나오면, 가중치가 작거나 음수이므로 해당 궤적의 행동들의 확률을 적게 높이거나 오히려 낮춥니다.
즉, '결과가 좋았던 행동들만 골라서 더 똑똑하게' 모방하는 것입니다. 그래서 Policy Gradient는 Maximum Likelihood의 weighted version이라고 볼 수 있는 것이죠.