Markov Decision Process (MDP)
マルコフ決定過程(MDP)の基礎を探ります。MDP がどのように強化学習を推進し、Ultralytics YOLO26 がどのようにリアルタイムの状態データを提供するかを学びましょう。
マルコフ決定プロセス(MDP)は、結果が部分的にランダムであり、部分的に意思決定者の制御下にある状況において、意思決定をモデル化するために使用される数学的フレームワークです。強化学習(RL)の根本的な設計図であり、AIエージェントが環境と対話して特定の目標を達成するための構造化された方法を提供します。静的なラベル付きデータセットに依存する標準的な教師あり学習とは異なり、MDPは、現在のアクションが将来の可能性に影響を与える逐次的な意思決定に焦点を当てています。
MDP の主要構成要素#
MDP がどのように動作するかを理解するには、エージェントと環境との間の相互作用のサイクルとして視覚化すると役立ちます。このサイクルは、5つの主要な構成要素によって定義されます。
- 状態: 環境の現在の状況または構成。自動運転車において、状態には、車の速度、位置、およびコンピュータビジョン(CV)センサーによって検出された近くの障害物が含まれる場合があります。
- アクション: エージェントが利用可能なすべての可能な動きまたは選択肢のセット。これは行動空間と呼ばれることが多く、離散的(例:左に移動、右に移動)または連続的(例:ステアリング角度の調整)にすることができます。
- 遷移確率 (Transition Probability): 特定の行動をとった後に、ある状態から別の状態へ移行する可能性を定義します。これは現実世界の不確実性とダイナミクスを考慮に入れており、MDP を決定論的なシステムと区別するものです。
- 報酬: 各アクションの後に受け取られる数値信号。報酬関数はエージェントの行動を導くため重要です。正の報酬は望ましい行動を奨励し、負の報酬(ペナルティ)は間違いを抑制します。
- 割引率: 即時的な報酬と比較して、将来の報酬の重要性を決定する値。これにより、エージェントは短期的な満足よりも長期的な計画を優先させることができます。これは戦略的最適化の中心的な概念です。
実社会での応用#
MDP は多くの高度な技術の背後にある意思決定エンジンとして機能し、システムが複雑で動的な環境をナビゲートすることを可能にします。
- ロボット制御: ロボット工学におけるAIにおいて、MDPは機械が複雑な運動スキルを学ぶことを可能にします。例えば、ロボットアームは、衝突を避けながら物体を持ち上げるための最適な経路を決定するためにMDPを使用します。状態は3D物体検出から得られる関節角度と物体の位置であり、報酬は把持に成功した速度に基づいています。
- 在庫管理: 小売業者は在庫最適化のためにMDPを使用します。ここで、状態は現在の在庫レベルを表し、アクションは発注の決定であり、報酬は利益率から保管費用と欠品費用を差し引いたものに基づいて計算されます。
- 医療治療: パーソナライズド医療において、MDPは動的な治療計画の設計を支援します。患者の健康指標を状態として、投薬をアクションとしてモデル化することにより、医師は予測モデリングを使用して患者の長期的な健康成果を最大化できます。
強化学習との関係#
密接に関連しているものの、MDPと強化学習を区別することが重要です。MDPは形式的な問題の記述であり、環境の数学的モデルです。強化学習は、内部のダイナミクス(遷移確率)が完全に分かっていない場合にその問題を解決するために使用される方法です。Q学習などの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フレームワークを統合することにより、開発者は世界を知覚するだけでなく、その中で知的かつ適応的な決定を下すシステムを構築できます。この相乗効果は、自律システムおよびスマート製造の発展に不可欠です。






