Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Modèle de Markov caché (HMM)

Découvrez les modèles de Markov cachés (HMM) pour l'IA statistique. Apprenez comment les HMM fonctionnent avec Ultralytics pour la reconnaissance d'actions, l'analyse de séquences et la logique temporelle.

Un modèle de Markov caché (HMM) est un cadre statistique utilisé pour modéliser des systèmes dont le processus interne n'est pas directement visible — d'où le terme « caché » — mais peut être déduit à partir d'une séquence d'événements observables. Alors que l'apprentissage profond moderne a évolué pour traiter des séquences complexes, le HMM reste un concept fondamental de l' IA statistique et de la théorie des probabilités. Il est particulièrement efficace pour analyser des données de séries chronologiques où l'ordre des événements fournit un contexte crucial, en s'appuyant sur le principe fondamental selon lequel la probabilité d'un état futur dépend uniquement de l'état actuel, et non de l'histoire qui l'a précédé.

Mécanismes fondamentaux des HMM

Pour comprendre le fonctionnement d'un HMM, il est essentiel de distinguer les deux couches distinctes du modèle : les états invisibles et les sorties visibles. Le modèle suppose que le système passe d'un état caché à un autre selon des probabilités spécifiques, émettant une observation à chaque étape.

Un HMM est défini par un ensemble de paramètres qui régissent ces transitions et émissions :

  • États cachés: ils représentent la réalité sous-jacente du système à un moment donné. Dans un modèle de discours, un état caché peut représenter un phonème ou un mot spécifique.
  • Événements observables: il s'agit des points de données effectivement collectés par des capteurs ou des entrées. Dans l'exemple du discours, l'observation serait la forme d'onde audio ou les données du spectrogramme.
  • Probabilités de transition: cette matrice décrit la probabilité de passer d'un état caché à un autre. Par exemple, la probabilité que le temps passe de « pluvieux » à « ensoleillé ».
  • Probabilités d'émission: Elles définissent la probabilité d'observer un événement spécifique étant donné un état caché actuel.
  • Probabilités initiales: la distribution qui détermine l'état dans lequel le système est le plus susceptible de démarrer.

L'entraînement d'un HMM implique généralement l' algorithme de Baum-Welch pour estimer ces paramètres à partir des données d'entraînement. Une fois l'entraînement terminé, l' algorithme de Viterbi est couramment utilisé pour décoder la séquence la plus probable d'états cachés à partir d'un nouvel ensemble d'observations.

HMM vs autres modèles de séquence

Bien que les HMM partagent des similitudes avec d'autres outils de traitement de séquences, ils diffèrent considérablement par leur architecture et leur application :

  • HMM vs. Réseaux neuronaux récurrents (RNN): Les RNN et les réseaux à mémoire à court et long terme (LSTM) sont des modèles d'apprentissage profond capables de capturer des dépendances à long terme et des modèles non linéaires, tandis que les HMM sont des modèles probabilistes plus simples, limités par l'hypothèse de Markov (mémoire à court terme). Cependant, les HMM nécessitent beaucoup moins de données et sont beaucoup plus interprétables.
  • HMM vs filtre de Kalman (KF): Les deux sont utilisés pour l'estimation d'état. Cependant, les filtres de Kalman sont conçus pour les états continus (comme le suivi de la position précise d'une voiture en mouvement), tandis que les HMM sont utilisés pour les états discrets (comme déterminer si la voiture est « garée », « en mouvement » ou « à l'arrêt »).

Applications concrètes

Malgré l'essor du deep learning (DL), les modèles de Markov cachés sont encore largement utilisés dans les scénarios nécessitant une inférence probabiliste sur des séquences.

Reconnaissance vocale et reconnaissance d'écriture manuscrite

Historiquement, les HMM constituaient la colonne vertébrale des systèmes de reconnaissance vocale. Dans ce contexte, les mots prononcés sont les états « cachés » et les signaux audio enregistrés par le microphone sont les observations. Les HMM aident à déterminer la séquence de mots la plus probable qui a produit le signal audio. De même, ils aident à déchiffrer l'écriture cursive en modélisant la transition entre les traits des caractères.

Analyse des séquences biologiques

Dans le domaine de la bio-informatique, les HMM sont essentiels pour la prédiction des gènes et l'alignement des protéines. Ils analysent les séquences d'ADN ou d'acides aminés afin d'identifier les régions fonctionnelles, telles que les gènes au sein d'un génome. Les états « cachés » peuvent représenter des régions codantes ou non codantes, tandis que les nucléotides spécifiques (A, C, G, T) agissent comme des observations.

Reconnaissance d'actions dans la vision par ordinateur

Dans la vision par ordinateur moderne, les HMM peuvent être combinés avec des modèles tels que YOLO26 pour effectuer la reconnaissance d'actions. Alors que YOLO des objets ou des poses dans des images individuelles, un HMM peut analyser la séquence de ces poses au fil du temps pour classify action, telle que « marcher », « courir » ou « tomber ».

Intégration de la vision et de l'analyse d'état

Pour les développeurs utilisant la Ultralytics pour gérer des ensembles de données et des modèles, il est essentiel de comprendre la logique séquentielle. Un modèle de vision fournit les observations brutes (détections), qui peuvent ensuite être introduites dans un modèle d'espace d'état tel qu'un HMM afin de déduire le contexte temporel.

L'exemple suivant montre comment générer une séquence d'observations à l'aide de l' estimation de pose YOLO26. Ces points clés peuvent servir d' « événements observables » pour un HMM en aval ou une logique similaire afin de classify au fil du temps.

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

Importance dans l'IA moderne

Bien que les transformateurs et les grands modèles linguistiques (LLM) aient supplanté les HMM pour des tâches telles que le traitement du langage naturel (NLP), les HMM restent pertinents dans les environnements informatiques de pointe et à faible latence. Leur efficacité computationnelle les rend idéaux pour les systèmes aux ressources limitées où des GPU n'est pas envisageable. De plus, comme ils sont basés sur des matrices de probabilités transparentes, ils offrent une meilleure observabilité par rapport à la nature « boîte noire » de nombreux réseaux neuronaux.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant