이 글은 Deep RL Course를 학습하고 정리한 글입니다.
벨만 방정식 (Bellman Equation)
벨만 방정식은 상태 가치(state value) 또는 상태-행동 가치(state-action value)를 효율적으로 계산하는 방법입니다.
어떤 상태의 가치 $V(S_t)$를 계산하려면 에이전트가 해당 상태에서 시작해 주어진 정책을 영원히 따를 때의 기대 보상의 합을 계산해야 합니다.
아래의 예제에서는 탐욕 정책을 사용하며 보상을 할인하지 않는 상황($\gamma = 1$)을 가정합니다. 각 단계에서의 즉각적인 보상은 -1입니다.
상태 1의 가치 $V(S_t)$를 계산하기 위해서는 해당 상태에서 시작해 탐욕 정책을 따랐을 때 얻을 보상의 합을 계산해야 합니다.
마찬가지로 상태 2의 가치 $V(S_t)$를 계산하기 위해서는 해당 상태에서 시작해 탐욕 정책을 따랐을 때 얻을 보상의 합을 계산해야 합니다.
모든 상태와 상태-행동 쌍에 대해 이러한 계산을 반복하면 계산량이 기하급수적으로 증가하고 비효율적입니다. 특히 동일한 상태에 대한 계산을 여러 번 반복하는 비효율이 발생합니다.
벨만 방정식(Bellman Equation)은 이러한 비효율성을 해결하기 위한 재귀적인 접근 방식입니다. 동적 프로그래밍(Dynamic Programming)의 개념과 유사하며 상태 가치 $V_{\pi}(s)$를 다음과 같이 표현합니다.
이 방식은 상태 가치 $V_{\pi}(s)$를 현재 보상 $R_{t+1}$과 다음 상태의 가치 $V_{\pi}(S_{t+1})$로 표현함으로써 모든 상태에 대한 반환을 처음부터 다시 계산할 필요를 없앱니다.
위에서 봤던 예시를 벨만 방정식을 사용해 상태 가치를 아래의 그림과 같이 간단하게 표현할 수 있습니다.
할인율 $\gamma$
$\gamma$는 미래 보상의 중요도를 결정합니다.
$\gamma = 1$이면 미래 보상이 현재 보상과 동일한 비중으로 반영됩니다. 따라서 모든 미래 상태의 가치가 현재 가치에 영향을 미칩니다. $\gamma = 0$이면 미래 상태의 가치는 무시되어 즉각적인 보상만 고려합니다.
$\gamma$가 작을수록 미래 보상의 중요도가 감소하여 단기적인 결과에 더 집중하게 됩니다. $\gamma$가 1보다 큰 값이면 미래 보상이 과도하게 강조되며 이는 정책 최적화 과정에서 불안정성을 초래할 수 있습니다.
'강화학습' 카테고리의 다른 글
[Deep RL Course] Q-Learning (0) | 2025.01.07 |
---|---|
[Deep RL Course] 몬테카를로 vs 시간차 학습 (0) | 2025.01.06 |
[Deep RL Course] 가치 기반 강화학습 (0) | 2025.01.03 |
[Deep RL Course] Huggy 훈련하기 (1) | 2025.01.03 |
[Deep RL Course] Huggy 작동 방식 (1) | 2024.12.31 |