ソリューションのアーキテクチャ: 畳み込みニューラル ネットワークによる画像の分類

製造業で競争力を維持するには、効率的な製造、コスト管理、無駄の削減が必要不可欠です。回路基板の製造においては、基板の欠陥が製造コストを引き上げて生産性を低下させます。組み立てラインでは、作業員がすばやく確認して、欠陥の可能性があるとみなされた基板があれば、組み立てラインのテスト機が検証します。

このソリューションは、回路基板製造プラントの組み立てラインのカメラで撮影された電子部品の画像を分析し、エラーの状態を診断します。目標は人の介入を極力少なくすること、または完全に失くすことです。このソリューションは、50 層の隠れ層を持つ畳み込みニューラル ネットワークを使用し、ImageNet データセット内で 35 万枚の画像を使って事前訓練することで画像分類システムを構築しており、最後のネットワーク層を削除することで画像の視覚的特徴を抽出します。抽出された特徴は、画像を “合格” または “不合格” に分類するための増幅デシジョン ツリーを訓練し、プラントのエッジ検出器で最終的なスコアリングを行うために使用されます。分類のパフォーマンス結果は良好 (時間ベースのクロス検証で AUC が 0.90 超) で、このソリューションが組み立て回路基板上の電子部品の欠陥を検出するために必要な人の介入を大幅に減らすことができるソリューションであることを証明しました。

人の作業のみに頼らずにこのソリューションを使用して欠陥の検出を自動化することで、欠陥のある電子部品を見つけやすくして生産性を向上させることができます。

Image classification with convolutional neural networksExplore transfer learning, convolutional neural networks, and gradient-boosting decision tree algorithms.

実装ガイダンス

製品/説明 ドキュメント

Azure Blob Storage

データは Azure Blob Storage に取り込まれて保存されます。

GPU ベースの Azure データ サイエンス Virtual Machine

中心となる開発環境は、Azure の Ubuntu ベースの GPU DSVM です。データは DSVM に接続されている Azure の仮想ハード ディスク (VHD) 上の BLOB から取得します。その VHD 上でデータが処理され、Deep Neural Network を使用して画像の特徴が抽出され、増幅ツリー モデルが訓練されます。ソリューションの開発には、DSVM IPython Notebook サーバーが使用されます。

Azure Batch AI トレーニング (BAIT)

画像処理のディープ ラーニングを使用する数値計算ジョブについては、DSVM ベースのトレーニングの代わりにマネージド Azure Batch フレームワークとして BAIT を採用し、 GPU コンピューティング ノードのクラスターを使用して並列の分散コンピューティングを行います。

Apache Spark HDInsight Spark クラスター向けの Microsoft Machine Learning

ビッグ データセットについては、DSVM ベースのトレーニングの代わりに MMLSpark を使用してスケーラブルなトレーニング ソリューションを構築します。

Azure Container Registry

このモデルと Web アプリケーションは Docker イメージにパッケージ化されており、Azure Container Registry に登録されています。

Azure Machine Learning モデル管理サービス

Azure Machine Learning モデル管理サービスは VM 上の最終モデルをデプロイして管理し、Azure Kubernetes Service を使用して Kubernetes のマネージド Azure クラスターにスケール アウトするために使用されます。予測 Web サービスと Java ETL サービスも VM に登録されており、それぞれ独自のコンテナー内にあります。

Azure Kubernetes Service (AKS)

このソリューションのデプロイには、Kubernetes のマネージド クラスターを実行する Azure Kubernetes Service を使用します。これらのコンテナーは、Azure Container Registry に格納されているイメージからデプロイされます。