ホワイトペーパー

はじめに

製造データの形式は、多種多様です。ワッシャーの穴径で統計的な外れ値を探す場合のように、簡単に解析できるデータもあります。一方、人間によるエンジンの分類で望ましくないノイズが生じるなど、解析が難しいデータもあります。

機械学習と人工知能 (AI) のモデルでは、こうした難度の高いデータも扱いやすくなります。しかし、プロジェクトが残念な結果に終わることもあります。特に、人間による解釈や分類と同じレベルを期待すると、そのような結果になりがちです。AI による結果は、最初は良好であっても、それが維持できない場合があります。この問題は、データ分析、専門知識、混乱を招く信号との間のつながりが不十分で、データがきちんと理解されていないときによく起こります。

こうした問題は、次のような点を確認することで軽減できます。

  • データに交絡因子がないか。
  • データが AI モデルに特に適した形式になっているか。
  • データに機械学習/AI モデルの学習に必要な情報が含まれているか。
  • 入力データに、出力データとの間に断続的な相関しかない信号が含まれていないか。
  • 学習データが、計測システムの動作範囲のすべてをカバーしているか。
  • 学習データが必要な変動性をカバーしていない条件はないか。
  • 現在の分類 (または回帰) プロセスはどの程度の精度か、AI モデルにはどの程度の精度を期待できるか。

このホワイトペーパーでは、機械学習/AI の経験が浅いエンジニアが上記の点を確認し、生データに関する理解を深めて結果を改善できるようにするための 8 つのベストプラクティスの手順を紹介します。これらの問題の調査と解決に利用できる MATLAB ® の機能についても取り上げます。音声データ、画像データ、時系列データの 3 つのシナリオでベストプラクティスを説明します。

この 8 つの手順のアプローチにより、データを理解して最大限に活用することができます。手順は、次の 4 つの段階で構成されています。

  • データの性質の理解
  • 収集データの限界の理解
  • データの前処理とモデルの学習
  • 結果の評価
セクション

データの性質の理解

1.エキスパートの意見の収集

測定可能で検出が必要な特性につながる物理的なメカニズムや、経験的に理解されている特性について、情報を収集します。こうすることで、データをどのように前処理するか、データをどう分類するかについて戦略を立てることができるようになります。また、その際に、次のような点を確認します。

  • データは、平均と標準偏差を使用して正規化する必要があるか、それとも正規化すると信号が劣化するか。より適切な別の正規化手法があるか。
  • 周波数解析、あるいは他の数学的関係を使用するデータ変換を実行すると、人間による分類がしやすくなり、AI にも有用か。
  • 統計的手法やグラフィカルな可視化を行うと、クラス分離が人間にとって明確になり、AI モデルの学習に必要な特徴選択の目安になるか。
  • どのような信号の動作や信号レベルが想定されているか。どのような仮定がその想定につながっているか。信号レベルは実験でどのように検証できるか。
原因、物理法則、効果、想定データのブロックが連なったワークフロー図。

理想世界のシナリオでは、信号の原因は物理的な効果として現れ、理想的な状況でデータに記録されます。信号がノイズの影響を受けたり、それ以外の望ましくない要因や意図しない要因によって逸脱したりすることはありません。

2.データ収集における仮定の理解

データ収集プロセスに影響を与えそうな要因を理解しておくと、潜在的なアーティファクトを軽減するデータ収集およびデータ前処理の戦略を設計するうえで役立ちます。アーティファクトは、制御できない場合、機械学習/AI アプローチの失敗につながる可能性があります。データを収集する際の確認事項には、次のようなものがあります。

  • 人間のオペレーターが、あなたが認識していない視覚的な兆候も得ている可能性がある場合に、彼らが音声のみで欠陥を検出していると仮定していないか。
  • ベルトコンベアの速度が一定、あるいは機械のキャリブレーションが常に一定に行われていると仮定していないか。
  • 2 台のオーディオアンプで周波数応答が等しい、または 2 台のカメラで同じ画像シーンに対する RGB 特性が等しいと仮定していないか。
  • 2 人のオペレーターが同じ方法で機械を操作している、または温度がデータに影響しないと仮定していないか。
原因、物理法則、効果、実データのブロックが連なったワークフロー図。物理法則に混乱を招く変動性が、実データに収集時のアーティファクトが加わっている。

実際のシナリオでは、物理法則やデータを収集する機器に影響を与える隠れた変数があります。これらは、信号の原因がどのように効果として現れ、そしてデータにどのように記録されるかに影響を与えます。

セクション

収集データの限界の理解

3.再現可能なデータの収集

測定したい量の背後にある物理的な仕組みを見つけやすくするような方法でデータを集めつつ、実際に混乱を招く変動をできるだけ減らすために、次のような点を確認します。

  • 同じ条件下で測定を繰り返し、データの再現性を確認することができるか。
  • 実行を繰り返したとき、信号レベルの変動性はどう違うか。
  • 機械学習/AI システムに対応するために、新しいデータ収集プロトコルを使用するなどでプロセスを変更した場合、予測に必要なデータの情報がその変更に影響されないことは、どのように確認できるか。
X 軸に時間、Y 軸に信号をとった MATLAB プロット。複数の測定結果が重なっている。

同じ条件下で同じサンプルに対して実施した複数回の測定の例。この場合は、一定のノイズ幅はあるものの、データに再現性があるように見える。

4.実験によるデータのチェック

機械学習/AI の学習に影響する可能性がある、制御されていないデータ収集の要因の影響を実験によって評価します。このようなもともと制御されていない要因がどのようなレベルの影響を与える可能性があるかをテストによって評価し、次の点を確認します。

  • データに影響を与えないと仮定したうえで、ある変数が制御されていない、またはデータに反映されていない場合、その仮定を確認するためにどのような実験を行えるか。
  • システム上で定期的に測定できる安定した既知の物理的標準サンプルを用意し、機械学習/AI の精度に影響を与える可能性のあるシステムドリフトをチェックすることができるか。
  • 教師なし学習 (クラスタリング) を使用して、経時的に現れる新しいクラスタを探し、最終的なモデルに影響する可能性がある、制御されていない変動性を検出するにはどうすればよいか。
  • 次元削減のために主成分その他のデータの削減アプローチを使用することで、相関性の高い信号を使用することに伴う過剰な影響をどのように軽減できるか。
X 軸に時間、Y 軸に信号をとった MATLAB プロット。1 つ前のプロットよりも測定値間の偏差が広がっている。

プロットは、1 つ前と同じで、測定を繰り返したところ範囲外の温度が極端になっている。この極端な温度データは、エンジニアが通常運転時の温度変動による影響を測定する際に参考になる。EM 干渉、ノイズ、その他の要因にも同じアプローチを使用できる。これらの要因は、組み合わさることで、学習済みの AI/機械学習モデルに悪影響を及ぼす場合がある。

セクション

データの前処理とモデルの学習

5.データの前処理

  1. 理想的には、人間が検出や分類を行える状態にまでデータを前処理します。このように前処理されたデータは、正確な機械学習/AI モデルの学習に適している可能性が高くなります。手順 1 ~ 4 で学んだことを前処理の戦略にどう活かせるかを確認してみましょう。人間にとって前処理されたデータから傾向を発見するのが簡単であれば、機械学習/AI モデルにとってもそれは簡単になります。
  2. 信号が明らかになるはずの極端な実験条件 (極端な温度など) でも信号を見つけられない場合、そのデータには機械学習/AI による検出または測定に必要な情報が含まれていない可能性があります。
  3. 教師なし学習を使用して、想定されるクラスタリングの兆候をチェックし、想定外のクラスタリングを検出します。最終モデルを交絡する要因になる可能性があるからです。

6.学習

最初に、データを用いた単純なモデルによる探索的な学習を行います。ここでは、テストデータを使用して良好なモデルがどこにあるべきかを評価します。これでベースラインが設定されます。次に、以下のように最適化します。

  1. クイック学習のセッションを利用してさまざまな機械学習/AI モデルを評価し、どのモデルが最適かを確認します。最初は最も単純なタイプのモデルを使用します。モデルタイプを選択したら、学習オプションを最適化し、検証データを使用して過適合を検出します。テストデータセットを使用すると、モデルが未知のデータに対しても適切に汎化されることを確認できます。
  2. 単純なモデルの結果に基づく洞察から、さらに複雑なモデルを実装する最適なアプローチについて把握します。
セクション

結果の評価

7.ブラインドスタディ

検出/分類に関して、現在のベストプラクティスと新しい機械学習/AI モデルとを比較するために、ブラインドスタディを実行します。

  1. ブラインドスタディを利用して、機械学習/AI の動作を現在のベストプラクティスと比較します。従来のアプローチについても、機械学習/AI アプローチについても、スタディは必ずブラインドになるようにしてください。機械学習/AI が人間の代わりをしている場合は、人間に対しても結果をブラインドにする必要があります。
  2. 人間との比較の場合は、他の情報源からの手がかり、たとえば順番の異なるシリアル番号やマーク、ラベルなど、人間のオペレーターに余分な手がかりを与えそうな情報を管理できるように注意します。適合率、再現率、混同行列などの適切な測定基準を使用してください。

