My Blog

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


마르코프 결정 프로세스 MDP의 정의

마르코프 결정 프로세스(Markov Decision Process, MDP)는 순차적인 의사결정 문제를 모델링하기 위한 프레임워크입니다. MDP는 상태, 행동, 보상 함수, 전이 확률, 할인 계수라는 구성 요소를 기반으로 하며, 이러한 요소들을 사용하여 에이전트가 환경과 상호작용하는 방식을 정의합니다. MDP는 강화학습의 기본적인 모델로 사용됩니다. 마르코프 리워드 프로세스(MRP)와의 차이는 액션의 집합 A가 있느냐입니다. 액션의 집합 A가 추가되면서 기존의 전이확률행렬 P나 보상함수 R의 정의도 달라지는데, 정리하면 MDP의 구성요소는 (S, A, P, R, 할인계수) 이렇게 됩니다. MDP의 구성 요소 상태 공간 (State Space): 에이전트가 존재할 수 있는 모든 가능한 상태의 집합입니다. 상태는 에이전트와 환경의 현재 상황을 나타내며, MDP에서는 이 상태가 마르코프 성질을 만족해야 합니다. 행동 공간 (Action Space): 에이전트가 각 상태에서 취할 수 있는 모든 가능한 행동의 집합입니다. 행동은 에이전트가 상태를 변경하고 환경에 영향을 미치는 수단입니다. 행동 공간이 액션의 집합으로 보면 되는데, 에이전트가 취할 수 있는 액션들을 모아놓은 것입니다. 예를들어 운동장에 서 있는 로봇이 할수 있는 행동은 앞으로 걷기, 뒤로 걷기, 바닥에 구르기 등 이렇게 3가지로 정의할 수도 있고 더 추가할 수도 있습니다. 이제 에이전트는 스텝마다 액션의 집합 중 하나를 선택해 액션을 취하게 되고, 그 액션에 따라 다음 환경이 달라집니다. 전이 확률 (Transition Probability): 특정 상태에서 특정 행동을 취했을 때 다른 상태로 전이할 확률을 나타냅니다. 이는 상태 s에서 행동 a를 취했을 때 다음상태 s 프라임으로 이동할 확률을 의미합니다. 여기서 주의할 점은 상태 s에서 액션 A를 선택했을 때 도달하게 되는 다음 상태가 결정론적이 아니라는 것입니다. 같은 상태 s에서 같은 액션 A를 선택해도 매번 다른 상태에 도착할 수 있습니다. 액션 실행 후 도달하는 상태 s프라임에 대한 확률분포가 있고 그게 바로 전이확률행렬 P입니다. 같은 상태에서 같은 액션을 해도 확률적으로 다음 상태가 달라진다는 건, 환경인 MDP를 에이전트가 바꿀 수 없기 때문입니다. 보상 함수 (Reward Function): 에이전트가 특정 상태에서 특정 행동을 취했을 때 받는 보상을 정의합니다. 이 함수는 R(s,a,s프라임)와 같이 표현되며, 상태 s에서 행동 a를 취해 상태 s프라임으로 이동했을 때의 보상을 나타냅니다. 이 또한 확률적으로 매번 바뀔 수 있기 때문에 마찬가지로 기댓값을 이용해 표기합니다. 할인 계수 (Discount Factor): 미래의 보상을 현재 가치로 환산하기 위한 계수로, 일반적으로 감마(γ)로 표시되며 0과 1 사이의 값입니다. 할인 계수는 미래의 보상이 현재보다 얼마나 가치가 있을지를 나타냅니다. MDP의 목적 MDP의 주된 목적은 최적의 정책을 찾는 것입니다. 정책(policy)은 각 상태에서 어떤 행동을 취할 것인지를 정의한 규칙이며, 최적의 정책은 에이전트가 최대의 총보상을 얻을 수 있도록 안내합니다. 에이전트는 MDP의 구성 요소들을 통해 환경과 상호작용하면서 경험을 축적하고, 이를 바탕으로 학습하여 최적의 의사 결정 전략을 개발합니다. 결국 마르코프 결정 프로세스에서 찾고자 하는 것은 각 상태 s에 따라 어떤 액션 a를 선택해야 보상의 합을 최대로 할수 있는가 입니다. 이것을 정책(policy)라고 합니다.

