데이터사이언스/강화학습

강화학습 - (26) 정책 경사

_금융덕후_ 2020. 12. 16. 21:18
728x90
반응형

강화학습

정책 경사

 

보상 모델링

강화학습에서 보상을 모델링 하는 방법은 크게 세가지가 있다.

먼저 에피소드 태스크의 경우, 우리는 해당 에피소드의 모든 보상을 더하고,

에피소드마다 최종적으로 얻어지는 모든 보상의 합을 최대화 한다:

$G_t = \sum^{T}_{t=0} R_t$

 

연속적인 태스크의 경우, 우리는 바로 다음 보상에 초점을 맞추고,

미래의 보상에는 감가율을 더해준다:

$G_t = \sum^{\infty}_{t=0} \gamma^t R_t$

 

마지막으로, 전체 보상의 합에서 평균 보상을 빼주는 방식이다.

각 시점에 에이전트가 받는 보상에서 평균 보상을 빼줌으로서,

연속적인 태스크임에도 무한이 아닌 보상으로 학습할 수 있다:

$G_t = \sum^{\infty}_{t=0} R_t - r(\pi)$

 

평균 보상 목적 함수 (Average Reward Objective)

경사를 계산하여 학습하기 위해서는 목적함수가 필요하다.

정책경사에서는 평균 보상을 최대화 하는 방식으로 정책을 학습시킨다.

 

먼저 평균 보상은, 다음과 같이 표현할 수 있다:

$r(\pi) = \sum_s \mu(s) \sum_a \pi(a|s,\theta) \sum_{s'r} p(s',r|s,a) r$

 

가장 안쪽의 summation은 에이전트가 상태 $s$에서,

행동 $a$를 취했을때 얻을 수 있는 보상의 기댓값이다:

\mathbb{E}[R_t | S_t = s, A_t = a]

즉 다음상태 $s'$와 보상 $r$를 얻을 수 있는 확률로 가중치를 준 보상의 합이다.

이 기댓값은 또한 행동가치함수(q)와 동일한 것을 알 수 있다.

 

바로 바깥쪽 summation은 에이전트가 취할 수 있는 모든 행동에 대한 보상의 기댓값이다.

상태 $s$가 주어졌을 때 각 행동 $a$는 정책에 의해 행동이 선택될 확률에 따라 가중치가 매겨진 보상의 합이다.

 

마지막으로, 가장 바깥쪽 summation은 각 상태를 방문한 횟수를 평균한것에 대한 기댓값이다.

 

평균 보상의 경사

정책을 학습하는 기법들은 결국 다음 수식을 최적화 한다:

$\nabla r(\pi) = \nabla \sum_{s} \mu(s) \sum_a \pi(a|s,\theta) \sum_{s',r} p(s',r|s,a)r$

하지만 이는 보통의 경사하강과는 다르게 $\r(\pi)$를 최대화 하는 최적화를 한다.

<이미지 26_0>

따라서 이 기법들은 경사상승법(gradient ascent)라고도 불린다.

 

위 수식에서 경사를 계산하는데는 문제가 있다.

먼저 $\mu(s)$는 정책 $\pi$가 변하는데에 따라 변할 수 있다.

다른말로 하면, $\pi$를 학습흘 수록 상태의 분포 $\mu$가 변하게 된다는 말이다.

이를 해결하기 위한 이론이 바로 정책 경사 이론(Policy Gradient Theorem)이다.

 

정책 경사 (Policy Gradient)

정책 경사 이론은 아래의 수식을 통해 에이전트가 $\pi$를 학습하는 것이다.

$\nabla r(\pi) = \nabla \sum_{s} \mu(s) \sum_a \pi(a|s,\theta) \sum_{s',r} p(s',r|s,a)r$

 

위 수식에서 가장 마지막 항 $\sum_{s',r} p(s',r|s,a)r$은 행동가치함수 $q$이다.

$\nabla r(\pi) = \nabla \sum_{s} \mu(s) \sum_a \pi(a|s,\theta) q_{\pi}(s,a)$

 

이 수식에서 $\mu$는 미분이 가능하지 않다.

따라서 $\mu$는 몬테카를로 근사를 통해 샘플링으로 예측을 하게 된다.

이를 통해 미분 가능한 수식을 가지고 에이전트는 정책을 곧바로 학습하게 된다.

 

아래는 에피소드 형식의 태스크에서 정책 경사 알고리즘을 구현한 REINFORCE의 Pseudo-code이다:

 

728x90
반응형