8.レビュー、再検討、必要に応じた繰り返し

  1. 手順 5 ~ 6 の結果をレビューします。検出が必要な特徴が目立つくらいにまでデータを前処理できず、手順 6 の学習結果が不十分な場合には、次のようにします。
    1. 手順 1 ~ 4 を再検討し (レビューの結論が良好でない場合)、信号レベルや、検出すべき特徴をマスクしている要因を評価したうえで、より良いデータ収集アプローチ、あるいは検出が必要な特徴を目立たせる適切な前処理アプローチの開発について調べます。
    2. 手順 1 ~ 4 を再検討してから手順 5 ~ 7 を繰り返し、より長期的なテストが必要かどうか、これ以上の改良が必要かどうかを判断します。
セクション

シナリオの例

音声データ、画像データ、時系列データを扱った次の 3 つの仮定のシナリオでは、架空のユーザーが機械学習/AI プロジェクトにベストプラクティスを適用します。これらのシナリオでは、多くの手順で MATLAB を使用します。

機械製造における音声データ: 生産ラインからドリルのノイズを検出

Ken が率いるチームは、生産ラインの最終段階でドリルをテストしており、手作業で電源を入れて異常なノイズを聞き取っています。Ken は、このプロセスを自動化し、AI モデルを使用して異常なノイズの有無を判断したいと考えています。コスト削減も希望していますが、許容されるビジネスケースを作成するには、不良ドリルの 99% 以上を検出しなければなりません。

Ken は、次のようにベストプラクティスのチェックリストに従います。

  1. エキスパートの意見の収集
  2. Ken は、振動の最小化に取り組んでいる同僚に相談します。同僚のアドバイスによると、ドリルの騒音はドリルの持ち方によって変わるということです。Ken の同僚は、その潜在的な問題を軽減し、標準プラットフォームとして使用できる特別なリグを持っており、それを貸してくれることになりました。

  3. データ収集における仮定の理解
  4. Ken は製造ラインのダウンタイム中に不良ドリルのデータを収集します。通常のデータには製造機械のノイズがまじっていると同僚が指摘しました。Ken は異常検出を使用し、機械ノイズが異常として検出されるため、AI に不当な影響を及ぼす可能性があることを確認しました。そこでデータ収集の戦略を見直し、欠陥のない良好 (OK) なデータと、欠陥または不良 (NG) データのどちらにも等しく機械ノイズが存在することを確かめます。また、良品と不良品のドリルの主成分に差異があることも見て取れます。この差異が本物かどうかを確認したいと考え、データの再現性を確認することにしました。

  5. 再現可能なデータの収集
  6. Ken は、バックグラウンドの製造ノイズがない NG データを拡張するために製造ノイズを収集します。手順 1 と 2 で得られた洞察に基づいてドリルリグを使用し、製造ノイズが存在する不良品ドリルのセットから新しいデータを収集します。また、再現性やドリルノイズの変化をチェックするために、良品ドリル 1 つと不良品ドリル 1 つを複数回記録します。不良品ドリルには電源を複数回入れるのが普通ですが、良品ドリルには 1 回しか電源を入れないからです。

  7. 実験によるデータのチェック
  8. Ken は、ウェーブレット時間-周波数アナライザーアプリを使用して、同じドリルの複数の録音どうしでは差異が最小限であることを検証しますが、良品と不良品の違いも可視化できます。また、音声特徴を抽出する各種のアプローチを試し、良好な分類精度を達成できるサポート ベクター マシン (SVM) 分類器を学習させます。fitcauto() または分類学習器アプリを使用してさまざまな機械学習モデルとハイパーパラメーターを評価することで、分類精度の向上を図ることもできます。

  9. データの前処理
  10. Ken はデータ処理を標準化し、audioDataAugmenter を使用してデータに変動を追加します。次に、ウェーブレット時間-周波数アナライザーで最適なパラメーターをもつウェーブレットを用いて調査し、cwt() により学習用データをコードで処理します。

  11. 学習
  12. Ken は cvpartition を使用して、データを学習、検証、テスト用のセットに分割します。次に、実験マネージャーアプリを使用して、畳み込みニューラル ネットワーク (CNN) をさまざまなパラメーターで学習させます。CNN の学習パラメーターと、データを前処理して画像を形成する際に使用するウェーブレット変換について実験します。転移学習を使用して事前学習させた AI を変更し、このデータを学習させます。さらに、可視化と説明可能性の手法を使用して、AI モデルの予測を検証し、デバッグすることができます。

  13. ブラインドスタディ
  14. Ken は新しいデータを収集して匿名化し、チームにそのデータを聴き取らせてデータを良好と不良に分類します。Ken のチームは音声データのみだと実績が上がらず、ドリルを視覚的に検査していることがわかりました。これが良品/不良品の判断に影響します。

  15. レビュー、再検討、必要に応じた繰り返し
  16. Ken は、音声のみの条件下では CNN のパフォーマンスがチームと同等である一方、チームのパフォーマンスが視覚的な検査により向上することに気づきました。今後の改善のために、AI に外観検査を追加することを検討できそうです。

