정책경사

편집 역사 토론
시뮬레이션 최적설계 소프트웨어 마지막 수정: 2026-07-28 05:12:26

1. 개요[편집]

정책경사(policy gradient)는 가치함수를 거쳐 정책을 유도하는 대신, 정책 πθ(as)\pi_\theta(a \mid s) 자체를 파라미터 θ\theta 로 직접 표현하고 기대수익 J(θ)J(\theta) 의 경사를 따라 θ\theta 를 올려버리는 강화 학습 계열이다. 목적함수는 단순하다.

J(θ)=Eτπθ ⁣[t=0TγtRt+1],θθ+αθJ(θ)J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}\!\left[\sum_{t=0}^{T} \gamma^t R_{t+1}\right], \qquad \theta \leftarrow \theta + \alpha \nabla_\theta J(\theta)

즉 강화학습을 확률적 경사하강법 문제로 갈아 넣는 것. 문제는 JJ 의 경사가 “환경의 전이확률로 정의된 기댓값”의 미분이라는 점인데, 환경을 미분할 수는 없으니 여기서 마법 같은 항등식 하나가 등장한다.

2. 왜 정책을 직접 파라미터화하나[편집]

Q러닝류 가치기반 방법은 argmaxaQ(s,a)\arg\max_a Q(s,a) 를 매 스텝 풀어야 한다. 행동이 유한개면 그냥 훑으면 되지만, 관절 토크 7개를 실수로 뱉어야 하는 로봇 팔이나 제어 입력이 연속인 공학 문제에서는 이 최대화 자체가 매 스텝짜리 비선형 최적화가 된다. 정책경사는 πθ\pi_\theta 가 곧바로 행동을 뱉으므로 이 문제가 사라진다. 정리하면,

  • 연속 행동공간을 자연스럽게 다룬다. 가우시안 정책 aN(μθ(s),σθ(s)2)a \sim \mathcal{N}(\mu_\theta(s), \sigma_\theta(s)^2) 처럼 분포를 직접 출력하면 끝.
  • 확률적 정책이 필요한 문제가 있다. 관측이 불완전해 서로 다른 상태가 같아 보이는 경우(부분관측 마르코프 결정 과정), 최적 정책이 확률적일 수 있는데 탐욕적 가치기반 방법은 이걸 표현하지 못한다. 가위바위보에서 결정론적 정책은 곧 패배다.
  • 정책이 가치보다 단순한 경우가 흔하다. “벽에 가까우면 감속” 같은 규칙은 파라미터 몇 개인데, 그 상황의 정확한 가치를 재현하려면 훨씬 복잡한 함수가 필요하다.
  • 갱신이 θ\theta 에 대해 매끄러워 수렴이 얌전하다. 가치기반은 QQ 값이 아주 조금 바뀌어도 argmax\arg\max 가 튀면서 정책이 통째로 점프한다.

단점도 분명하다. 표본 효율이 나쁘고, 대체로 지역 최적해에 수렴하며, 경사 추정의 분산이 크다. 아래 절반은 그 분산과 싸우는 이야기다.

3. 정책 경사 정리와 로그미분 트릭[편집]

로그미분 트릭(likelihood-ratio trick)은 p=plogp\nabla p = p \nabla \log p 라는 한 줄짜리 항등식이다. 이걸 궤적 분포에 적용하면, 궤적 확률 pθ(τ)=p(s0)tp(st+1st,at)πθ(atst)p_\theta(\tau) = p(s_0)\prod_t p(s_{t+1} \mid s_t, a_t)\pi_\theta(a_t \mid s_t) 에서 환경 항 p(st+1st,at)p(s_{t+1} \mid s_t,a_t)θ\theta 에 의존하지 않으므로 로그미분에서 통째로 사라진다. 모델을 몰라도 경사를 표본으로 추정할 수 있는 이유가 바로 이것.

θJ(θ)=Eτ ⁣[(tθlogπθ(atst))R(τ)]\nabla_\theta J(\theta) = \mathbb{E}_{\tau}\!\left[\left(\sum_{t} \nabla_\theta \log \pi_\theta(a_t \mid s_t)\right) R(\tau)\right]

여기에 인과성(현재 행동은 과거 보상에 영향을 못 준다)을 반영해 정리한 것이 정책 경사 정리다.

θJ(θ)=Esdπ,aπθ ⁣[θlogπθ(as)Qπ(s,a)]\nabla_\theta J(\theta) = \mathbb{E}_{s \sim d^{\pi}, \, a \sim \pi_\theta}\!\left[ \nabla_\theta \log \pi_\theta(a \mid s)\, Q^{\pi}(s,a) \right]

dπd^\pi 는 정책 π\pi 하의 (할인된) 상태 방문 분포다. 핵심은 θdπ\nabla_\theta d^\pi 항이 결과에 나타나지 않는다는 것 — 정책을 바꾸면 방문하는 상태 분포도 바뀌는데, 그 미분을 계산할 필요가 없다.

