본문으로 바로가기

chapter 3부터는 가장 최신 edtion으로!!

알고보니 더 최신 버전이 있었다..난 옛날 버전을 하고 있었고 그러다보니 페이지도 다르기 때문에, 약간 수식면에서 다르지만...그냥 여기서부터 새로 시작하는 마음으로 해야지..어차피 이전은 그냥 느낌만 알면 됐어!!하핳!

The Agent-Environment Interface

MDP(Markov Decision process)는 강화학습에서 어떤 목표를 위해 순차적으로 행동을 결정(sequential decision making)을 해야하는 문제를 수식적으로 나타낸 것이다. 이 때 학습 또는 행동 결정자를 에이전트(agent). 에이전트와 상호작용하는 에이전트 외에 모든 것을 환경(environment)이라 한다.

이 둘은 서로 상호작용(interact)하면서 정보를 주고 받는다.

  • 일정한 간격으로 분리된 시간 단위(discrete time step) $t=0, 1, 2, 3, ...$
  • $t$ step에서 환경의 상태(state) $S_t \in \mathcal{S}$
  • $t$ step에서 에이전트가 선택한 행동(action) $A_t \in \mathcal{A}(s)$
  • $t$ step에서 행동에 의해 변화된 환경의 다음 상태 $S_{t+1}$
  • $t$ step에서 행동에 대한 환경의 보상 $R_{t+1} \in \mathcal{R} \subset \mathbb{R}$

에이전트와 환경은 위 $\mathcal{S}$, $\mathcal{A}$, $\mathcal{R}$은 집합을 말하고 $\mathbb{R}$은 차원을 얘기한다. (예를 들어, $\mathbb{R}$은 스칼라 값, $\mathbb{R}^{M\times N}$은 (M, N) 크기를 가진 행렬로 볼 수 있다.)

위 그림과 같이 에이전트와 환경은 다음과 같이 상호작용한다고 볼 수 있다.

  1. 환경이 현재 상태($S_t$)와 보상($R_t$)을 에이전트에게 준다.
  2. 에이전트는 상태($S_t$)에 따라 행동($A_t$)을 결정하고 환경에게 준다.
  3. 환경은 행동을 받아 새로운 상태($S_{t+1}$)가 되고 그에 따른 보상($R_{t+1}$)이 발생한다.
  4. 1-3 반복

물론 간단한 문제라면 이것으로 충분할 수 있으나, 현실 문제는 그리 간단하지 않다. 어떤 행동을 했더라도 꼭 원하는 방향으로 되지 않을 수 있고 다양한 변수들이 존재할 것이다. 이 모든 것을 확률로써 표현하는데, 이를 MDP에서 역학(dynamics)이라 정의($\doteq$)한다.

$|$는 조건부 확률을 의미한다. ($Pr{A|B}$ 라면, $B$인 조건일 때, $A$가 될 확률을 의미한다) 확률이기 때문에 각 확률들을 모두 더하면 1(100%)가 나온다.

그런데 식을 잘 보면 이전의 상태나 행동에 대한 정보가 없다. 즉, 오직 이전의 상태와 행동을 가지고 현재 상태와 보상이 결정되고 있다. 이러한 상태를 마르코프 특성(Markov property)을 가지고 있다고 말하며, 이전에 대한 정보는 환경과 에이전트의 상호작용으로 이전 상태까지 왔다고 보고 있는 것이다. 나중에 나올 근사(approximation) 방법이 나올 때 까지는 이러한 특성을 가지고 있다고 볼 것이다.

dynamics를 이용하면 다양한 값에 대한 표현이 가능하다. 예를 들면

다음 상태 $s'$가 나올 확률

어떤 상태에서 행동을 했을 때 얻을 것으로 기대되는 보상

여기서 기대를 표현하는 $\mathbb{E}$는 확률로 인해서 정확한 값은 안나오지만 나올 것이라 기대되는 값(Expected Value)을 표현할 때 사용한다. 예를 들어 주사위가 나올 것이라 기대되는 값을 표현한다면, 각 주사위가 나올 확률은 1/6이기 때문에 3.5가 나올것으로 기대할 수 있다.

$$
(\frac{1}{6} \times 1) + (\frac{1}{6} \times 2) + (\frac{1}{6} \times 3) + (\frac{1}{6} \times 4) + (\frac{1}{6} \times 5) + (\frac{1}{6} \times 6) = 3.5
$$

임의의 함수 $f(x)$에 대한 기대값은 다음과 같이 표현할 수 있다.(확률을 $p(x)$라 표현)

$$
\mathbb{E}[f(x)] = \sum_i p(i)f(i)
$$

MDP는 추상적이고 유연해서 다양한 문제에 적용할 수 있다. 예를 들면, 꼭 time step이 일정한 간격으로 떨어져 있을 필요 없고 행동이나 상태를 전압이나 관절 등 디테일한 부분에서 생각하기, 물건 집어올리기 같은 추상적인 부분까지 다양하게 표현할 수 있다. 또한 에이전트라고 생각했던 것이 환경인 영역일 수도 있는데, 이는 에이전트가 조절할 수 있냐의 차이로 결정된다.(absolute control) 그 외에도 에이전트가 환경을 잘 알 수도 있고, 그렇지 않을 수도 있으며, 에이전트가 하나일 수도, 아닐 수도 있다. 이 모든 것은 상태와 행동 그리고 보상을 어떻게 정하는 지에 달려 있으며, 어떻게 정하냐에 따라 성능을 좌우한다. 중요한 것은 목표 지향적인(goal-directed) 행동을 학습하는 문제를 상태, 행동, 보상만으로 표현할 수 있다는 것이다.

이 책에서는 이러한 문제를 정의하고(MDP) 난 뒤 어떻게 학습할 것인지에 초점이 맞추어져 있다. 그것들을 이제 천천히 알아보자

다음 시간에는

문제를 표현하는 방법을 배웠으니 이제 문제를 어떤 방향으로 해결할 지 목표와 보상에 대해서 좀 더 자세히 다룰 예정이다.