統計的AIのためのHidden Markov Models (HMM)を探求しましょう。HMMがUltralytics YOLO26と連携して行動認識、シーケンス分析、および時間論理にどのように活用されるかを学びます。
A 隠れマルコフモデル (HMM)は、内部プロセスが直接見えない(「隠れている」)が、観測可能なイベントのシーケンスを通じて推測できるシステムをモデル化するために使用される統計的フレームワークです。現代のディープラーニングは複雑なシーケンスを処理するように進化していますが、HMMは統計的AIと確率論における基礎的な概念であり続けています。これは、将来の状態の確率は現在の状態のみに依存し、それ以前の履歴には依存しないという核心的な原則に基づき、イベントの順序が重要なコンテキストを提供する時系列分析データを分析するのに特に効果的です。
HMMがどのように機能するかを理解するためには、モデルの2つの異なる層、すなわち不可視状態と可視出力を区別することが不可欠です。このモデルは、システムが特定の確率に従って隠れた状態間を遷移し、各ステップで観測値を出力すると仮定しています。
HMMは、これらの遷移と放出を制御する一連のパラメータによって定義されます。
HMMの学習には、一般的にバウム・ウェルチアルゴリズムが用いられ、学習データからこれらのパラメータを推定します。学習が完了すると、新しい観測値のセットから最も可能性の高い隠れ状態のシーケンスをデコードするために、ビタビアルゴリズムが一般的に使用されます。
HMMは他のシーケンス処理ツールと類似点を共有しますが、アーキテクチャとアプリケーションにおいて大きく異なります。
ディープラーニング (DL)の台頭にもかかわらず、隠れマルコフモデルは、シーケンスに対する確率的推論を必要とするシナリオで依然として広く使用されています。
歴史的に、HMMは音声認識システムの基盤でした。この文脈では、話された単語が「隠れた」状態であり、マイクで録音された音声信号が観測値です。HMMは、音声信号を生成した単語の最も可能性の高いシーケンスを決定するのに役立ちます。同様に、文字のストローク間の遷移をモデル化することで、筆記体の解読にも役立ちます。
バイオインフォマティクスの分野では、HMMは遺伝子予測とタンパク質アラインメントに不可欠です。これらはDNAまたはアミノ酸の配列を分析し、ゲノム内の遺伝子のような機能領域を識別します。「隠れた」状態はコーディング領域または非コーディング領域を表す可能性があり、特定のヌクレオチド(A、C、G、T)が観測値として機能します。
現代のコンピュータビジョンにおいて、HMMはYOLO26のようなモデルと組み合わせてaction recognitionを実行できます。YOLOが個々のフレームでオブジェクトや姿勢をdetectする一方で、HMMはこれらの姿勢の時系列を分析し、「歩行」、「走行」、「転倒」などのアクションをclassifyできます。
Ultralytics Platformを使用してデータセットとモデルを管理している開発者にとって、シーケンシャルロジックを理解することは不可欠です。ビジョンモデルは生の観測値(detections)を提供し、それはその後、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)が自然言語処理(NLP)のようなタスクでHMMを凌駕しているにもかかわらず、HMMはエッジコンピューティングや低遅延環境において依然として関連性があります。その計算効率は、リソースが限られており、重いGPUの使用が現実的ではないシステムに最適です。さらに、透明な確率行列に基づいているため、多くのニューラルネットワークの「ブラックボックス」な性質と比較して、より高い可観測性を提供します。

未来の機械学習で、新たな一歩を踏み出しましょう。