본문 바로가기

인공지능

TRPO를 위한 기본 지식

모두를 위한 메타러닝에서 공부한 내용을 정리한다.

 

TRPO는 Trust Region Policy Optimization의 약자이다.

강화학습에서 정책에 대한 성능을 $\eta$라고 나타낼 수 있다.

정책 $\pi$가 주어졌을 때 이 정책에 대한 성능은 $\eta(\pi)$이다.

성능에 대해 다음 식과 같이 정의할 수 있다.

$\eta(\pi) = \mathbb(E)_{s_0, a_0, ...}[\Sigma^\infty_{t=0}\gamma^tr(s_t)]$

정책 $\pi$와 정책 $\tilde{\pi}$에 대해 다음과 같은 관계식을 나타낼 수 있다.

$\eta(\tilde{\pi}) = \eta(\pi) + \mathbb(E)_{s_0, a_0, ..., \sim\tilde{\pi}}[\Sigma^\infty_{t=0}\gamma^tA_\pi(s_t, a_t)]$

$where A_\pi(s_t, a_t) = Q_\pi(s_t, a_t) - V_\pi(s_t)$

 

상태방문빈도

$\rho_\pi(s) = P(s_0 = s) + \gamma P(s_1 = s) + \gamma^2 P(s_2 = s) + \cdot\cdot\cdot$

 

위의 관계식을 상태방문빈도를 기준으로 바꿔 쓸 수 있다.

$\eta_\tilde{\pi} = \eta(\pi) + \Sigma_s\Sigma^\infty_{t=0}\gamma^tP(s_t=s|\tilde{\pi})\Sigma_a\tilde{\pi}(a|s)A_\pi(s, a)$

$ = \eta(\pi) + \Sigma\rho_\tilde{\pi}(s)\Sigma_a\tilde{\pi}(a|s)A_\pi(s, a)$

 

위 식에는 다음정책에 대한 상태방문 빈도 $\rho_\tilde{\pi}(s)$가 포함되어있는데

이 문제를 해결하기 위해 로컬 근사식을 사용한다.

$L_\pi(\tilde{pi}) = \eta(\pi) + \Sigma_s\rho_\pi(s)\Sigma_a\tilde{\pi}(a|s)A_\pi(s, a)$

 

로컬 근사식을 사용할 수 있는 이유는 다음과 같이 처음 $\theta_0$에 대해

성능값과 근사값이 같기 때문이다.

$L_{\pi_{\theta_0}} = \eta(\pi_{\theta_0})$

$\nabla_\theta L_\pi(\tilde{pi})(\pi_\theta)|_{\theta=\theta_0} = \nabla_\theta\eta(\pi_\theta)|_{\theta=\theta_0}$

 

Surrogate 목적함수가 TRPO의 핵심인데

이 부분은 모두를 위한 메타러닝을 참고하자.