[강화학습]

[강화학습] 정책, 가치함수, 벨만 기대 방정식

딥러닝 도전기 2021. 8. 17. 01:53

[강화학습] 정책, 가치함수, 벨만 기대 방정식

이전 포스팅에서 MDP를 구성하는 상태, 행동, 보상함수, 상태 변환 확률, 할인율에 대해 알아보았습니다.

[강화학습] 강화학습 기본 개념 정리

 

[강화학습] 강화학습 기본 개념 정리

강화학습의 기본 개념인 MDP, state, action, reward, policy 등과 벨만방정식에 대하여 알아보겠습니다. MDP (Markov Decision Process) 강화학습에서는 사용자가 문제를 직접 정의해야 합니다. 문제를 잘못 정의

deep-learning-challenge.tistory.com

이번 포스팅에서는 정책과 가치함수에 대해 알아보겠습니다.


  • 정책

정책이란 모든 상태에서 에이전트가 할 행동을 의미합니다.

입력으로 상태$\mathbf{S}$가 들어오면 행동$A$가 출력되는 함수라고 생각하겠습니다.

정책은 단 하나만의 행동을 나타낼 수도 있고, 확률로 $a_1 = 10\%, a_2 = 90\%$와 같이 나타낼 수도 있습니다.

 

강화학습은 수많은 정책 중 최적 정책을 찾는 과정입니다. 최적 정책은 각 상태에서 최적인 단 하나만의 행동을 선택합니다. 하지만 학습시에는 여러 개의 행동을 확률적으로 선택하여 다양한 상황에 대한 최적 정책을 찾아내야합니다.

 

정책을 수식으로 나타내면 다음과 같습니다. $$\pi(a|s) = P[\mathbf{A}_t = a| \mathbf{S}_t = s]$$

 

위의 식을 해석해보면$\pi(a|s)$는 시간$t$에서 상태 $\mathbf{S}_t = s$일 때, 가능한 행동 중 $a$를 선택할 확률을 나타냅니다.

 

  • 가치함수

가치함수는 앞으로 받을 보상의 기대값을 의미합니다.

이전 포스팅의 할인율 부분에서 현재의 보상과 미래의 보상의 가치에 대해 이야기했었습니다.

가치함수에서 앞으로 받을 보상을 계산하는 데에 현재의 보상과 미래의 보상의 가치가 다르기 때문에 할인율을 적용합니다.

(할인율$\gamma \in [0,1]$)

 

할인율을 적용하여 미래에 받을 보상의 합을 계산하면 다음과 같습니다.$$R_{t+1}+\gamma R_{t+2} + \gamma^2 R_{t+3} +\cdots $$

 

위의 식을 반환값(return)이라고 하며 $G_t$로 정의합니다.

$$G_t = R_{t+1}+\gamma R_{t+2} + \gamma^2 R_{t+3} +\cdots$$

 

가치함수는 이 앞으로 받을 보상의 기대값이므로 반환값의 기대값이 되고 수식으로 나타내면 다음과 같습니다.

$$\mathbf{v}(s) = E[G_t|\mathbf{S}_t = s]$$

 

말로 풀어서 얘기해보면 "가치함수는 각 상태$s$에서 앞으로 받을 보상의 기대값"을 의미합니다.

 

위의 가치함수에서 반환값 부분을 풀어서 쓰면 다음과 같습니다.

$$\mathbf{v}(s) = E[R_{t+1}+\gamma R_{t+2} + \gamma^2 R_{t+3} +\cdots|\mathbf{S}_t = s]$$

 

위 식을 재귀적인 성질을 이용하면 다음과 같이 나타낼 수 있습니다.

$$\mathbf{v}(s) = E[R_{t+1}+\gamma \mathbf{v}(\mathbf{S}_{t+1}) |\mathbf{S}_t = s]$$

 

가치함수는 정책에 의존하기 때문에 위의 식에 정책을 표기해주겠습니다.

$$\mathbf{v}_{\pi}(s) = E_{\pi}[R_{t+1}+\gamma \mathbf{v}_{\pi}(\mathbf{S}_{t+1}) |\mathbf{S}_t = s]$$

 

이 정책을 표기한 가치함수를 벨만 기대 방정식이라고 합니다.

벨만 기대 방정식은 현재 상태의 가치함수 $\mathbf{v}_{\pi}(s)$와 다음 상태의 가치함수 $\mathbf{v}_{\pi}(\mathbf{S}_{t+1})$의 관계를 나타냅니다.

반응형