[강화학습] 마르코프 결정 과정(MDP)
마르코프 결정 과정(MDP)에 관하여
마르코프 결정 과정(Markov Decision Process, MDP)은 의사 결정을 모델링하기 위한 수학적 프레임워크입니다. 강화학습 분야에서 MDP는 에이전트가 환경과 상호작용하며 학습하는 프로세스를 설명하는 데 매우 중요한 역할을 합니다. 이 포스트에서는 MDP의 기본 개념 및 구성 요소, MDP를 해결하기 위한 방법, 그리고 MDP의 확장에 대해 설명하겠습니다.
마르코프 결정 과정이란?
마르코프 결정 과정의 정의 및 강화학습에서의 중요성
MDP는 결과가 부분적으로 무작위적이고 부분적으로 결정론적인 의사 결정 상황을 모델링합니다. 강화학습에서 MDP는 에이전트가 탐색해야 할 환경을 수학적으로 표현하며, 이를 통해 에이전트는 시행착오를 통해 최적의 행동 전략, 즉 정책(policy)을 학습하게 됩니다.
MDP의 기본 구성 요소
- 상태(State): 에이전트가 인식할 수 있는 환경의 각 가능한 상태를 나타냅니다.
- 행동(Action): 에이전트가 각 상태에서 취할 수 있는 행동의 집합입니다.
- 보상(Reward): 특정 상태에서 특정 행동을 취했을 때 에이전트에게 주어지는 피드백입니다.
- 상태 전이 확률(Transition Probability): 에이전트가 현재 상태에서 특정 행동을 취했을 때 다른 상태로 전이될 확률입니다.
- 할인율(Discount Factor): 미래 보상을 현재 가치로 환산할 때 적용하는 요소입니다.
상태(State)와 행동(Action)
상태의 정의와 특성
상태는 에이전트가 현재 환경에 대해 인식하고 있는 모든 정보를 포함합니다. 각 상태는 환경의 특정 순간을 나타내며, MDP에서는 과거의 상태와 행동의 역사가 현재 상태에 모두 반영됩니다.
행동의 역할
행동은 에이전트가 현재 상태에서 취할 수 있는 결정입니다. 각 행동은 환경 상태에 영향을 미칩니다.
상태와 행동간의 관계 이해
에이전트의 행동 선택은 현재 상태에 따라 달라집니다. 즉, 행동은 상태에 기반하며, 선택된 행동은 새로운 상태로의 전이를 야기하고, 이 결과적으로 미래의 보상에 영향을 미칩니다.
보상(Reward) 시스템
보상의 정의
보상은 에이전트가 특정 상태에서 특정 행동을 취했을 때 받는 피드백입니다. 보상은 양수 또는 음수가 될 수 있으며, 에이전트의 목표는 총 보상을 최대화하는 것입니다.
보상의 중요성
보상 시스템은 학습의 방향성과 목표를 제공합니다. 에이전트는 보상을 최대화하는 방향으로 행동을 조정하여 최적의 정책을 학습하게 됩니다.
다양한 보상 구조 설명
보상 구조는 학습 과정과 에이전트의 행동에 큰 영향을 미칩니다. 즉각적인 보상만 고려하는 구조뿐만 아니라, 장기적인 목표를 달성하기 위해 미래의 보상을 고려하는 구조도 중요합니다.
상태 전이 확률(Transition Probability)
상태 전이 확률의 개념
상태 전이 확률은 에이전트가 현재 상태에서 특정 행동을 취했을 때, 다음 상태로 이동할 확률을 의미합니다. 이 확률은 환경의 불확실성을 모델링하는 데 중요한 역할을 합니다.
상태 전이를 모델링하는 방법
상태 전이 확률은 특정 상태와 행동 쌍에 대한 확률 분포로 표현될 수 있습니다. 이는 MDP의 전이 행렬로 표현되기도 합니다.
MDP에서 확률적 요소 다루기
MDP는 확률적 요소를 포함하며, 이를 통해 에이전트는 불확실한 환경에서도 의사결정을 할 수 있습니다. 에이전트는 상태 전이 확률을 기반으로 기대되는 보상을 계산하여 최적의 행동을 선택합니다.
할인율(Discount Factor)
할인율의 정의와 수학적 표현
할인율 는 미래 보상의 현재 가치를 계산할 때 사용되는 요소로, 0과 1 사이의 값입니다. 할인율이 낮으면 에이전트는 즉각적인 보상을 더 중시하게 됩니다.
미래 보상의 현재 가치를 계산하는 방법
미래 보상의 현재 가치는 다음과 같이 계산합니다: , 여기서 은 시간 에서의 보상입니다.
할인율이 강화학습 목표에 미치는 영향
할인율은 에이전트가 미래 보상을 얼마나 중요시하는지를 결정합니다. 할인율이 높으면 장기적인 보상에 더 많은 가치를 두고, 낮을 경우에는 단기적인 보상을 우선시합니다.
MDP 해결 방법
동적 프로그래밍(Dynamic Programming), 몬테 카를로(Monte Carlo) 방법, 시간 차이(Temporal Difference, TD) 학습 등 MDP를 해결하기 위한 기본적인 알고리즘 소개
- 동적 프로그래밍: 벨만 방정식을 풀기 위한 방법으로, 상태 공간을 순차적으로 탐색하며 각 상태에 대한 최적의 가치 함수를 계산합니다.
- 몬테 카를로 방법: 에피소드를 충분히 많이 샘플링하여 각 상태의 가치를 추정합니다. 이 방식은 모델이 필요하지 않은 모델 프리 방식입니다.
- 시간 차이 학습: 경험을 바탕으로 직접 가치 함수를 업데이트하는 방식으로, 가치 함수의 예측과 실제 받은 보상을 비교하여 가치 함수를 조정합니다.
각 방법의 기본 원리와 간단한 예시
- 동적 프로그래밍 예시: 가치 반복(Value Iteration)과 정책 반복(Policy Iteration)은 MDP를 해결하기 위한 전형적인 동적 프로그래밍 알고리즘입니다.
- 몬테 카를로 예시: 각 에피소드를 통해 실행된 행동의 결과로부터 직접 가치를 추정합니다.
- 시간 차이 학습 예시: Q-러닝과 SARSA는 TD 학습의 대표적인 예입니다.
MDP의 확장
부분 관측 마르코프 결정 과정(POMDP) 소개와 차이점
POMDP는 에이전트가 환경의 상태를 완벽하게 관찰할 수 없는 경우를 다룹니다. POMDP에서는 상태 대신 관찰이라는 개념이 도입되며, 에이전트는 관찰과 내부 상태를 사용하여 결정을 내립니다.
연속 공간에서의 MDP 처리 방법
연속 공간에서 MDP를 다룰 때는 상태 공간과 행동 공간이 연속적입니다. 이러한 경우에는 함수 근사 방법(Function Approximation)등을 사용하여 가치 함수나 정책을 근사할 수 있습니다. DDPG(Deep Deterministic Policy Gradient)나 A3C(Asynchronous Advantage Actor-Critic) 같은 알고리즘이 연속 공간에서의 대표적인 강화학습 방법입니다.