My Blog

강화학습(마르코프 결정 프로세스 MDP) 기본


마르코프 프로세스(MP)

마르코프 프로세스, 또는 마르코프 체인(Markov Chain)은 상태 공간 내에서의 확률적 전이를 기술하는 모델입니다. 이 모델은 다음 두 가지 주요 특성을 가집니다: 상태 공간(State Space): 시스템이 취할 수 있는 모든 가능한 상태의 집합입니다. 전이 확률(Transition Probability): 한 상태에서 다른 상태로 이동할 확률을 나타내며, 이 확률은 오직 현재 상태에만 의존합니다. 이는 마르코프 성질(Markov Property)로, "미래는 현재에만 의존하고 과거와는 독립적"이라는 성질을 말합니다. 예를들어, 마르코프 프로세스는 미래의 상태가 오직 현재의 상태에만 의존하는 시스템의 변화를 모델링합니다. 날씨 변화를 마르코프 프로세스로 모델링할 수 있습니다. 여기서 상태 공간은 {맑음, 흐림, 비, 눈} 같은 날씨 상태들을 포함합니다. 마르코프 프로세스는 오늘 날씨가 맑음일 때 내일 날씨가 흐림, 비, 눈, 맑음 중 하나가 될 확률을 정의합니다. 이 때 중요한 것은 내일의 날씨는 오늘의 날씨에만 의존하고, 어제의 날씨 등 과거 상태에는 의존하지 않는다는 점입니다. 이처럼 그 전의 날씨상태와 구름, 바람, 계절 등의 독립변수를 이용해 다음 일기예보인 종속변수를 맞추는 머신러닝의 지도학습 방법이 있을 수 있지만, 여기서의 예제는 오늘 날씨의 영향이 이미 과거의 날씨 영향을 모두 담고 있기 때문에 오늘의 사례만 보고 다음날의 날씨를 예측한다는 개념입니다. 여기서 상태의 집합 S, 전이확률행렬 P라는 개념이 나옵니다. 전이확률은 현재 상태에서 다음 상태로 갈 확률을 말합니다. 전이확률 (Transition Probability) 전이확률은 마르코프 프로세스나 마르코프 결정 프로세스에서 사용되는 용어로, 어떤 상태에서 다른 상태로 이동할 확률을 의미합니다. 이는 특정 상태에서 시스템이 다음 상태로 전이할 때의 확률적인 행동을 나타냅니다. 예를 들어, 상태 A에서 상태 B로 전이할 확률을 P(B∣A)로 표현할 수 있습니다. 여기서 P(B∣A)는 "상태 A에 있을 때 다음에 상태 B로 이동할 확률"을 나타냅니다. 전이확률은 마르코프 프로세스의 기본 속성인 "미래의 상태는 현재 상태에만 의존하며, 과거의 경로와는 독립적이다"를 반영합니다. 조건부확률 (Conditional Probability) 조건부확률은 어떤 이벤트 B가 발생했을 때 다른 이벤트 A가 발생할 확률을 의미합니다. 수학적으로 조건부확률 P(A∣B)는 "이벤트 B가 발생한 상황에서 이벤트 A가 발생할 확률"로 정의되며, 다음과 같이 계산됩니다: P(A∣B)= P(B)P(A∩B) ​ 여기서 P(A∩B)는 이벤트 A와 B가 동시에 발생할 확률이며, P(B)는 이벤트 B가 발생할 확률입니다. 조건부확률은 통계와 확률론에서 중요한 개념으로, 한 사건의 발생이 다른 사건의 발생 확률에 어떤 영향을 미치는지를 나타냅니다. 이는 불확실성 하에서 의사 결정을 내리거나 예측을 하는 데 기본적인 도구로 사용됩니다. 위에서 전이확률을 전이확률행렬로 표현했습니다. 이 행렬은 모든 가능한 상태에서 각각의 다른 상태로 이동할 확률을 나타내며, 마르코프 프로세스의 동작을 수학적으로 모델링하는 데 사용됩니다. 전이확률행렬의 특성 크기: 전이확률행렬의 크기는 상태 공간의 크기에 따라 결정됩니다. 만약 상태 공간에 n개의 상태가 있다면, 전이확률행렬은 n×n 크기를 갖습니다. 각 원소: 행렬의 i번째 행, j번째 열에 위치한 원소는 상태 i에서 상태 j로 이동할 확률을 나타냅니다. 행의 합: 전이확률행렬의 각 행에 있는 확률값들의 합은 1입니다. 이는 마르코프 프로세스에서 어떤 상태에서 출발하면 반드시 다른 상태 중 하나로 이동해야 한다는 것을 반영합니다. 전이확률행렬은 마르코프 프로세스의 시간에 따른 동작을 분석하고, 장기적인 상태 분포나 정상 상태를 예측하는 데 중요한 역할을 합니다.

