← all posts
AI 2026.05.03 · 9 min read Advanced

REINFORCE는 왜 분산이 높은가

Log-derivative trick부터 score function의 zero-mean 성질, REINFORCE의 unbiasedness와 variance 폭발 메커니즘, reparameterization과의 tradeoff까지 policy gradient의 수학적 토대를 추적한다.


Policy gradient는 J(θ)=Eτ∼pθ[R(τ)]J(\theta) = \mathbb{E}_{\tau \sim p_\theta}[R(\tau)]를 직접 미분해서 policy를 개선한다. 그런데 R(τ)R(\tau)는 이산 행동, 환경의 확률성 때문에 θ\theta에 대해 미분 불가능할 수 있다. 이 문제를 한 줄의 항등식으로 우회하는 것이 log-derivative trick이다. 그렇다면 이 trick은 왜 작동하고, 왜 분산이 폭발하는가?

Gradient를 기대값 안으로 옮기는 방법

Ex∼pθ[f(x)]\mathbb{E}_{x \sim p_\theta}[f(x)]를 θ\theta로 미분하려면 ∇θpθ(x)\nabla_\theta p_\theta(x)가 필요하다. 연쇄 법칙에서 다음 항등식이 즉시 나온다.

∇θpθ(x)=pθ(x)⋅∇θlog⁡pθ(x)\nabla_\theta p_\theta(x) = p_\theta(x) \cdot \nabla_\theta \log p_\theta(x)

이를 기대값에 대입하면,

∇θEx∼pθ[f(x)]=Ex∼pθ[f(x)⋅∇θlog⁡pθ(x)]\nabla_\theta \mathbb{E}_{x \sim p_\theta}[f(x)] = \mathbb{E}_{x \sim p_\theta}\bigl[f(x) \cdot \nabla_\theta \log p_\theta(x)\bigr]

gradient가 기대값 안으로 들어갔다. f(x)f(x)는 이제 미분되지 않는다 — 샘플만 되면 된다. 이것이 likelihood ratio method 또는 score function estimator라고 불리는 이유다.

이산 분포에서도 동일하게 성립한다. pθ(a)p_\theta(a)가 categorical softmax이면 ∇θlog⁡pθ(a)=1(a)−pθ\nabla_\theta \log p_\theta(a) = \mathbf{1}(a) - p_\theta이고, 합의 미분은 유한한 경우 자명하다.

Score Function의 두 가지 핵심 성질

sθ(x):=∇θlog⁡pθ(x)s_\theta(x) := \nabla_\theta \log p_\theta(x)를 score function이라 부른다. 이것의 두 성질이 policy gradient 전체를 떠받친다.

Zero-mean: Ex∼pθ[sθ(x)]=0\mathbb{E}_{x \sim p_\theta}[s_\theta(x)] = 0.

E[s]=∫∇θlog⁡pθ(x)⋅pθ(x) dx=∫∇θpθ(x) dx=∇θ∫pθ(x) dx=∇θ1=0\mathbb{E}[s] = \int \nabla_\theta \log p_\theta(x) \cdot p_\theta(x)\,dx = \int \nabla_\theta p_\theta(x)\,dx = \nabla_\theta \int p_\theta(x)\,dx = \nabla_\theta 1 = 0

Fisher Information: F(θ)=E[s⋅sT]=−E[∇2log⁡pθ]F(\theta) = \mathbb{E}[s \cdot s^T] = -\mathbb{E}[\nabla^2 \log p_\theta].

정리 1 · Fisher = −E[Hessian of log p]

정규 조건(dominated convergence) 하에,

F(θ)=Ex∼pθ[sθ(x) sθ(x)T]=−Ex∼pθ[∇θ2log⁡pθ(x)]F(\theta) = \mathbb{E}_{x \sim p_\theta}[s_\theta(x)\, s_\theta(x)^T] = -\mathbb{E}_{x \sim p_\theta}[\nabla^2_\theta \log p_\theta(x)]
▷ 증명

∇2log⁡p=∇2pp−(∇log⁡p)(∇log⁡p)T\nabla^2 \log p = \frac{\nabla^2 p}{p} - (\nabla \log p)(\nabla \log p)^T임을 정리하면 (∇log⁡p)(∇log⁡p)T=∇2pp−∇2log⁡p(\nabla \log p)(\nabla \log p)^T = \frac{\nabla^2 p}{p} - \nabla^2 \log p. 기대값을 취할 때 E[∇2p/p]=∇θ2∫pθ dx=0\mathbb{E}[\nabla^2 p / p] = \nabla^2_\theta \int p_\theta\,dx = 0이므로 F=−E[∇2log⁡p]F = -\mathbb{E}[\nabla^2 \log p]. □\square

∎

Zero-mean 성질은 baseline의 정당화로 직결된다. 임의의 함수 b(s)b(s)에 대해 E[b(s)⋅sθ]=0\mathbb{E}[b(s) \cdot s_\theta] = 0이므로,

E[(f+b)⋅sθ]=E[f⋅sθ]\mathbb{E}[(f + b) \cdot s_\theta] = \mathbb{E}[f \cdot s_\theta]

baseline을 빼도 기대값(=gradient)이 보존된다.

REINFORCE: Trajectory로의 확장

trajectory τ=(s0,a0,r0,…)\tau = (s_0, a_0, r_0, \ldots)의 분포는 다음과 같다.

pθ(τ)=ρ0(s0)∏tπθ(at∣st) P(st+1∣st,at)p_\theta(\tau) = \rho_0(s_0)\prod_{t} \pi_\theta(a_t|s_t)\,P(s_{t+1}|s_t,a_t)

log를 취하면 환경 dynamics 항은 θ\theta에 무관하므로,

∇θlog⁡pθ(τ)=∑t∇θlog⁡πθ(at∣st)\nabla_\theta \log p_\theta(\tau) = \sum_{t} \nabla_\theta \log \pi_\theta(a_t|s_t)

score는 policy 항만 남는다. Log-derivative trick을 J(θ)=Eτ[R(τ)]J(\theta) = \mathbb{E}_\tau[R(\tau)]에 적용하면,

∇θJ(θ)=Eτ ⁣[∑tGt⋅∇θlog⁡πθ(at∣st)]\boxed{\nabla_\theta J(\theta) = \mathbb{E}_\tau\!\left[\sum_t G_t \cdot \nabla_\theta \log \pi_\theta(a_t|s_t)\right]}

여기서 Gt=∑l≥0γlrt+lG_t = \sum_{l \geq 0} \gamma^l r_{t+l}는 time tt 이후의 discounted return이다. 과거 reward rlr_l (l<tl < t)는 zero-mean score 덕분에 gradient에 기여하지 않는다(causality reduction). 이 추정량 g^(τ)\hat{g}(\tau)는 unbiased: E[g^]=∇J(θ)\mathbb{E}[\hat{g}] = \nabla J(\theta).

Williams(1992)의 “reinforcement” 해석: Gt>0G_t > 0이면 log⁡π(at∣st)\log \pi(a_t|s_t)가 증가하여 해당 행동이 강화된다. Gt<0G_t < 0이면 억제된다.

분산 폭발의 메커니즘

Unbiasedness는 수렴을 보장하지만 분산을 제어하지 않는다.

Var[Gt]=∑l=0∞γ2l σr2=σr21−γ2\text{Var}[G_t] = \sum_{l=0}^{\infty} \gamma^{2l}\,\sigma_r^2 = \frac{\sigma_r^2}{1-\gamma^2}

γ→1\gamma \to 1일 때 이 값은 σr22(1−γ)\frac{\sigma_r^2}{2(1-\gamma)}으로 발산한다. Gradient 분산은 이 위에 score variance까지 곱해진다.

Var[g^]=O ⁣(σr2(1−γ)3)\text{Var}[\hat{g}] = O\!\left(\frac{\sigma_r^2}{(1-\gamma)^3}\right)
⚠ Sparse Reward에서의 분산 폭발

보상이 r=1r = 1을 확률 psp_s로, r=0r = 0을 확률 1−ps1-p_s로 주는 환경에서는 Var[R]≈psR2\text{Var}[R] \approx p_s R^2이고 유효 sample 수는 ≈1/ps\approx 1/p_s이다. ps=0.01p_s = 0.01이면 유용한 gradient signal을 얻기까지 10,000번의 episode가 필요할 수 있다.

Horizon이 길어질수록, discount가 1에 가까울수록, reward가 희박할수록 분산은 지수적으로 커진다. Baseline b(st)b(s_t)를 도입하면 advantage At=Gt−b(st)A_t = G_t - b(s_t)의 분산이 낮아지면서도 unbiasedness는 유지된다. GAE(Generalized Advantage Estimation)는 이를 λ\lambda-parameterized trade-off로 확장한다.

Score Function vs. Reparameterization

연속 행동 공간에서는 다른 gradient 경로가 있다.

Reparameterization: a=gθ(ϵ)a = g_\theta(\epsilon), ϵ∼p(ϵ)\epsilon \sim p(\epsilon) (θ\theta 무관 분포)으로 표현하면,

∇θE[f(a)]=Eϵ[∇θf(gθ(ϵ))]\nabla_\theta \mathbb{E}[f(a)] = \mathbb{E}_\epsilon[\nabla_\theta f(g_\theta(\epsilon))]

chain rule로 ff를 직접 미분한다. ff(reward)의 amplitude가 gradient 크기에 곱해지지 않으므로 분산이 score function 방식보다 훨씬 낮다.

✎ 트레이드오프

Score function: discrete·continuous 모두 적용. ff 미분 불필요. 분산 높음. REINFORCE, PPO, A3C에 사용.

Reparameterization: continuous만 적용. ff가 미분 가능해야 함. 분산 낮음. DDPG, SAC에 사용.

Discrete action에서 reparameterization을 쓰려면 Gumbel-Softmax처럼 연속 근사가 필요하고, 이는 temperature hyperparameter와 근사 bias를 도입한다.

이산 행동에서 a=gθ(ϵ)a = g_\theta(\epsilon)를 step function으로 정의하면 ∂gθ/∂θ=0\partial g_\theta / \partial \theta = 0 (almost everywhere)이 되어 gradient가 죽는다. Score function은 이 제약이 없다 — softmax의 ∇log⁡p\nabla \log p는 명확히 정의된다.

정리

  • ∇θpθ=pθ⋅∇θlog⁡pθ\nabla_\theta p_\theta = p_\theta \cdot \nabla_\theta \log p_\theta 항등식이 gradient를 기대값 안으로 이동시키고, ff를 미분하지 않아도 되게 만든다.
  • Score function의 zero-mean 성질 E[sθ]=0\mathbb{E}[s_\theta] = 0이 baseline 불편성과 Fisher Information의 수학적 토대다.
  • REINFORCE는 unbiased이지만 Var[g^]=O((1−γ)−3)\text{Var}[\hat{g}] = O((1-\gamma)^{-3})으로 horizon과 함께 폭발한다. 이것이 baseline, GAE, natural gradient의 공통 동기다.
  • Reparameterization은 연속 행동에서 분산을 낮추는 대안이지만 이산 행동에는 적용할 수 없다.

분산 문제는 알고리즘의 결함이 아니라 log-derivative trick이 요구하는 구조적 대가다.