ML

가치 함수(Value Function)란?

minkg3532 2026. 5. 6. 23:48

가치 함수란, 정책의 좋고 나쁨을 수치적으로 측정할 수 있는 함수이다. 

 이런 가치 함수에는 크게 3종류가 있다.

  • 상태 가치 함수
  • 행동 가치 함수
  • advantage 함수

 

상태 가치 함수 (State value function)

한 정책 ((\pi))의 상태 (( s \in S ))에서의 상태 가치 함수는 상태 ((s))에서 정책 ((\pi))를 따랐을 때 받게 되는 return의 기댓값(보상의 총합)이다. 내가 지금 현재 취하고 있는 상태가 얼마나 유리한가를 따지는 것이다.

수식은 아래와 같다.

 

 $V^\pi(s) := \mathbb{E}_\pi [G_t | S_t = s]$ 

한 정책 ((\pi))의 상태 ((s \in S))의 상태 가치 함수 ((V^\pi \ : \ S \rightarrow \ \mathbb{R} ))는 상태 ((s))에서 정책 ((\pi))를 따랐을 때 받게 되는 return의 기댓값($\mathbb{R}$ 실수)으로 정의된다.

 

여기서 해당식을 보면, 시간 ((t))에 상태 ((s))에 주어졌을 때($| S_t = s$), 정책 ((\pi))를 따름으로써(( (\mathbb{E_\pi}) )) 얻게 될 미래 보상의 총합인 반환값 (( (G_t) ))들의 평균(기댓값)이라 할 수 있다. 

 

다른 식에서의 해석은, $V^\pi$ 는 정책 ((\pi))에 대한 가치 함수를 의미한다. 상태 ((s))를 입력으로 받아들여, return의 기댓값의 총합인 것이다. 

 

위의 식에서  기댓값 안에 겉으로 보이는 확률 변수 (random variable)는 ((G_t))하나이다. 하지만 사실 이 ((G_t))안에  많은 확률 변수들이 있다. 

 

$G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \ldots$ 

 

그 많은 확률 변수들의 정체는 바로 Trajectory을 구성하는 모든 요소들이다. 이전 MDP글에서 언급했다시피, 이는 대표적으로 3가지로 나눌 수 있다.

  1. 미래의 행동들 ($A_t, A_{t+1}, A_{t+2}, \dots$),   $A_t \sim \pi(\cdot \mid s)$
  2. 미래의 다음 상태들 ($S_{t+1}, S_{t+2}, S_{t+3}, \dots$),   $S_{t+1} \sim p(\cdot \mid s, A_t)$
  3. 미래의 보상들 ($R_{t+1}, R_{t+2}, R_{t+3}, \dots$),  $A_{t+1} \sim \pi(\cdot \mid S_{t+1})$,  $S_{t+2} \sim p(\cdot\ | S_{t+1}, A_{t+1})$

종합해 정리해 보면, 에이전트는 특정 상태에서 딱 정해진 행동만 하는 것이 아니라, 정책 $\pi$라는 확률 분포에 따라 주사위를 굴려 행동을 선택한다. 이는 에이전트의 정책 $\pi(a|s)$에서 이런 행동들이 결정되는 것이다.