마르코프 리워드 프로세스(MRP)

마르코프 리워드 프로세스는 마르코프 프로세스에 리워드 개념이 추가된 형태입니다. 여기서는 각 상태 전이에 따른 보상(또는 비용)이 포함됩니다. 보상 함수(Reward Function): 특정 상태에 도달했을 때 받는 보상(또는 비용)을 정의합니다. 이는 특정 상태나 상태 전이에 따라 다를 수 있습니다. 할인 계수(Discount Factor): 미래의 보상을 현재 가치로 환산할 때 사용하는 계수로, 일반적으로 0과 1 사이의 값으로 설정됩니다. 이는 미래의 보상이 현재의 보상보다 덜 중요하다는 것을 반영합니다. 할인계수는 감쇠인자(감마) 라고도 하는데 쉽게 말하면 미래에 얻을 보상값에 감쇠인자가 여러번 곱해지면 최종적으로 그 값을 작게 만드는 역할을 합니다. 이 역할이 필요한 이유는, 할인계수가 없다면 에이전트가 10회에 걸쳐 목적 달성할 수 있는 일을 100회에 걸쳐 목적을 달성하는 비효율성을 없애기 위함입니다. 빨리 목표에 도달하지 않으면 비효율적으로 움직인 만큼 점수를 깎겠다는 것을 에이전트에게 알려주는 것입니다. 이처럼 시간의 흐름에 따라 여정을 만들게 되고 그 하나의 여정을 에피소드(episode)라고 하고, 리턴을 정의하자면 t시점부터 미래에 받을 감쇠된 보상의 합을 말합니다. 지금은 완전히 이해하지 못하더라도 상관없고 이러한 의미라는 것만 알고 가시면 됩니다. 이러한 시간의 흐름, 그 시간의 흐름에 따른 보상의 합인 리턴을 최대화하도록 하는 것, 즉 보상의 합인 리턴을 최대화하는 것이 강화학습의 목표입니다. 이는 사실 바로 눈앞의 이익을 최대화하는 것이 될 것이고, 근시안적 에이전트를 만들면서 탐욕적(greedy)으로 당장의 눈앞의 이득만 챙기도록 만드는 것입니다. 여기서 감마 값은 1보다 작게 해줌으로써 리턴값이 무한의 값을 가지는 것을 방지할 수 있습니다. 예를 들어, 고객 서비스 센터의 통화 대기 시간을 모델링할 때, 각 상태(대기 시간)에 따른 고객의 만족도 또는 불만족도를 보상으로 할당할 수 있습니다. 여기서는 각 시간(상태)에 대기하면 일정량의 보상(고객 만족도의 감소)이 발생하고, 이러한 보상을 통해 서비스 센터의 효율성을 평가할 수 있습니다.

마르코프 결정 프로세스 (MDP)

마르코프 결정 프로세스는 강화학습의 기본적인 프레임워크로 사용되며, 의사결정을 내릴 때 활용되는 모델입니다. MDP는 마르코프 리워드 프로세스에 행동 공간이 추가된 형태로, 각 상태에서 에이전트가 취할 수 있는 행동을 고려합니다. 행동 공간(Action Space): 에이전트가 취할 수 있는 모든 가능한 행동의 집합입니다. 정책(Policy): 에이전트가 어떤 상태에서 어떤 행동을 취할지 결정하는 규칙 또는 전략입니다. MDP에서는 상태, 행동, 전이 확률, 보상 함수, 할인 계수가 모두 중요한 역할을 하며, 에이전트는 이러한 요소를 통해 최적의 정책을 학습하려고 합니다. 이를 통해 에이전트는 시간이 지남에 따라 최대의 총보상을 얻을 수 있는 방법을 찾을 수 있습니다. MDP는 의사결정을 내릴 때 사용되며, 각 상태에서 어떤 행동을 선택해야 하는지를 모델링합니다. 예를 들어, 자율주행 차량을 생각해 볼 수 있습니다. 여기서 상태는 차량의 현재 위치, 속도 등이 될 수 있고, 행동은 가속, 감속, 좌회전, 우회전 등이 될 수 있습니다. 차량이 어떤 상태에서 특정 행동을 취할 때 마다 보상을 받게 되는데, 예를 들어 안전하게 목적지에 도달하면 높은 보상을, 교통법규를 위반하거나 사고가 발생하면 낮은 보상 또는 패널티를 받게 됩니다. 자율주행 차량의 목표는 이러한 보상을 최대화하는 행동 순서(정책)를 결정하는 것입니다. 각각의 사례에서 마르코프 프로세스, 마르코프 리워드 프로세스, 마르코프 결정 프로세스는 상태의 시퀀스와 이에 따른 결정 및 보상을 모델링하는 데 사용되어, 시스템이 어떻게 동작할지를 이해하고 최적화하는 데 도움을 줍니다. 마르코프 결정 프로세스의 심화과정은 다른 글에서 좀더 자세히 다루도록 하겠습니다.

