「センサーデータをそのままAIへ」が失敗の始まり
製造現場の課題として、センサーデータの活用が挙げられます。「工場内のセンサーからデータを集められるだけ集めて、AIに投げ込めば何か異常の予兆が見つかるはずだ」と考えるケースは少なくありません。しかし、このアプローチは期待外れの結果に終わることが多く、「AIを導入したのに、ベテランの経験に及ばない」「誤検知が多発し、稼働率が低下する」といった状況を招きがちです。
なぜ、うまくいかないのでしょうか。AIの性能が低いからではなく、AIに渡すデータの「食べさせ方」に改善の余地があるからです。
よくある誤解:AIは魔法の箱ではない
近年、ディープラーニング(深層学習)の発展により、「特徴量抽出(Feature Extraction)」をAIが自動で行うという考え方が広まりました。画像認識や自然言語処理の分野ではその通りですが、製造現場の時系列センサーデータ、特に異常検知においては注意が必要です。
生のセンサーデータ(Raw Data)をそのままAIに入力するのは、例えるなら、泥付きの野菜や鱗のついた魚をそのまま鍋に放り込んで「美味しい料理を作れ」と命じるようなものです。どんなに優秀なアルゴリズムでも、下処理されていないデータでは本来の精度を発揮できません。
生データ(Raw Data)に含まれる「ノイズ」と「本質」
現場のセンサーデータには、異常検知に必要な「本質的な変化(シグナル)」だけでなく、不要な「ノイズ」が大量に含まれています。
例えば、モーターの振動データを考えてみましょう。1秒間に数千点ものデータが記録されますが、その中には電源周波数のノイズ、隣の設備の振動、床からの振動などが混ざり合っています。さらに、ただ「モーターが回っている」というだけの正常な振動情報がデータの99%以上を占めていることもあります。
もし、この膨大なデータをそのままAIに学習させようとすると、AIは「正常な振動」を覚えることに注力し、「異常の兆候」を見落としてしまう可能性があります。また、データの次元数(入力データの数)が膨大になりすぎて、計算コストが跳ね上がり、リアルタイムでの監視が難しくなるという「次元の呪い」にも直面するかもしれません。
必要なのは、膨大な波形データの中から「異常を示す成分」だけを抽出し、AIが処理しやすい形に加工することです。これが「特徴量抽出」であり、異常検知プロジェクトの成否を分ける重要な工程となります。適切に特徴量を抽出することで、AIの検知精度が大幅に向上し、誤検知率を数十分の1に低減できるケースもあります。
特徴量抽出とは?:波形を「数値のプロフィール」に翻訳する
では、具体的に「特徴量抽出」とは何をする作業なのでしょうか。専門書を開くと難しい数式が並んでいますが、現場で活用する上では直感的なイメージさえ掴んでおけば十分です。
直感で理解する特徴量の役割
特徴量抽出とは、一言で言えば「複雑な波形データを、その性質を表す少数の数値(プロフィール)に要約すること」です。
例えば、人の顔を説明するとき、「目、鼻、口の全画素データ」を伝える人はいません。「丸顔で、目が大きくて、鼻が高い」といった「特徴」を言葉にします。これが特徴量抽出です。
センサーデータも同様です。1分間の振動波形データには数万個の数値が並んでいますが、それを「平均的な強さ(平均値)」「ばらつき具合(分散)」「1秒間の揺れの回数(周波数)」という数個の指標に変換します。こうすることで、データ量は圧縮され、かつ「正常」と「異常」の違いが際立ちます。
「波形」を「点」として捉え直すアプローチ
少し視点を変えてみましょう。生データのままだと、正常な波形と異常な波形を目視で比較するのは困難です。どちらも似たようなギザギザに見えることが多いからです。
しかし、特徴量抽出を行って「振動の強さ」をX軸、「揺れの速さ」をY軸にとったグラフを作るとどうなるでしょうか。正常時のデータはグラフの左下に集まり、異常時のデータは右上に飛び出すといった傾向が見えてきます。
このように、特徴量抽出を行うことで、複雑な時系列データを「空間上の点」として扱えるようになります。点が集まっている場所が「正常エリア」、そこから外れた点が「異常」と定義できれば、機械学習モデルは高精度に異常を検知できるようになります。
つまり、AIに正確な判断をさせるためには、アルゴリズムを複雑にするよりも、正常と異常が明確に分離するような「良い特徴量」を見つけ出すことの方が、結果的に稼働率向上への近道となります。
ステップ1:基本の時間領域特徴量(Time Domain)
ここからは、実際にどのような特徴量が使われるのか、代表的なものを解説します。まずは最も基本的で、計算も簡単な「時間領域(Time Domain)」の特徴量です。これは、波形の時間的な変化を統計的に要約するものです。
まずはここから:「平均」と「分散」で全体像を見る
最も馴染み深いのが「平均値」です。これは信号の「バイアス(偏り)」を表します。例えば、温度センサーや圧力センサーの場合、平均値の上昇はそのまま異常(過熱、過加圧)を意味することがあります。しかし、振動データなどの交流波形の場合、プラスとマイナスを行き来するので、単純な平均値はほぼゼロになってしまい、あまり意味を持ちません。
そこで重要になるのが「分散(Variance)」や「標準偏差(Standard Deviation)」です。これらはデータの「ばらつき具合」を表します。振動データにおいて、分散が大きくなるということは、波形の振れ幅が大きくなっている、つまり振動が激しくなっていることを意味します。軸受(ベアリング)が摩耗してガタつき始めると、まずこの分散の値が上昇傾向を示すことが一般的です。
突発的な異常を捉える「最大値・最小値」
平均や分散は、一定期間(例えば1秒間)の全体的な傾向を見るものですが、一瞬だけ発生する衝撃のような異常は、平均化されて埋もれてしまうことがあります。
そこで役立つのが「最大値(Max)」や「最小値(Min)」、あるいは「ピーク・ツー・ピーク(最大値と最小値の差)」です。これらは、ギアの歯欠けや異物の噛み込みなど、回転ごとの衝撃的な振動(衝撃波)を捉えるのに適しています。
波形のギザギザ具合を見る「実効値(RMS)」
製造現場の振動解析でよく使われるのが「実効値(RMS: Root Mean Square)」です。計算式は少し複雑ですが、物理的な意味は「波形のエネルギーの総量」を表していると考えてください。
RMSは、平均的な振動の強さを示す指標として優秀です。瞬間的なピークノイズの影響を受けにくく、設備全体の振動レベルが徐々に上がっていくような劣化傾向(アンバランスやミスアライメントなど)を監視するのに適しています。ISOの振動規格などでも、このRMS値を基準に正常・注意・危険を判定することがあります。
これらの時間領域特徴量は、計算負荷が軽く、エッジデバイス(センサーのすぐそばにある小型コンピュータ)でもリアルタイムに計算できるのが強みです。
ステップ2:振動解析の王道「周波数領域」への入り口
時間領域の特徴量だけで異常が見つかれば良いのですが、回転機器の異常はそう簡単ではありません。見た目の振動レベル(RMSなど)は変わらないのに、内部で深刻な損傷が進行しているケースがあります。ここで必要になるのが「周波数領域(Frequency Domain)」への変換です。
時間軸では見えない「隠れたリズム」
実際の製造現場では、ポンプの振動の大きさ(RMS)はずっと正常範囲内だったにもかかわらず、突然ベアリングが焼き付いて停止したという事例も報告されています。原因は、特定の周波数だけで発生していた微弱な異常振動でした。
波形データには、様々な速さの揺れ(リズム)が混ざり合っています。時間領域の波形を見るだけでは、それらが混ざり合って区別がつきません。料理のスープを飲んで、そこに含まれているスパイスの種類をすべて言い当てるのが難しいのと同じです。
FFT(高速フーリエ変換)をざっくり理解する
ここで登場するのが「FFT(高速フーリエ変換)」という技術です。これは、混ざり合った波形を、元の成分(周波数)ごとの強さに分解する処理です。プリズムに太陽光を通すと、虹色のスペクトルに分かれるように、FFTはデータのプリズムと言えるでしょう。
FFTを通すと、横軸に周波数、縦軸に強さをとった「スペクトル」というグラフが得られます。これを見ると、「1秒間に60回揺れる成分が強い」「120回の成分も少しある」といったことが定量的に把握できます。
回転機器の異常検知に周波数が不可欠な理由
なぜ周波数が重要かというと、回転機器の部品ごとに「壊れた時に出す特有の周波数」が決まっているからです。
- アンバランス(重心のずれ): 回転数と同じ周波数(1X)が強く出る。
- ミスアライメント(軸ズレ): 回転数の2倍(2X)や3倍(3X)の成分が出る。
- ベアリングの傷: 回転数の数倍〜数十倍の特定の周波数(計算で求まる)が出る。
つまり、周波数領域の特徴量(特定周波数帯のピーク値やエネルギー)を監視していれば、「振動全体としては大きくないが、ベアリングの傷を示す周波数だけが急激に伸びている」といった初期異常を検知できる可能性があります。
これは時間領域の特徴量だけでは見つけられない、予知保全の重要な領域であり、突発的な設備停止を防ぐことで工場の稼働率向上に直結します。
実践!現場データで試すためのロードマップ
ここまで、特徴量抽出の基本概念を解説しました。「なんだか難しそうだな」と思われたかもしれませんが、最初から全てを完璧にこなす必要はありません。現場で使えるAIを構築するための、現実的なロードマップを提示します。
まずはExcelでもできる可視化から
いきなりPythonでプログラムを書いたり、高価な解析ソフトを導入したりする必要はありません。まずは手元にあるセンサーデータのCSVファイルをExcelで開き、グラフにしてみることから始めましょう。
そして、簡単な計算式で「1秒ごとの平均値」や「最大値」を算出し、その推移を折れ線グラフにしてみてください。設備の調子が悪かった日のデータと、調子が良かった日のデータを並べてみた時、どこかの数値に違いはないでしょうか。
「調子が悪い時は、最大値が跳ねている」
「故障の前日は、分散が少しずつ大きくなっていた」
この気付きこそが、特徴量設計の第一歩であり、現場のカイゼン活動の起点となります。
正常データを定義する難しさ
実際にデータを見ていくと、「正常」の定義は意外と難しいことに気付きます。夏と冬で温度の基準は変わりますし、生産する製品の品番によっても設備の負荷は変わります。
人間なら「今は夏だから温度が高くても大丈夫」と判断できますが、AIにはその文脈がわかりません。MES(製造実行システム)との連携などを通じて、こういった「外部要因」もまた一つの特徴量としてAIに組み込む必要があります。
シンプルな特徴量から小さく始める重要性
多くの特徴量を使って複雑なモデルを作ると、どの特徴量が効いているのか分からなくなり、ブラックボックス化してしまうことがあります。最初はシンプルな構成でスモールスタートし、成果を可視化しながら、現場のフィードバックを得て段階的に特徴量を追加していくアプローチが確実です。
まとめ:データの中に眠る「声」を聴くために
AIによる異常検知において、アルゴリズムの選定以上に重要なのが、今回解説した「特徴量抽出」です。それは、無機質なセンサーデータの中から、設備が発している「不調のサイン」を抽出し、定量的なデータとして扱う作業です。
- 生データはそのまま使わない: ノイズを除去し、情報を圧縮する「下ごしらえ」が必須。
- 時間領域で全体像を: 平均、分散、RMSなどで全体的な劣化や衝撃を捉える。
- 周波数領域で深層を: FFTを用いて、隠れた部品ごとの異常リズムを特定する。
- 現場の知見を数値化する: 経験則こそが、特徴量になる。
実際の現場データは教科書通りにはいきません。ノイズだらけのデータ、変動する稼働条件、稀にしか起きない異常。これらを前にして最適な特徴量の組み合わせを見つけ出すには、データ分析と現場のカイゼン精神を融合させた継続的な改善が不可欠です。小さく始めて着実に成果を積み重ねることで、生産性向上と品質改善を実現するスマートファクトリーへと近づいていくでしょう。
コメント