Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Modello di Markov nascosto (HMM)

Esplora i modelli Hidden Markov (HMM) per l'intelligenza artificiale statistica. Scopri come funzionano gli HMM con Ultralytics per il riconoscimento delle azioni, l'analisi delle sequenze e la logica temporale.

Un modello di Markov nascosto (HMM) è un quadro statistico utilizzato per modellare sistemi in cui il processo interno non è direttamente visibile, quindi "nascosto", ma può essere dedotto attraverso una sequenza di eventi osservabili. Sebbene il deep learning moderno si sia evoluto per gestire sequenze complesse, l'HMM rimane un concetto fondamentale nell' intelligenza artificiale statistica e nella teoria della probabilità. È particolarmente efficace per l'analisi dei dati di analisi delle serie temporali in cui l'ordine degli eventi fornisce un contesto cruciale, basandosi sul principio fondamentale che la probabilità di uno stato futuro dipende esclusivamente dallo stato attuale, non dalla storia che lo ha preceduto.

Meccanismi fondamentali degli HMM

Per comprendere il funzionamento di un HMM, è essenziale distinguere tra i due livelli distinti del modello: gli stati invisibili e gli output visibili. Il modello presuppone che il sistema passi da uno stato nascosto all'altro in base a probabilità specifiche, emettendo un'osservazione ad ogni passo.

Un HMM è definito da un insieme di parametri che regolano queste transizioni ed emissioni:

  • Stati nascosti: rappresentano la realtà sottostante del sistema in un dato momento. In un modello di discorso, uno stato nascosto potrebbe rappresentare un fonema o una parola specifici.
  • Eventi osservabili: sono i dati effettivamente raccolti dai sensori o dagli input. Nell'esempio del discorso, l'osservazione sarebbe la forma d'onda audio o i dati dello spettrogramma.
  • Probabilità di transizione: 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".
  • Probabilità di emissione: Queste definiscono la probabilità di osservare un dato specifico dato uno stato nascosto attuale.
  • Probabilità iniziali: la distribuzione che determina lo stato in cui il sistema ha più probabilità di trovarsi all'inizio.

L'addestramento di un HMM comporta generalmente l' algoritmo di Baum-Welch per stimare questi parametri dai dati di addestramento. Una volta addestrato, l' algoritmo di Viterbi viene comunemente utilizzato per decodificare la sequenza più probabile di stati nascosti da un nuovo insieme di osservazioni.

HMM rispetto ad altri modelli di sequenza

Sebbene gli HMM condividano somiglianze con altri strumenti di elaborazione delle sequenze, differiscono in modo significativo nell'architettura e nell' applicazione:

  • HMM vs. Reti neurali ricorrenti (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 modelli non lineari, mentre gli HMM sono modelli probabilistici più semplici, limitati dall'ipotesi di Markov (memoria a breve termine). Tuttavia, gli HMM richiedono una quantità di dati significativamente inferiore e sono molto più interpretabili.
  • HMM vs. Filtro di Kalman (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 utilizzati per stati discreti (come determinare se l'auto è "parcheggiata", "in movimento" o "ferma").

Applicazioni nel mondo reale

Nonostante l'ascesa del deep learning (DL), i modelli di Markov nascosti sono ancora ampiamente utilizzati in scenari che richiedono inferenze probabilistiche su sequenze.

Riconoscimento vocale e della scrittura manuale

Storicamente, gli HMM erano la spina dorsale dei sistemi di riconoscimento vocale. 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 più probabile di parole che ha prodotto il segnale audio. Allo stesso modo, aiutano a decifrare la scrittura corsiva modellando la transizione tra i tratti dei caratteri.

Analisi delle sequenze biologiche

Nel campo della bioinformatica, gli HMM sono fondamentali per la previsione genica e l'allineamento delle proteine. Analizzano sequenze di DNA o aminoacidi per identificare regioni funzionali, come i geni all'interno di un genoma. Gli stati "nascosti" possono rappresentare regioni codificanti o non codificanti, mentre i nucleotidi specifici (A, C, G, T) fungono da osservazioni.

Riconoscimento delle azioni nella visione artificiale

Nella visione artificiale moderna, gli HMM possono essere combinati con modelli come YOLO26 per eseguire il riconoscimento delle azioni. Mentre YOLO oggetti o pose in singoli fotogrammi, un HMM può analizzare la sequenza di queste pose nel tempo per classify , come "camminare", "correre" o "cadere".

Integrazione della visione e dell'analisi dello stato

Per gli sviluppatori che utilizzano la Ultralytics per gestire set di dati e modelli, è fondamentale comprendere la logica sequenziale. Un modello di visione fornisce le osservazioni grezze (rilevamenti), che possono poi essere inserite in un modello spazio-stato come un HMM per dedurre il contesto temporale.

L'esempio seguente mostra come generare una sequenza di osservazioni utilizzando la stima della posa YOLO26. Questi punti chiave possono fungere da input di "eventi osservabili" per un HMM a valle o una logica simile per classify 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 decoder

Importanza nell'IA moderna

Sebbene i trasformatori e i modelli linguistici di grandi dimensioni (LLM) abbiano superato gli HMM per attività come l' elaborazione del linguaggio naturale (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 l' GPU . Inoltre, poiché si basano su matrici di probabilità trasparenti, offrono una maggiore osservabilità rispetto alla natura "black box" di molte reti neurali.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora