引用ポストでは、良品学習について分かりやすく解説しました。
次は実際の製造現場で、「良品学習で陥りやすい罠」について話します。(今回は少し技術よりな話です)
—————
■ 現場で苦手なケース①
色ムラ
良品学習は、製品の色ムラを検査NGとするのが苦手です。
TeacherのCNNはImageNetの学習時、Data Augmentation(データ拡張処理)として明度・彩度・色相をランダムに変えた画像も「同じクラス」として訓練されています。
つまりTeacherの重みは「色の違いを無視して形状やテクスチャの構造的特徴を抽出する」方向に最適化されています。
(皆さんもネットのAI画像処理の記事で、黒っぽい車であっても明るい車であっても「車」として検出しているのを見たことがあると思います)
結果、正常品と色ムラ品でTeacherの出力がほぼ変わらず、Studentとの差分が閾値に届かず見逃してしまいます。
「Teacherが色の違いを特徴として拾わない重みを持っている = 信号がそもそも存在しない」ので、差分の取りようがないのです。
—————
■ 現場で苦手なケース②
論理的異常
これは何かというと、
・部品の向きが逆
・印字が抜けている
・部品が足りない
といったケースです。
テクスチャは正常なのに「あるべきものがない」という異常です。
これはCNNのWeight Sharing(重み共有)に起因します。
畳み込みフィルタは画像の全位置で同一の重みパラメータを使い回します。フィルタは「自分が画像のどこを処理しているか」を知りません。入力は3×3のピクセル値だけで、位置情報は含まれません。
印字抜けのケースで見ると、Studentが学ぶのは
「文字パターン → 文字の特徴値」
「無地パターン → 無地の特徴値」
という位置“非”依存の変換ルールです。
例えばキャップのロットNo.が消えた不良品が来ても、その位置の「無地パターン」は、画像の他の場所(印字のないキャップ表面)で学習済みです。なのでTeacherもStudentも正常に処理できてしまい、差分はほぼゼロになります。
Weight Sharingの仕組み上、「位置Aには文字があるべき」という位置固有の期待は学習できません。これが論理的異常の検出が構造的に困難な理由です。