챕터별 상세
00:00
MDP의 개념과 검색 문제와의 차이점
지난 시간 다룬 검색 문제는 행동의 결과가 결정론적이었으나, 현실 세계는 확률적 불확실성이 존재한다. 마르코프 결정 과정(MDP)은 이러한 불확실성을 모델링하기 위해 도입되었다. 마르코프 성질은 현재 상태가 주어졌을 때 과거와 미래가 독립적이라는 가정을 바탕으로 한다. 이는 복잡한 과거 이력을 모두 기억할 필요 없이 현재 상태 정보만으로 최적의 행동을 결정할 수 있게 해준다.
10:29
MDP의 수학적 정의와 구성 요소
MDP는 상태(States), 행동(Actions), 보상(Rewards), 전이 확률(Transitions), 할인 계수(Discount Factor)로 정의된다. 전이 확률 T(s, a, s')는 상태 s에서 행동 a를 취했을 때 다음 상태 s'에 도달할 확률을 의미한다. 보상은 검색 문제의 비용(Cost)에 대응하며, 에이전트가 얻는 이득을 최대화하는 방향으로 설계된다. 할인 계수 gamma는 미래 보상의 현재 가치를 조절하여 에이전트의 근시안적 또는 원시안적 성향을 결정한다.
python
class FlakyTramMDP(MDP):
def __init__(self, num_locs=10, failure_prob=0.4):
self.num_locs = num_locs
self.failure_prob = failure_prob
def successors(self, state):
# Walk action
if state + 1 <= self.num_locs:
results.append(Step(action='walk', prob=1, reward=-1, state=state + 1))
# Tram action with failure probability
if 2 * state <= self.num_locs:
results.append(Step(action='tram', prob=1 - self.failure_prob, reward=-2, state=2 * state))
results.append(Step(action='tram', prob=self.failure_prob, reward=-2, state=state))
return results불확실성이 존재하는 트램 이동 문제를 MDP로 모델링한 클래스 예시
17:49
정책(Policy)과 롤아웃(Rollout) 평가
MDP의 해답은 행동의 시퀀스가 아니라 정책(Policy)이다. 정책은 모든 가능한 상태에 대해 에이전트가 취해야 할 행동을 지정하는 함수이다. 특정 정책의 성능을 평가하기 위해 롤아웃(Rollout) 시뮬레이션을 수행한다. 롤아웃은 정책을 따라 환경과 상호작용하며 얻은 보상들의 합인 유틸리티(Utility)를 계산하는 과정이다. 확률적 환경이므로 여러 번의 롤아웃을 통해 얻은 유틸리티의 평균값이 해당 정책의 가치가 된다.
31:09
벨만 방정식을 이용한 정책 평가
시뮬레이션 대신 수학적 재귀 관계를 이용해 정책을 평가하는 방법이 정책 평가(Policy Evaluation)이다. 벨만 방정식은 현재 상태의 가치를 현재 보상과 다음 상태 가치의 기대값의 합으로 정의한다. Q-Value는 특정 상태에서 특정 행동을 취했을 때의 가치를 나타내며, 상태 가치 V(s)는 해당 상태에서 정책이 지정한 행동의 Q-Value와 같다. 이 과정을 반복적으로 수행하면 각 상태의 정확한 기대 가치로 수렴하게 된다.
42:30
가치 반복(Value Iteration)과 최적 정책
가치 반복은 특정 정책을 평가하는 것을 넘어 최적의 정책을 직접 찾아내는 알고리즘이다. 정책 평가와 달리, 가치 업데이트 시 현재 정책의 행동을 따르는 것이 아니라 가능한 모든 행동 중 최대 가치를 주는 행동을 선택(Max over actions)한다. 벨만 최적 방정식(Bellman Optimality Equation)을 반복 적용하면 모든 상태에서 최적의 가치 V*(s)에 도달한다. 최종적으로 각 상태에서 가치를 최대화하는 행동을 선택하면 그것이 최적 정책 pi*(s)가 된다.
python
def compute_q_value(successors, discount, values):
q_val = 0
for step in successors:
# Q(s, a) = sum(T(s, a, s') * [R(s, a, s') + gamma * V(s')])
q_val += step.prob * (step.reward + discount * values[step.state])
return q_val전이 확률과 보상을 바탕으로 특정 상태-행동 쌍의 Q-가치를 계산하는 함수
python
for iter in range(max_iters):
new_values = {}
for state in states:
if mdp.is_end(state):
new_values[state] = 0
continue
# Policy Evaluation: V(s) = Q(s, pi(s))
action = policy(state)
successors = mdp.successors(state, action)
new_values[state] = compute_q_value(successors, mdp.discount(), values)
# Check for convergence
if compute_distance(values, new_values) < tolerance:
break
values = new_values반복적 계산을 통해 주어진 정책의 가치를 평가하는 Policy Evaluation 알고리즘
용어 해설
- 마르코프 성질(Markov Property)
- — 과거의 상태와 무관하게 현재의 상태만이 미래의 상태에 영향을 미친다는 성질이다. 이 성질 덕분에 복잡한 과거 이력을 고려하지 않고 현재 상태 정보만으로 최적의 의사결정을 내릴 수 있는 수학적 모델링이 가능해진다.
- 정책(Policy)
- — 에이전트가 특정 상태에서 어떤 행동을 취할지를 결정하는 매핑 함수이다. 결정론적 환경에서의 경로 찾기와 달리, 불확실성이 존재하는 MDP에서는 모든 가능한 상태에 대한 행동 지침인 정책을 수립하는 것이 핵심이다.
- 할인 계수(Discount Factor)
- — 미래에 얻을 보상을 현재 가치로 환산하기 위해 곱해주는 0과 1 사이의 값이다. 에이전트가 당장의 보상을 중시할지, 아니면 먼 미래의 보상까지 고려할지를 결정하는 파라미터로 작용한다.
- Q-가치(Q-Value)
- — 특정 상태에서 특정 행동을 취했을 때 얻을 수 있는 기대 보상의 합이다. 상태 가치 함수가 상태 자체의 좋음을 나타낸다면, Q-가치는 그 상태에서 어떤 행동을 하는 것이 얼마나 좋은지를 수치화한다.
- 부트스트래핑(Bootstrapping)
- — 현재의 가치 추정치를 업데이트하기 위해 다른 상태의 가치 추정치를 사용하는 기법이다. 전체 에피소드가 끝날 때까지 기다리지 않고 한 단계의 결과와 다음 상태의 추정치만으로 학습을 진행할 수 있게 한다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 10.수집 2026. 03. 10.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

