가치함수와 벨만 방정식
이전 게시글 말미에서 가치함수에 대해 간단히 설명했다. 가치함수는 미래 보상의 기댓값으로, 어떤 행동을 했을 때 어떤 보상을 받게 될지 예측하는 개념이다. 이 가치함수는 다시 벨만 방정식이라는 개념과 연결되는데, 이는 강화학습이 풀고자 하는 방정식으로, 강화학습의 핵심 중 하나이다.
이번 게시글에서는 이 가치함수와 벨만 방정식에 대해서 알아보겠다.
가치함수
가치함수(Value Function)는 앞으로 받게 될 보상과 관련된 개념이라고 했다. 그런데 어떻게 받지 않은 보상에 대해서 이야기할 수 있을까?
현재 시간 t로부터 에이전트가 행동을 하면서 받을 보상들을 단순히 합한다면 다음과 같이 나타낼 수 있다 (시간 t에서 수행한 행동에 대한 보상은 다음 시간 즉, Rt+1임을 기억하자). 여기서의 R은 모두 정해진 값이 아닌, 확률변수이다. 즉, 특정 확률 분포에 따라 확률적으로 정해지는 값이다.
Rt+1+Rt+2+Rt+3+⋯
이는 주로 유한한 단계 후에 반드시 종료되는 즉, MDP에서 종료 상태(Terminal State)가 존재하는 작업인 Episodic Task(ex - 체스, 미로찾기)에서 사용된다. Episodic Task에서는 에피소드가 끝나면 더 이상 보상이 존재하지 않으며 보상이 특정한 시점까지의 합으로 정의되기 때문에 보상의 값이 유한하다.
할인율과 벨만 방정식
그러나, 종료 시점 없이 무한히 진행되는 Continuing Task에서는 문제가 발생한다. 일단 먼저, t가 무한하므로 보상의 합이 무한해지는 문제가 발생한다. 이로 인해, 매 시점 0.1의 보상을 받는 경우나 1의 보상을 받는 경우나 동일하게 모두 무한한 보상을 받게 되는 문제점이 있다. 또한, 대부분의 문제에서는 먼 미래의 보상보다 가까운 미래의 보상의 중요도가 높은데, 단순 합은 이러한 시간적 차이를 반영하지 못한다.
따라서, 할인율(Discount Factor)이라는 개념이 도입된다. 할인율이란 가치함수에서 보상 앞에 곱해지는 일종의 가중치로, 0 초과 1 미만의 값으로 설정된다. 할인율은 미래의 보상을 현재의 가치로 변환하는 효과를 가진다.
Gt≐Rt+1+γ⋅Rt+2+γ2⋅Rt+3+⋯=∑k=0γkRt+k+1
여기서 G를 반환값(Return)이라고 하며 이는 다시 다음과 같이 recursive하게 정의할 수 있다.
Gt≐Rt+1+γGt+1
반환값이란 에이전트가 실제로 환경을 탐험하며 받은 보상의 합으로, 환경의 확률적 성질로 인해 불확실성을 가질 수 있다. 즉, 각 타임스텝마다 받는 보상이 모두 확률적이므로 반환값 또한 확률 변수이다.
그리고, 이때 에이전트가 특정 상태 s의 가치를 판단하는 기준이 바로 가치함수 vπ(s)이다. 여기서 π는 행동을 어떻게 선택할지를 나타내는 정책이며 MDP로 정의되는 문제에서 가치함수는 항상 정책에 의존하게 된다.
vπ(s)=Eπ[Gt|St=s]=Eπ[Rt+1+γGt+1|St=s]=Eπ[Rt+1+γvπ(St+1)|St=s]
에이전트는 이러한 가치함수를 통해 어떤 상태가 반환값을 가장 크게 만들 수 있을지를 판단한다. 이러한 방정식을 벨만 기대 방정식(Bellman Expectation Equation)이라고 하며 현재 상태의 가치함수 vπ(s)와 다음 상태의 가치함수 vπ(st+1) 사이의 관계를 나타낸다.
이처럼 강화학습은 MDP로부터 정의되는 가치함수와 정책에 의존한 행동 선택을 바탕으로 벨만 방정식을 풀어나가는 과정이다.
'ML&DL > 강화학습' 카테고리의 다른 글
모델 기반 vs 모델 프리 (0) | 2025.03.28 |
---|---|
강화학습의 구성 요소와 구분 (0) | 2025.03.26 |
마르코프 결정 과정 (Markov decision process) 이해하기 (0) | 2025.03.21 |
UCB(Upper Confidence Bound) 알고리즘 이해하기 (0) | 2025.03.20 |
Non-stationary에서의 점진적 Update (0) | 2025.03.19 |
댓글