Hidden Markov Model (HMM)
Explora os Hidden Markov Models (HMM) para IA estatística. Aprende como os HMMs funcionam com o Ultralytics YOLO26 no reconhecimento de ações, na análise de sequências e na lógica temporal.
Um modelo oculto de Markov (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 a aprendizagem profunda moderna 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 na análise de dados 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.
Mecanismos fundamentais dos HMM#
Para compreender como funciona um HMM, é essencial distinguir entre as duas camadas distintas do modelo: os estados invisíveis e as saídas visíveis. O modelo pressupõe que o sistema transita entre estados ocultos de acordo com probabilidades específicas, emitindo uma observação em cada passo.
Um HMM é definido por um conjunto de parâmetros que regem essas transições e emissões:
- Estados ocultos: Representam a realidade subjacente do sistema num determinado momento. Num modelo de fala, um estado oculto pode representar um fonema ou uma palavra específica.
- Eventos observáveis: São os pontos de dados efetivamente recolhidos por sensores ou entradas. No exemplo da fala, a observação seria a forma de onda de áudio ou os dados do espectrograma.
- Probabilidades de transição: Esta matriz descreve a probabilidade de passar de um estado oculto para outro. Por exemplo, a probabilidade de o tempo mudar de “Chuvoso” para “Ensolarado”.
- Probabilidades de emissão: Definem a probabilidade de observar uma observação específica dado um estado oculto atual.
- Probabilidades iniciais: A distribuição que determina o estado em que o sistema tem maior probabilidade de começar.
O treino de um HMM geralmente envolve o algoritmo de Baum-Welch para estimar estes parâmetros a partir de dados de treino. Depois de treinado, o algoritmo de Viterbi é normalmente utilizado para descodificar a sequência mais provável de estados ocultos a partir de um novo conjunto de observações.
HMM vs. outros modelos de sequências#
Embora os HMM partilhem semelhanças com outras ferramentas de processamento de sequências, diferem significativamente na arquitetura e na aplicação:
- HMM vs. redes neuronais recorrentes (RNN): As RNN e as redes de memória de longo e curto prazo (LSTM) são modelos de aprendizagem profunda capazes de captar dependências de longo alcance e padrões não lineares, enquanto os HMM são modelos probabilísticos mais simples, limitados pela suposição de Markov (memória de curto prazo). No entanto, os HMM requerem significativamente menos dados e são muito mais interpretáveis.
- HMM vs. filtro de Kalman (KF): Ambos são utilizados para estimar estados. No entanto, os filtros de Kalman foram concebidos para estados contínuos (como acompanhar a localização precisa de um carro em movimento), enquanto os HMM são utilizados para estados discretos (como determinar se o carro está “estacionado”, “a conduzir” ou “parado”).
Aplicações no mundo real#
Apesar do crescimento da aprendizagem profunda (DL), os modelos ocultos de Markov continuam a ser amplamente utilizados em cenários que exigem inferência probabilística sobre sequências.
Reconhecimento de fala e de escrita manual#
Historicamente, os HMM eram a base dos sistemas de reconhecimento de fala. Neste contexto, as palavras faladas são os estados “ocultos” e os sinais de áudio gravados pelo microfone são as observações. Os HMM ajudam a determinar a sequência mais provável de palavras que produziu o sinal de áudio. De forma semelhante, ajudam a decifrar a escrita manual cursiva ao modelar a transição entre os traços dos caracteres.
Análise de sequências biológicas#
No campo da bioinformática, os HMM são fundamentais para a predição de genes e o alinhamento de proteínas. Analisam sequências de DNA ou de 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) funcionam como observações.
Reconhecimento de ações em visão computacional#
Na visão computacional moderna, os HMM podem ser combinados com modelos como o YOLO26 para realizar o reconhecimento de ações. Enquanto o YOLO deteta objetos ou poses em fotogramas individuais, um HMM pode analisar a sequência dessas poses ao longo do tempo para classificar uma ação, como “caminhar”, “correr” ou “cair”.
Integração da análise visual e de estados#
Para programadores que utilizam a Ultralytics Platform para gerir conjuntos de dados e modelos, compreender a lógica sequencial é essencial. Um modelo de visão fornece as observações brutas (deteções), que podem depois ser introduzidas num modelo de espaço de estados, como um HMM, para inferir o contexto temporal.
O exemplo seguinte demonstra como gerar uma sequência de observações utilizando a estimativa de poses do YOLO26. Estes pontos-chave podem servir como entrada de “eventos observáveis” para um HMM subsequente ou uma lógica semelhante, com o objetivo de classificar comportamentos 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 decoderImportância na IA moderna#
Embora os transformadores e os modelos de linguagem de grande dimensão (LLMs) tenham substituído os HMM em tarefas como o processamento de linguagem natural (NLP), os HMM continuam a ser relevantes na computação de periferia e em ambientes de baixa latência. A sua eficiência computacional torna-os ideais para sistemas com recursos limitados, nos quais a utilização intensiva de GPU não é viável. Além disso, por se basearem em matrizes de probabilidade transparentes, proporcionam uma maior observabilidade em comparação com a natureza de “caixa negra” de muitas redes neuronais.









