본문으로 바로가기

Returns and Episodes

이전 시간에는 에이전트의 목표는 보상의 합을 최대화 한다고 했었다. 정확하게 수식으로 표현하면 어떻게 나타낼 수 있을까?

만약 어떤 시점 $t$에서 보상의 합을 최대화하고 싶다고 할 때, 앞으로 받을 보상을 $R_{t+1}$, $R{t+2}$, ..., 나타낼 수 있으며 이들의 합을 expected return($G_t$)라고 정의한다.

이 때, T는 마지막 step이며, 게임이 끝난다거나 어떤 목표를 이루었거나 했을 때 종료되는 지점을 말한다. 이렇게 종료 상태(terminal state)가 있어서, 시작부터 종료까지를 episode라 말하며, 만약 끝까지 가서 종료가 되면 다음 episode가 새롭게 진행된다. 당연히 이전 episode와는 독립적이고, 새롭게 시작되면서 초기화되어야 할 부분들은 초기화가 된다. 이러한 task를 episodic task라고 부르며, 반대로 종료 상태가 없는 경우는 continuing task라고 한다. continuing task 경우는 $T=\infty$가 될 것이다.

그렇다면 당연히 $G_t$의 값은 continuing task에서 무한이 되기 때문에 discunting이라는 개념이 필요하다. 이를 적용한 expected discounted return은 다음과 같다.

여기서 $\gamma \ (0 \le \gamma \le 1)$는 정해줘야하는 매개 변수(parameter)로, discount rate이다. $R_{t+2}$, $R_{t+3}$ ... 시간이 흐를 수록 $\gamma$가 더 곱해져간다. 0과 1사이의 값이기 때문에 미래 보상일 수록 더 작은 값을 가지게 될 것이다. 만약 $\gamma=0.9$이고 보상을 매번 1만 받았다면, 다음과 같다.

$$
G_t = 1 + (0.9 \times 1) + (0.9^2 \times 1) + (0.9^3 \times 1) + ...
= 1 + 0.9 + 0.81 + 0.729
$$

이를 통해 continuing task라 해도 return은 수렴함을 알 수 있다. 위 식대로라면 덧셈은 다음과 같을 것이다.

아무리 미래에 큰 보상을 받는다해도, discount rate에 의해 값이 작아진다. 이는 현재 받은 보상을 더 중요시 한다는 의미가 있다. 그 정도를 $\gamma$를 통해 조절하는 것이며 1에 가까울 수록 미래를 고려한다는 얘기이고, 0에 가까울 수록 현재 바로 앞의 보상에 집중한다는 얘기이다. 예를 들어 $\gamma = 1$이면, 모든 보상을 동일하게 더한다. 반대로, $\gamma = 0$이면 $G_t = R_{t+1}$, 즉, 바로 앞의 보상만 남는다.

그리고 이 return 값은 다음과 같이 연관식을 세울 수 있다. 나중에 사용될 중요한 개념이다.

다음 시간에는

return, discount rate, episodic task, continuing task에 대해 공부했다. 다음에는 episodic task와 continuing task를 하나의 식으로 한 번에 나타낼 예정이다.