見出し画像

【機械の故障予測法をご紹介】Humanome CatData × 機械の稼働データを使ったAI解析

こんにちは。ヒューマノーム研究所・代表取締役社長の瀬々です。

今回は、どの機械が故障しそうか?を予測するAIを構築していきます。壊れてしまう前に機械の不調の兆しに気づくことで、代替機材や交換部品の事前準備が可能となり、工場の安定した稼働をサポートします。このAIを利用することで、人の目を通さずに機械の不調を知ることができます。

本項目では、UCI Machine Learning Repository で公開されているデータを利用して解析を行いました。データの変更点・加工した点などは文末に記載します。

1. 「機械の故障を予測するAI」構築に向けた目標設定

AI構築を行う際に必要となる目標設定や全体の流れは、こちらのnoteの記事と同様です。この先、AI構築時に利用する Humanome CatData の使い方についてもまとめています。合わせて参照してください。

今回の「機械の故障を予測するためのAI」構築の流れは以下の図の通りとなります。

スクリーンショット 2021-09-06 9.55.36

AI構築は、最初に「目標設定」が必要となります(①)。「故障を予測するAI」は、機械から得られるセンサーデータ・稼働データを基に構築します。ここで定めた目標を達成し、一定精度で予測することができれば、故障しそうな予兆のあるメンテナンスしなければならない機械について、自動で知らせるシステムの構築できます(④)。

スクリーンショット 2021-09-06 11.52.27

2. データ収集

スクリーンショット 2021-09-06 9.55.36

目標設定が終わったら、次はデータを集めます(②)。AIは最初から賢いわけではなく、赤ちゃんのように何も知らない状態からはじまります。AI構築では、この赤ちゃんに機械が故障したときの状態や、正常に稼働している状態を教え、機械が故障する、とはどのような状態であるかをデータを通して学んでもらっていきます。

今回の「データ収集」では、きちんと動いている機械や壊れてしまった機械から稼働情報を集め、その稼働状況データをエクセルの表形式にまとめます。

スクリーンショット 2021-09-06 11.55.56

機械の故障予測を実施する際は、対象の機械に内蔵あるいは取り付けられているセンサーや、稼働時間等の情報が故障に関連した重要な項目になると考えられます。

今回のデータは、機械の空気孔の温度、動作時の機械の温度、モーターの回転速度、そのトルクなどが計測されたものです。このExcelデータをCatDataにドラッグアンドドロップすると、下記のようなデータ分布を確認することができます。

画像5

3. AIモデル構築

データを集めたら、AIモデルの構築を行います。モデル構築の手順については、以下の記事をご参照ください

AIを構築する際は、予測したい項目を選んだ上で、AIにデータを学習させる必要があります。今回は、機器の故障を予測したいので「機器の故障」列を選択します。上記の記事通りにCatDataのボタンをクリックすると学習が開始されます。

スクリーンショット 2021-09-06 12.51.34

なぜ学習する際に予測したい対象を指定する必要があるのかと思われるかも知れませんが、この時点ではCatDataに対して「何を予測したいのか?」については伝えていません。AIに対して、何を予測したいかについては、きちんと指定する必要があります。

画像6

4. AIモデルの評価

作成したAIモデルの精度は、CatData上で確認できます。表示されるグラフの読み方については下記の記事をご参照下さい。

CatDataでは、機械学習モデルを評価する際に利用する指標として、混同行列やROCカーブ・AUCを利用できます。

画像7
画像8

■ ROCカーブとAUC:予測を行うAIを作る際に、予測精度指標の1つです。特に二値分類(予測対象が2つのクラスのデータで予測すること。今回は「機械が正常」「機械が故障した」の2つのクラスがあります。)をする時に用いられます。
ROCカーブは、偽陽性率(ここでは故障を正常と予想してしまった割合)を横軸に、真陽性率(正解を正解と予想した割合)を縦軸にとっています。カーブが左上に偏っているほど、よい精度のモデルと言えます。
AUC (Area Under the Curve)は、ROCカーブが描く曲線の下の面積を表す値です。値が大きいほど精度の良いモデルと言えます。

5. AIモデルの活用

納得の行く精度のAIができあがった後は、日々の機械の稼働結果をCatDataにアップロードしていくことで、機械の故障を予測することができます。また、データ収集からCatDataを用いた予測までを自動化することで、何か問題が起きそうなときだけ警告を出すようなシステムも作成できます。

スクリーンショット 2021-09-06 12.41.09

また、作成したAIモデルで誤検出が起こった場合は、その情報を追加したデータを学習することで、さらに精度の高いモデルを作成することができます。日々得られるデータを活用して、現在利用しているAIモデルを改善し続けることも、AIを活用する上ではとても重要です。

6. 本記事で利用したデータについての補足

本デモで利用しているデータは、UCI Machine Learning Repository: AI4I 2020 Predictive Maintenance Dataset Data Setを元に、各列の名前を日本語に変換したものを利用しました。

■ 各列の日本語対訳
・UDI:検査番号
・Product ID:機器ID
・Type:タイプ
・Air temperature [K]:空気孔温度
・Process temperature [K]:動作時温度
・Rotational speed [rpm]:回転速度
・Torque [Nm]:トルク
・Tool wear [min]:利用時間
・Machine failure:機器の故障
・TWF HDF PWF OSF RNF:名称変更なし

7.  おわりに

実際にAIを構築する際は、各機器から何の情報を取得するかという点も重要になります。取得の難しい、あるいは、値が安定しないデータを利用すると、構築したAIの精度も下がり、運用での負担も増えます。

機器の故障が安定して予測できるようになるためには、AI精度を高くするだけではなく、システムトータルで考えることが大切です。弊社では、目標設定やデータ集めなど、AI構築のスタート地点からご相談に応じています。お気軽にお問い合わせください。


Humanome CatDataはデータがあればすぐにAI開発できるノーコードツールです。とはいえ、やっぱりAI開発って難しそう・・・、という方向けの無料テキストを用意しております。企業情報等の入力は不要です。お気軽にご利用下さい。

AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


この記事が気に入ったらサポートをしてみませんか?