AIモデルのアルゴリズムを理解する
異常検知 — IBM Granite TSPulse
TSPulseとは?
TSPulse(Time-Series Pulse)は、IBMが開発した時系列異常検知基盤モデルです。センサーデータのように時系列で入力されるデータから正常パターンを学習し、パターンから外れた区間を異常として検知します。
動作原理:再構成誤差ベース
TSPulseは、**「正常データを正しく復元できるなら、復元できない区間は異常である」**という原理で動作します。
① 학습 (정상 패턴 학습)
입력 시계열: [23.1, 23.2, 23.0, 23.3, 23.1, ...] ← 정상 온도 패턴
│
▼
┌──────────────┐
│ 인코더 │ 데이터를 압축된 표현으로 변환
│ (Encoder) │
└──────┬───────┘
│
┌──────┴───────┐
│ 잠재 공간 │ 핵심 패턴만 남긴 압축 표현
│ (Latent) │
└──────┬───────┘
│
┌──────┴───────┐
│ 디코더 │ 압축 표현에서 원래 데이터 복원
│ (Decoder) │
└──────┬───────┘
│
▼
재구성 출력: [23.0, 23.2, 23.1, 23.2, 23.1, ...] ← 거의 같음!
재구성 오류 = |원본 - 재구성| = [0.1, 0.0, 0.1, 0.1, 0.0] ← 매우 작음 → 정상
② 이상 탐지
입력 시계열: [23.1, 23.2, 87.5, 23.3, 23.1, ...] ← 갑자기 87.5도!
│
▼
[인코더 → 잠재 공간 → 디코더]
│
▼
재구성 출력: [23.0, 23.2, 23.4, 23.2, 23.1, ...] ← 87.5를 복원 못함
재구성 오류 = [0.1, 0.0, 64.1, 0.1, 0.0]
↑
이상 점수 높음! → 이상 탐지됨
主要概念
| 概念 | 説明 | 例え |
|---|---|---|
| 再構成誤差 | 元データと復元データの差 | コピー機は原稿を正しくコピーできるが、異常な部分はコピーできない |
| 補正スコア | 再構成誤差が通常時(基準区間)の変動の何倍に相当するかを示すロバストzスコア | 「通常時より5倍大きく変動している」 |
| しきい値 (threshold) | 異常と判定する補正スコアの基準値 — 設備センサーのデフォルトは5.0 | 「ここまでは正常、これを超えると異常」という基準線 |
threshold=0 は「自動」ではありません以前のドキュメントでは、0を指定するとしきい値が自動的に決まると説明していました。現在の設備センサーのスコアは基準
中央値が0となる尺度のため、0を指定すると、通常時より少し高いだけでもすべて異常としてカウントされます。特別な理由が
ない限り、threshold は省略してデフォルト値(5.0)を使用してください。
基準は「分析ウィンドウの直前」です
同じ呼び出し内で、分析ウィンドウの直前区間における再構成誤差から中央値とMADを算出します。そのため、設備ごと、 タグごとに個別の「通常時」が設定されます。基準区間が短すぎるタグについてはスコアを算出せず、理由を付けて 空欄のままにします。0では埋めません。
- 状態タグ(運転/停止など)は対象から除外します。
- カウンタータグは累積値ではなく、5間隔分の増分の平均で評価します。生産停止は増分0として現れます。
- 集計・平滑化ウィンドウは、設備センサーの基準で8 / 4です。
PlantPulseでの活用
센서 데이터 (최근 N분)
│
▼
TSPulse 모델에 입력
│
▼
각 시점별 재구성 오류 계산
│
▼
임계값 초과 구간 = 이상 구간
│
├──▶ 이상 메트릭 상위 K개 추출 (top_k)
├──▶ 이상 점수 및 시간 정보 반환
└──▶ 최근 N초 이내 이상 여부 판정 (recent_seconds)
時系列予測 — TinyTimeMixer (TTM)
TTMとは?
TinyTimeMixerは、IBMが開発した軽量な時系列予測モデルです。過去のデータパターンを学習し、将来の値を予測します。「Tiny」という名前のとおり、少ないリソースでも高い性能を発揮します。
PlantPulseに搭載されているのはGranite-TTM R3(512-96-dec-512-r3)です。トレンドと残差を
分離して予測する分解予測(TinyTimeMixerForDecomposedPrediction)世代です。旧世代のR2も
イメージに同梱されているため、設定を1行変更するだけで切り替えられます →
時系列インサイト
動作原理:Mixerアーキテクチャ
TTMは、MLP-Mixer構造を時系列に適用したモデルです。
과거 데이터 (Context Window) 예측 (Prediction Window)
┌──────────────────────────┐ ┌──────────────────┐
│ t-512 t-511 ... t-1 t │ → │ t+1 t+2 ... t+96 │
└──────────────────────────┘ └──────────────────┘
입력 (512 스텝) 출력 (96 스텝)
予測プロセス
① 시간축 믹싱 (Time Mixing)
"과거 패턴에서 시간적 관계를 파악"
- 새벽에는 온도가 낮고, 낮에는 높다 (일주기)
- 월요일에 가동률이 높다 (주주기)
- 점점 온도가 올라가는 추세 (트렌드)
② 채널 믹싱 (Channel Mixing)
"여러 센서 간의 관계를 파악"
- 전력 소비가 올라가면 → 온도도 올라간다
- 진동이 커지면 → 알람 빈도도 높아진다
③ 예측 생성
시간 패턴 + 센서 관계를 종합하여 미래 값 예측
신뢰구간(상한/하한)도 함께 제공
主要概念
| 概念 | 説明 | 例え |
|---|---|---|
| コンテキスト長 | 予測に使用する過去データの量 | 過去数日分を見て明日の天気を予測する |
| 予測長 | 将来の何ステップ先まで予測するか | 今後数日分の天気を予測する |
| 信頼区間 | 予測値の上限/下限の範囲 | 「明日の気温は20~25度の範囲になる」 |
| 多変量 | 複数のセンサーを同時に考慮 | 温度+圧力+振動をまとめて予測する |
予測結果の例
시간 │ 실제값 │ 예측값 │ 하한 │ 상한
─────────┼────────┼────────┼───────┼───────
14:00 │ 23.1 │ - │ - │ - ← 과거 (실제 데이터)
14:10 │ 23.3 │ - │ - │ -
14:20 │ 23.2 │ - │ - │ -
─────────┼────────┼────────┼───────┼───────
14:30 │ ? │ 23.4 │ 22.8 │ 24.0 ← 미래 (예측)
14:40 │ ? │ 23.5 │ 22.6 │ 24.4
14:50 │ ? │ 23.7 │ 22.5 │ 24.9
異常検知と予測の連携活用
PlantPulse AIでは、異常検知と予測を連携させることで、より有用なインサイトを提供します。
현재 상태 파악 (TSPulse 이상 탐지)
│
│ "현재 온도 센서에서 이상 패턴 감지됨"
│
▼
미래 추세 예측 (TTM 예측)
│
│ "앞으로 6시간 내 임계값 초과 예상"
│
▼
종합 판단
│
│ "현재 이상 + 악화 추세 → 즉시 점검 권고"
│
▼
관련 문서 검색 (RAG)
│
│ "해당 설비 정비 매뉴얼 3장 참조"
│
▼
종합 리포트 생성 (AURA LLM)
活用シナリオ別のモデル構成
| シナリオ | TSPulse (異常検知) | TTM (予測) | 判断 |
|---|---|---|---|
| 正常運転 | 異常なし | 正常範囲を維持 | 正常 — モニタリングを継続 |
| 異常の初期段階 | 異常を検知 | 正常範囲 | 注意 — 推移の観察が必要 |
| 悪化傾向 | 異常を検知 | しきい値超過の見込み | 警告 — 直ちに点検を推奨 |
| 急激な異常 | 高い異常スコア | 急激な悪化 | 緊急 — 直ちに対応が必要 |
設備ヘルススコア (Health Score)
100点から減点する方式で、0~100点のヘルススコアを算出します。予測(TTM)は含まれません。 これまでに発生した事象のみを評価します。
건강 점수 = 100 − 이상 감점 − 알람 감점 − 비가동 감점 (0~100 로 자름)
이상 감점 최대 40 센서·OEE·RAM·EMS·알람의 이상 비율을 가중평균
알람 감점 최대 30 + 10 최근 24시간 알람(우선순위 가중) + 아직 안 풀린 알람
비가동 감점 최대 20 가동 정보가 있을 때만
| グレード | スコア |
|---|---|
| A · Good | 90以上 |
| B · Caution | 75以上 |
| C · Warning | 60以上 |
| D · Critical | 60未満 |
減点方式のため、「なぜこのスコアなのか」を減点内容から説明できます。 観測データが不足している場合は、
スコアとは別にグレードを付けず、Insufficient data とします。データがない状態を「正常」と
解釈しないためです。
フィーチャーストアの役割
異常検知と予測を毎回リアルタイムで実行すると、処理に時間がかかります。フィーチャーストアは、これらの結果を事前に計算して保存します。
┌─────────────────────────────────┐
│ 피처 스토어 스케줄러 │
│ │
│ 매시간: 설비별 건강점수 계산 │
│ 매일: 종합 분석 LLM 컨텍스트 │
│ 임베딩 벡터 생성 │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────┐
│ 사용자 질문: "이 설비 상태 어때?" │
│ │
│ → 사전 계산된 피처 즉시 반환 │
│ → 실시간 계산 대기 없음! │
│ → 응답 시간: 수백 ms │
└──────────────────────────────────┘