이 추정량을 그대로 몬테카를로로 구현한 것이 REINFORCE다. 에피소드를 굴려 GtG_t 를 모으고

θθ+αtγtθlogπθ(atst)Gt\theta \leftarrow \theta + \alpha \sum_t \gamma^t \nabla_\theta \log \pi_\theta(a_t \mid s_t) \, G_t

로 갱신한다. 직관은 명료하다 — 수익이 좋았던 궤적에서 취한 행동의 로그확률을 올리고, 나빴으면 내린다. 구현은 자동 미분 프레임워크에서 손실 tlogπθ(atst)A^t-\sum_t \log \pi_\theta(a_t|s_t) \hat{A}_t 를 정의하고 역전파하면 끝이라 열 줄이면 된다.1

4. 기준선과 분산 감소[편집]

REINFORCE는 불편추정량이지만 분산이 지옥이다. 보상이 전부 +1000 근처인 환경에서는 잘한 행동과 못한 행동 모두 로그확률이 올라간다. 그래서 상태에만 의존하는 기준선 b(s)b(s) 를 뺀다.

θJ=E[θlogπθ(as)(Qπ(s,a)b(s))]\nabla_\theta J = \mathbb{E}\left[\nabla_\theta \log \pi_\theta(a\mid s)\,\bigl(Q^\pi(s,a) - b(s)\bigr)\right]

빼도 되는 이유는 Eaπ[θlogπθ(as)]=θaπθ(as)=θ1=0\mathbb{E}_{a \sim \pi}\left[\nabla_\theta \log \pi_\theta(a\mid s)\right] = \nabla_\theta \sum_a \pi_\theta(a\mid s) = \nabla_\theta 1 = 0 이기 때문. 편향은 0인데 분산은 줄어든다는 공짜 점심이다. b(s)=Vπ(s)b(s) = V^\pi(s) 로 잡으면 괄호 안이 어드밴티지

Aπ(s,a)=Qπ(s,a)Vπ(s)A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s)

가 된다. “이 상태의 평균보다 이 행동이 얼마나 나았나”만 남기므로, 보상의 절대 스케일이 사라진다.

5. 액터-크리틱[편집]

QπQ^\piVπV^\pi 를 모르니 그것도 학습한다. 정책을 굴리는 액터와 가치를 추정하는 크리틱을 함께 돌리는 구조가 액터-크리틱이다. 크리틱은 시간차 학습으로 VwV_w 를 맞추고, 액터는 크리틱이 준 어드밴티지 추정으로 갱신한다. 가장 싼 추정은 TD 오차 그 자체다.

δt=Rt+1+γVw(St+1)Vw(St),E[δtst,at]=Aπ(st,at)\delta_t = R_{t+1} + \gamma V_w(S_{t+1}) - V_w(S_t), \qquad \mathbb{E}[\delta_t \mid s_t, a_t] = A^\pi(s_t,a_t)

즉 크리틱이 정확하다면 TD 오차는 어드밴티지의 불편추정량이다. 한 스텝만 쓰면 분산은 작지만 크리틱 편향을 그대로 먹고, 끝까지 쓰면(=REINFORCE) 편향은 없지만 분산이 폭발한다. 이 다이얼을 λ\lambda 하나로 연속 조절하는 것이 일반화 어드밴티지 추정(GAE)이며, 사실상 어드밴티지판 TD(λ)다.

6. 자연 경사와 신뢰 영역[편집]

보통의 경사 상승은 파라미터 공간에서 유클리드 거리로 스텝을 재는데, 이게 정책에는 맞지 않는다. 가우시안 정책에서 σ\sigma 를 0.5에서 0.4로 바꾸는 것과 0.05에서 0.04로 바꾸는 것은 파라미터 변화량은 비슷해도 분포 변화는 하늘과 땅 차이다. 그래서 거리를 분포 공간에서 재는 자연 정책 경사를 쓴다. 피셔 정보 행렬

F(θ)=Es,a ⁣[θlogπθ(as)θlogπθ(as)]F(\theta) = \mathbb{E}_{s,a}\!\left[\nabla_\theta \log \pi_\theta(a\mid s)\, \nabla_\theta \log \pi_\theta(a\mid s)^{\top}\right]

는 KL 발산의 국소 2차 근사(KL12ΔθFΔθ\mathrm{KL} \approx \frac{1}{2}\Delta\theta^\top F \Delta\theta)에 해당하는 계량이고, 자연 경사는 ~J=F1J\tilde{\nabla} J = F^{-1}\nabla J 다. 파라미터화 방식을 바꿔도 갱신 방향이 변하지 않는다는 불변성이 핵심 장점.2 FF헤세 행렬 자리를 대신하지만 항상 양반정부호라는 점에서 다루기가 더 낫다.

