마르코프 결정 프로세스(이하 MDP)는 의사결정 과정을 모델링하는 수학적인 틀을 제공하며 아래와 같은 요소로 구성된다.
$$ MDP \equiv (S, A, P, R, \gamma) $$
- S : 상태의 집합
- A : 액션의 집합
- P : 전이 확률 행렬 (상태 $s$에서 $s'$으로 갈 확률을 행렬의 형태로 표현한 것)
- R : 보상 함수
- $\gamma$ : 감쇠인자
$\gamma$는 미래에 얻을 보상에 비해 당장 얻을 보상을 얼마나 더 중요하게 여길 것인가를 나타내는 파라미터이다. (따라서 0~1 사이의 값을 지님.)
위에 정의나, 약어들이 꽤나 어렵게 보일테지만 전혀 어렵지 않다. 아래 예시를 보며 각 변수가 어떻게 동작하는지 간단히 살펴보자.
해당 MDP는 어머니 Agent가 아이를 재우는 목적을 지녔다.
어머니가 선택할 수 있는 액션은 두개로 $a_{0}$와 $a_{1}$ 이다. 아이가 비교적 활발한 상태인 $s_{0}, s_{1}$에서는 자장가를 불러주는 액션을 취하면 음의 보상을 받는다.(아이는 기본적으로 놀고 싶어하는 상태) 반대로 함께 놀아주는 액션을 선택하면 아이의 체력을 방전시키기에 양의 보상을 받는다.
하지만 여기서 아이가 서서히 잠이 오는 상태 $s_{3}$ 에 도달한 상태임에도 불구하고 놀아주는 선택을 하게 되면 음의 보상을 받는다. 눈여겨 볼 부분은 아이가 눈을 감은 상태인 $s_{2}$에서 아이에게 놀아주는 액션을 선택하면 아이의 다음 상태는 $s_{0}$ 가 될 수도 있고, $s_{1}$ 이 될 수도 있다. 이를 전이 확률 수식으로 나타내면 아래와 같다.
$$P_{s2, s0}^{a1} = 0.3, P_{s2,s1}^{a1} = 0.7$$
[$a_1$ 행동을 수행할경우 $s_2$ 에서 $s_0$ 로 전이될 확률] 과 같이 해석
이런식으로 계속 진행하여 S4(잠든상태) 로 진입하면 성공적으로 MDP의 목표를 달성했다고 말할 수 있다.
추가적으로 MDP를 상세하게 평가하기 위해 정책함수(특정 상태에서 특정 액션을 선택할 확률), 상태 가치 함수(정해진 액션을 따라갈 때 가치는?), 액션 가치 함수(Agent 가 선택하는 액션에 따라 달라지는 가치는?)등이 존재한다.
정책 함수(Policy Function)
각 상태에서 어떤 액션을 선택할지 정해주는 함수이다. 해당 함수는 보통 $\pi$기호를 사용해서 표현한다(원주율의 $\pi$ 와는 전혀 무관하다.)
정책 함수를 확률을 이용하여 정의하면 아래와 같다.
$\pi(a|s) = \mathbb{P}[A_{t} = a | S_{t} = s]$
상태 s에서 액션a 를 선택할 확률
위의 MDP 예시에 정책 함수를 적용 해 보자면, $s_{0}$에서 선택할 수 있는 액션은 $a_{0}, a_{1}, a_{2}$ 이렇게 3가지이다. 그리고 이 액션에 관해 각각 얼만큼의 확률을 부여할지를 정책 함수가 결정한다.
$\pi(a_{0}|s_{0}) = 0.2$
$\pi(a_{1}|s_{0}) = 0.5$
$\pi(a_{2}|s_{0}) = 0.3$
각 상태에서 전이 가능한 모든 액션의 확률 값을 더하면 1이 되어야 한다.
이러한 정책 함수는 더 큰 보상($R$)을 얻기 위해 계속해서 정책을 교정해 나가는 것이 곧 강화학습이다.
상태 가치 함수(State Value Function)
상태 가치 함수의 식은 아래와 같다.
$$ \begin{flalign}
v_{\pi}(s) &= \mathbb{E}_{\pi}[r_{t+1} + \gamma r_{t+2} + \gamma^{2} r_{t+3} + \cdots | S_{t} = s ] \\
&= \mathbb{E}_{\pi}[G_{t}|S_{t} = s]
\end{flalign}$$
s부터 끝까지 $\pi$를 따라서 움직일 때 얻는 리턴의 기댓값
상태 가치 함수는 이 정책함수 $\pi$ 를 계속 따라서 움직일 때(정해진 액션) 얻는 리턴의 기댓값을 말한다.
액션 가치 함수(Action Value Function)
액션 가치 함수의 식은 아래와 같다.
$q_{\pi}(s, a) = \mathbb{E}_{\pi}[G_{t}|S_{t} = s, A_{t} = a]$
s에서 a를 선택하고, 그 이후에서는 $\pi$를 따라서 움직일 때 얻는 리턴의 기댓값
액션 가치 함수는 특정 상태에서 특정 액션을 평가하기 위해 사용한다.
결론
결론적으로 우리는 MDP를 통해서 최적의 정책($\pi^{*}$)을 찾는것이 목표이다.
여기서 최적의 정책이란 이 세상의 존재하는 모든 $\pi$중에서 가장 기대 리턴이 큰 $\pi$를 뜻한다. 이를 찾기 위해서 강화 학습을 사용하는 것이다.
또한 최적 정책 $\pi^{*}$ 를 따를 때의 가치 함수를 최적 가치 함수라고 칭하며 $v^{*}$ 로 표기한다. 만약 $\pi^{*}$ 와 $v^{*}$ 를 찾았다면 이 MDP 문제는 완벽히 풀렸다고 정의내릴 수 있다. 결국 우리는 강화 학습을 통해 실생활의 어떤 문제를 MDP 문제로 만들고, 해당하는 MDP의 최적 정책과 최적 가치 함수를 찾아내어 MDP를 푸는것이 목적이다.
'Artificial Intelligence > Basic' 카테고리의 다른 글
GAN이란? (이미지 숫자 생성) (0) | 2023.06.07 |
---|---|
벨만 방정식(Bellman Equation) (0) | 2023.05.29 |
어텐션이란? (0) | 2023.04.14 |
점별 상호정보량(PMI, Pointwise Mutual Information) (0) | 2023.04.04 |
연쇄법칙(Chain Rule) (0) | 2023.03.31 |