要点
ここでは、ディープラーニングプロジェクトを効果的に構成する方法を紹介します:
- データセットの最適化:交差検証を使用し、異常な欠陥や照明の反射のような複雑な画像を含めることにより、モデルを改善する。
- ばらつきの最適化: 多くの生産ラインや欠陥タイプから得たデータを使用してトレーニングを行うことにより、シナリオ全体で堅牢な性能を実現する。
- 欠陥検出戦略:ピクセルベースの分析とブロブツールを使用して、正確な欠陥測定と分類を行う。
- 追跡メトリックス:F1スコアのようなメトリックスを重視し、コスト関数のバランスを取ることにより、オーバーキルやアンダーキルを最小限に抑える。
- 反復的な改善: 高度なツールを用いてモデルを継続的に改良することにより、エンドツーエンドを最適化する。
この段階で、人間の検査官とビジョンシステムが生産部品の良品と不良部品を分類します。その後、社内の専門家が不明な部品を確認し、正しくラベル付けします。修正された曖昧な部分と、良品・不良部品のサンプルはデータベースに登録され、ディープラーニングモデルの改良に利用されます。開発者は、異常な欠陥のある部品や照明の反射など、複雑な画像をトレーニングセットに追加することを心がけなければなりません。
データを拡張する
ディープラーニングベースのソフトウェアは通常、最適化のためにトレーニングセットとツールを提供しますが、チームはクロスバリデーションなどの追加の手順を実行する必要があります。十分なデータを取り込んだら、チームはデータセットの異なる部分をトレーニングに使用し、残りの部分に対して検証を行う必要があります。データセットのどのセクションを選択する場合でも、チームは結果が一貫していることを確認する必要があります。これは、あるセクションの結果が他のセクションと異なる場合、ラベル付けの問題が発生したり、一部の欠陥の種類が過小に表示されたりする可能性があるためです。
また、生産工程における重要な変数をそれぞれ分離し、複合的に最適化することも必要です。そのため、複数の製造ラインがある場合は、各ラインの画像を撮影し、トレーニングに使用するとともに、各ラインのデータと結果が適切であることを確認する必要があります。さらに、検査方法が異なる企業では、ファイル名の規則やファイルフォルダ構造によって、異なる製品バージョンや欠陥の種類を最適化する必要があります。
また、トレーニングデータには、できるだけ多くの不良部品画像を入力することを目標としなければなりません。例えば、良品画像500枚と不良部品画像282枚があれば、不良部品の画像を使用し、何を探すべきかシステムを訓練することで、生産時に効果的に機能するようになります。
さまざまな欠陥タイプに対処する
ディープラーニングでは、画像の欠陥を調べる方法がいくつかあります。画像全体から部品の良し悪しを判断する測定値を生成するシステムもあれば、部品の特定の欠陥を識別する欠陥ベースのアプローチを使用することもできます。後者は、プロセス制御のために分類工程を追加する場合に有効ですが、欠陥の結合や分離のための二次加工が必要になる場合もあります。
一方、ディープラーニングシステムは、画像中の各欠陥の特定のピクセルを分離し、欠陥領域の測定値を提供することもできます。この方法では通常、欠陥領域を操作して周囲または境界ボックスを生成したり、欠陥を測定して良品と不良部品に分類したりするなどの二次的な画像処理が必要となります。アプリケーションごとに異なるアプローチが必要であるため、開発者は欠陥のメトリックスとその最適化方法を理解する必要があります。
また、さまざまな種類の欠陥を理解し、品質仕様を設定することで、チームはエンドツーエンドの最適化を実行し、モデルをさらに改善することができます。10 mm2以上の欠陥や5 mm2以上の2つの欠陥が不良部品であると指定された場合、ディープラーニングシステムは必ずしも正確なピクセル計測を行うとは限りません。このような場合、ブロブ解析ツールを使用することで、より正確に欠陥を測定することができ、チームはこれらの画像を使用してモデルを最適化することができます。しかし、チームが追加の最適化と分析のためにブロブツールを使用することを計画している場合、チームの開発者は、安全のために、境界線上のケースも欠陥として報告するようにディープラーニングシステムにバイアスをかける必要があります。
主要な指標を追跡する
この段階では、主要なディープラーニング指標を念頭に置いておく必要があります。チームの全員がディープラーニングのすべての側面を理解する必要はありませんが、開発者はすべての重要な指標とその最適化方法を理解する必要があります。例としては、オーバーキルとアンダーキルの違いや、精度と再現性、F1スコア、AUC(曲線下面積)統計などが挙げられます。
さらにチームは、費用関数を検討し、スクラップ(オーバーキル)の費用とエスケープ(アンダーキル)の費用のバランスを考慮し、ソリューションの価値を判断する必要があります。開発者は、ディープラーニングプロジェクトを立ち上げた当初は費用関数をあまり気にする必要はありませんが、時間の経過とともにF1スコアが高くなるようにプロジェクトを推進する必要があります。
ディープラーニングプロジェクトを開始する際には、いくつかの重要な手順を踏む必要があります。このシリーズのパート1:計画では、計画の重要性と、プロジェクトの強固な土台を築く方法について考察する。パート2:データ収集では、正確なモデルをトレーニングするために不可欠な、データ収集とグランドトゥルースの確立に焦点を当てる。In パート4: 工場受入試験では、生産環境でシステムを検証し、時間の経過とともにモデルの性能を継続的に向上させる方法を学びます。