에이전트가 행동을 결정했다고 해서 끝이 아니다. 환경의 불확실성(외부의 힘과 간섭 등) 때문에 다음 상태가 내 의도와 다르게 결정될 수 있다. 이게 바로 환경의 전이 확률 $p(s'|s,a)$이다.

결국엔, 미래의 보상은 결국 내가 미래에 어떤 상태($S$)에서 어떤 행동($A$)을 할 것인가에 달려 있다. 원인인 $S$$A$가 확률 변수이므로, 그 결과물로 튀어나오는 보상 $R$ 역시 꼬리를 물고 당연히 확률 변수가 된다.

 

그러니 각 보상은 $R_{t'}=r(S_{t'}, A_{t'})$으로 정의될 것이고, 위의 식에서 $A_t, S_{t+1}, A_{t+1}, \ldots$ 가 확률 변수로 써 존재한다. $S_t$는 조건부에 의해 $S_t = s$로 결정되었기에 확률 변수는 아니다. 즉 상태 가치 함수 $V^\pi(s)$의 목적은 "특정 상태 $s$에 있을 때의 가치" 를 정의하는 것이기에, $s$라는 상태에서 출발하면 앞으로 얼마나 좋은가?" 를 묻는 함수이기 때문에, 출발점인 $S_t = s$를 조건으로 고정하는 것이다.

 

즉, $d_0$ (초기 상태 분포)에피소드가 시작될 때 어떤 상태(초기 상태 $S_0$를 의미)에서 출발할지의 확률 분포를 의미하기에 완전히 다른 개념이니 햇갈려하지 말자.

 

여기서 확률 변수 (random variable)는 대문자로, 확률 변수의 실현값 (실제로 관측된 고정된 하나의 값 ㅡ realization)은 소문자로 표기하는 관례가 존재하니, 이점을 유의해서 보자 ( $R_t 와, r_t 와 같은 차이$ )

 

정책 $\pi$를 따랐을 때의 기댓값을 의미한다. 

기댓값을 계산하려면 각 확률변수가 어떤 확률 분포를 따르는지 명시해야 하는데, 앞서 언급했던것 처럼 확률 변수를 모두 다 적어줄 수 없기 때문에 $\mathbb{E_\pi}$라고 적어주는 것이다.

 

결론적으로 해당 상태 가치 함수가 다른 정책들의 상태 가치 함수값보다 클 경우에, 더 큰 정책이 더 좋다고 할 수 있다.

 

행동 가치 함수

상태 $s$에서 (정책을 따르지 않고) 행동 $a$를 취했을 때, 정책 $\pi$의 성능을 알려주는 함수를 행동 가치 함수라고 한다.

즉, 상태 가치 함수($V^\pi$)가 "이 상태가 얼마나 좋은가?"를 묻는다면, 행동 가치 함수($Q^\pi$)는 "이 상태에서 이 행동을 하는 것이 얼마나 좋은가?"를 묻는 것이다.

 

상태 가치 함수는 $S_t = s$로 고정시켜 판단했다면,

행동 가치 함수는 

 

$Q^\pi(s, a) = \mathbb{E}_\pi [G_t | S_t = s, \mathbf{A_t = a}]$

 

수식에서 상태 $s$지금 당장 할 행동 $a$까지 강제로 고정시킨다.

 

$Q^\pi(s, a) := \mathbb{E}_\pi [G_t | S_t = s, A_t = a] \quad \forall s \in \mathcal{S}, a \in \mathcal{A}$

 

이 함수(Q-함수) $Q^\pi : \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R}$ 는 상태와 행동의 쌍을 입력으로 받아, 예상되는 반환값의 기댓값인 실수를 출력한다. 

 

상태 가치 함수($V^\pi$)를 분석했을 때와 마찬가지로, $Q^\pi$ 수식 내의 기호들을 확률 변수의 관점에서 엄밀하게 분해할 수 있다.

 

조건부 기호 | 뒤에 오는 $S_t = s$와 $A_t = a$는 시간 $t$에서의 상태와 행동이 이미 구체적인 값 $s$와 $a$로 확정되었음을 의미한다. 따라서 $Q^\pi(s, a)$를 계산하는 시점에서는 $S_t$ $A_t$는 더 이상 확률 변수가 아닌 상수(Constant)로 취급된다.

 

$G_t$ 내부의 확률 변수들과 기댓값 ($\mathbb{E}_\pi$)은 상태 가치 함수의 $G_t$와 비슷하다.

 상태 가치 함수는 상태 $s$에서 정책 $\pi$를 바로 따랐을 때 받게 되는 return의 기댓값이라면, 행동 가치 함수는 상태 $s$에서 정해진 행동 $a$를 취한 후 $\pi$를 따랐을 때 받게 되는 return의 기댓값이 되겠다. 

 

여기서 최적의 행동 가치 함수를 얻고자 한다면, 상태 $s$에서 가장 큰 $Q^\pi(s,a)$를 갖는 행동 $a$를 1의 확률로 선택하게 정책을 수정하는 것이다.

각 상태 $s$에서 $Q^*(s, a)$ 값(최적의 행동 가치 함수)을 가장 크게 만드는 행동 $a$만을 100% 확률로 선택하는 탐욕적(Greedy) 정책을 취하면, 그것이 곧 $\pi^*$(최적의 정책)가

 

$\pi^*(a|s) = \begin{cases} 1 & \text{if } a = \arg\max_{a'} Q^*(s, a') \\ 0 & \text{otherwise} \end{cases}$

 

이론적으로 상태 가치 함수 $V^*(s)$만으로도 최적 행동 $a$을 선택할 수 있지만, 이를 위해서는 환경의 전이 확률 $p(s',r|s,a)$를 에이전트가 완벽히 알고 있어야 한다.

 

$\pi^*(s) = \arg\max_a \sum_{s', r} p(s', r | s, a) \left[ r + \gamma V^*(s') \right]$

 

하지만 실제 문제에서는 환경의 전이 모델 $p$를 알 수 없는 경우가 대부분이다. 이때 행동 가치 함수 $Q(s,a)$를 사용하면 환경의 모델($p$)을 몰라도(Model-Free) 최적 행동을 즉각적으로 결정할 수 있다.

 

$\pi^*(s) = \arg\max_a Q^*(s, a)$

 

어드밴티지 함수 (Advantage function)

어드밴티지 함수(Advantage function)는 행동 가치 함수 $Q^\pi(s, a)$에서 상태 가치 함수 $V^\pi(s)$를 뺀 값으로 정의된다. 보통 $A$ 함수라고 부르며, 수식으로는 다음과 같이 표기한다.

 

$A^\pi(s, a) := Q^\pi(s, a) - V^\pi(s)$

 

$V^\pi(s)$: 상태 $s$에서 정책 $\pi$를 따랐을 때 얻을 수 있는 평균적인 기댓값 (기준점/베이스라인)

$Q^\pi(s, a)$: 상태 $s$에서 특정 행동 $a$를 했을 때 얻을 수 있는 기댓값

 두 가치 함수를 따져봤을 때, 어드밴티지 함수 $A^\pi(s, a)$는 "상태 $s$에서 평균적으로 얻을 수 있는 점수에 비해, 내가 방금 선택한 행동 $a$가 얼마나 더 큰 이점(Advantage)을 가져다주는가?"를 나타낸다. 즉, 절대적인 점수가 아닌 상대적인 평가 지표이다.

 

어드밴티지 함수의 부호에 따라 에이전트가 선택한 행동의 좋고 나쁨을 다음과 같이 명확하게 판단할 수 있다.

  • $A^\pi(s, a) > 0$ (양수): 선택한 행동 $a$가 상태 $s$에서 할 수 있는 평균적인 행동들보다 더 좋은 행동이라는 뜻이다. 학습 과정에서 이 행동을 선택할 확률을 높여야 한다.
  • $A^\pi(s, a) < 0$ (음수): 선택한 행동 $a$가 상태 $s$에서 할 수 있는 평균보다 안 좋은 행동이라는 뜻이다. 학습 과정에서 이 행동을 선택할 확률을 낮춰야 한다.
  • $A^\pi(s, a) = 0$: 선택한 행동 $a$가 딱 평균 수준의 행동이라는 뜻이다.

상태 가치 함수 $V^\pi(s)$는 본래 모든 행동 가치 함수 $Q^\pi(s, a)$들을 정책 $\pi(a|s)$에 따라 가중 평균한 값이다.

 

($V^\pi(s) = \sum_a \pi(a|s) Q^\pi(s, a)$)

 

이러한 관계 때문에, 어떤 상태 $s$에서 정책 $\pi$에 따라 행동을 선택할 때 어드밴티지 함수의 기댓값은 항상 0이 된다. 수학적으로 전개하면 다음과 같다.

 

$ \begin{align*} \mathbb{E}_{a \sim \pi(\cdot|s)} [A^\pi(s, a)] &= \mathbb{E}_{a \sim \pi(\cdot|s)} [Q^\pi(s, a) - V^\pi(s)] \\ &= \mathbb{E}_{a \sim \pi(\cdot|s)} [Q^\pi(s, a)] - V^\pi(s) \\ &= V^\pi(s) - V^\pi(s) \\ &= 0 \end{align*}$

 

이것은 모든 행동들의 이점과 손해를 평균을 내본다면, 결국 기본 상태의 가치(0)으로 수렴한다는 수학적인 성질이다.

 

상태 가치 함수와, 행동 가치 함수의 수학적 관계

상태 가치 함수 $V^\pi(s)$와 행동 가치 함수 $Q^\pi(s, a)$는 서로를 정의하는 데 사용되는 밀접한 순환적인 관계를 가진다.

 

$Q^\pi$를 이용한 $V^\pi$의 도출

특정 상태 $s$의 상태 가치($V^\pi(s)$)는, 그 상태에서 선택 가능한 모든 행동 가치($Q^\pi(s, a)$)들을 정책 확률에 따라 가중 평균한 기댓값과 같다.

 

$V^\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) Q^\pi(s, a)$

 

$V^\pi$를 이용한 $Q^\pi$의 도출

반대로, 상태 $s$에서 행동 $a$를 취했을 때의 가치($Q^\pi(s,a)$)는 즉각적으로 받을 보상($R_{t+1}$)과, 환경의 물리 법칙에 의해 이동하게 될 다음 상태의 가치($V^\pi(S_{t+1})$)의 합으로 계산할 수 있다.

이를 전이 확률 $p(s', r | s, a)$를 이용하여 전개하면 다음과 같다.

 

$ Q^\pi(s, a) = \sum_{s', r} p(s', r | s, a) \left[ r + \gamma V^\pi(s') \right]$

 

 

 

 

 

'ML' 카테고리의 다른 글

벨만 방정식(Bellman Equation)이란?  (0) 2026.05.08
정책(policy)이란?  (0) 2026.05.06
Markov Decision Process(마르코프 결정 과정) 이란?  (0) 2026.05.06