Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Modelo oculto de Márkov (HMM)

Explora los modelos ocultos de Markov (HMM) para la IA estadística. Descubre cómo funcionan los HMM con Ultralytics para el reconocimiento de acciones, el análisis de secuencias y la lógica temporal.

Un modelo oculto de Markov (HMM) es un marco estadístico utilizado para modelar sistemas en los que el proceso interno no es directamente visible —de ahí que se denomine «oculto»—, pero que puede inferirse a través de una secuencia de eventos observables. Si bien el aprendizaje profundo moderno ha evolucionado para manejar secuencias complejas, el HMM sigue siendo un concepto fundamental en la inteligencia artificial estadística y la teoría de la probabilidad. Es particularmente eficaz para analizar datos de análisis de series temporales en los que el orden de los eventos proporciona un contexto crucial, basándose en el principio básico de que la probabilidad de un estado futuro depende únicamente del estado actual, y no de la historia que lo precedió.

Mecanismos básicos de los HMM

Para comprender cómo funciona un HMM, es esencial distinguir entre las dos capas distintas del modelo: los estados invisibles y las salidas visibles. El modelo asume que el sistema realiza transiciones entre estados ocultos de acuerdo con probabilidades específicas, emitiendo una observación en cada paso.

Un HMM se define mediante un conjunto de parámetros que rigen estas transiciones y emisiones:

  • Estados ocultos: Representan la realidad subyacente del sistema en un momento dado. En un modelo de habla, un estado oculto podría representar un fonema o una palabra específicos.
  • Eventos observables: Son los puntos de datos recogidos realmente por sensores o entradas. En el ejemplo del discurso, la observación sería la forma de onda de audio o los datos del espectrograma.
  • Probabilidades de transición: esta matriz describe la probabilidad de pasar de un estado oculto a otro. Por ejemplo, la probabilidad de que el tiempo cambie de «lluvioso» a «soleado».
  • Probabilidades de emisión: Definen la probabilidad de ver una observación específica dado un estado oculto actual.
  • Probabilidades iniciales: La distribución que determina el estado en el que es más probable que comience el sistema.

El entrenamiento de un HMM generalmente implica el algoritmo de Baum-Welch para estimar estos parámetros a partir de los datos de entrenamiento. Una vez entrenado, el algoritmo de Viterbi se utiliza comúnmente para decodificar la secuencia más probable de estados ocultos a partir de un nuevo conjunto de observaciones.

HMM frente a otros modelos de secuencia

Aunque los HMM comparten similitudes con otras herramientas de procesamiento de secuencias, difieren significativamente en su arquitectura y aplicación:

  • HMM frente a redes neuronales recurrentes (RNN): Las RNN y las redes de memoria a corto y largo plazo (LSTM) son modelos de aprendizaje profundo que pueden capturar dependencias de largo alcance y patrones no lineales, mientras que las HMM son modelos probabilísticos más simples limitados por la suposición de Markov (memoria a corto plazo). Sin embargo, las HMM requieren muchos menos datos y son mucho más interpretables.
  • HMM frente al filtro de Kalman (KF): Ambos se utilizan para la estimación de estados. Sin embargo, los filtros de Kalman están diseñados para estados continuos (como el seguimiento de la ubicación precisa de un coche en movimiento), mientras que los HMM se utilizan para estados discretos (como determinar si el coche está «aparcado», «en marcha» o «parado»).

Aplicaciones en el mundo real

A pesar del auge del aprendizaje profundo (DL), los modelos ocultos de Markov siguen utilizándose ampliamente en escenarios que requieren inferencia probabilística sobre secuencias.

Reconocimiento de voz y escritura manuscrita

Históricamente, los HMM eran la columna vertebral de los sistemas de reconocimiento de voz. En este contexto, las palabras pronunciadas son los estados «ocultos», y las señales de audio grabadas por el micrófono son las observaciones. Los HMM ayudan a determinar la secuencia más probable de palabras que produjo la señal de audio. Del mismo modo, ayudan a descifrar la escritura cursiva modelando la transición entre los trazos de los caracteres.

Análisis de secuencias biológicas

En el campo de la bioinformática, los HMM son cruciales para la predicción de genes y la alineación de proteínas. Analizan secuencias de ADN o aminoácidos para identificar regiones funcionales, como genes dentro de un genoma. Los estados «ocultos» pueden representar regiones codificantes o no codificantes, mientras que los nucleótidos específicos (A, C, G, T) actúan como observaciones.

Reconocimiento de acciones en visión artificial

En la visión artificial moderna, los HMM se pueden combinar con modelos como YOLO26 para realizar el reconocimiento de acciones. Mientras que YOLO objetos o posturas en fotogramas individuales, un HMM puede analizar la secuencia de estas posturas a lo largo del tiempo para classify acción, como «caminar», «correr» o «caerse».

Integración de la visión y el análisis de estado

Para los desarrolladores que utilizan la Ultralytics para gestionar conjuntos de datos y modelos, es fundamental comprender la lógica secuencial. Un modelo de visión proporciona las observaciones en bruto (detecciones), que luego pueden introducirse en un modelo de espacio de estados como un HMM para inferir el contexto temporal.

El siguiente ejemplo muestra cómo generar una secuencia de observaciones utilizando la estimación de pose YOLO26. Estos puntos clave pueden servir como entrada de «eventos observables» para un HMM descendente o una lógica similar para classify a lo largo del tiempo.

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

Importancia en la IA moderna

Aunque los transformadores y los grandes modelos de lenguaje (LLM) han superado a los HMM en tareas como el procesamiento del lenguaje natural (NLP), los HMM siguen siendo relevantes en la computación periférica y en entornos de baja latencia. Su eficiencia computacional los hace ideales para sistemas con recursos limitados en los que los GPU . Además, como se basan en matrices de probabilidad transparentes, ofrecen una mayor observabilidad en comparación con la naturaleza de «caja negra» de muchas redes neuronales.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora