【AI画像処理の「良品学習(異常検知)】
実際の製造現場では、異常品が滅多に出ない為、良品のみを用いて学習させる良品学習が使われることが多いです。
ここでは良品学習の「Teacher-Student Network」について、もの凄く分かりやすく解説します。
まず、ベテランの美術評論家(Teacher)と新入生(Student)がいると想像してください。
先生は世界中の絵を見てきたプロです。どんな絵にも「ここにエッジがある」「テクスチャはこう」と分析できます。
この生徒に「良品のリンゴの絵だけ」を何百枚も見せて、こう訓練します。
「先生が言ったコメントを、そっくりそのまま言えるようになりなさい」
何百枚も練習すると、良品のリンゴに限っては先生とほぼ同じコメントができるようになります。
ここで虫食いのあるリンゴを見せたらどうなるか?
先生はベテランなので虫食い部分にもコメントを返します。
でも生徒は虫食いなんて見たことがないのでトンチンカンなことしか言えません。
この「先生と生徒のコメントのズレ」がまさしく異常スコアです。
『ズレが大きい場所 = 異常箇所』
技術的には、
・Teacher:ImageNet事前学習済みCNN(重み固定)
・Student:良品画像だけでTeacherの特徴マップ出力をコピーするよう学習
・推論時:両者の特徴マップの差分 → 異常マップ
となっています。
Loss = || F_teacher(x) - F_student(x) ||^2
この差分はピクセル単位で計算できるので、画像のどこが異常かの位置特定まで可能です。