몬테카를로(Monte Carlo, MC) 방법은 상태가치함수를 계산할 때 에피소드가 모두 끝난 이후에야 계산을 시작할 수 있다. 이는 곧 에이전트가 환경 속에서 하나의 경험을 처음부터 끝까지 수행해야만 학습이 가능하다는 뜻이다. 게임으로 비유하자면, 한 판을 다 끝내고 나서야 비로소 처음에 어떤 상태가 얼마나 좋은 상태였는지를 판단할 수 있는 방식이라 하겠다.
이러한 특성은 단순하고 직관적이라는 장점이 있으나, 학습 속도를 느리게 만드는 단점이 있다. 에피소드가 길어질수록 학습에 필요한 시간도 길어지며, 중간 과정에서는 아무런 학습도 이루어지지 않기 때문이다. 특히 종료 조건이 명확하지 않거나 에피소드가 무척 긴 환경에서는 큰 제약이 될 수 있다.
이 문제를 보완하기 위해 등장한 개념이 바로 시간차 학습(Temporal
Difference Learning, TD)이다. 시간차 학습은 에피소드가 끝날 때까지
기다리지 않고, 매 순간의 경험을 바탕으로 바로 상태가치함수를 갱신할 수 있도록 한다. 즉, 현재 상태에서 받은 보상과 다음 상태의 예측된 가치를 바탕으로
현재 상태의 가치를 즉시 업데이트하는 방식이다.
이 방식은 몬테카를로 방법처럼 실제 경험을 바탕으로 학습한다는 점에서 경험 기반이며, 동시에 다이나믹 프로그래밍처럼 다음 상태의 가치를 활용하여 계산한다는 점에서 이론 기반의 특성도 함께 지닌다. 다시 말해, 경험과 이론 사이의 중간 지점에 위치한 효율적인 학습
방식이라 할 수 있다.
정리하자면, 몬테카를로는 전체 경험이 끝난 후에 학습을 시작하는 반면, 시간차 학습은 경험 도중에도 학습을 진행할 수 있는 방법이다. 그렇기
때문에 시간차 학습은 강화학습에서 더 빠르고 유연한 학습을 가능하게 하는 핵심 기법으로 널리 활용된다.
시간차학습 TD
DP와 MC 그리고
TD
이 그림은 강화학습에서 대표적인 세 가지 학습 방식인 다이나믹 프로그래밍(DP), 몬테카를로(MC), 시간차
학습(TD)이 상태의 가치(V)를 어떻게 학습하는지를 시각적으로
비교해 보여주는 구조이다. 각 그림은 상태 S에서 시작하여
여러 보상을 거쳐 최종 상태 F에 이르는 하나의 에피소드 구조를 표현하고 있으며, 굵게 표시된 부분은 그 학습 방식이 실제로 사용하는 정보의 범위를 뜻한다. 각각을
순서대로 살펴보자.
첫 번째, 다이나믹 프로그래밍(DP)
다이나믹 프로그래밍은 상태 S에서 가능한 모든 경로를 전부 고려하여
상태의 가치를 계산하는 방식이다. 그림에서 볼 수 있듯이, S에서
출발해 갈 수 있는 모든 보상 경로(R1, R2, R3)와 최종 상태
F까지의 모든 전이 가능성을 다 알고 있는 전제에서 학습이 이루어진다. 다시 말해, DP는 환경에 대한 모든 정보를 알고 있어야만 작동할 수 있으며, 모든
상태와 행동의 전이 확률을 사용하여 가치를 계산한다. 따라서 이 방식은 이론적으로 매우 강력하지만, 실제 환경에 적용하기에는 비현실적인 경우가 많다.
두 번째, 몬테카를로(MC)
몬테카를로 방법은 DP와 달리 모든 상태를 계산하지 않는다. 대신, 실제로 한 번 경험한 완전한 에피소드만을 사용하여
학습을 수행한다. 그림에서는 상태 S에서 출발하여 R1 → R3 → F로 이어지는 하나의 경험 경로만 굵게 표시되어 있다. 이는 MC가 전체 가능성을 계산하는 것이 아니라, 오직 실제로 에이전트가
지나간 경로에 대해서만 상태의 가치를 업데이트한다는 것을 보여준다. MC는 환경의 모델을 몰라도 되며, 단지 에피소드가 끝나고 나면 그때 얻은 총 보상(Return)을
바탕으로 가치 업데이트를 수행한다.
세 번째, 시간차 학습(TD)
시간차 학습은 몬테카를로 보다 더 빠르고 즉각적인 방식이다. MC는
전체 에피소드가 끝나야만 학습이 가능하지만, TD는 단 한 걸음을 옮겼을 때 바로 학습이 가능하다. 그림에서는 S에서 R1로
이동한 단 한 구간만 굵게 표시되어 있다. 즉, TD는 지금
상태에서 받은 보상과 다음 상태의 추정된 가치만으로 현재 상태의 가치를 업데이트한다. 이처럼 TD는 전체 경로도, 전체 에피소드도 필요 없으며, 한 스텝 단위로 조금씩 학습을 진행해 나간다. 그래서 MC보다 더 빠르게 반응하며, 온라인 학습에 특히 적합하다.
항목 |
DP |
MC |
TD |
환경정보 |
완전한 모델 필요 (전이확률, 보상) |
모델 불필요 (경험 기반) |
모델 불필요 (경험 기반) |
학습시점 |
반복 계산을 통해 동시에 전체 상태 갱신 |
에피소드가 끝난 후 |
매 타임스텝마다 바로 갱신 |
학습단위 |
모든 상태, 행동, 전이 |
에피소드 전체 |
현재 상태와 다음 상태만 |
수렴 속도 |
빠름 (단, 모델 필요) |
느림 (에피소드 종료까지 대기) |
빠름 (즉시 학습 가능) |
계산 및 저장량 |
높음 (전체 상태 계산) |
중간 (에피소드별 반환값 저장) |
낮음 (한 스텝씩 계산) |
실시간 학습 |
불가능 |
불가능 (에피소드 종료 후 학습) |
가능 (온라인 학습에 적합) |
대표특징 |
이론적으로 정확하고 정밀 |
단순하고 직관적이며 모델이 필요 없음 |
빠르고 효율적이며 실시간 반영 가능 |
사용 예시 |
시뮬레이션 환경 이론 연구 |
게임플레이 기록기반 평가 |
로봇 제어, 게임, 실시간
환경 등 |
이론 비교
강화학습에서 에이전트는 주어진 환경 속에서 어떤 상태에 있을 때 어떤 행동을 선택해야 가장 좋은 결과를 얻을
수 있는지를 스스로 학습해 나가게 된다. 이때 중요한 개념 중 하나가 바로 Q함수, 즉 행동가치함수이다. Q함수는 특정 상태에서 특정한 행동을 했을 때 기대할 수 있는 가치를 계산해주는 함수이다. 다시 말해, 지금 내가 이 상태에서 이 행동을 선택한다면 앞으로
얼마나 좋은 결과를 얻게 될지를 수치로 알려주는 기준이 된다.
비슷한 개념으로 상태가치함수도 있다. 상태가치함수는 현재 상태 자체의
가치를 평가하는 함수로, 어떤 정책을 따를 때 해당 상태가 얼마나 유리한지를 나타낸다. 반면 Q함수는 한 걸음 더 들어가서, 그 상태에서 특정 행동을 했을 때 얻을 수 있는 기대 보상을 계산한다는 점에서 차이가 있다. 예를 들어 같은 상태에 있더라도, 행동에 따라 결과가 달라질 수
있기 때문에 Q함수는 더 정교한 가치 평가를 가능하게 해준다.
Q함수(행동가치함수)
Q함수의 계산은 단순히 지금 받을 보상만을 기준으로 하지 않는다. 해당 행동을 했을 때 얻는 즉시 보상과 함께, 그 이후에
도달할 수 있는 다음 상태의 가치까지 함께 고려하여 계산된다. 이때 중요한 점은, 다음 상태가 어떤 상태가 될지는 확률적으로 결정된다는 것이다. 따라서
가능한 모든 상태에 도달할 확률을 고려해 기대 값을 계산해야 한다.
이제 여기서 시간차 학습(TD, Temporal Difference
Learning)을 떠올려보자. TD는 전체 에피소드가 끝날 때까지 기다릴 필요 없이, 한 타임스텝이 끝날 때마다 바로 상태의 가치를 갱신할 수 있는 방법이다. 에이전트는
현재 상태에서 행동을 하고, 다음 상태로 이동하면서 얻은 보상과 그 상태의 예측된 가치를 기반으로 현재
상태의 가치를 조금씩 수정해 나간다. 이 과정을 반복하면서 점점 더 정확한 가치 함수로 수렴하게 된다.
자유 모델(Model Free) 환경에서 정책 제어(Policy Control)
TD 학습은 특히 모델 프리(Model
Free) 환경, 즉 환경의 구조나 상태
전이 확률, 보상 함수 등에 대한 사전 정보가 전혀 없는 상황에서도 사용할 수 있다. 에이전트는 자신이 어떤 행동을 하면 다음에 어떤 상태로 가게 될지 전혀 알지 못하지만, 실제로 해본 경험을 통해 조금씩 배우고 적응해 나간다. 이때 유일하게
알고 있는 것은 현재 상태에서 가능한 행동 목록 뿐이다.
그렇다면 이런 상황에서 에이전트는 어떤 행동을 선택해야 할까? 바로
지금까지의 경험을 통해 가장 좋은 결과를 가져왔던 행동을 선택하면 된다. 이를 위해 활용되는 것이 바로
Q함수이다. 에이전트는 각 상태에서 가능한 모든
행동에 대해 Q값을 계산한 뒤, 그 중에서 가장 Q값이 높은 행동을 선택하도록 정책을 업데이트하게 된다.
이러한 정책 업데이트 과정은 수식으로도 표현할 수 있다. 에이전트는
현재 상태에서 선택 가능한 행동들 중, Q값이 가장 높은 행동을 선택함으로써 정책을 점차 개선해 나간다. 이를 수학적으로 표현하면 π'(s) = argmaxₐ Q(s, a)와 같은 형태가 된다. 즉, 현재 상태 s에서 가능한 모든 행동 a 중에서 Q(s, a)가 가장 큰 행동을 새로운 정책 π'에서 선택하겠다는 뜻이다.
이 방식은 매우 직관적이면서도 강력한 학습 전략이다. 환경에 대한
사전 정보 없이도, 오직 경험만을 통해 학습하고, 그 경험을
바탕으로 점점 더 나은 결정을 내릴 수 있도록 정책을 개선해 나간다. Q함수는 “이 상태에서 이 행동을 하면 얼마나 좋을까?”라는 질문에 수치로
답해주는 도구이고, TD 학습은 그 답을 실제 경험을 바탕으로 조금씩 조정해가며 진짜 답에 가까워지도록
만들어주는 과정이라 할 수 있다.
이처럼 Q값을 기반으로 정책을 수정해 나가는 과정은 강화학습의 핵심
중 하나이며, 실제로 많은 알고리즘에서 매우 중요한 역할을 담당하고 있다.
항목 |
행동가치함수 |
상태가치함수 |
TD (시간차 학습) |
정의 |
상태와 행동을 기준으로 미래 보상의 기대값을 계산 |
상태 자체의 가치를 평가 |
한 스텝씩 이동하며 가치 함수 갱신 |
입력값 |
상태(state)와 행동(action) |
상태(state) |
현재 상태, 보상, 다음 상태의 예측값 |
학습 방식 |
경험을 통해 Q값을 갱신 |
Q값을 통해 간접적으로 갱신 |
보상과 다음 상태의 예측값을 통해 직접 갱신 |
행동가치함수, 상태가치함수, TD 개념 비교