Markov Decision Process (MDP)
마르코프 의사결정 프로세스(MDP)의 기본 원리를 살펴봅니다. MDP가 강화 학습을 구동하는 방식과 Ultralytics YOLO26이 실시간 상태 데이터를 제공하는 방법을 알아봅니다.
마르코프 결정 과정 (MDP)은 결과가 부분적으로 무작위적이고 부분적으로 의사결정자의 통제하에 있는 상황에서 의사결정을 모델링하는 데 사용되는 수학적 프레임워크입니다. 이는 강화 학습 (RL)의 기본 청사진으로, AI 에이전트가 특정 목표를 달성하기 위해 환경과 상호작용하는 구조화된 방법을 제공합니다. 정적인 라벨링 데이터셋에 의존하는 일반적인 지도 학습과 달리, MDP는 현재의 행동이 미래의 가능성에 영향을 미치는 순차적 의사결정에 중점을 둡니다.
MDP의 핵심 구성 요소#
MDP의 작동 방식을 이해하려면 에이전트와 환경 간 상호작용의 순환 과정으로 시각화하는 것이 도움이 됩니다. 이 순환 과정은 다음 다섯 가지 핵심 구성 요소로 정의됩니다.
- 상태: 환경의 현재 상황 또는 구성입니다. 자율주행 차량에서는 차량의 속도, 위치, 컴퓨터 비전 (CV) 센서로 감지한 주변 장애물이 상태에 포함될 수 있습니다.
- 행동: 에이전트가 선택할 수 있는 모든 가능한 이동 또는 선택의 집합입니다. 이를 행동 공간이라고도 하며, 이산적일 수도 있고(예: 왼쪽으로 이동, 오른쪽으로 이동) 연속적일 수도 있습니다(예: 조향각 조정).
- 상태 전이 확률: 특정 행동을 취한 후 한 상태에서 다른 상태로 이동할 가능성을 정의합니다. 이는 실제 세계의 불확실성과 동역학을 반영하며, MDP를 결정론적 시스템과 구분합니다.
- 보상: 각 행동 후에 받는 수치 신호입니다. 보상 함수는 에이전트의 행동을 유도하므로 중요합니다. 양의 보상은 바람직한 행동을 장려하고, 음의 보상(페널티)은 실수를 억제합니다.
- 할인 계수: 즉각적인 보상과 비교하여 미래 보상의 중요도를 결정하는 값입니다. 에이전트가 단기적인 만족보다 장기적인 계획을 우선시하도록 하며, 전략적 최적화의 핵심 개념입니다.
실제 적용 사례#
MDP는 다양한 첨단 기술의 의사결정 엔진으로 작동하여 시스템이 복잡하고 동적인 환경을 탐색할 수 있도록 합니다.
- 로보틱스 제어: 로보틱스의 AI에서 MDP를 사용하면 기계가 복잡한 운동 기술을 학습할 수 있습니다. 예를 들어 로봇 팔은 MDP를 사용하여 충돌을 피하면서 물체를 집는 최적의 경로를 결정합니다. 상태는 3D 객체 감지에서 도출된 관절 각도와 물체 위치이며, 보상은 성공적인 파지 속도를 기반으로 합니다.
- 재고 관리: 소매업체는 재고 최적화에 MDP를 사용합니다. 여기서 상태는 현재 재고 수준을 나타내고, 행동은 재주문 결정이며, 보상은 이윤 마진에서 보관 비용과 품절 비용을 뺀 값을 기준으로 계산됩니다.
- 의료 치료: 맞춤형 의료에서 MDP는 동적 치료 계획을 수립하는 데 도움이 됩니다. 환자의 건강 지표를 상태로, 의약품을 행동으로 모델링하면 의사는 예측 모델링을 사용하여 환자의 장기적인 건강 결과를 극대화할 수 있습니다.
강화 학습과의 관계#
서로 밀접하게 관련되어 있지만 MDP와 강화 학습을 구분하는 것이 중요합니다. MDP는 형식적 문제 정의로, 환경의 수학적 모델입니다. 강화 학습은 내부 동역학(상태 전이 확률)을 완전히 알 수 없을 때 해당 문제를 해결하는 데 사용되는 방법입니다. Q-learning과 같은 RL 알고리즘은 MDP와 상호작용하며 시행착오를 통해 최적의 정책을 학습합니다.
MDP에서의 시각적 관찰#
최신 AI 애플리케이션에서 MDP의 "상태"는 시각 데이터에서 도출되는 경우가 많습니다. 고속 인식 모델은 시스템의 눈 역할을 하며, 원시 카메라 피드를 MDP가 처리할 수 있는 구조화된 데이터로 변환합니다. 예를 들어 Ultralytics YOLO26은 실시간 객체 좌표를 제공할 수 있으며, 이는 의사결정 에이전트의 상태 입력으로 사용됩니다.
다음 예제에서는 Python을 사용하여 이미지에서 상태 표현(바운딩 박스)을 추출하는 방법을 보여줍니다. 추출한 표현은 이후 MDP 정책에 입력할 수 있습니다.
from ultralytics import YOLO
# Load the YOLO26 model to serve as the perception layer
model = YOLO("yolo26n.pt")
# Perform inference to observe the current 'state' of the environment
results = model("https://ultralytics.com/images/bus.jpg")
# Extract bounding box coordinates to form the state vector
# This structured data tells the agent where objects are located
for box in results[0].boxes:
print(f"State Object: Class {int(box.cls)} at {box.xywh.tolist()}")강력한 비전 모델을 MDP 프레임워크와 통합하면 개발자는 세상을 인식할 뿐만 아니라 그 안에서 지능적이고 적응적인 의사결정도 내리는 시스템을 구축할 수 있습니다. 이러한 시너지는 자율 시스템과 스마트 제조의 발전에 필수적입니다.









