設備故障を防ぐ!Kubernetesと機械学習で実現する製造業IoTの異常検知システム

2021年06月10日 木曜日


【この記事を書いた人】
村松 航平

2016年にIIJに入社し、統計・機械学習を用いたデータ分析業務・分析システムの開発に従事する。

「設備故障を防ぐ!Kubernetesと機械学習で実現する製造業IoTの異常検知システム」のイメージ

はじめに

はじめまして。IoTビジネス事業部技術部ソリューションインテグレーション課 村松と申します。

入社以来ビッグデータ関連のSI案件に従事しており、現在は製造業IoT領域におけるデータ分析システムの開発やデータ分析業務に従事しております。

本記事では「Industorial IoTプラットフォーム「WISE-PaaS」概要」でご紹介した、ADVANTECH社の産業向けのクラウドサービス「WISE-PaaS」による製造業における「見える化」の次のステップとして、統計解析や機械学習といったデータサイエンスを用いたデータの活用方法を紹介します。データサイエンスや機械学習と聞くと、言葉自体は昨今いろいろな所で見聞きしますが、実際の業務にどのように役立つかわからなかったり、どのようにシステム化していいのかわからない方も多いのではないでしょうか。今回はデータサイエンスが製造業にどのように役立つのか、また実際にシステム化する際のアーキテクチャについてお伝え出来ればと思います。

製造業におけるデータサイエンス

製造業におけるデータ可視化のメリットについては「Grafanaによる製造業IoT、見える化のメリットとは?」にて、Grafanaを活用した可視化例をもとに設備保全や品質管理などの業務がどう改善するのか紹介しました。

「見える化」だけでも業務改善が見込めますが、データサイエンスを用いることで、さらなる効果を生み出すことも出来ます。収集したデータから抽象的なパターンや傾向といった深い知識を抽出することで、可視化だけでは実現困難な以下の様な業務改善が可能となります。

製造設備の故障検知とは

代表的なユースケースとして「製造設備の故障検知」についてもう少し具体的に説明します。

IoTの導入を進めている工場・ラインでは最初のステップとして「見える化」による製造設備のリアルタイムな状態(電流値、振動、温度など)の可視化を目指しているかと思います。しかし、実際に故障が起きた時のことを考えると、可視化だけではちょっと大変なことになるのではないでしょうか。可視化では「故障が起きてしまった後の状態」は捉えることが出来ますが、それでは故障が原因となって発生するさらに大きなダメージを負ってしまうかもしれません。つまり、故障した設備が原因で「ライン停止による生産計画の遅延」や「故障による不良品の生産」などの故障そのものよりも重大な問題を引き起こしてしまう可能性があります。

よって「故障が起きてしまった後の状態」ではなく、「故障が起こるかもしれない状態」(=故障予兆)を捉えて故障する前にメンテナンスをする必要があるのです。早期に故障予兆を捉えることで、「稼働率の低下を最小限にする効率的なメンテナンスの実施」や「完全に故障した場合と比べてメンテナンスコストを低く抑えられる」などの利点が生まれます。製造現場にとっては嬉しい業務改善ですよね。

故障予兆を捉えるためには、人間ではわからない正常時との振る舞いの差異や将来のデータ傾向の予測といったことが必要になり、設備から取得したデータを元に、データサイエンスを用いた仕組みを使って故障に繋がるような兆候を発見します。また、故障検知を実現するためのデータサイエンスの領域は「異常検知」や「Anomaly Detection」などと呼ばれ、例として以下3つに大別される様な手法が用いられます。対象とする設備の種類や動作状況などによって使い分ける必要があります。

  • 外れ値検知・・・正常稼働時の設備のデータから正常パターンを学習し、予測時に正常パターンからの乖離を元に故障予兆を検知します。
  • トレンド検知・・・過去の稼働データから将来のデータ傾向を予測し、閾値を上回るまたは下回るタイミングを求めることで故障予兆を検知します。
  • 相関異常検知・・・普段似た挙動を示す複数の設備の稼働データから設備同士の関係性を学習し、予測時に関係性の崩れから一部の設備の挙動の変化を捉えることで故障予兆を検知します。

Kubernetesによる異常検知システム

では、上記の様な異常検知の仕組みはどのようにシステム化出来るのでしょうか。

異常検知システムの構築は、WISE-PaaSで提供されているKubernetes基盤上に、デフォルトで提供されているPodに加えて、WISE-PaaSユーザが独自でデプロイ出来るPodを使って進めます。WISE-PaaS上のデータベースやDashboardを用いて製造設備の監視を行う部分は「見える化」ステップのアーキテクチャと同様ですが、ここにデータ分析を行うための「分析モジュール」を追加することで異常検知モデルの学習・推論などを可能としています。「分析モジュール」は下図の様に複数のPodから成っており、それぞれが①アドホック分析・モデル学習・デプロイ、②データの送受信・加工、③異常検知APIといった役割を持っています。

①ではJupyter Notebookを中心とした分析フローが設計されており、データの抽出からアドホック分析、モデル学習、モデルデプロイまでの一連の分析作業をノートブックを起点にして行うことが出来ます。分析手順や実行プログラムを雛形として提供している分析テンプレートも用意されており、用途に応じてテンプレートを選択すればすぐに分析作業を開始することが出来ます。また、ノートブックを起点とした分析フローを構築しているため、アドホックに分析したノートブックをそのままモデル学習バッチに転用したり、スケジューラに登録して定期レポートを作成することも出来ます。

①で学習・デプロイされたモデルは③の異常検知API経由でアクセス可能となり、リクエストに対して異常スコアの計算と異常判定処理を行います。リアルタイムデータはRabbitMQ経由で②にて受信・加工後、③の異常検知APIにリクエストされ、レスポンスをデータベースに送信します。

このような感じで異常検知の大まかな流れは進んでいきますが、さらに異常検知の結果をDashboardで可視化することで異常判定の結果や異常スコアの確認も出来ます。また、異常検知時はメールやチャットツールなどでの通知も可能です。

学習済みのモデルについて確認したい場合はDashboardからモデルごとのパラメータやアルゴリズムなどについても調べることが出来ます。例えば検知数の過剰な増加などモデルに問題があると考えられる場合、現在運用中のモデルのパラメータを参考に適切なパラメータにチューニングをする、といった使い方が考えられます。

最後に

製造業IoTにおけるデータサイエンス活用のメリットと、実際に異常検知システムをKubernetes基盤上に実装する際のアーキテクチャについて紹介しました。可視化フェーズと比べて技術的なレベルが上がるため導入を躊躇してしまうかもしれませんが、効率的なメンテナンスの実現やメンテナンスコストの削減など、多くのメリットが得られることがわかって頂けたら幸いです。

村松 航平

2021年06月10日 木曜日

2016年にIIJに入社し、統計・機械学習を用いたデータ分析業務・分析システムの開発に従事する。

Related
関連記事