画像に写っている部品を分類したいとき、明るさや形の違いを人がすべて規則にするのは困難です。
ニューラルネットワークは、重みを持つ計算を層として組み合わせ、データからその重みを調整する機械学習モデルです。
複数の層と非線形な変換によって、入力と出力の複雑な関係を表します。

学習で変わるもの

教師あり学習なら、入力と正解の組を使い、予測と正解の差を小さくするようにパラメーターを更新します。
たとえば部品の画像と分類名を与えると、新しい画像に対して分類を推定するモデルを作れます。
人間の脳の理解や判断を、そのまま再現しているわけではありません。

仮に、外観検査への利用を考えるなら、「不良」の定義を先にそろえます。
同じ傷でも、場所や製品の用途によって許容条件が違うなら、正解となる記録にもその区別が必要です。
モデルの構造を複雑にする前に、判定したい対象と入力の条件を確認します。

未知のデータで評価する

学習に使った画像だけで性能を測ると、見た画像を覚える過学習を見落とします。
学習、調整、最終評価のためのデータを分け、未経験の条件でも役立つかを調べます。
同じ部品を連写した画像が複数の集合に入ると、評価の独立性が弱くなる点にも注意します。

誤りの件数は全体の正解率だけでまとめず、不良を見逃した場合と、正常品を不良にした場合を分けます。
どちらの誤りがどの工程に影響するかに応じて、判定のしきい値や人による確認を設計します。

製品として使い続ける条件

導入後にカメラ、照明、部品の材料が変われば、学習時と入力の性質が変わることがあります。
変更後の性能を確かめるために、入力条件、モデルの版、確認した結果を記録します。
学習用のデータを集める費用と、再学習や運用の作業も見積もります。

データが少ない場合や説明可能な規則で十分な場合は、別のモデルや従来の処理との比較も行います。
データの設計と、指標による評価を分けずに進めます。

参考資料