여기서 두 갈래가 나온다.

  • TRPO — 대리 목적함수를 KL 제약 KLˉ(πθoldπθ)δ\bar{\mathrm{KL}}(\pi_{\theta_\text{old}} \Vert \pi_\theta) \le \delta 아래에서 최대화한다. 딱 신뢰 영역 방법의 구조 그대로이며, 제약 안에서 단조 개선 보장을 이론적으로 유도한다. 실제로는 FF 를 명시적으로 만들지 않고 공액경사법(헤세-벡터 곱만 필요)으로 방향을 구한 뒤 백트래킹 라인서치로 제약을 만족시킨다.
  • PPO — 위 절차가 너무 무거워서, 확률비 rt(θ)=πθ(atst)/πθold(atst)r_t(\theta) = \pi_\theta(a_t\mid s_t)/\pi_{\theta_\text{old}}(a_t\mid s_t) 를 클리핑하는 것으로 신뢰 영역을 흉내 낸다.
LCLIP(θ)=Et ⁣[min(rt(θ)A^t, clip(rt(θ),1ϵ,1+ϵ)A^t)]L^{\text{CLIP}}(\theta) = \mathbb{E}_t\!\left[\min\Bigl(r_t(\theta)\hat{A}_t,\ \operatorname{clip}\bigl(r_t(\theta), 1-\epsilon, 1+\epsilon\bigr)\hat{A}_t\Bigr)\right]

ϵ0.2\epsilon \approx 0.2 가 관례. 이론적 보장은 헐거워졌는데 구현이 몇 줄이고 성능은 비슷해서, 사실상 업계 기본값이 됐다.

7. 결정론적 정책 경사와 공학 응용[편집]

행동이 연속이면 정책을 아예 결정론적 함수 a=μθ(s)a = \mu_\theta(s) 로 두는 선택지도 있다. 이때 경사는 연쇄법칙으로

θJ=Esρβ ⁣[θμθ(s)aQμ(s,a)a=μθ(s)]\nabla_\theta J = \mathbb{E}_{s \sim \rho^\beta}\!\left[\nabla_\theta \mu_\theta(s)\, \nabla_a Q^\mu(s,a)\big|_{a=\mu_\theta(s)}\right]

가 된다. 행동공간에 대한 기댓값 적분이 사라져 분산이 크게 줄지만, 크리틱 QQ 를 행동에 대해 미분할 수 있어야 하고 탐험을 외부 잡음으로 따로 넣어줘야 한다. 이를 심층망과 경험 재생으로 구현한 것이 DDPG이며, 과대추정을 잡은 TD3, 엔트로피 정규화를 넣은 SAC로 이어진다.

공학 시뮬레이션에서의 쓰임새는 대체로 두 부류다.

  • 제어기 학습 — 플랜트 시뮬레이터를 환경으로 두고 정책을 학습한다. PID 제어처럼 구조가 고정된 제어기의 이득만 정책 파라미터로 두면 탐색 공간이 작아 표본 효율이 크게 좋아지고, 학습 결과를 사람이 해석할 수 있다는 실무적 장점이 크다. 모델이 정확하고 제약이 명시적이면 모델 예측 제어가 여전히 강력한 경쟁자다.
  • 설계 최적화 루프형상 최적화나 메시·격자 적응처럼 “결정을 순차적으로 내리고 마지막에 성능을 평가하는” 문제에 붙인다. 다만 매 표본이 CFD 해석 한 번이라 표본 효율이 곧 예산이다. 이럴 땐 대리 모델이나 베이지안 최적화가 더 현실적인 선택인 경우가 많고, 감도가 계산되는 문제라면 민감도 해석의 수반법이 압도적으로 싸다. 정책경사가 이기는 지점은 미분 불가능하거나 순차적 의사결정 구조가 본질적인 문제다.3

8. 관련 문서[편집]

9. Footnotes[편집]

  1. 그래서 “손실이 내려가는데 성능은 그대로”라는 현상이 정책경사에서 특히 흔하다. 저 손실은 최소화 대상이 아니라 경사를 뽑아내려고 만든 대리 함수라서, 값 자체에는 의미가 거의 없다. 학습 곡선은 반드시 에피소드 수익으로 봐야 한다.

  2. Kakade (2001). 같은 정책을 로짓으로 파라미터화하든 다른 좌표로 하든 자연 경사 방향은 같다. 좌표계를 갈아탈 때마다 학습률을 다시 튜닝하는 삽질에서 해방시켜 주는 성질인데, 대가로 매 스텝 F1F^{-1} 을 다뤄야 한다.

  3. 경험칙: 목적함수가 미분 가능하고 시뮬레이터에 수반해석이 붙어 있으면 정책경사를 꺼낼 이유가 별로 없다. 수천 번의 롤아웃 대신 수반 해석 한 번이면 같은 방향을 훨씬 정확하게 알려준다. 강화학습이 만능이라는 착각은 대체로 청구서가 도착하기 전까지만 유지된다.