Hidden Markov Model (HMM)
Erkunde Hidden Markov Models (HMM) für statistische KI. Lerne, wie HMMs mit Ultralytics YOLO26 für Aktionserkennung, Sequenzanalyse und temporale Logik zusammenarbeiten.
Ein Hidden Markov Model (HMM) ist ein statistisches Framework zur Modellierung von Systemen, bei denen der interne Prozess nicht direkt sichtbar – also „versteckt“ – ist, sich jedoch aus einer Sequenz beobachtbarer Ereignisse ableiten lässt. Während sich modernes Deep Learning weiterentwickelt hat, um komplexe Sequenzen zu verarbeiten, bleibt das HMM ein grundlegendes Konzept in der statistischen KI und der Wahrscheinlichkeitstheorie. Es ist besonders effektiv für die Analyse von time-series analysis-Daten, bei denen die Reihenfolge von Ereignissen einen entscheidenden Kontext liefert, und stützt sich dabei auf das Kernprinzip, dass die Wahrscheinlichkeit eines zukünftigen Zustands ausschließlich vom aktuellen Zustand abhängt und nicht von der Historie, die ihm vorausging.
Kernmechanismen von HMMs#
Um zu verstehen, wie ein HMM funktioniert, ist es wichtig, zwischen den zwei verschiedenen Ebenen des Modells zu unterscheiden: den unsichtbaren Zuständen und den sichtbaren Ausgaben. Das Modell geht davon aus, dass das System gemäß spezifischer Wahrscheinlichkeiten zwischen verborgenen Zuständen wechselt und bei jedem Schritt eine Beobachtung ausgibt.
Ein HMM wird durch eine Reihe von Parametern definiert, die diese Übergänge und Emissionen steuern:
- Hidden States: Diese repräsentieren die zugrundeliegende Realität des Systems zu einem bestimmten Zeitpunkt. In einem Sprachmodell kann ein versteckter Zustand ein spezifisches Phonem oder Wort darstellen.
- Observable Events: Dies sind die Datenpunkte, die tatsächlich von Sensoren oder Eingaben gesammelt werden. Im Sprachbeispiel wäre die Beobachtung die Audio-Wellenform oder die Spektrogramm-Daten.
- Transition Probabilities: Diese Matrix beschreibt die Wahrscheinlichkeit, von einem versteckten Zustand in einen anderen zu wechseln. Zum Beispiel die Wahrscheinlichkeit, dass das Wetter von „Regnerisch“ zu „Sonnig“ wechselt.
- Emission Probabilities: Diese definieren die Wahrscheinlichkeit, eine bestimmte Beobachtung bei einem gegebenen aktuellen versteckten Zustand zu sehen.
- Initial Probabilities: Die Verteilung, die den Zustand bestimmt, in dem das System am wahrscheinlichsten beginnt.
Das Training eines HMM beinhaltet im Allgemeinen den Baum-Welch algorithm, um diese Parameter aus training data zu schätzen. Einmal trainiert, wird der Viterbi algorithm häufig verwendet, um die wahrscheinlichste Sequenz von versteckten Zuständen aus einem neuen Satz von Beobachtungen zu dekodieren.
HMMs vs. andere Sequenzmodelle#
Obwohl HMMs Gemeinsamkeiten mit anderen Sequenzverarbeitungswerkzeugen haben, unterscheiden sie sich erheblich in Architektur und Anwendung:
- HMM vs. Recurrent Neural Networks (RNN): RNNs und Long Short-Term Memory (LSTM)-Netzwerke sind Deep-Learning-Modelle, die langfristige Abhängigkeiten und nichtlineare Muster erfassen können, während HMMs einfachere, probabilistische Modelle sind, die durch die Markov-Annahme (Kurzzeitgedächtnis) eingeschränkt sind. HMMs erfordern jedoch deutlich weniger Daten und sind weitaus interpretierbarer.
- HMM vs. Kalman Filter (KF): Beide werden zur Zustandsschätzung verwendet. Kalman-Filter sind jedoch für kontinuierliche Zustände konzipiert (wie die Verfolgung des genauen Standorts eines sich bewegenden Autos), während HMMs für diskrete Zustände verwendet werden (wie die Bestimmung, ob das Auto „geparkt“, „am Fahren“ oder „angehalten“ ist).
Praxisanwendungen#
Trotz des Aufkommens von deep learning (DL) werden Hidden Markov Models nach wie vor häufig in Szenarien eingesetzt, die eine probabilistische Inferenz über Sequenzen erfordern.
Sprach- und Handschrifterkennung#
Historisch gesehen waren HMMs das Rückgrat von speech recognition-Systemen. In diesem Kontext sind die gesprochenen Wörter die „versteckten“ Zustände, und die vom Mikrofon aufgezeichneten Audiosignale sind die Beobachtungen. HMMs helfen dabei, die wahrscheinlichste Wortsequenz zu ermitteln, die das Audiosignal erzeugt hat. Ähnlich unterstützen sie das Entziffern von Kursivschrift, indem sie den Übergang zwischen Schriftzeichenstrichen modellieren.
Biologische Sequenzanalyse#
Im Bereich der bioinformatics sind HMMs entscheidend für die Genvorhersage und Protein-Ausrichtung. Sie analysieren DNA- oder Aminosäuresequenzen, um funktionelle Regionen wie Gene innerhalb eines Genoms zu identifizieren. Die „versteckten“ Zustände können kodierende oder nicht kodierende Regionen repräsentieren, während die spezifischen Nukleotide (A, C, G, T) als Beobachtungen dienen.
Aktionserkennung in der Computer Vision#
In der modernen Computer Vision können HMMs mit Modellen wie YOLO26 kombiniert werden, um eine action recognition durchzuführen. Während YOLO Objekte oder Poses in einzelnen Frames erkennt, kann ein HMM die Sequenz dieser Poses über die Zeit analysieren, um eine Aktion wie „gehen“, „laufen“ oder „stürzen“ zu klassifizieren.
Integration von Vision und Zustandsanalyse#
Für Entwickler, die die Ultralytics Platform zur Verwaltung von Datensätzen und Modellen nutzen, ist das Verständnis sequenzieller Logik von entscheidender Bedeutung. Ein Vision-Modell liefert die Rohbeobachtungen (Erkennungen), die dann in ein Zustandsraummodell wie ein HMM eingespeist werden können, um den zeitlichen Kontext abzuleiten.
Das folgende Beispiel veranschaulicht, wie man eine Beobachtungssequenz mithilfe der YOLO26-Posenschätzung generiert. Diese Keypoints können als Eingabe für „beobachtbare Ereignisse“ für ein nachgeschaltetes HMM oder eine ähnliche Logik dienen, um Verhaltensweisen über die Zeit zu klassifizieren.
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 decoderBedeutung in der modernen KI#
Obwohl transformers und Large Language Models (LLMs) HMMs für Aufgaben wie natural language processing (NLP) abgelöst haben, bleiben HMMs im Bereich edge computing und in Umgebungen mit geringer Latenz relevant. Ihre Recheneffizienz macht sie ideal für ressourcenbeschränkte Systeme, in denen eine starke GPU-Nutzung nicht praktikabel ist. Da sie zudem auf transparenten Wahrscheinlichkeitsmatrizen basieren, bieten sie eine höhere observability im Vergleich zum „Black-Box“-Charakter vieler neuronaler Netze.






