본문으로 바로가기

Monte Carlo Estimation of Action Values

(환경에 대한) 모델을 사용할 수 있다면, DP에서 했던 것처럼 상태 가치함수만으로 충분히 정책을 결정할 수 있다. 하지만 모델을 사용할 수 없다면, 상태 가치 함수보다는 행동 가치 함수를 추정(estimate)하는게 더 좋을 것이다. 가치를 추측해서 이 가치 자체로 정책으로 사용할 수 있기 때문이다. 따라서 모델을 모를 때 사용할 이 Monte Carlo 또한 $q_\ast$를 estimate하는 것이 목표다. 그러기 위해서 먼저 행동 가치에 대해 어떻게 policy evaluation을 할지 생각해봐야 한다.

Monte Carlo 방법에서는 행동 가치함수에 대해 estimate할 것이기 때문에, 상태 가치함수와 본질 적으로 같지만 상태 행동 쌍(state-action pair) $s, a$이라고 약간 다르게 부를 것이다. 이전처럼 every-visit MC 방법 같은 경우는 방문(visit)했던 모든 상태 행동 쌍들을, first-visit MC 방법은 에피소드에서 처음 방문했던 상태 행동 쌍들(두 번째 방문한 것은 무시)에 estimate한다.

다만 복잡한 점이라면 방문하지 않을 상태 행동쌍이 많을 것이란 점인데 만약 $\pi$이 deterministic policy라면, 분명 한 가지에 대한 행동만 할 가능성이 높으므로(무조건 큰 값을 고르니..) 그 밖에 행동들에 대해서는 개선되지 않을 것이다. (상태 가치함수로 했을 때는 각 상태의 모든 행동에 대한 가치였으니..) 결국 다른 행동들에 대해서도 estimate할 필요가 있는데, 이러한 문제를 탐험 유지 문제(The problem of maintaining exploration) 라 한다. (Ch 2에서 exploration vs exploitation에 대해 얘기했었다.) 이를 해결하기 위한 한 방법으로 어떤 한 상태 행동쌍에서 에피소드가 시작하게 하고 모든 상태 행동쌍이 시작할 수 있도록 0이 아닌 확률을 갖게 하는 것이다. 분명 시작이 다양하게 다르니 무한히 한다면 수렴할 것이다. 이를 탐험 시작의 가정(The assumption of exploring starts)

이 가정은 좋을 수도 있지만, 일반적인 문제에서는 좋지 않다. 특히 환경과 직접 상호작용하면서 학습해야 하는 경우는 더욱 그렇다. 그래서 보통은 policy를 확률적(stochasitc)으로 하고 다른 행동들에 대해 확률이 0이 안되게 하는 것이다. 일단은 이 가정을 가지고 Monte Carlo control 방법에 대해서 다룰 것이다.