Hidden Markov Model (HMM)
Esplora gli Hidden Markov Model (HMM) per l'IA statistica. Impara come gli HMM funzionano con Ultralytics YOLO26 per il riconoscimento delle azioni, l'analisi delle sequenze e la logica temporale.
Un Hidden Markov Model (HMM) è un framework statistico utilizzato per modellare sistemi in cui il processo interno non è direttamente visibile — da qui "nascosto" — ma può essere dedotto attraverso una sequenza di eventi osservabili. Sebbene il moderno deep learning si sia evoluto per gestire sequenze complesse, l'HMM rimane un concetto fondamentale nell'statistical AI e nella teoria della probabilità. È particolarmente efficace per l'analisi dei dati di time-series analysis in cui l'ordine degli eventi fornisce un contesto cruciale, basandosi sul principio fondamentale secondo cui la probabilità di uno stato futuro dipende esclusivamente dallo stato corrente, e non dalla storia che lo ha preceduto.
Meccanismi centrali degli HMM#
Per capire come funziona un HMM, è essenziale distinguere tra i due livelli distinti del modello: gli stati invisibili e gli output visibili. Il modello assume che il sistema transiti tra stati nascosti secondo probabilità specifiche, emettendo un'osservazione a ogni passo.
Un HMM è definito da un insieme di parametri che regolano queste transizioni ed emissioni:
- Hidden States: Rappresentano la realtà sottostante del sistema in un dato momento. In un modello vocale, uno stato nascosto potrebbe rappresentare un fonema o una parola specifici.
- Observable Events: Sono i punti dati effettivamente raccolti da sensori o input. Nell'esempio vocale, l'osservazione sarebbe la forma d'onda audio o i dati dello spettrogramma.
- Transition Probabilities: Questa matrice descrive la probabilità di passare da uno stato nascosto a un altro. Ad esempio, la probabilità che il tempo cambi da "Piovoso" a "Soleggiato".
- Emission Probabilities: Definiscono la probabilità di vedere un'osservazione specifica dato uno stato nascosto corrente.
- Initial Probabilities: La distribuzione che determina lo stato in cui il sistema ha maggiori probabilità di iniziare.
L'addestramento di un HMM generalmente implica il Baum-Welch algorithm per stimare questi parametri dai training data. Una volta addestrato, il Viterbi algorithm viene comunemente utilizzato per decodificare la sequenza più probabile di stati nascosti da un nuovo set di osservazioni.
HMM vs. altri modelli di sequenza#
Sebbene gli HMM condividano somiglianze con altri strumenti di elaborazione di sequenze, differiscono significativamente in architettura e applicazione:
- HMM vs. Recurrent Neural Networks (RNN): Le RNN e le reti Long Short-Term Memory (LSTM) sono modelli di deep learning in grado di catturare dipendenze a lungo raggio e pattern non lineari, mentre gli HMM sono modelli probabilistici più semplici limitati dall'assunzione di Markov (memoria a breve termine). Tuttavia, gli HMM richiedono molta meno dati e sono di gran lunga più interpretabili.
- HMM vs. Kalman Filter (KF): Entrambi sono utilizzati per la stima dello stato. Tuttavia, i filtri di Kalman sono progettati per stati continui (come il tracciamento della posizione precisa di un'auto in movimento), mentre gli HMM sono usati per stati discreti (come determinare se l'auto è "parcheggiata", "in marcia" o "ferma").
Applicazioni nel mondo reale#
Nonostante l'ascesa del deep learning (DL), gli Hidden Markov Model sono ancora ampiamente utilizzati in scenari che richiedono inferenza probabilistica sulle sequenze.
Riconoscimento vocale e della grafia#
Storicamente, gli HMM sono stati la spina dorsale dei sistemi di speech recognition. In questo contesto, le parole pronunciate sono gli stati "nascosti", e i segnali audio registrati dal microfono sono le osservazioni. Gli HMM aiutano a determinare la sequenza di parole più probabile che ha prodotto il segnale audio. Analogamente, aiutano a decifrare la grafia corsiva modellando la transizione tra i tratti dei caratteri.
Analisi delle sequenze biologiche#
Nel campo della bioinformatics, gli HMM sono cruciali per la previsione dei geni e l'allineamento delle proteine. Analizzano sequenze di DNA o amminoacidi per identificare regioni funzionali, come i geni all'interno di un genoma. Gli stati "nascosti" potrebbero rappresentare regioni codificanti o non codificanti, mentre i singoli nucleotidi (A, C, G, T) fungono da osservazioni.
Riconoscimento delle azioni nella computer vision#
Nella moderna computer vision, gli HMM possono essere combinati con modelli come YOLO26 per eseguire il action recognition. Mentre YOLO rileva oggetti o pose in singoli fotogrammi, un HMM può analizzare la sequenza di queste pose nel tempo per classificare un'azione, come "camminare", "correre" o "cadere".
Integrazione di visione e analisi degli stati#
Per gli sviluppatori che utilizzano la Ultralytics Platform per gestire dataset e modelli, comprendere la logica sequenziale è fondamentale. Un modello di visione fornisce le osservazioni grezze (rilievi), che possono poi essere immesse in un modello a spazio degli stati come un HMM per dedurre il contesto temporale.
Il seguente esempio dimostra come generare una sequenza di osservazioni utilizzando la stima della posa di YOLO26. Questi keypoints possono fungere da input di "eventi osservabili" per un HMM a valle o logica simile per classificare i comportamenti nel tempo.
from ultralytics import YOLO
# Load the YOLO26n-pose model for efficient keypoint detection
model = YOLO("yolo26n-pose.pt")
# Run inference on a video source (the 'observable' sequence)
# stream=True creates a generator for memory efficiency
results = model.predict(source="path/to/video.mp4", stream=True)
# Iterate through frames to extract observations
for result in results:
# Each 'keypoints' object is an observation for a potential HMM
keypoints = result.keypoints.xyn.cpu().numpy()
if keypoints.size > 0:
print(f"Observation (Normalized Keypoints): {keypoints[0][:5]}...")
# In a full pipeline, these points would be fed into an HMM decoderImportanza nell'IA moderna#
Sebbene i transformers e i modelli linguistici di grandi dimensioni (LLM) abbiano superato gli HMM per compiti come il natural language processing (NLP), gli HMM rimangono rilevanti nell'edge computing e negli ambienti a bassa latenza. La loro efficienza computazionale li rende ideali per sistemi con risorse limitate in cui un pesante utilizzo della GPU non è fattibile. Inoltre, poiché si basano su matrici di probabilità trasparenti, offrono una maggiore observability rispetto alla natura di "scatola nera" di molte reti neurali.