마르코프한 상태 vs 마르코프하지 않은 상태

마르코프한 상태 (Markovian State) 마르코프한 상태는 마르코프 성질을 만족하는 상태를 말합니다. 이는 미래의 상태가 오직 현재의 상태에만 의존하고, 과거의 상태나 어떤 경로를 통해 현재 상태에 도달했는지는 중요하지 않은 경우를 의미합니다. 예시: 체스 게임 체스 게임의 각 턴은 마르코프한 상태의 예입니다. 체스판의 현재 상태(말들의 위치)만 알면 다음 상태(다음 턴에서의 가능한 말들의 위치)를 결정할 수 있습니다. 과거에 어떤 수를 둬서 여기에 도달했는지는 중요하지 않습니다. 즉, 게임의 진행에 있어서 각 턴의 결정은 오직 현재 체스판의 상태에만 기반을 두고 있습니다. 마르코프하지 않은 상태 (Non-Markovian State) 마르코프하지 않은 상태는 미래의 상태가 현재의 상태 뿐만 아니라 과거의 상태나 경로에도 의존하는 경우입니다. 즉, 현재 상태만으로는 미래의 상태를 완전히 예측할 수 없는 경우를 말합니다. 예시: 포커 게임 포커에서는 플레이어가 과거에 했던 베팅, 상대방의 반응, 플레이어 간의 상호 작용 등 과거의 이벤트가 현재와 미래의 의사 결정에 영향을 줄 수 있습니다. 예를 들어, 한 플레이어가 과거에 공격적으로 베팅을 많이 했다면, 다른 플레이어들은 이를 고려하여 그 플레이어에 대한 전략을 수립할 것입니다. 여기서 현재의 카드 상태만으로는 게임의 전체 상황을 완전히 파악하기 어렵고, 플레이어들의 과거 행동이 현재와 미래의 상태에 중요한 영향을 미칩니다. 이처럼 마르코프한 상태는 현재 정보만으로 미래를 예측할 수 있으며, 마르코프하지 않은 상태는 과거의 정보를 함께 고려해야 미래를 예측할 수 있는 상황을 말합니다.

마르코프하지 않은 상태를 마르코프한 상태로 바꾸기 위한 조건

마르코프하지 않은 상태를 마르코프한 상태로 변환하려면, 미래의 상태가 현재 상태에만 의존하도록 정보를 재구성해야 합니다. 이를 위한 반드시 필요한 조건은 상태의 완전성입니다. 상태가 완전하다는 것은 현재 상태가 과거의 모든 관련 정보를 포함해야 한다는 의미로, 현재 상태만으로 미래의 상태를 예측할 수 있어야 합니다. 상태 확장 (State Augmentation) 마르코프하지 않은 상태를 마르코프한 상태로 만들기 위해 상태를 확장하는 방법을 사용할 수 있습니다. 이는 과거의 정보나 행동을 현재 상태에 포함시키는 것을 말합니다. 예를 들어, 포커 게임에서는 이전 라운드의 베팅 패턴, 플레이어의 행동 등을 현재 상태에 포함시켜, 현재 상태가 이전의 모든 필요한 정보를 포함하도록 만들 수 있습니다. 역사적 정보의 통합 (Integration of Historical Information) 때때로 상태를 마르코프한 상태로 만들기 위해서는 시간에 걸친 역사적 정보의 통합이 필요할 수 있습니다. 이는 상태에 과거의 정보를 시간 순서대로 통합하여, 현재 상태가 미래를 예측하는 데 필요한 모든 정보를 포함하도록 하는 것입니다. 결론적으로, 마르코프하지 않은 상태를 마르코프한 상태로 만들기 위해서는 현재 상태가 미래 상태를 예측하는 데 필요한 모든 정보를 독립적으로 포함해야 하며, 이를 위해 상태 확장이나 역사적 정보의 통합과 같은 기법이 사용될 수 있습니다. 이러한 접근을 통해 상태 공간을 재구성하면 마르코프 성질을 만족시키는 시스템을 설계할 수 있습니다.

Blog Home Back to Post List