Explore os Modelos de Markov Ocultos (HMM) para IA estatística. Saiba como os HMMs funcionam com Ultralytics para reconhecimento de ações, análise de sequências e lógica temporal.
Um Modelo de Markov Oculto (HMM) é uma estrutura estatística utilizada para modelar sistemas em que o processo interno não é diretamente visível — daí o termo «oculto» —, mas pode ser inferido através de uma sequência de eventos observáveis. Embora o deep learning moderno tenha evoluído para lidar com sequências complexas, o HMM continua a ser um conceito fundamental na IA estatística e na teoria da probabilidade. É particularmente eficaz para analisar dados de análise de séries temporais, em que a ordem dos eventos fornece um contexto crucial, baseando-se no princípio fundamental de que a probabilidade de um estado futuro depende exclusivamente do estado atual, e não do histórico que o precedeu.
Para entender como um HMM funciona, é essencial distinguir entre as duas camadas distintas do modelo: os estados invisíveis e os resultados visíveis. O modelo assume que o sistema faz transições entre estados ocultos de acordo com probabilidades específicas, emitindo uma observação em cada etapa.
Um HMM é definido por um conjunto de parâmetros que regem essas transições e emissões:
O treino de um HMM geralmente envolve o algoritmo de Baum-Welch para estimar esses parâmetros a partir dos dados de treino. Uma vez treinado, o algoritmo de Viterbi é comumente usado para descodificar a sequência mais provável de estados ocultos a partir de um novo conjunto de observações.
Embora os HMMs tenham semelhanças com outras ferramentas de processamento de sequências, eles diferem significativamente em arquitetura e aplicação:
Apesar do surgimento do deep learning (DL), os modelos ocultos de Markov ainda são amplamente utilizados em cenários que exigem inferência probabilística sobre sequências.
Historicamente, os HMMs eram a espinha dorsal dos sistemas de reconhecimento de voz. Neste contexto, as palavras faladas são os estados «ocultos» e os sinais de áudio gravados pelo microfone são as observações. Os HMMs ajudam a determinar a sequência mais provável de palavras que produziu o sinal de áudio. Da mesma forma, eles ajudam a decifrar a caligrafia cursiva, modelando a transição entre os traços dos caracteres.
No campo da bioinformática, os HMMs são cruciais para a previsão de genes e o alinhamento de proteínas. Eles analisam sequências de ADN ou aminoácidos para identificar regiões funcionais, como genes dentro de um genoma. Os estados «ocultos» podem representar regiões codificantes ou não codificantes, enquanto os nucleótidos específicos (A, C, G, T) atuam como observações.
Na visão computacional moderna, os HMMs podem ser combinados com modelos como YOLO26 para realizar o reconhecimento de ações. Enquanto YOLO objetos ou poses em quadros individuais, um HMM pode analisar a sequência dessas poses ao longo do tempo para classify ação, como "andar", "correr" ou "cair".
Para programadores que utilizam a Ultralytics para gerir conjuntos de dados e modelos, compreender a lógica sequencial é vital. Um modelo de visão fornece as observações brutas (detecções), que podem então ser alimentadas num modelo de espaço de estado como um HMM para inferir o contexto temporal.
O exemplo a seguir demonstra como gerar uma sequência de observações usando a estimativa de pose YOLO26. Esses pontos-chave podem servir como entrada de "eventos observáveis" para um HMM downstream ou lógica semelhante para classify ao longo do 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
Embora os transformadores e os grandes modelos de linguagem (LLMs) tenham ultrapassado os HMMs em tarefas como o processamento de linguagem natural (NLP), os HMMs continuam a ser relevantes na computação de ponta e em ambientes de baixa latência. A sua eficiência computacional torna-os ideais para sistemas com recursos limitados, onde pesados GPU não é viável. Além disso, como são baseados em matrizes de probabilidade transparentes, oferecem maior observabilidade em comparação com a natureza de "caixa preta" de muitas redes neurais.