그대를 기필고 알내고 말겠다: Trust Region Policy Optimization

서준표·2025년 5월 29일

다음과 같이 구성을 해봤습니다. TRPO를 정말 너무너무 이해하고 싶었는데 이 참에 binge-reading 하고 흐름을 전체적으로 정리해봤습니다.

Step핵심 개념역할 / 의미 요약
1Advantage 정의행동이 평균보다 얼마나 나은지 측정
2Bellman Expectation 식Q와 V의 관계 정의, Advantage 계산에 사용
3Score Function Trick확률 정책의 gradient 계산 가능하게 만듦
4Policy Gradient Theorem기대 보상을 높이는 gradient 방향 도출
5Performance Difference새 정책의 성능 향상 정도를 정확히 계산
6Surrogate Objective 정의실제 성능을 근사하는 계산 가능한 손실 함수
7Importance Sampling기존 정책으로 기대값을 추정하는 테크닉
8State Visitation Bound정책 변경 시 생기는 분포 차이를 제한
9Policy Improvement Boundsurrogate와 실제 성능 차이를 이론적으로 제한
10Pinsker's InequalityTV 거리 대신 KL 제약을 쓰기 위한 이론적 근거
11TRPO 최적화 문제 정의KL 제약 하에서 surrogate를 최대화
12Natural Gradient분포의 곡률을 고려한 최적 ascent 방향 선택

STEP 1: Advantage Function 정의

Aπ(s,a)=Qπ(s,a)Vπ(s)A_\pi(s, a) = Q_\pi(s,a) - V_\pi(s)
  • Advantage는 특정 행동이 평균보다 얼마나 더 나은지를 측정합니다.
  • QQVV를 이용해 AA를 정의할 수 있습니다.

STEP 2: Bellman Expectation Equation

  • State-value function (Definition):

    Vπ(st)=Eat,st+1,at+1,[l=0γlr(st+l)st]V_\pi(s_t) = \mathbb{E}_{a_t, s_{t+1}, a_{t+1}, \dots} \left[ \sum_{l=0}^\infty \gamma^l r(s_{t+l}) \mid s_t \right]
  • Action-value function (Definition):

    Qπ(st,at)=Est+1,at+1,[l=0γlr(st+l)st,at]Q_\pi(s_t, a_t) = \mathbb{E}_{s_{t+1}, a_{t+1}, \dots} \left[ \sum_{l=0}^\infty \gamma^l r(s_{t+l}) \mid s_t, a_t \right]
  • Bellman Expectation Equation

Vπ(s)=aπ(as)Qπ(s,a)V_\pi(s) = \sum_a \pi(a|s) Q_\pi(s,a)

증명

TRPO 논문 내에서 사용되는 Bellman expectation identity입니다. Performance Difference Lemma (Step 5) 등에서 핵심적으로 활용할 수 있습니다.

Vπ(st)=Eatπ(st)[Est+1,at+1,[l=0γlr(st+l)st,at]]=atπ(atst)Est+1,at+1,[l=0γlr(st+l)st,at]=atπ(atst)Qπ(st,at)\begin{aligned} V_\pi(s_t) &= \mathbb{E}_{a_t \sim \pi(\cdot|s_t)} \left[ \mathbb{E}_{s_{t+1}, a_{t+1}, \dots} \left[ \sum_{l=0}^\infty \gamma^l r(s_{t+l}) \mid s_t, a_t \right] \right] \\ &= \sum_{a_t} \pi(a_t | s_t) \cdot \mathbb{E}_{s_{t+1}, a_{t+1}, \dots} \left[ \sum_{l=0}^\infty \gamma^l r(s_{t+l}) \mid s_t, a_t \right] \\ &= \sum_{a_t} \pi(a_t | s_t) Q_\pi(s_t, a_t) \end{aligned}

STEP 3: Score Function Trick

θExpθ[f(x)]=Expθ[f(x)θlogpθ(x)]\nabla_\theta \mathbb{E}_{x \sim p_\theta}[f(x)] = \mathbb{E}_{x \sim p_\theta}[f(x) \nabla_\theta \log p_\theta(x)]

다음과 같은 가정하에 증명을 완수할 수 있습니다.

  • pθ(x)p_\theta(x)θ\theta에 대해 미분 가능한 확률 밀도 함수
  • f(x)f(x)xx에 대해 정의된 함수이며 Epθ[f(x)]\mathbb{E}_{p_\theta}[f(x)]는 존재함
  • 미분 연산과 적분 순서를 바꿀 수 있을 만큼 regular한 조건이 성립한다고 가정 (Lebesgue의 dominated convergence theorem 사용 가능)

증명

Expθ[f(x)]=f(x) pθ(x) dx\mathbb{E}_{x \sim p_\theta}[f(x)] = \int f(x)\ p_\theta(x)\ dx
θExpθ[f(x)]=θf(x) pθ(x) dx=f(x) θpθ(x) dx\nabla_\theta \mathbb{E}_{x \sim p_\theta}[f(x)] = \nabla_\theta \int f(x)\ p_\theta(x)\ dx = \int f(x)\ \nabla_\theta p_\theta(x)\ dx

한편, chain rule에 의해

θlogpθ(x)=1pθ(x)θpθ(x)θpθ(x)=pθ(x)θlogpθ(x)\nabla_\theta \log p_\theta(x) = \frac{1}{p_\theta(x)} \nabla_\theta p_\theta(x) \Rightarrow \nabla_\theta p_\theta(x) = p_\theta(x) \nabla_\theta \log p_\theta(x)

임을 확인할 수 있습니다. 따라서,

f(x) θpθ(x) dx=f(x) pθ(x) θlogpθ(x) dx\int f(x)\ \nabla_\theta p_\theta(x)\ dx = \int f(x)\ p_\theta(x)\ \nabla_\theta \log p_\theta(x)\ dx
=Expθ[f(x) θlogpθ(x)]= \mathbb{E}_{x \sim p_\theta} \left[ f(x)\ \nabla_\theta \log p_\theta(x) \right]

Score Function Trick은 강화학습의 policy gradient, variational inference, REINFORCE 등에 폭넓게 사용됩니다.


STEP 4: Policy Gradient Theorem

  • Expected Return(Definition)
η(πθ)=Eτπθ[t=0γtr(st)]\eta(\pi_\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{\infty} \gamma^t r(s_t) \right]

(여기서 τ=(s0,a0,s1,a1,)\tau = (s_0, a_0, s_1, a_1, \dots)는 정책 πθ\pi_\theta 하에서 생성된 trajectory)

  • (un-normalized) State Visitation Distribution(Definition)
ρπ(s)=t=0γtP(st=sπ)\rho_{\pi}(s) = \sum_{t=0}^\infty \gamma^t P(s_t = s \mid \pi)

→ 모든 timestep에서 방문될 확률을 가중합한 분포 (discounted)

  • Policy Gradient Theorem:

    θη(πθ)=Esρπ,aπ[θlogπθ(as)Qπ(s,a)]\nabla_\theta \eta(\pi_\theta) = \mathbb{E}_{s \sim \rho_\pi, a \sim \pi} \left[ \nabla_\theta \log \pi_\theta(a|s) Q_\pi(s, a) \right]

증명

η(πθ)=Eτπθ[t=0γtr(st)]\eta(\pi_\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{\infty} \gamma^t r(s_t) \right]
=P(τ;θ) (t=0γtr(st)) dτ= \int P(\tau; \theta)\ \left( \sum_{t=0}^{\infty} \gamma^t r(s_t) \right)\ d\tau

여기서 trajectory 확률은:

P(τ;θ)=ρ0(s0)t=0πθ(atst)P(st+1st,at)P(\tau; \theta) = \rho_0(s_0) \prod_{t=0}^\infty \pi_\theta(a_t | s_t) P(s_{t+1} | s_t, a_t)

미분 연산자를 도입하면,

θη(πθ)=θP(τ;θ) (t=0γtr(st)) dτ\nabla_\theta \eta(\pi_\theta) = \nabla_\theta \int P(\tau; \theta)\ \left( \sum_{t=0}^{\infty} \gamma^t r(s_t) \right)\ d\tau
=(t=0γtr(st))θlogP(τ;θ) P(τ;θ) dτ= \int \left( \sum_{t=0}^{\infty} \gamma^t r(s_t) \right) \nabla_\theta \log P(\tau; \theta)\ P(\tau; \theta)\ d\tau
=Eτπθ[(t=0γtr(st)) θlogP(τ;θ)]= \mathbb{E}_{\tau \sim \pi_\theta} \left[ \left( \sum_{t=0}^{\infty} \gamma^t r(s_t) \right)\ \nabla_\theta \log P(\tau; \theta) \right]

한편, 환경의 transition은 θ\theta에 영향을 주지 않다는 것을 고려하면,

θlogP(τ;θ)=t=0θlogπθ(atst)\nabla_\theta \log P(\tau; \theta) = \sum_{t=0}^{\infty} \nabla_\theta \log \pi_\theta(a_t | s_t)
θη(πθ)=Eτπθ[t=0γtr(st) t=0θlogπθ(atst)]\nabla_\theta \eta(\pi_\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{\infty} \gamma^t r(s_t)\ \sum_{t'=0}^{\infty} \nabla_\theta \log \pi_\theta(a_{t'}|s_{t'}) \right]

즉,

=Eτπθ[t=0θlogπθ(atst) Rt]= \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{\infty} \nabla_\theta \log \pi_\theta(a_t | s_t)\ R_t \right]

여기서 Rt=l=0γlr(st+l)R_t = \sum_{l=0}^{\infty} \gamma^l r(s_{t+l})

마지막으로, 각 (st,at)(s_t, a_t) 쌍에 대해 다음과 같이 생각할 수 있다.

Eτ[θlogπθ(atst)Rt]=Estρπ, atπ[θlogπθ(atst) Qπ(st,at)]\mathbb{E}_{\tau} \left[ \nabla_\theta \log \pi_\theta(a_t | s_t) \cdot R_t \right] = \mathbb{E}_{s_t \sim \rho_\pi,\ a_t \sim \pi} \left[ \nabla_\theta \log \pi_\theta(a_t|s_t)\ Q_\pi(s_t, a_t) \right]

따라서,

θη(πθ)=Esρπθ,aπθ[θlogπθ(as)Qπθ(s,a)]\boxed{ \nabla_\theta \eta(\pi_\theta) = \mathbb{E}_{s \sim \rho_{\pi_\theta}, a \sim \pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) Q_{\pi_\theta}(s, a) \right] }

STEP 5: Performance Difference Lemma

η(π)η(π)=sρπ(s)aπ(as)Aπ(s,a)\eta(\pi') - \eta(\pi) = \sum_s \rho_{\pi'}(s) \sum_a \pi'(a|s) A_\pi(s, a)
  • 새 정책과 기존 정책의 기대 리턴 차이 계산법입니다만, 엄격한 항등식임을 증명하진 못했습니다. 아마, η\eta에서 취급하는 rrAA로 고려하는 것이 아닐까 하는 생각이 들더군요. 다만 살짝의 insight를 제공해보겠습니다.

증명

η(π)=Eτπ[t=0γtr(st)]=t=0γtEst,atπ[r(st)](1)\eta(\pi') = \mathbb{E}_{\tau \sim \pi'} \left[ \sum_{t=0}^\infty \gamma^t r(s_t) \right] = \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t, a_t \sim \pi'} [r(s_t)] \tag{1}

이제 r(st)r(s_t)Qπ(st,at)Q_\pi(s_t, a_t)로 바꿔서:

=t=0γtEst,atπ[Qπ(st,at)]= \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t, a_t \sim \pi'} [Q_\pi(s_t, a_t)]

한편,

Qπ(s,a)=Aπ(s,a)+Vπ(s)Q_\pi(s,a) = A_\pi(s,a) + V_\pi(s)

이므로

η(π)=t=0γtEst,atπ[Aπ(st,at)]+t=0γtEstπ[Vπ(st)]\eta(\pi') = \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t, a_t \sim \pi'} [A_\pi(s_t, a_t)] + \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t \sim \pi'} [V_\pi(s_t)]

η(π)\eta(\pi) 역시 마찬가지입니다.

η(π)=t=0γtEstπ[Vπ(st)]\eta(\pi) = \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t \sim \pi} [V_\pi(s_t)]

이 둘의 차이를 구하면

η(π)η(π)=t=0γtEst,atπ[Aπ(st,at)]+t=0γt(Estπ[Vπ(st)]Estπ[Vπ(st)])\eta(\pi') - \eta(\pi) = \sum_{t=0}^\infty \gamma^t \mathbb{E}_{s_t, a_t \sim \pi'} [A_\pi(s_t, a_t)] + \sum_{t=0}^\infty \gamma^t (\mathbb{E}_{s_t \sim \pi'} [V_\pi(s_t)] - \mathbb{E}_{s_t \sim \pi} [V_\pi(s_t)])

정책이 매우 조금 변동되어 두 번째 항을 00으로 근사하였다고 생각합니다..!


STEP 6: Surrogate Objective (approximation)

η(π)Lπ(π)=η(π)+sρπ(s)aπ(as)Aπ(s,a)\eta(\pi') \approx L_\pi(\pi') = \eta(\pi) + \sum_s \rho_\pi(s) \sum_a \pi'(a|s) A_\pi(s,a)
Lπ(π)는 η(π)의 1차 근사이며, π=π에서 함수값과 gradient가 동일하다\boxed{ L_\pi(\pi') \text{는 } \eta(\pi') \text{의 1차 근사이며, } \pi' = \pi \text{에서 함수값과 gradient가 동일하다} }

surrogate objective는 η(π)\eta(\pi')의 valid first-order approximation 입니다. 실제 분포 대신 기존 정책 분포를 써서 계산하는 근사하는 방식을 택했습니다.

증명

우리는 다음을 증명하고자 합니다:

Lπ(π)=η(π)andπLπ(π)π=π=πη(π)π=πL_\pi(\pi) = \eta(\pi) \quad \text{and} \quad \nabla_{\pi'} L_\pi(\pi')\Big|_{\pi' = \pi} = \nabla_{\pi'} \eta(\pi')\Big|_{\pi' = \pi}

먼저, 함수값이 동일한지 살펴봅시다.

Lπ(π)=η(π)+sρπ(s)aπ(as)Aπ(s,a)L_\pi(\pi) = \eta(\pi) + \sum_s \rho_\pi(s) \sum_a \pi(a|s) A_\pi(s,a)

한편,

Aπ(s,a)=Qπ(s,a)Vπ(s),Vπ(s)=aπ(as)Qπ(s,a)A_\pi(s,a) = Q_\pi(s,a) - V_\pi(s), \quad V_\pi(s) = \sum_a \pi(a|s) Q_\pi(s,a)

따라서:

aπ(as)Aπ(s,a)=aπ(as)[Qπ(s,a)Vπ(s)]=Vπ(s)Vπ(s)=0\sum_a \pi(a|s) A_\pi(s,a) = \sum_a \pi(a|s) [Q_\pi(s,a) - V_\pi(s)] = V_\pi(s) - V_\pi(s) = 0

즉,

Lπ(π)=η(π)L_\pi(\pi) = \eta(\pi)

다음으로 1계 미분항을 살펴봅시다.

πLπ(π)=sρπ(s)aππ(as)Aπ(s,a)(1)\nabla_{\pi'} L_\pi(\pi') = \sum_s \rho_\pi(s) \sum_a \nabla_{\pi'} \pi'(a|s) \cdot A_\pi(s,a) \tag{1}

해당 미분을 π=π\pi' = \pi에서 평가하면:

πLπ(π)π=π=sρπ(s)aππ(as)Aπ(s,a)π=π(2)\nabla_{\pi'} L_\pi(\pi')\Big|_{\pi' = \pi} = \sum_s \rho_\pi(s) \sum_a \nabla_{\pi'} \pi'(a|s) \cdot A_\pi(s,a)\Big|_{\pi' = \pi} \tag{2}

Qπ=Aπ+VπQ_\pi = A_\pi + V_\pi에 의해

πη(π)π=π=sρπ(s)aππ(as)[Aπ(s,a)+Vπ(s)]\nabla_{\pi'} \eta(\pi') \Big|_{\pi' = \pi} = \sum_s \rho_\pi(s) \sum_a \nabla_{\pi'} \pi(a|s) [A_\pi(s,a) + V_\pi(s)]

Vπ(s)V_\pi(s)는 행동과 무관하므로,

aππ(as)Vπ(s)=Vπ(s)πaπ(as)=Vπ(s)π1=0\sum_a \nabla_{\pi'} \pi(a|s) V_\pi(s) = V_\pi(s) \cdot \nabla_{\pi'} \sum_a \pi(a|s) = V_\pi(s) \cdot \nabla_{\pi'} 1 = 0

따라서

πη(π)π=π=sρπ(s)aππ(as)Aπ(s,a)(5)\nabla_{\pi'} \eta(\pi') \Big|_{\pi' = \pi} = \sum_s \rho_\pi(s) \sum_a \nabla_{\pi'} \pi(a|s) A_\pi(s,a) \tag{5}

한편,

πη(π)=sρπ(s)aππ(as)Qπ(s,a)(3)\nabla_{\pi'} \eta(\pi') = \sum_s \rho_{\pi'}(s) \sum_a \nabla_{\pi'} \pi'(a|s) \cdot Q_\pi(s,a) \tag{3}

즉,

πLπ(π)π=π=πη(π)π=π\nabla_{\pi'} L_\pi(\pi') \Big|_{\pi' = \pi} = \nabla_{\pi'} \eta(\pi') \Big|_{\pi' = \pi}

STEP 7: Importance Sampling

Eπ[f(s,a)]=Eπ[π(as)π(as)f(s,a)]\mathbb{E}_{\pi'}[f(s,a)] = \mathbb{E}_{\pi} \left[ \frac{\pi'(a|s)}{\pi(a|s)} f(s,a) \right]
  • 기대값을 샘플링 가능한 분포로 바꾸기 위한 테크닉입니다.

증명

물론, 다음과 같은 가정이 필요합니다.

  • π(as)>0\pi(a|s) > 0인 경우에만 π(as)\pi'(a|s)가 정의된다고 가정. (support assumption)
  • f(s,a)f(s,a)는 measurable하고 적분 가능한 함수.

좌변:

Eaπ[f(s,a)]=aπ(as)f(s,a)\mathbb{E}_{a \sim \pi'} [f(s,a)] = \sum_a \pi'(a|s) f(s,a)

우변:

Eaπ[π(as)π(as)f(s,a)]=aπ(as)π(as)π(as)f(s,a)=aπ(as)f(s,a)\mathbb{E}_{a \sim \pi} \left[ \frac{\pi'(a|s)}{\pi(a|s)} f(s,a) \right] = \sum_a \pi(a|s) \cdot \frac{\pi'(a|s)}{\pi(a|s)} f(s,a) = \sum_a \pi'(a|s) f(s,a)
Eaπ[f(s,a)]=Eaπ[π(as)π(as)f(s,a)]\boxed{ \mathbb{E}_{a \sim \pi'} [f(s,a)] = \mathbb{E}_{a \sim \pi} \left[ \frac{\pi'(a|s)}{\pi(a|s)} f(s,a) \right] }

따라서 Importance Sampling은 원래 분포 π\pi'에 대한 기대값을 샘플링 가능한 π\pi로 바꾸되, 보정 계수 ππ\frac{\pi'}{\pi}를 곱해줌으로써 동일한 값을 유지합니다.


STEP 8: State Visitation Difference Bound

정책 π,π\pi, \pi' 간의 행동 분포의 상태별 최대 Total Variation 거리 DTVmax(π,π)D_{TV}^{\max}(\pi, \pi')를 다음과 같이 정의합니다:

DTVmax(π,π):=maxsDTV(π(s),π(s))=12maxsaπ(as)π(as)D_{TV}^{\max}(\pi, \pi') := \max_s D_{TV}(\pi(\cdot|s), \pi'(\cdot|s)) = \frac{1}{2} \max_s \sum_a |\pi(a|s) - \pi'(a|s)|

그렇다면 두 정책의 Discounted State Visitation Distribution ρπ(s)\rho_{\pi}(s), ρπ(s)\rho_{\pi'}(s) 사이의 1\ell_1-거리는 다음과 같이 upper bound됩니다:

sρπ(s)ρπ(s)2γ(1γ)2DTVmax(π,π)2\boxed{ \sum_s |\rho_{\pi'}(s) - \rho_\pi(s)| \le \frac{2 \gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2 }

증명

각 정책의 상태 방문 분포는 다음과 같이 정의(normalized version)됩니다:

ρπ(s)=(1γ)t=0γtdtπ(s),where dtπ(s):=P(st=sπ)\rho_\pi(s) = (1 - \gamma) \sum_{t=0}^\infty \gamma^t d_t^\pi(s), \quad \text{where } d_t^\pi(s) := P(s_t = s \mid \pi)

이로부터 1\ell_1-norm 차이는 다음과 같이 표현됩니다:

sρπ(s)ρπ(s)=(1γ)t=0γtδtwith δt:=sdtπ(s)dtπ(s)\sum_s |\rho_{\pi'}(s) - \rho_\pi(s)| = (1 - \gamma) \sum_{t=0}^\infty \gamma^t \cdot \delta_t \quad \text{with } \delta_t := \sum_s |d_t^{\pi'}(s) - d_t^\pi(s)|

한편, 재귀적 특성에 의해 dt+1π(s)d_{t+1}^\pi(s')는 다음과 같이 주어집니다:

dt+1π(s)=s,adtπ(s)π(as)P(ss,a)d_{t+1}^\pi(s') = \sum_{s,a} d_t^\pi(s) \pi(a|s) P(s'|s,a)

이제 dt+1π(s)dt+1π(s)d_{t+1}^{\pi'}(s') - d_{t+1}^{\pi}(s')를 계산하면:

dt+1π(s)dt+1π(s)=s,a[dtπ(s)π(as)dtπ(s)π(as)]P(ss,a)=s,a[(dtπ(s)dtπ(s))π(as)+dtπ(s)(π(as)π(as))]P(ss,a)\begin{aligned} d_{t+1}^{\pi'}(s') - d_{t+1}^{\pi}(s') &= \sum_{s,a} \left[ d_t^{\pi'}(s)\pi'(a|s) - d_t^\pi(s)\pi(a|s) \right] P(s'|s,a) \\ &= \sum_{s,a} \left[ (d_t^{\pi'}(s) - d_t^\pi(s)) \pi'(a|s) + d_t^\pi(s)(\pi'(a|s) - \pi(a|s)) \right] P(s'|s,a) \end{aligned}

절댓값 합을 취한 후 triangle inequality 적용:

δt+1:=sdt+1π(s)dt+1π(s)sdtπ(s)dtπ(s)+2DTVmax(π,π)\delta_{t+1} := \sum_{s'} |d_{t+1}^{\pi'}(s') - d_{t+1}^\pi(s')| \le \sum_s |d_t^{\pi'}(s) - d_t^\pi(s)| + 2 D_{TV}^{\max}(\pi, \pi')

초기 조건 δ0=0\delta_0 = 0에 대해, 귀납적으로:

δt2tDTVmax(π,π)\delta_t \le 2t \cdot D_{TV}^{\max}(\pi, \pi')

위의 도출된 식들을 대입하면:

sρπ(s)ρπ(s)(1γ)t=0γt2tDTVmax(π,π)=2DTVmax(π,π)(1γ)t=0tγt\sum_s |\rho_{\pi'}(s) - \rho_\pi(s)| \le (1 - \gamma) \sum_{t=0}^\infty \gamma^t \cdot 2t D_{TV}^{\max}(\pi, \pi') = 2 D_{TV}^{\max}(\pi, \pi') \cdot (1 - \gamma) \sum_{t=0}^\infty t \gamma^t

다음 합 공식을 사용:

t=0tγt=γ(1γ)2\sum_{t=0}^\infty t \gamma^t = \frac{\gamma}{(1 - \gamma)^2}

따라서:

sρπ(s)ρπ(s)2γ(1γ)2DTVmax(π,π)\sum_s |\rho_{\pi'}(s) - \rho_\pi(s)| \le \frac{2\gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')

TRPO 본문에서는 이를 보수적으로 다음과 같이 제곱하여 사용합니다:

sρπ(s)ρπ(s)2γ(1γ)2DTVmax(π,π)2\sum_s |\rho_{\pi'}(s) - \rho_\pi(s)| \le \frac{2\gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2

이는 DTVmax(π,π)[0,1]D_{TV}^{\max}(\pi, \pi') \in [0,1]이므로
DTVmax(π,π)DTVmax(π,π)2D_{TV}^{\max}(\pi, \pi') \le D_{TV}^{\max}(\pi, \pi')^2 를 만족할 때 유효합니다.


STEP 9: Policy Improvement Bound (Theorem 2)

η(π)Lπ(π)2ϵγ(1γ)2DTVmax(π,π)2\eta(\pi') \ge L_\pi(\pi') - \frac{2 \epsilon \gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2
  • surrogate objective와 실제 성능 차이를 이론적으로 bound할 수 있습니다.

증명

Performance Difference Lemma에 의해

η(π)=η(π)+sρπ(s)aπ(as)Aπ(s,a)\eta(\pi') = \eta(\pi) + \sum_s \rho_{\pi'}(s) \sum_a \pi'(a|s) A_\pi(s,a)

Surrogate Objective는 다음과 같이 정의 했으므로

Lπ(π)=η(π)+sρπ(s)aπ(as)Aπ(s,a)L_\pi(\pi') = \eta(\pi) + \sum_s \rho_\pi(s) \sum_a \pi'(a|s) A_\pi(s,a)

이 둘의 차이를 취하면:

η(π)Lπ(π)=s(ρπ(s)ρπ(s))aπ(as)Aπ(s,a)\eta(\pi') - L_\pi(\pi') = \sum_s \left( \rho_{\pi'}(s) - \rho_\pi(s) \right) \sum_a \pi'(a|s) A_\pi(s,a)

이제 오른쪽 항을 upper bound 해보면

η(π)Lπ(π)=s(ρπ(s)ρπ(s))aπ(as)Aπ(s,a)\left| \eta(\pi') - L_\pi(\pi') \right| = \left| \sum_s \left( \rho_{\pi'}(s) - \rho_\pi(s) \right) \sum_a \pi'(a|s) A_\pi(s,a) \right|

triangle inequality에 의해

sρπ(s)ρπ(s)aπ(as)Aπ(s,a)\le \sum_s \left| \rho_{\pi'}(s) - \rho_\pi(s) \right| \cdot \left| \sum_a \pi'(a|s) A_\pi(s,a) \right|

또,

aπ(as)Aπ(s,a)aπ(as)Aπ(s,a)ϵaπ(as)=ϵ\left| \sum_a \pi'(a|s) A_\pi(s,a) \right| \le \sum_a \pi'(a|s) |A_\pi(s,a)| \le \epsilon \sum_a \pi'(a|s) = \epsilon

따라서:

η(π)Lπ(π)ϵsρπ(s)ρπ(s)\left| \eta(\pi') - L_\pi(\pi') \right| \le \epsilon \sum_s \left| \rho_{\pi'}(s) - \rho_\pi(s) \right|

State visitation difference bound에 의해

sρπ(s)ρπ(s)2γ(1γ)2DTVmax(π,π)2\sum_s \left| \rho_{\pi'}(s) - \rho_\pi(s) \right| \le \frac{2 \gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2

이를 이용해 다음이 성립합니다.

η(π)Lπ(π)ϵ2γ(1γ)2DTVmax(π,π)2\left| \eta(\pi') - L_\pi(\pi') \right| \le \epsilon \cdot \frac{2 \gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2

즉,

η(π)Lπ(π)2ϵγ(1γ)2DTVmax(π,π)2\eta(\pi') \ge L_\pi(\pi') - \frac{2 \epsilon \gamma}{(1 - \gamma)^2} D_{TV}^{\max}(\pi, \pi')^2

STEP 10: Pinsker's Inequality로 KL bound

DTV(p,q)212DKL(pq)\boxed{ D_{TV}(p, q)^2 \le \frac{1}{2} D_{KL}(p \| q) }

이 부등식은 TRPO의 trust region 조건을 KL divergence로 정당화하는 데 핵심적인 역할을 합니다.

증명 (sketch, 실제론 3~5 pg 분량, 나중에 따로 다루겠습니다!)

  • Total Variation Distance:

    DTV(p,q):=12xp(x)q(x)D_{TV}(p, q) := \frac{1}{2} \sum_x |p(x) - q(x)|
  • KL Divergence (Kullback–Leibler divergence):

    DKL(pq):=xp(x)logp(x)q(x)D_{KL}(p \| q) := \sum_x p(x) \log \frac{p(x)}{q(x)}

Pinsker’s inequality는 Csiszár–Kullback–Pinsker inequality의 특수한 경우이며, ff-divergence 이론을 통해 다음과 같이 증명할 수 있습니다.

Csiszár–Kullback–Pinsker inequality에 따르면 다음이 성립합니다:

DTV(p,q)12DKL(pq)DTV(p,q)212DKL(pq)D_{TV}(p, q) \le \sqrt{ \frac{1}{2} D_{KL}(p \| q) } \Rightarrow D_{TV}(p, q)^2 \le \frac{1}{2} D_{KL}(p \| q) \quad
  • 이 부등식은 TRPO의 trust region 조건을 KL 제약으로 바꾸는 정당성의 이론적 근거입니다.
  • 실제로는 이 bound가 너무 loose할 수 있으므로 practical TRPO 구현에서는 surrogate loss에 KL penalty를 직접 넣거나, Lagrange multiplier로 최적화합니다.

STEP 11: TRPO 최적화 문제 정의

maxθLπ(πθ)s.t. DˉKLρπ(ππθ)δ\boxed{ \max_\theta L_\pi(\pi_\theta) \quad \text{s.t. } \bar{D}_{KL}^{\rho_\pi}(\pi \| \pi_\theta) \le \delta }

배경

  1. Performance difference lemma:

    η(πθ)η(π)=sρπθ(s)aπθ(as)Aπ(s,a)\eta(\pi_\theta) - \eta(\pi) = \sum_s \rho_{\pi_\theta}(s) \sum_a \pi_\theta(a|s) A_\pi(s, a)
  2. Surrogate Objective

    η(πθ)Lπ(πθ)\eta(\pi_\theta) \approx L_\pi(\pi_\theta)
  3. Pinsker’s inequality로 이 근사의 오차를 KL로 bound:

    η(πθ)Lπ(πθ)O(DKL)|\eta(\pi_\theta) - L_\pi(\pi_\theta)| \le \mathcal{O}(D_{KL})

신뢰 구간 내에서만 근사를 믿을 수 있음
→ 따라서 KL-divergence로 제약을 건 trust region 설정


STEP 12: Natural Policy Gradient

~θJ(θ)=F1θJ(θ)\boxed{ \tilde{\nabla}_\theta J(\theta) = F^{-1} \nabla_\theta J(\theta) }

증명

maxθJ(θ)J(θ)+θJ(θ)T(θθ)s.t.DˉKLρπ(πθπθ)δ\begin{aligned} \max_{\theta'}\quad & J(\theta') \approx J(\theta) + \nabla_\theta J(\theta)^T (\theta' - \theta) \\ \text{s.t.}\quad & \bar{D}_{KL}^{\rho_\pi}(\pi_\theta \| \pi_{\theta'}) \le \delta \end{aligned}

KL-divergence를 활용해 2차 근사를 하면 (θ\theta'에서 Taylor 전개)

DˉKL(πθπθ)12(θθ)TF(θθ)(1)\bar{D}_{KL}(\pi_\theta \| \pi_{\theta'}) \approx \frac{1}{2} (\theta' - \theta)^T F (\theta' - \theta) \tag{1}

FF는 Fisher Information Matrix이며

F:=Esρπ,aπθ[θlogπθ(as)θlogπθ(as)T]F := \mathbb{E}_{s \sim \rho_\pi, a \sim \pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) \nabla_\theta \log \pi_\theta(a|s)^T \right]

목적함수와 제약조건을 이용한 라그랑지안을 구해봅니다.

L(θ)=θJ(θ)T(θθ)λ12(θθ)TF(θθ)\mathcal{L}(\theta') = \nabla_\theta J(\theta)^T (\theta' - \theta) - \lambda \cdot \frac{1}{2} (\theta' - \theta)^T F (\theta' - \theta)

Convex optimization 문제의 Stationary Condition을 적용하면,

θL=θJ(θ)λF(θθ)=0θθ=1λF1θJ(θ)\nabla_{\theta'} \mathcal{L} = \nabla_\theta J(\theta) - \lambda F (\theta' - \theta) = 0 \Rightarrow \theta' - \theta = \frac{1}{\lambda} F^{-1} \nabla_\theta J(\theta)

즉,

~θJ(θ):=F1θJ(θ)\boxed{ \tilde{\nabla}_\theta J(\theta) := F^{-1} \nabla_\theta J(\theta) } \quad \blacksquare

KL-divergence는 확률 분포의 공간에 Riemannian metric을 부여하며, 이로 인해 정책 파라미터 공간은 단순한 유클리드 공간이 아닌 정보 기하학적 곡률을 지닌 공간으로 해석됩니다. 이러한 구조 하에서 가장 빠른 성능 향상을 보장하는 최적 상승 방향은 일반적인 Euclidean gradient가 아니라, 분포 간의 거리(정보 기하학적 구조)를 반영한 방향인 Natural Gradient입니다. 즉, 일반 gradient는 평탄한 공간(Euclidean geometry)을 가정하는 반면, Natural Gradient는 확률 분포 사이의 변화에 민감한 방향을 따름으로써 보다 효율적이고 안정적인 최적화를 가능하게 합니다.

0개의 댓글