[강화학습] 큐함수 - 행동 가치함수
이전 포스팅에서 정책과 가치함수에 대해 다루었습니다. 여기에서 다루었던 가치함수의 수식은
$$\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]$$
'[강화학습]' 카테고리의 다른 글
[강화학습] 벨만 방정식, 벨만 최적 방정식 (0) | 2021.08.19 |
---|---|
[강화학습] 정책, 가치함수, 벨만 기대 방정식 (0) | 2021.08.17 |
[강화학습] 강화학습 기본 개념 정리 (0) | 2021.08.17 |
[강화학습] 1. 강화학습이란? (0) | 2021.08.14 |