[강화학습]

[강화학습] 큐함수 - 행동 가치함수

딥러닝 도전기 2021. 8. 19. 16:48

[강화학습] 큐함수 - 행동 가치함수

이전 포스팅에서 정책과 가치함수에 대해 다루었습니다. 여기에서 다루었던 가치함수의 수식은 

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

로 어떤 상태가 주어질때 보상의 기댓값 즉 상태에 대한 가치함수입니다. 따라서 상태 가치함수라고 불립니다.

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

 

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

이전 포스팅에서 MDP를 구성하는 상태, 행동, 보상함수, 상태 변환 확률, 할인율에 대해 알아보았습니다. https://deep-learning-challenge.tistory.com/46 [강화학습] 강화학습 기본 개념 정리 강화학습의 기본

deep-learning-challenge.tistory.com

에이전트가 어떤 행동을 하느냐에 따라서 받을 보상이 달라집니다. 

상태 가치함수가 상태에 대한 가치를 알려주는 함수인 것처럼 행동 가치함수는 각 행동에 대한 가치를 알려주는 함수입니다.

이번 포스팅에서는 큐함수라고 불리는 행동 가치함수에 대해 알아보겠습니다. (큐함수 = 행동 가치함수)


큐함수는 특정 상태에서 어떤 행동(가령 행동 1, 행동 2)을 할 때 가치함수를 따로 계산할 수 있습니다.

따라서 큐함수를 구성하는 변수는 특정 상태$s$와 행동$a$를 변수로 가지며 $q_\pi(s,a)$로 나타냅니다.

 

상태 가치함수와 큐함수(행동 가치함수)의 관계는 다음과 같습니다.

$$\mathbf{v}_\pi(s) = \sum\limits_{a \in A} \mathbf{\pi}(a|s)q_\pi(s,a)$$

 

1. 각 행동을 했을 때 앞으로 받을 보상인 큐함수 $q_\pi(s,a)$를 $\pi(a|s)$에 곱합니다.

($\pi(a|s) = P[\mathbf{A}_t = a|\mathbf{S}_t = s]$, 이전 포스팅 참고)

 

2. 모든 행동에 대해 $q_\pi(s,a)q_\pi(a|s)$ 를 더하면 상태 가치함수가 됩니다.

 

특정 상태에서 가능한 모든 행동에 대한 확률과 그 행동의 가치를 곱하면 그 상태의 가치가 되는 것을 생각하시면 될 것 같습니다.

 

이전 포스팅에서 소개했던 벨만 기대 방정식은 다음과 같습니다.

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

("기대 방정식"이라고 하는 이유는 식에 기댓값의 개념이 포함되어있기 때문입니다. )

 

가치함수는 어떤 상태의 가치를 나타냅니다. 어떤 상태의 가치함수는 에이전트가 그 상태로 갈 경우에 앞으로 받을 보상에 대한 기댓값입니다.

 

행동 가치함수는 특정 상태에 대해서 어떤 행동의 가치를 나타냅니다. 어떤 행동의 가치함수는 에이전트가 그 행동을 할 경우 앞으로 받을 보상에 대한 기댓값입니다.

 

큐함수(행동 가치함수)의 벨만 기대 방정식은 위의 벨만 기대 방정식에 "행동"이 추가되며 식은 다음과 같습니다.

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

 

 

반응형