Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Markov Decision Process (MDP)

  • Detto anche: MDP
  • Categoria: Learning & autonomy › RL & simulation
  • Tag: reinforcement-learning, decision-making, dynamic-programming, probability, robot-learning

Il modello matematico standard del processo decisionale sequenziale: stati, azioni, probabilità di transizione, ricompense e un fattore di sconto, con lo stato successivo che dipende solo dallo stato e dall'azione correnti.

Definizione

Un processo decisionale di Markov (Markov decision process, MDP) descrive un agente che ripetutamente osserva uno stato, sceglie un'azione, riceve una ricompensa e passa a un nuovo stato. Di solito si scrive come una tupla (S, A, P, R, γ), spesso con una distribuzione dello stato iniziale ρ₀: lo spazio degli stati, lo spazio delle azioni, le probabilità di transizione P(s′ | s, a), la funzione di ricompensa R(s, a) e un fattore di sconto γ compreso tra 0 e 1 che pesa le ricompense future rispetto a quelle immediate. L'ipotesi che lo definisce è la proprietà di Markov: la distribuzione dello stato successivo dipende solo dallo stato e dall'azione correnti, non dalla storia che vi ha condotto. Il lavoro di Richard Bellman sulla programmazione dinamica negli anni 1950 ha fondato il quadro teorico.

L'obiettivo in un MDP è una policy, una funzione dagli stati alle azioni (o a distribuzioni sulle azioni), che massimizzi la somma scontata attesa delle ricompense. La funzione di valore V(s) e la funzione di valore azione Q(s, a) danno questo ritorno atteso a partire da uno stato, o da uno stato e un'azione, sotto una policy. Esse soddisfano le equazioni di Bellman, che esprimono il valore di uno stato come la ricompensa immediata più il valore scontato degli stati che seguono. Quando P e R sono note e lo spazio degli stati è piccolo, l'iterazione dei valori e l'iterazione della policy risolvono l'MDP in modo esatto. Quando sono ignote, o gli spazi sono grandi e continui, l'apprendimento per rinforzo stima valori e policy a partire da esperienza campionata.

Gli MDP sono la base formale di quasi tutto l'apprendimento per rinforzo e di gran parte della pianificazione in condizioni di incertezza. Molte varianti rilassano una delle ipotesi: un MDP parzialmente osservabile (POMDP) abbandona l'ipotesi che l'agente veda lo stato vero; gli MDP vincolati aggiungono limiti di costo; i semi-MDP ammettono azioni di durata variabile; ed estensioni multi-agente come i giochi di Markov modellano più decisori. Scegliere che cosa entra nello stato è una decisione ingegneristica: se si tralasciano informazioni importanti come velocità, stato di contatto o intenzione degli altri agenti, il processo non è più markoviano dal punto di vista dell'agente.

Perché è importante

Ogni articolo di apprendimento per rinforzo e la maggior parte dei metodi decisionali in robotica formulano il proprio problema come un MDP o una sua variante. Conoscere le parti della tupla, e su quale ipotesi si basa ciascun metodo, permette di leggere quegli articoli, progettare stati e ricompense per un robot reale e riconoscere quando un problema è in realtà parzialmente osservabile.

Applicazioni principali

  • Formulazione di problemi di apprendimento per rinforzo per manipolazione e locomozione
  • Pianificazione in condizioni di incertezza con iterazione dei valori e iterazione della policy
  • Progettazione delle ricompense e apprendimento per rinforzo inverso, che inferiscono o modellano R
  • Apprendimento per rinforzo basato su modello, che apprende la funzione di transizione P
  • Modellazione dell'interazione con altri agenti tramite giochi di Markov e variabili latenti di intenzione

In pratica

Un gruppo che addestra un braccio robotico a spingere un blocco verso un bersaglio formula il compito come un MDP. Lo stato contiene gli angoli e le velocità dei giunti, la posa del blocco e la posizione del bersaglio; l'azione è una variazione della posizione dell'end effector a ogni passo di controllo; la ricompensa è la distanza negativa tra blocco e bersaglio con un bonus in caso di successo; e γ è impostato vicino a 1 perché il compito si estende su molti passi. Nei primi test la policy si comporta in modo irregolare quando il blocco è in movimento, perché lo stato include la posa del blocco ma non la sua velocità. Aggiungere la velocità del blocco, o impilare le ultime osservazioni, ripristina la proprietà di Markov in modo abbastanza fedele perché un algoritmo standard come SAC o PPO apprenda in modo affidabile.

Idee sbagliate comuni

  • Un MDP richiede stati e azioni discreti — gli spazi degli stati e delle azioni continui sono comuni in robotica, con le somme sostituite da integrali e i metodi tabellari sostituiti dall'approssimazione di funzioni
  • La proprietà di Markov è un fatto del mondo — è una proprietà dello stato scelto; tralasciare velocità o variabili nascoste può rendere un sistema fisico non markoviano dal punto di vista dell'agente
  • Il fattore di sconto riflette solo l'impazienza — limita anche il ritorno nei problemi a orizzonte infinito e influisce sulla varianza e sulla stabilità dell'apprendimento, per cui spesso viene regolato come un iperparametro
  • Risolvere un MDP richiede un modello di P — i metodi di apprendimento per rinforzo trovano buone policy a partire da transizioni campionate senza mai scrivere P

Chi dovrebbe saperlo

  • Professionisti e ricercatori dell'apprendimento per rinforzo
  • Ingegneri di apprendimento robotico che progettano stati, azioni e ricompense
  • Ricercatori di pianificazione e processi decisionali
  • Studenti di robotica che iniziano con l'apprendimento robotico

Tecnologie correlate

  • Equazione di Bellman (Bellman Equation)
  • Iterazione dei valori (Value Iteration)
  • Iterazione della policy (Policy Iteration)
  • Q-Learning
  • Gymnasium
  • Programmazione dinamica (Dynamic Programming)

Termini correlati

  • Reinforcement Learning
  • Partially Observable Markov Decision Process (POMDP)
  • Hamilton-Jacobi-Bellman Equation (HJB)
  • Inverse Reinforcement Learning
  • Offline Reinforcement Learning
  • Proximal Policy Optimization

Progetti correlati

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

Video

  • Markov Decision Processes - Computerphile: Computerphile

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.