医療機器の画像データ: プレフィルド注射器での汚染物質の検出

Jen は、プレフィルドのインスリン注射器の汚染物質を識別する AI の開発を請け負っています。欠陥のある注射器の画像と、欠陥の種類に関するメモを受け取ります。Jen は訓練を受けていないため、一部の欠陥は識別できません。会社では大量の注射器を製造しているため、100% 手作業で検査するのは現実的ではありません。このような欠陥を把握できれば、リコール問題を減らせます。

Jen は、次のようにベストプラクティスのチェックリストに従います。

  1. エキスパートの意見の収集
  2. Jen は、顧客に画像上で欠陥にはっきり丸を付けてもらいます。欠陥として考えられるのは、注射器の内側または外側にある粒子、傷、汚れなどです。そのため、彼女は注射器全体を対象にする必要があります。なかには照明が映り込んだ画像もあり、それを軽減する最善の方法として、偏光板を使うよう顧客にアドバイスしました。

  3. データ収集における仮定の理解
  4. Jen は、回転トリミング、正規化で画像を標準化します。前処理と匿名化の済んだ画像を顧客に送り返します。訓練を受けた技術者による分類時に必要な情報が前処理の際に削除されていないことを、フィードバックによって確認します。

  5. 再現可能なデータの収集
  6. Jen は、欠陥品でないことをより確実に把握できるように、顧客に良品の画像サンプルを追加要請し、欠陥品でないと考えられる画像の種類を増やしました。

  7. 実験によるデータのチェック
  8. Jen は imageDatastore を使用して画像を処理します。差異を把握するために、レジストレーション推定アプリ画像レジストレーション、および imsubtract() を使用し、注射器を重ね合わせて差異を探します。画像の異常を検出するように AI モデルを学習させます。異常ヒートマップを確認することで、Jen は注射器のどこに欠陥が生じる可能性があるかを以前より確実に把握できます。

  9. データの前処理
  10. Jen は最初の 3 つの手順に基づいて、前処理の戦略を練ります。背景 (テーブル上面) は AI モデルの学習時に除外すべきなので、createMask() を使用して削除します。イメージラベラーを使用して boxLabelDatastore を作成し、別の欠陥タイプについて AI を学習させます。画像拡張を用いた学習用画像の拡張により、画像を変更して学習用データセットを拡大し、bboxwarp() を使用して変更した画像の境界ボックスを調整します。

  11. 学習
  12. Jen は YOLOX オブジェクト検出器を使用して欠陥タイプを検出します。予備分類の結果、クラスの 1 つで誤分類が頻発していることを確認しました。そのクラスについて学習データを増やし、誤分類が減少することを確認しました。

  13. ブラインドスタディ
  14. Jen は、App Designer で AI をパッケージ化し、顧客がテストできるように、MATLAB Compiler™ を使用してコンパイルします。このコンパイルしたアプリの使用に、MATLAB ライセンスは必要ありません。

  15. レビュー、再検討、必要に応じた繰り返し
  16. 顧客は AI アプリをテストし、Jen が 2 回目の学習を実行できるように、誤分類された画像のサンプルを送ります。

ガスタービンのバルブに関する "初期故障" の予測

Ben は、機械学習/AI を使用して、自社のマイクロタービン (MT) 出荷後に初期故障が発生するかどうかを、出荷前のリグテストデータに基づいて予測する役割を担当しています。リグテストデータは豊富にありますが、故障発生から発生中まで続くデータセットは 1 つしかありません。故障はまれとはいえ、会社の顧客に対する影響は深刻です。

