Hidden Markov Model (HMM)
Изучи скрытые марковские модели (HMM) для статистического ИИ. Узнай, как HMM работают с Ultralytics YOLO26 для распознавания действий, анализа последовательностей и временной логики.
Скрытая марковская модель (HMM) — это статистическая структура, используемая для моделирования систем, в которых внутренний процесс непосредственно не виден («скрыт»), но может быть выведен через последовательность наблюдаемых событий. Хотя современное глубокое обучение развилось для работы со сложными последовательностями, HMM остается фундаментальной концепцией в статистическом ИИ и теории вероятностей. Она особенно эффективна для анализа данных анализа временных рядов, где порядок событий предоставляет важный контекст, опираясь на основной принцип, согласно которому вероятность будущего состояния зависит исключительно от текущего состояния, а не от предшествовавшей ему истории.
Основные механизмы HMM#
Чтобы понять, как функционирует HMM, важно различать два отдельных уровня модели: невидимые состояния и видимые выходные данные. Модель предполагает, что система переходит между скрытыми состояниями в соответствии с определенными вероятностями, выдавая наблюдение на каждом шаге.
HMM определяется набором параметров, которые управляют этими переходами и излучениями:
- Скрытые состояния: Они представляют собой лежащую в основе реальность системы в заданный момент времени. В речевой модели скрытое состояние может представлять определенную фонему или слово.
- Наблюдаемые события: Это точки данных, фактически собираемые датчиками или входами. В примере с речью наблюдением будет аудиоволна или данные спектрограммы.
- Вероятности переходов: Эта матрица описывает вероятность перехода из одного скрытого состояния в другое. Например, вероятность изменения погоды с «Дождливо» на «Солнечно».
- Вероятности исходов: Они определяют вероятность наблюдения конкретного события при текущем скрытом состоянии.
- Начальные вероятности: Распределение, которое определяет состояние, в котором система с наибольшей вероятностью начнет работу.
Обучение HMM обычно включает в себя алгоритм Баума — Уэлча для оценки этих параметров по обучающим данным. После обучения алгоритм Витерби обычно используется для декодирования наиболее вероятной последовательности скрытых состояний из нового набора наблюдений.
HMM в сравнении с другими моделями последовательностей#
Хотя HMM имеют сходства с другими инструментами обработки последовательностей, они значительно различаются по архитектуре и применению:
- HMM в сравнении с рекуррентными нейронными сетями (RNN): RNN и сети с долгой краткосрочной памятью (LSTM) — это модели глубокого обучения, способные улавливать долгосрочные зависимости и нелинейные паттерны, в то время как HMM являются более простыми вероятностными моделями, ограниченными марковским допущением (краткосрочной памятью). Однако HMM требуют значительно меньше данных и гораздо более интерпретируемы.
- HMM в сравнении с фильтром Калмана (KF): Обе модели используются для оценки состояния. Однако фильтры Калмана предназначены для непрерывных состояний (например, отслеживание точного местоположения движущегося автомобиля), в то время как HMM используются для дискретных состояний (например, определение того, «припаркован», «едет» или «остановился» автомобиль).
Реальные приложения#
Несмотря на рост глубокого обучения (DL), скрытые марковские модели по-прежнему широко используются в сценариях, требующих вероятностного вывода по последовательностям.
Распознавание речи и рукописного текста#
Исторически HMM были основой систем распознавания речи. В этом контексте произнесенные слова являются «скрытыми» состояниями, а звуковые сигналы, записанные микрофоном, — наблюдениями. HMM помогают определить наиболее вероятную последовательность слов, которая произвела звуковой сигнал. Аналогичным образом они помогают расшифровывать рукописный текст, моделируя переход между штрихами символов.
Анализ биологических последовательностей#
В области биоинформатики HMM имеют решающее значение для предсказания генов и выравнивания белков. Они анализируют последовательности ДНК или аминокислот для выявления функциональных областей, таких как гены в геноме. «Скрытые» состояния могут представлять кодирующие или некодирующие области, в то время как конкретные нуклеотиды (A, C, G, T) действуют как наблюдения.
Распознавание действий в компьютерном зрении#
В современном компьютерном зрении HMM можно комбинировать с такими моделями, как YOLO26, для выполнения распознавания действий. В то время как YOLO обнаруживает объекты или позы в отдельных кадрах, HMM может анализировать последовательность этих поз во времени для классификации действия, такого как «ходьба», «бег» или «падение».
Интеграция зрения и анализа состояний#
Для разработчиков, использующих платформу Ultralytics для управления наборами данных и моделями, понимание последовательной логики имеет жизненно важное значение. Модель зрения предоставляет сырые наблюдения (детекции), которые затем могут быть переданы в модель пространства состояний, такую как HMM, для вывода временного контекста.
Следующий пример демонстрирует, как генерировать последовательность наблюдений с помощью оценки позы YOLO26. Эти ключевые точки могут служить входом «наблюдаемых событий» для последующей HMM или аналогичной логики для классификации поведения с течением времени.
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Значение в современном ИИ#
Хотя трансформеры и большие языковые модели (LLM) вытеснили HMM в таких задачах, как обработка естественного языка (NLP), HMM остаются актуальными в периферийных вычислениях и средах с низким временем отклика. Их вычислительная эффективность делает их идеальными для систем с ограниченными ресурсами, где тяжелое использование GPU нецелесообразно. Кроме того, поскольку они основаны на прозрачных матрицах вероятностей, они предлагают более высокую наблюдаемость по сравнению с «черноящичной» природой многих нейронных сетей.






