* [바닥부터 배우는 강화학습] 도서를 읽고 정리한 글입니다
2. 마르코프 리워드 프로세스 (Markov Reward Process)
마르코프 프로세스에 보상의 개념이 추가된 프로세스이다.
위 그림은 아이가 잠이 드는 과정을 마르코프 프로세스로 모델링하여 표현한 것이다.
아이가 특정 상태에 들어오면 그에 따른 보상을 받게 되어 있다.
MRP를 정의하기 위해서는
보상함수 \( R \)과 감쇠인자 \( \gamma \) (감마) 가 추가로 필요하다
$$ MRP \equiv ( S, P, R, \gamma ) $$
- 보상함수 R
R은 어떤 상태 s에 도착할 때 받는 보상을 의미한다
$$ R = \mathbb{E} \left [ R_t \vert S_t = s \right ] $$
기댓값이 나온 이유는 특정 상태에 도달했을 때 받는 보상이 매번 조금씩 다를 수 있기 때문이다.
예를 들어, 어떤 상태에 도달하면 보상을 줄 때 동전을 던져 앞면이 나오면 500원, 뒷면이 나오면 받지 못한다고 하면 실제 보상은 매번 달라질 것이다. 이런 경우 기댓값을 적용하면 보상은 250원이 된다.
기댓값의 이런 성격을 이용하여 어떤 상태에 도달했을 때 보상을 일반화해서 표현을 할 때 기댓값이 사용되는 것이다.
거꾸로 생각해보면 어떤 값을 표현할 때 기댓값을 사용했다는 의미는 그 값이 항상 나오는 고정된 값이 아니라는 의미를 내포하고 있는 것이다.
- 감쇠인자 \( \gamma \)
\( gamma \) 는 강화학습에서 미래 얻을 보상에 비해 당장 얻을 보상을 얼마나 더 중요하게 여길 것인지 나타내는 파라미터이다. ( 0 에서 1 사이의 숫자 )
더 구체적인 설명을 위해 우선 리턴 이라는 개념을 이해해야 한다.
- 감쇠된 보상의 합, 리턴
MRP 모델에서는 상태가 바뀔때마다 보상을 받는다.
상태 \( S_0 \) 에서 시작하여 보상 \( R_0 \)를 받고 이어서 다음 상태로 전환되면서 보상을 받는 프로세스로 진행되다가 마지막 상태 \( S_T \) 에서 \( R_T \) 보상을 받고 종료된다.
이와 같이 시작상태에서 마지막 상태까지 이동하는 과정을 에피소드 라고 한다.
에피소드를 기호로 표시하면 아래와 같다.
$$ S_0, R_0, S_1, R_1, ... , S_T, R_T $$
리턴 ( \( G_t \) )이란 t 시점 이후 상태 \( S_{t+1} \)에서부터 에피소드가 종료할 때까지의 미래에 받을 감쇠된 보상의 합이다
$$ G_t = R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3} + ... $$
\( \gamma \)의 값이 0에서 1 사이 값이므로 먼 미래 시점 항은 \( \gamma \)를 여러 번 곱해지면서 계산값은 작아져 0에 가까워진다.
결국 t 시점의 리턴값은 먼 미래에 받을 보상의 영향은 줄이고 가까운 미래에 받을 보상의 영향을 크게 하는 방식으로 계산된다.
엄밀히 말하면 강화학습은 리턴값이 최대화되도록 학습하는 방식이라고 할 수 있다.
리턴은 과거의 보상값은 포함시키지 않는다. 과거는 중요치 않다는 것이다.
\( \gamma \)는 왜 필요한가?
\( \gamma \)를 1에 가까운 값을 사용하게 되면 미래 보상값이 리턴에 거의 그대로 영향을 주게되며 이것은 먼 미래도 중요시 생각하는 장기적인 시야를 갖도록 하는 모델이 되도록 할 것이다.
반대로 \( \gamma \)를 0에 가까운 값을 사용하게 되면 먼 미래 보상값은 0에 가깝게 작아지게 되어 근시안적인 모델이 되도록 할 것이다.
1) 수학적 편리성 때문에
\( \gamma \)를 1보다 작게 해줌으로 리턴 \( G_t \) 가 무한의 값을 가지는 것을 방지할 수 있다.
따라서 다양한 수학연산에 리턴값을 활용할 수 있게 된다.
2) 사람의 선호 반영
사람은 먼 미래에 보상보다 가까운 미래에 보상을 더 선호한다.
3) 미래에 대한 불확실성 반영
먼 미래 상태는 확률적으로 더 불확실 하므로 그에 대한 보상 역시 불확실성을 반영하여 감쇠시킨다
- MRP에서 각 상태의 밸류 평가하기
어떤 상태의 가치를 평가할 때 과거보다 미래를 고려하여 평가하게 된다.
MRP에서도 특정 시점의 상태에 대한 가치 밸류를 계산하려면 해당 시점 기준으로 미래에 받을 보상들의 합이 높으면 그 상태 밸류가 높다고 생각할 수 있다.
여기서 이야기한 미래에 받을 보상의 합이 바로 리턴값 ( \( G_t \) ) 이다.
문제는 리턴값이 매번 바뀐다는 점이다.
확률적 요소에 의해 다음 상태가 정해지므로 t 시점 기준으로 다음 도달 상태들이 매번 달라질 수 있다. 결국 그에 대한 보상이 달라지므로 보상의 합인 리턴값이 매번 바뀐다는 것이다.
이때 사용되는 개념이 기댓값 이다.
상태가치함수(State Value Function)
상태가치함수는 임의의 상태 S를 인풋으로 넣으면 그 상태의 밸류를 아웃풋으로 출력하는 함수이다.
$$ \mathcal{V}(S) = \mathbb{E} \left [ G_t \vert S_t = s \right ] $$
조건부로 붙는 \( S_t = s \)의 의미는 시점 t에서 상태 s부터 시작하여 에피소드가 끝날 때까지의 리턴을 계산하라는 뜻
같은 상태에서 출발하여도 주어진 확률분포때문에 매번 실행할 때마다 에피소드가 달라지면서 리턴값이 달라지므로
상태가치함수의 인풋으로 동일한 S를 입력하여도 결과 리턴값이 다르게 나오게 된다.
이런 경우 위에서 언급한 기댓값 성질을 이용한다.
여기서 \( S_t \) 상태의 가치를 계산하는 방법으로 리턴의 기댓값을 사용한다는 의미는 무엇일까?
\( S_t \) 상태부터 종료상태까지 해당 프로세스를 상당히 여러번 실행시켜 다양한 에피소드 샘플들을 얻어 각 샘플 에피소드의 리턴값을 합산 후 평균을 냄으로 기댓값으로 활용할 수 있다는 의미이다.
정리하면, MRP에서는 상태별 보상을 줌으로 현재 상태에 대한 리턴 이라는 개념을 추가하게 되었으며 이 리턴이 결국 상태가치함수 값이 된다.
다음은 MDP에 대한 설명으로 넘어간다
'인공지능 > 바닥부터 배우는 강화학습' 카테고리의 다른 글
ch 3. 벨만 방정식 (0) | 2021.05.29 |
---|---|
ch 2-4. 마르코프 결정 프로세스(Markov Decision Process) - Prediction과 Control (0) | 2021.05.26 |
ch 2-3 마르코프 결정 프로세스(Markov Decision Process)-MDP (0) | 2021.05.25 |
ch2-1. 마르코프 결정 프로세스(Markov Decision Process-MDP)-마르코프 프로세스 (0) | 2021.05.22 |
ch 1. 강화학습이란 (0) | 2021.05.19 |