정책(policy)

MDP(Markov Decision Process)에서 정책(Policy)은 에이전트가 각 상태에서 어떤 행동을 선택할지 결정하는 규칙 또는 전략을 의미합니다. 정책은 주어진 상태에 대해 에이전트가 취할 최적의 행동을 지정하는 함수로 정의될 수 있습니다. 정책의 정의 정책은 수학적으로 함수 π로 표현되며, 특정 상태 s에서 어떤 행동 a를 취할 확률을 나타내는 π(a∣s)로 정의됩니다. 이는 상태 s에서 행동 a를 선택할 조건부 확률을 의미합니다. 원주율과는 관련없이 강화학습에서는 정책을 표현할 때 파이를 사용합니다. 정책의 특성 확률적 정책 (Stochastic Policy): 확률적 정책은 상태에 따라 각 행동을 선택할 확률을 제공합니다. 이는 상태 s에서 각 행동 a를 취할 확률이 정의되는 것을 의미합니다. 결정론적 정책 (Deterministic Policy): 결정론적 정책에서는 각 상태에 대해 선택할 하나의 행동이 명확하게 지정됩니다. 즉, 상태 s가 주어졌을 때 항상 같은 행동 a가 선택됩니다. 정책의 목적 MDP에서 정책의 주된 목적은 에이전트가 환경에서 최대의 보상을 얻을 수 있는 행동을 결정하는 것입니다. 최적의 정책은 상태 공간 내에서 에이전트가 취할 수 있는 행동들 중에서 기대 보상을 극대화하는 행동을 선택합니다. 정책은 강화학습에서 에이전트의 행동을 결정하는 중요한 요소입니다. 에이전트는 경험을 통해 학습하면서 더 나은 정책을 개발하게 되며, 이 과정을 통해 강화학습의 목표인 최적의 의사결정 전략을 찾게 됩니다. 정책함수는 또한 환경에 존재하지 않고 에이전트 안에 존재하게 됩니다. 당연하게도 환경은 상태의 집합일 뿐 실질적으로 액션을 취하는 에이전트가 확률적으로 정책함수를 갖게 되어야 할 것입니다.

마르코프 결정 프로세스 MDP에서의 상태가치 함수

마르코프 리워드 프로세스 MRP에서 상태가치함수에 대해 언급했었습니다. 하지만 마르코프 결정 프로세스의 상태가치함수와는 근본적으로 다르므로 앞으로 다룰 상태가치함수는 마르코프 결정 프로세스의 상태가치함수라고 인지하시고 보시면 좋습니다. MRP에서는 에이전트의 액션이 없었지만 MDP에는 액션이 있으므로 상태가치함수가 달라야 합니다. MDP에서 상태가치함수는 정책함수에 의존적이라는 것을 기억하면 좋습니다.

액션가치 함수(Q함수)

액션가치 함수(Action-Value Function), 종종 Q-함수라고도 불리는 것은 강화학습에서 사용되는 중요한 개념입니다. 이 함수는 특정 상태에서 특정 행동을 취했을 때 기대할 수 있는 미래 보상의 총합을 나타냅니다. 액션가치 함수는 에이전트가 어떤 상황에서 어떤 행동을 취할지 결정하는 데 중요한 역할을 합니다. 합산은 미래의 모든 시간 단계에 대한 보상을 현재 가치로 환산하여 더하는 것을 의미합니다. 액션가치 함수는 에이전트에게 각 상태와 행동 쌍에 대한 '가치'를 제공합니다. 이 정보를 통해 에이전트는 어떤 상태에서 어떤 행동이 가장 좋은 결과를 가져올지 판단할 수 있습니다. 즉, 가장 높은 Q값을 갖는 행동을 선택함으로써 최적의 정책을 구현할 수 있습니다. 액션가치 함수는 강화학습에서 특히 Q-러닝이나 DQN(Deep Q-Network)과 같은 알고리즘에서 중요한 역할을 합니다. 이 함수들은 에이전트가 학습 과정에서 어떤 행동이 최적인지를 결정하고, 점차적으로 최적의 정책을 발견해 나가는 데 사용됩니다. Q함수를 구하기 위해서는 상태와 액션이 동시에 인풋으로 들어가야 합니다. 그 인풋이 있을 때 시간 t에서 t+1로 전이할 때 받는 보상에 할인계수 감마값을 곱한 값의 전체를 합산합니다. 그 다음 그 전체에 대한 기대값 E를 구한 것이 Q함수가 됩니다.

