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]
↑
이상 점수 높음! → 이상 탐지됨
主要概念
| 概念 | 説明 | たとえ |
|---|---|---|
| 再構成誤差 | 元データと復元データの差 | コピー機は原本をうまくコピーできるが、異常な部分はコピーできない |
| しきい値 (threshold) | 異常と判定する誤差の基準値 | 「ここまでは正常、これ以上は異常」という基準線 |
| 自動しきい値 | threshold=0 設定時にデータから自動決定 | AIが適切な基準を自動で設定してくれる |
PlantPulseでの活用
센서 데이터 (최근 N분)
│
▼
TSPulse 모델에 입력
│
▼
각 시점별 재구성 오류 계산
│
▼
임계값 초과 구간 = 이상 구간
│
├──▶ 이상 메트릭 상위 K개 추출 (top_k)
├──▶ 이상 점수 및 시간 정보 반환
└──▶ 최근 N초 이내 이상 여부 판정 (recent_seconds)
時系列予測 — TinyTimeMixer (TTM)
TTMとは?
TinyTimeMixerは、IBMが開発した軽量時系列予測モデルです。過去のデータパターンを学習して将来の値を予測します。「Tiny」という名のとおり、少ないリソースでも高い性能を発揮します。
動作原理: 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)
TSPulseとTTMの分析結果を総合して0〜100点の健全性スコアを算出します。
건강 점수 = f(센서 이상 점수, OEE, RAM, EMS, 알람 빈도)
100점: 모든 지표 정상
70점: 일부 센서 이상 또는 OEE 저하
50점: 다수 이상 감지, 주의 필요
30점: 심각한 이상, 즉시 점검 필요
0점: 설비 정지 또는 심각한 고장
フィーチャーストアの役割
毎回、異常検知と予測をリアルタイムで実行すると時間がかかります。フィーチャーストアは、この結果を事前に計算して保存します。
┌─────────────────────────────────┐
│ 피처 스토어 스케줄러 │
│ │
│ 매시간: 설비별 건강점수 계산 │
│ 매일: 종합 분석 LLM 컨텍스트 │
│ 임베딩 벡터 생성 │
└──────────────┬──────────────────┘
│
▼
┌──────────────────────────────────┐
│ 사용자 질문: "이 설비 상태 어때?" │
│ │
│ → 사전 계산된 피처 즉시 반환 │
│ → 실시간 계산 대기 없음! │
│ → 응답 시간: 수백 ms │
└──────────────────────────────────┘