Yolo 深圳
深セン
今すぐ参加
用語集

隠れマルコフモデル(HMM)

統計的AIのための隠れマルコフモデル(HMM)を探求しましょう。Ultralytics を用いたHMMの動作原理を学び、動作認識、シーケンス分析、時相論理への応用を習得します。

隠れマルコフモデル(HMM)は、内部プロセスが直接観察できない(したがって「隠れ」)が、観測可能な事象の列を通じて推測可能なシステムをモデル化するために用いられる統計的枠組みである。 現代の深層学習は複雑な時系列を扱うように進化したが、HMMは統計的AIと確率論における基礎概念であり続けている。 特に、事象の順序が重要な文脈を提供する時系列分析データの解析に効果的であり、 将来の状態の確率が先行する履歴ではなく現在の状態のみに依存するという核心原理に基づいている。

HMMの核心的メカニズム

HMMの機能を理解するには、モデルの二つの異なる層、すなわち 不可視の状態と可視の出力とを区別することが不可欠である。このモデルは、システムが特定の確率に従って隠れた状態間を遷移し、 各ステップで観測値を出力すると仮定している。

隠れマルコフモデル(HMM)は、これらの遷移と発現を規定する一連のパラメータによって定義される:

  • 隠れた状態これらは 特定の時点におけるシステムの基盤となる現実を表す。音声モデルでは、隠れた状態は特定の音素や単語を表すことがある。
  • 観測可能なイベントこれらはセンサーや入力によって実際に収集されたデータポイントです。音声の例では、観測対象は音声波形またはスペクトログラムデータとなります。
  • 遷移確率この行列は ある隠れ状態から別の状態へ移行する可能性を表す。例えば、天候が 「雨」から「晴れ」へ変化する確率である。
  • 発現確率 これらは、現在の隠れ状態において特定の観測が観察される可能性を定義する。
  • 初期確率 システムが最も開始する可能性が高い状態を決定する分布。

HMMの学習には通常、 訓練データからこれらのパラメータを推定する バウム・ウェルチ法が用いられる。学習後、 新たな観測値から隠れ状態の最も可能性の高い列を復号するために、 ヴィテルビ法が一般的に使用される。

HMMとその他の時系列モデル

HMMは他のシーケンス処理ツールと類似点を持つ一方で、アーキテクチャと応用において大きく異なる:

  • HMM 対 再帰型ニューラルネットワーク (RNN): RNN および 長短期記憶 (LSTM) ネットワークは、長距離依存関係や非線形パターンを捉えられる深層学習モデルであるのに対し、HMM は マルコフ仮定(短期記憶)に制限される、より単純な確率モデルである。 しかし、HMMは はるかに少ないデータで済み、解釈性が格段に高い。
  • HMMとカルマンフィルタ(KF)の比較: どちらも状態推定に用いられる。ただし、カルマンフィルタは連続状態(移動中の自動車の正確な位置追跡など)向けに設計されているのに対し、HMMは離散状態(自動車が「駐車中」「走行中」「停止中」のいずれかであるかの判定など)に使用される。

実際のアプリケーション

深層学習(DL)の台頭にもかかわらず、隠れマルコフモデルは、シーケンスに対する確率的推論を必要とするシナリオにおいて依然として広く使用されている。

音声認識と手書き文字認識

歴史的に、HMMは音声認識システムの基盤であった。この文脈では、発話された言葉が「隠れた」状態であり、マイクで記録された音声信号が観測値となる。HMMは、その音声信号を生成した最も可能性の高い単語列を特定するのに役立つ。同様に、文字の筆画間の遷移をモデル化することで、筆記体の解読を支援する。

生物学的配列解析

バイオインフォマティクスの分野において、HMMは遺伝子予測やタンパク質配列アラインメントに不可欠である。これらはDNAやアミノ酸の配列を解析し、ゲノム内の遺伝子などの機能領域を特定する。「隠れ」状態はコード領域や非コード領域を表し、特定のヌクレオチド(A、C、G、T)が観測値として機能する。

コンピュータビジョンにおける動作認識

現代のコンピュータビジョンでは、HMMは次のようなモデルと組み合わせることが可能である YOLO26 などのモデルと組み合わせて 動作認識を行うことができます。YOLO 個々のフレーム内の物体 や姿勢YOLO に対し、HMMは時間経過に伴うこれらの姿勢の連続を分析し、 「歩行」「走行」「転倒」などのclassify 可能です。

ビジョンと状態分析の統合

Ultralytics Platformを利用する開発者向け Ultralytics を使用して データセットとモデルを管理する開発者にとって、時系列ロジックの理解は不可欠です。ビジョンモデルは生の観測値 (検出結果)を提供し、これをHMMのような状態空間モデルに入力することで時間的文脈を推定できます。

以下の例は、YOLO26姿勢推定を用いて観測値のシーケンスを生成する方法を示しています。 これらのキーポイントは、下流のHMMや類似のロジックへの入力となる「観測可能な事象」として機能し、時間経過に伴うclassify 利用できます。

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 使用が現実的でないリソース制約のあるシステムに理想的である。 さらに、透明な確率行列に基づくため、多くのニューラルネットワークの「ブラックボックス」的性質と比較して高い可視性を提供する。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加