실생활에서 MDP 구성할때 필요한 내용

실생활 문제를 마르코프 결정 프로세스(Markov Decision Process, MDP)로 모델링할 때 필요한 주요 구성 요소와 그에 대한 설명은 다음과 같습니다: 1. 상태 공간 (State Space) 정의: 에이전트가 존재할 수 있는 모든 가능한 상태의 집합입니다. 실생활 예시: 자율주행차의 경우 상태 공간은 차량의 위치, 속도, 가속도, 주변 차량의 위치 등의 다양한 요소로 구성될 수 있습니다. 중요성: 모든 가능한 상황을 포괄적으로 표현하여 에이전트가 그 상황을 정확하게 인식할 수 있어야 합니다. 2. 행동 공간 (Action Space) 정의: 에이전트가 취할 수 있는 모든 가능한 행동의 집합입니다. 실생활 예시: 온라인 쇼핑 추천 시스템에서 행동은 사용자에게 제시하는 다양한 상품이나 광고일 수 있습니다. 중요성: 에이전트가 취할 수 있는 모든 옵션을 정의하여 최적의 선택을 할 수 있도록 합니다. 3. 전이 확률 (Transition Probability) 정의: 특정 상태에서 특정 행동을 취했을 때 다른 상태로 이동할 확률을 나타냅니다. 실생활 예시: 의료 진단에서 환자의 상태와 치료 방법을 고려할 때, 다음 상태로의 전이 확률은 치료의 효과를 반영할 수 있습니다. 중요성: 에이전트의 행동이 환경에 미치는 영향을 정량적으로 평가하여 의사 결정에 반영합니다. 4. 보상 함수 (Reward Function) 정의: 에이전트가 특정 상태에서 특정 행동을 취했을 때 받는 보상을 정의합니다. 실생활 예시: 판매 시스템에서는 제품을 성공적으로 판매할 때마다 얻는 이익을 보상으로 설정할 수 있습니다. 중요성: 에이전트가 목표를 달성하기 위해 최적의 행동을 선택하는 데 기준을 제공합니다. 5. 할인 계수 (Discount Factor) 정의: 미래의 보상을 현재 가치로 환산하기 위한 계수입니다. 실생활 예시: 장기 투자에서 먼 미래의 수익을 현재 가치로 환산할 때 사용할 수 있습니다. 중요성: 즉각적인 보상과 장기적인 보상 사이의 균형을 조정하며, 에이전트가 단기적 이득에 치우치지 않고 장기적 목표를 추구하도록 합니다. 실생활에서 MDP를 구성할 때는 이러한 요소들을 정확히 정의하고 모델링하는 것이 중요합니다. 상황에 따라 상태와 행동을 어떻게 정의하고, 전이 확률과 보상 함수를 어떻게 설정할지 결정해야 하며, 이 모든 과정은 목표하는 문제의 본질을 잘 반영해야 합니다. 이러한 구성으로 MDP를 만들고 에이전트를 훈련시킨다면 최적 정책(optimal policy)을 찾는 문제가 있습니다. 최적 정책은 어떤 상황이 되어도 다 이기는 정책이 될 것이고, 임의의 정책 파이에 대해 각 상태의 밸류를 구하고자 하는 것입니다. 최적 정책 파이를 따를 때의 가치 함수를 최적가치함수(optimal value function)이라고 하는데, 실생활에서 MDP의 최적 정책과 최적 가치함수를 찾아내어 MDP를 푸는 것이 목적입니다.

Blog Home Back to Post List