6. Policy Gradient 계열 DRL 정리
DDPG, TRPO, Natural Policy Gradient, PPO가 정책 업데이트를 안정화하는 방식을 흐름 중심으로 정리한다.
1. DDPG: 연속 행동을 위한 Actor-Critic
DQN은 행동 후보가 몇 개로 정해진 문제에서는 강력하지만, 로봇 제어처럼 행동이 연속값이면 모든 행동을 Q-table처럼 비교하기 어렵다. DDPG는 이 문제를 해결하기 위해 deterministic actor와 Q-value critic을 함께 사용한다.
- Actor는 상태에서 하나의 연속 행동을 출력한다.
- Critic은 그 행동의 Q값을 평가한다.
- Target network와 replay buffer는 DQN에서 가져온 안정화 장치다.
확률적 정책 경사와 결정적 정책 경사의 차이는 아래처럼 정리할 수 있다.
| 특징 | 확률적 정책 경사 (Stochastic PG) | 결정적 정책 경사 (Deterministic PG) |
|---|---|---|
| 정책 | $\pi(a \vert s)$ | $\mu_\theta(s)$ |
| 업데이트 | $Q^\pi(s, a)\nabla_\theta \log \pi_\theta(a \vert s)$ | $\nabla_\theta \mu_\theta(s)\nabla_a Q^\mu(s, a)$ |
| 샘플링 | 상태-행동 쌍 $(s, a)$에서 샘플링 | 상태 $s$에서 샘플링 |
| 특징 | 탐험이 정책 안에 포함됨 | 샘플 효율성이 좋음 |
2. TRPO: 정책을 너무 멀리 바꾸지 않기
Policy Gradient는 업데이트 한 번이 너무 크면 성능이 급격히 무너질 수 있다. TRPO는 새 정책이 이전 정책에서 일정 거리 이상 벗어나지 않도록 trust region을 둔다.
2.1 목적 함수와 성능 차이
새 정책의 성능은 이전 정책의 advantage와 상태 방문 빈도를 이용해 표현할 수 있다.
문제는 새 정책의 상태 방문 빈도가 정책 자체에 의존한다는 점이다. 그래서 TRPO는 현재 정책 주변에서만 유효한 근사를 사용한다.
2.2 Conservative Policy Iteration과 하한
TRPO의 보수적인 업데이트 관점은 이전 정책과 새 정책 후보를 갑자기 바꾸지 않고 섞어 쓰는 아이디어에서 출발한다.
이 관점은 결국 KL divergence를 제한해야 정책 성능의 급격한 하락을 줄일 수 있다는 결론으로 이어진다.
2.3 실용적인 TRPO
실제 구현에서는 모든 상태의 최대 KL 대신 sample state의 평균 KL을 쓰고, 기대값은 Monte Carlo 평균으로 근사한다.
TRPO는 안정적이지만 conjugate gradient와 line search가 필요해 구현과 계산 비용이 무겁다.
3. Natural Policy Gradient
Natural Policy Gradient는 파라미터 공간의 단순한 기울기가 아니라, 정책 분포가 변하는 정도를 반영한 방향으로 업데이트한다.
여기서 Fisher Information Matrix는 파라미터 변화가 정책 분포를 얼마나 바꾸는지 나타내는 곡률 정보로 볼 수 있다.
4. PPO: TRPO 아이디어의 단순화
PPO는 TRPO의 핵심인 “정책을 한 번에 너무 크게 바꾸지 말자”를 clipped surrogate objective로 단순하게 구현한다.
policy ratio는 새 정책이 이전 정책보다 특정 행동을 얼마나 더 선택하려 하는지 나타낸다.
clip은 좋은 행동의 확률을 과도하게 올리거나 나쁜 행동의 확률을 과도하게 내리는 것을 제한한다. 덕분에 PPO는 구현은 단순하지만 실제 실험에서 안정적인 편이다.
5. 흐름 정리
- DDPG는 DQN의 안정화 기법을 연속 행동 actor-critic으로 확장했다.
- TRPO는 KL 기반 trust region으로 정책 붕괴를 줄였다.
- NPG는 정책 공간의 곡률을 반영해 업데이트 방향을 잡았다.
- PPO는 TRPO의 복잡한 제약 최적화를 clipped objective로 단순화했다.






















