異常検知の自動化を実現
異常検知とは、膨大なデータの中から異常な状態のデータ(他の大多数のデータと比較して異なる状態のデータ)を検出する技術のことを指します。
近年では、機械学習を用いた異常検知システムの導入が製造業を中心に進んでいます。
この記事の監修
株式会社宇部情報システム
宇部情報システムは、お客様のさまざまなビジネスシーンにおいて、業務・管理面の問題解決のご提案から、それを実現するシステムの開発および運用まで、一貫したソリューションを提供しています。これまで培ってきた技術やノウハウを基盤に、これからも新しい技術を積極的に取り入れながら、付加価値の高いソリューションを提供し続けていきたいと考えています。
宇部情報システムは、様々な対象物・異常のタイプに対し、ジャストフィットした異常検知の仕組みをスクラッチで開発・導入した実績があります。 その実績とノウハウを使って広く皆様のお役に立てられる様、必要なパーツを組合わせて構築できるBTO(Build to Order)モデルとして「SAILESS」をサービス展開しました。
SAILESSは正常データからAIを用いて、従来のアラートシステムでは検知出来ない異常・故障を早期に検知します。
https://evort.jp/store/uis-inf/library/sailess
異常検知とは、膨大なデータの中から異常な状態のデータ(他の大多数のデータと比較して異なる状態のデータ)を検出する技術を指します。
異常検知は様々な分野への活用が可能な技術ですが、その代表例として「製造業」への活用が挙げられます。具体的には、機械学習を用いた異常検知システムの活用が製造業において期待されています。
異常検知の代表的手法として、「ボテリング理論」「k近傍法」「単純ベイズ法」が挙げられます。
ホテリング理論は、人の主観に影響を受けずに、客観的な評価を行うために統計モデルを用いる手法です。そのため、外れ値(異常値)を検知したい場合の最も基礎的な手法として一般的に認知されています。
k近傍法は、分類の際に使用される手法です。異常検知を実施するデータが多数のクラスターからなる場合、ホテリング理論では外れ値(異常値)を取り除くことができません。そのため、確率分布を明確にしないで外れ値(異常値)を検知するk近傍法を用います。
時系列データの外れ値(異常値)を検知する際に用いられることが多い手法です。
単純ベイズ法は、ベイズの定義を基にしたアルゴリズムです。ベイズの定義は、データセットがいくつか与えられたとき、それを基にした複数の推定がある場合に、どの推定が最も近しいのかを判断する際に用います。
従来の異常検知は機械設備にセンサーを取り付け、収集されるデータを基に人が異常の有無を判断していました。
しかし、データの分類・識別を可能にする機械学習は異常検知との親和性が高いため、機械学習を用いた異常検知を製造業へ導入することによって、これまで人が行ってきた作業を自動化することが可能です。
機械学習モデルには様々なものがあります。その代表例として、「教師あり学習」「教師なし学習」「半教師あり学習」「強化学習」「生成モデル」をご紹介します。
教師あり学習とは、人が教師として機械に「正解」を教えることによって、機械に学習を行わせる手法です。
具体的には、大量のデータを取り込み、それぞれに「正常」「異常」といったラベル(判定)を付けていきます。このラベルに基づいたトレーニングを繰り返すことによって、正常・異常の判断の精度を求められているところまで引き上げていくことになります。仮に検出したい異常状態が明確な場合は「教師あり学習」が強みを発揮します。しかしその一方で、異常状態が事前に把握できていないような場合は「教師なし学習」の方が優れています。
教師なし学習も、大量のデータを取り込むことで機械に学習を行わせる点は「機械あり学習」と同様です。教師あり学習との最も大きな違いは、ラベル(判定)を人が事前に付けるのではなく、データに基づいてAIに自律的に判定を行わせる点にあります。そのため、機械なし学習の方がより多くのデータを必要とします。
半教師あり学習とは、その名の通り、教師あり/なし学習のどちらの要素も取り込んだ手法です。少量のデータにのみラベル(判定)を付け、そのラベルを参考に他のデータのラベルをAIに自律的に認識させます。
なお、異常検知においては正常なデータのみを学習する方法が数多くあるため、その際に半教師学習と呼ぶケースもあります。
強化学習とは、AIに報酬を与えることで自発的に学習させていく手法です。例えば、様々なシミュレーションの末に最大化した利益を得るような方法は強化学習にあたります。異常検知として活用されるケースは少ないものの、株取引などで用いられているアルゴリズムです。
生成モデルは、データに基づいてオブジェクトをつくりだします。外れ値を検出することができ、データのサンプリングが可能です。異常検知においては、正常データのみを学習させる場合に役立ちます。
製造業の異常検知において、学習モデルによる異常検知システムを活用するケースが増えています。この技術を活用することで、異常検知を機械で自動化することが可能です。
AIを使用した異常検出技術は、機械の異常な動作を感知する能力を提供します。データを事前に学習させておけば、異常を事前に検知できるため、事故や問題の発生を未然に防ぎ、システムの安全性向上に寄与してくれるでしょう。
機械学習を活用することで、従業員は最低限の業務で異常を検知できるようになります。AIは明確な可視的および数値的な基準に基づいて異常を検知します。機械学習の力を借りることで、AIは人が難しいと感じるほど微細かつ速やかな検知を実行します。
従業員はこの明快なAIの働きをサポートすることで、高精度な異常検知業務を実施できます。人間の視覚や感覚だけを頼りに異常を見つけることは心理的にも負担が大きいことがありますが、AIの導入により、従業員はそのような負担から解放されつつ、検知にかかる時間も短縮することが可能です。
製造業界では、長年の経験に裏打ちされた熟練検査員の技術に依存する傾向が強くあります。しかしながら、これに頼りっきりとなることはリスクを孕んでいます。特に、熟練検査員が退職すれば、経験の浅いスタッフが残る可能性が高まり、不良品の適切な検出が難しくなるという課題が生じることでしょう。
このような課題において、異常検知システムの導入は有効的です。異常検知システムは熟練検査員に過度に依存する必要性を排除し、属人化を防ぐ一助となります。
人間による検査では、避けられないヒューマンエラーが発生する可能性が高いため、この問題を防ぐことは非常に難しい課題です。しかし、異常検知システムの導入により、人間による検査よりも高い精度で異常を検知できるため、ヒューマンエラーの発生を抑制することができるようになります。
異常検知システムの構築にあたっては、以下のようなフェーズを経る必要があります。
以下に、開発を除く、3つのフェーズについての各キーポイントを解説します。
異常検知は目的ではなく、手段です。そのため、前提条件となる目的・課題を整理したうえで、異常検知という選択肢を講じる必要があります。
また、対象プラント・機器の重要度によって求められる検知タイミングや精度が異なるため、全体観とは別に個別の目的・課題も洗い出します。
分析・設計のフェーズにおいては、「変数選択」「前処理」「検知アルゴリズム」「アラートルール」がキーポイントとして挙げられます。
異常がどのようにデータとして表れるのかを分析し、その結果を基に、未経験の異常が起こった際にどのような変化が見てとれるのかの仮説を立てます(ドメイン知識による仮説に基づいた変数選択)。
例)ある機器の故障を検知したい場合、機器近辺のセンサー値を採用。SV値など変化のない値は除外etc
センサーからの瞬時値をそのまま使う? | ・センサー値をそのまま使用するケースはほとんどなく、データの平滑化や粗視化といった前処理をかける ・変動が激しい際は差分値(1時点前の値との差)が有用な場合もある |
---|---|
外れ値除去 (ノイズ除去) | ・全期間でノイズが乗っている ・不調になるとノイズが乗り始める |
特徴量抽出 | 例)時系列データを、ある一定の期間単位で評価・判定したい場合 その期間の波形の特徴量を抽出 ・基本的な統計量(平均値、分散、最大値etc) |
正常からの外れ具合(距離)をどのように求めるかについては、主に以下のような手法があります。
正常データの分布に基づいた手法 | 正常時のデータの分布からどれだけ外れているか ・機器/装置周辺の複数の変数でグルーピング ・過去の正常時のデータを使って、分布/特徴を学習 ・現在値が正常データの分布からどれだけ離れているか距離を算出し異常度とする(距離の算出には、正常データの分布の種類により適した手法を選択) |
---|---|
ソフトセンサーの応用 | ソフトセンサー(仮想計測技術): 異常検知したい機器周辺のセンサーの中から目的変数を選択 ・過去の正常時のデータを使って、予測モデルを構築 ・構築した予測モデルに、現在値を入力し、目的変数の値を予測 ・目的変数の予測値と実測値の差を異常度とする |
ディープラーニングを使った手法 | オートエンコーダー ・考え方はソフトセンサーと同じ ・入力に対し、全変数を出力するモデル ・正常データでモデルを構築し、現在値を入力し判定 ・出力層と入力層の差を異常度とする |
誤検知を防ぐために(モデル自体の精度がある前提で)アラートを鳴らすルールを設けます。
100点の閾値は難しいという前提条件の理解が重要です。
異常度のトレンドやヒストグラムを参考に設定。取りこぼしを極力失くし、誤検知をどこまで許容できるかを決めます。
異常度が閾値を超えるとアラートを鳴らすというのを基本としつつも、プラスアルファで「○回連続で超えるとアラート」「ある期間中に◯回超えるとアラート」という工夫を施すことで、ご検知を減らすことができます。
現場でのスムーズな活用を実現するためのポイントを2点ご紹介します。
異常検知システムを導入したことにより、現場で監視すべき画面を極力増やさないことが重要です。
例)稼働設備のリアルタイムの運転評価
稼働設備のスコアリングとしてもシステムを活用することで、設備のトラブルをより回避しやすくなります。
閾値を基準に異常のアラートを鳴らすように設定するだけでは、設備の正確な状態は把握できません。そこで、設備の状態をデータとしてリアルタイムで可視化できるようにシステムを構築することで、設備の運転評価を常時行うことができるようになります。
宇部情報システムでは、正常データからAIを用いて、従来のアラートシステムでは検知出来ない異常・故障を早期に検知することができる「異常予兆検知システム構築サービス SAILESS」をご提供しています。
SAILESSは、パッケージではなく構築サービスです。様々なお客様の現場で抱える課題に対し、ジャストフィットした検知システムをご提供するため、実際のデータの分析から行い、最適な検知システムを構築するサービスを展開しています。
SAILESSでは、各種センサーから得られた正常稼働時のデータによって構築された検知モデルを用いて「異常度」を算出し、アラートするシステムです。
SAILESSでは、正常時データだけで検知モデルを構築するため、これまで未経験のトラブルでも予兆検知することが可能です。
導入後、AIモデルのチューニングや、同一傾向がある他の機器への横展開をユーザー様ご自身で実施出来る仕組みをご用意します。
▶︎SAILESS(異常予兆検知システム構築サービス)について詳しく見る