Ben は、次のようにベストプラクティスのチェックリストに従います。

  1. エキスパートの意見の収集
  2. Ben は、この故障が 100 ~ 200 時間ほど使用した後でコンプレッサーのベアリングに損傷を与えるデブリ現象と関連しているらしいことを把握しますが、その問題が発生する原因は不明です。

  3. データ収集における仮定の理解
  4. リグテストの一貫性を保つには多大な労力が必要です。データ収集中に残る変動は、周囲温度、圧力、オイルや燃料の組成、人間のオペレーターなどによるものであり、十分には管理されていません。

  5. 再現可能なデータの収集
  6. 故障の全範囲を網羅したデータのサンプルは 1 つしかないため、Ben はデジタルツインを作成しました。まず Simulink® ガスタービン モデルから始め、デブリ発生後のベアリングの動作を含むように更新して、実際のガスタービンを模倣するようにパラメーター推定器アプリ で調整します。

  7. 実験によるデータのチェック
  8. Ben は、良好なデータと自分が持っている故障データの 1 例に基づくモデルを使用して、ベアリングの損傷をシミュレーションします。このシミュレーション モデル データで、故障の 100 時間前に故障の兆候を示す信号は、実際のデータのノイズよりも小さいと予測されます。Ben は合成ノイズを追加し、拡張カルマンフィルターで欠陥の傾向を検出できることに気づきました。

  9. データの前処理
  10. Ben は、振動信号周波数-RPM マップの変化を利用してモデルデータを調べ、ベアリングの損傷がシステム全体でどのように現れるかを確認し、実際のデータでは何を探すべきかの理解につなげます。実際のデータでは、信号の単位を周期 (秒) から周波数 (Hz) に変換する必要があります。データには共線性をもつ信号が多く含まれます。Ben は主成分を使用してデータを削減します。

  11. 学習
  12. 短時間に発生する高周波ノイズは信号を不明瞭にすると予想されますが、経時的に発生する低周波ドリフトは不具合を明らかにするため、Ben は LSTM を試すことにしました。これにより、長期トレンドを検出できます。テスト期間を長くすることで、LSTM はモデルデータに基づく問題を示す小さなドリフト (劣化) を検出できる可能性があります。

  13. ブラインドスタディ
  14. Ben は、より大きなデータセットで LSTM を学習させ、モデルデータを使用するブラインドスタディを設定して、実際のシステムで検出されそうな範囲を評価します。

  15. レビュー、再検討、必要に応じた繰り返し
  16. Ben は、故障に関連するわずかなドリフトを検出するためにタービンのリグテスト時間を長くする必要があることに気づきました。その検出を試みるために、タービンテストを延長するコストを正当化するためのコストベネフィット解析を準備します。

Ben は良好な生データに対して異常検出ツールを使用し、高い周囲温度と特定のオペレーターが異常検出の外れ値に関連する可能性が高いことと、その結果として、初期故障に関係する可能性があることを突き止めました。これには、さらに調査が必要です。

データクリーニングと前処理の他にも、信号処理アプリケーションのためのディープラーニングと機械学習に関するヒントをご覧ください。

セクション

まとめ

機械学習/AI モデルを導入すると、運用環境における手作業でのテストと QA という、ミスの起こりやすい煩雑な作業をなくすことができます。運用環境での不備は、深刻ではあるものの頻度が高くないため、原因が正しく理解されていないことがあります。

そのため、機械学習/AI ソリューションは、信頼性の高い形で実装するのが難しいととらえられることがあります。しかし、データの理解が伴えば、学習に適したデータセットを生成することができます。

今回まとめた 8 つの手順とシナリオ例を活用すれば、より体系的なアプローチをデータ品質に適用し、機械学習/AI の概念とその確実な実装との間に存在するギャップを埋めることができます。

MATLAB はその目的達成をサポートします。

MATLAB ツールストリップに並んだアプリのスクリーンショット: データクリーナー、イメージラベラー、分類学習器、信号アナライザー、ウェーブレット時間-周波数アナライザー、Audio Labeler、ウェーブレット アナライザー

機械学習と、音声、画像、および時系列データ向け MATLAB アプリ。

著者について

Mike Simcock は MathWorks のシニアコンサルタントで、AI やその他の用途のためにデータ処理が必要な実データを扱うプロジェクトに取り組んでいます。MathWorks に入社する前は Altran でシニアコンサルタントを務めたほか、Malvern Instruments、Halliburton、Ometric で主任研究開発サイエンティストを務めました。Mike はサルフォード大学で化学の理学士号 (BSc) と半導体材料の博士号 (Ph.D.) を取得しています。実験データを含む数々の査読付き出版物を発表しており、薄膜光学素子の製造および光学機器の応用に関連する約 20 件の特許を取得しています。これらの職務において、MATLAB の使用は共通のテーマとなっています。