異常ラベルがなくても始められる理由
工場の異常は年に数回しか起きず、起きたときの記録も「〇月〇日 ポンプ停止」程度しか残っていないのが普通です。教師あり学習(正解ラベルを使う学習)には異常例が数十〜数百件必要になるため、この状態では使えません。そこで、正常な状態のデータだけを学習して「いつもと違う」を検出する半教師あり・教師なしの方式から入ります。
この方式で精度が出ないのではないか、という心配には研究の裏づけがあります。Schmidlらが71の異常検知アルゴリズムを967の時系列で比べた評価(PVLDB, 2022)では、どのデータにも最適な手法はなく、教師ありの手法が教師なし・半教師ありを上回ることもなかったと報告されています。同じ評価では、KNNやSubsequence LOFといった距離ベースの手法が頑健でした。つまり、ラベルがないこと自体は致命傷ではなく、問題は「何を正常と呼ぶか」を決められているかどうかです。
手順1:正常期間を定義し、学習データから異常を取り除く
正常データだけで学習する方式は、学習データに異常が混ざると、その異常を「正常」として覚えてしまいます。最初の作業は、過去データのうちどの期間を正常と呼べるかを決めることです。
- 保全記録・故障報告・停止履歴を時系列に並べ、故障の前後(目安として前2週間・後1週間)を学習期間から外す
- 段取り替え、立上げ・立下げ、清掃、計画停止の時間帯を除く。これらはMESや生産実績の稼働状態コードで判別できる
- 設備改造や部品交換の前後で挙動が変わる場合は、交換後の期間だけを使う
ここで効くのがMESの記録です。稼働状態(生産中・段取り・停止)と停止理由がタイムスタンプ付きで残っていれば、正常期間の切り出しは機械的に行えます。逆にMESがなく紙の日報しかない場合は、最初の数週間を「データ取りの期間」と割り切り、稼働状態だけでも記録する仕組みを先に作るほうが近道です。
手順2:運転モードごとに正常モデルを分ける
製造現場で最も効く工夫は、品種・負荷・季節などの運転モードごとに正常モデルを分けることです。品種Aの正常と品種Bの正常をまとめて学習すると、「品種Bに切り替わった」こと自体が異常として出続けます。
運転モードの区切り方は、次の順で検討します。
| 区切りの候補 | データの取り先 | 向いている設備 |
|---|---|---|
| 品番・レシピ | MESの作業指示・バッチ記録 | 射出成形、塗装、化学バッチ |
| 負荷帯(回転数・流量) | PLCの設定値・指令値 | ポンプ、ファン、コンプレッサ |
| 季節・外気温 | 気象データ、建屋の温度計 | 空調、冷却水、屋外設備 |
| 稼働経過時間 | 立上げからの経過分 | 熱を持つ設備(炉、押出機) |
品番と時系列を紐付けるキー(作業指示番号やロット番号)が取れるかどうかで、ここの作業量が大きく変わります。多変量で相関の崩れを見る方法は多変量の設備データで異常検知で扱っています。
手順3:閾値は「1日あたりの誤報件数」から決める
正常データだけのモデルは、異常度スコアを出すだけで、どこから異常と呼ぶかは人が決めます。ラベルがないので再現率は測れません。そこで最初は、正常期間の検証データで「1日あたり何件アラームが出るか」を見て、現場が受け止められる件数(たとえば1設備あたり週1件以下)に合わせて閾値を置きます。
評価で注意したいのは、学術ベンチマークの数字をそのまま信じないことです。Wu & Keogh(2020)は、Yahoo・Numenta・NASAなど代表的な時系列異常検知ベンチマークの多くに欠陥があり、近年の進歩は過大評価の可能性があると指摘しました。自社データでの誤報件数と、過去の既知故障を何日前に捉えられたかを見るほうが確実です。誤報を減らす設計は異常検知の誤報を減らす設計を参照してください。
手順4:現場の判定を記録してラベルを育てる
運用を始めたら、アラームのたびに保全担当が「本物の異常/誤報/不明」を記録します。この記録が、後で教師ありに近い評価をするためのラベルになります。半年分たまれば、見逃しと誤報の両方を数えられるようになり、閾値を根拠をもって動かせます。
記録を続けてもらうには、入力の手間を最小にすることが要です。アラーム画面に3択のボタンを置き、MESや保全管理システム(CMMS)の作業記録と同じIDで残すと、後から故障履歴と突き合わせられます。
よくある質問
正常データはどのくらいの期間が必要ですか
運転モードごとに、季節変動や品種の切り替えを一通り含む期間が目安です。季節の影響を受けない設備なら数週間で始められますが、空調や冷却系は少なくとも1シーズン分を用意してください。
オートエンコーダなど深層学習を使うべきですか
最初の選択肢にする必要はありません。Schmidlらの評価では再構成ベースの手法の多くがAUC-ROC 0.5付近にとどまり、距離ベースの手法が頑健でした。単純な手法で誤報と検知タイミングを確かめてから比較するのが順番です。
異常が一度も起きていない設備でも評価できますか
過去の故障がない場合、検知性能は運用しながらしか測れません。代わりに、意図的に負荷を変える、同型の別設備の故障記録を借りるなどで「異常度が上がること」だけは確認しておきます。
この記事に出てくる用語
AIは「データ基盤」で決まる
PoCは成功したのに本番で止まる。原因の多くはモデルではなく、MESと設備データの側にある 全130本
- MESとAIの関係:ロット・作業指示・品質判定がAIの精度を決める理由
- 製造業AIが本番で止まる7つの理由:PoCは成功したのにラインに載らない構造
- 製造業のAI-OCR:紙の検査記録・点検表・ミルシートをデータ化する手順
- データ基盤の段階的導入ロードマップ:ユースケースから逆算する8ステップ
