良品学習型AIは「どこまでOK」を学ばない|異常検知のキホン

良品学習型の外観検査AIを立ち上げると、まず過検出の多さに悩まされることが少なくありません。そこで「どこまでが良品なのかを教えたい」と限度ぎりぎりの品まで学習させると、今度は見逃しが生まれます。分かれ道になるのは、良品学習型AIが何を学んでいるかの理解です。本記事では、良品学習型AIを支える「異常検知」という技術が何を学んでいるのかと、運用の中で「いつもの姿」へ近づけていく実践的な考え方を、単純化した例で解説します。

欠陥ではなく、良品を学習する

機械学習で欠陥を見つけようとするとき、素直に考えれば「欠陥を学習させる」ことになります。しかし欠陥の見た目は一定ではありません。傷、打痕、異物、欠けと種類が多いだけでなく、たとえば「傷」一つとっても、形も長さも深さも向きも毎回違います。パターンは事実上無数にあり、学習に足る数を網羅的に集めることは現実的ではありません。

そこで発想を逆にしたのが良品学習です。日々安定して手に入る良品だけを学習し、そこから逸脱したものを「異常」として検出します。 不良サンプルがほとんど無い工程でも立ち上げられます。この仕組みは「異常検知」と呼ばれる技術です。手法どうしの比較は外観検査AIの種類と選び方で解説しているので、本記事はこの異常検知の中身に絞ります。

欠陥学習と良品学習の対比
欠陥のパターンは集めきれないが、良品の「いつもの姿」なら学習できる

AIが学んでいるのは「いつもの姿」

良品学習型AIは、学習画像から「良品はいつもこういう姿をしている」という分布を作ります。検査時には、目の前のワーク(検査対象物)が分布の中心からどれだけ離れているか(逸脱度)を測り、大きく逸脱していれば異常と判定します。

ここでは説明のため、画像から取り出した特徴を「表面のムラ指標」という架空の1次元の数値に単純化します。日常の良品が平均40、ばらつき(標準偏差σ)4に分布しているとすると、たとえば「平均より3σ以上大きければ異常」と決めれば、しきい値は52になります。実際のAIは多次元の特徴量で同じことをしています。しきい値の決め方自体は手法や製品によってさまざまですが、学習した分布が土台になる点は変わりません。

良品の分布と逸脱度
良品の分布を学習し、中心からの逸脱度でワークを判定する

押さえておきたいのは、AIは「ここまでが合格」という合否の境界を学んでいないという点です。学んでいるのは良品の分布だけです。言い換えると、学習が作っているのは逸脱度を測る「ものさし」であり、しきい値はそのものさしのどの目盛りで切るかという後づけの話です。そしてAIは、見せられた良品だけから「いつも」を推定するため、見せ方しだいで、ものさしは狭すぎにも広すぎにも歪みます。ここからは、ものさしが現場でどう歪むか――避けられない「狭すぎ」と、やってはいけない「広げすぎ」――を順に見ていきます。

まず直面するのは「狭すぎ」による過検出

学習を始める時点で手元にあるのは、直近の1ロット分だけ、条件の揃った短期間の品だけ、ということがほとんどです。限られた良品で学習すると、AIが学ぶ「いつも」のばらつきは工程全体のばらつきより小さくなります。できあがるのは、正常なばらつきまで異常と読み取ってしまう、狭すぎるものさしです。しきい値は内側に寄り、日常の正常なばらつきまで異常と判定されます(この例では良品の約16%)。

限られた良品だけで学習させた場合
限られた良品だけで学習すると分布が実際より狭くなり、正常なばらつきまでしきい値の外に出る

これは失敗というより、避けて通れない出発点です。工程の全ばらつきを最初から網羅した良品セットは、まず手元にありません。しかも工程は生きています。材料ロットの切り替わりや設備の状態で「いつも」自体が少しずつ動き、順調だったAIが過検出を増やし始めることもあります。ですから良品学習型AIは、狭いものさしから出発し、実態に合わせて広げていく前提で運用します。広げ方は後述するとして、先に、このときやってはいけない広げ方を押さえておきます。なお、偏った学習データと過検出の関係は外観検査AIの過学習とはで詳しく解説しています。

やってはいけないのは、限度ぎりぎりの品で一気に広げること

過検出が続くと、「ここまではOKだとAIに教えたい」と、良品限度見本ぎりぎりの品を集めて一気に学習させたくなります。人に検査基準を教えるときと同じ、善意の発想です。

しかしAIはそれを境界とは受け取りません。「こういう品がいつも流れている」と受け取ります。 例えば下の例のように稀にしか出ない限度ぎりぎりの品が学習データの3割を占めると、分布は右へ広がり、しきい値は54から62近くまで外側へ動きます。すると、限度品よりわずかに悪い「軽微な不良」が「いつもの範囲」に入ってしまい、見逃されます。明確な不良は捕まるため、運用がしばらく進むまで気づきにくい失敗です。

限度ぎりぎりの品を大量に学習させた場合の変化
限度ぎりぎりの品を水増しすると分布が広がり、しきい値が軽微な不良の先まで動く

さらに厄介なことに、これはしきい値を調整し直せば済むとは限りません。実際のAIでは、限度ぎりぎりの品を大量に見せられると、そうした品と普通の良品を区別しないものさしができあがってしまい、分布そのものが軽微な不良側まで滲んでしまうため、しきい値をどこへ動かしても両者を測り分けられなくなることがあります。

品質管理に馴染みのある方なら、工程能力指数(Cpk)を求めるとき、わざわざ限度見本のデータを混ぜてばらつきを計算する人はいない、と考えると腑に落ちるのではないでしょうか。

運用の中で「いつもの姿」に近づけていく

目指す状態ははっきりしています。日常のラインを流れる良品が、生産の実態どおりの比率で学習されていることです。

実態どおりの比率で学習できたときのしきい値
実態どおりの比率で学習すると、しきい値は「稀な良品」と「軽微な不良」の間に落ち着く

この状態へ一足飛びには行けないので、実践では運用しながら近づけます。軸になるのは、過検出されたワークのうち「どう見ても良品」のものを学習データに取り込み、再学習することです。この繰り返しで、ものさしが実態のばらつきを覚えていきます。工程の変化で「いつも」が動き、過検出が増えてきたときも対応は同じで、それはものさしを実態に合わせ直す合図です。取り込んだ良品画像が蓄積してきたら、どれを学習に使うかの選別を「正常蒸留」という新しいアプローチのような仕組みに任せる方法もあります。

気をつけたいのは、「教えたいから」と限度ぎりぎりの品を恣意的に混ぜないことです。前章の失敗を小分けに繰り返すことになります。限度見本はここでは学習には混ぜず、学習後の判定を確かめる材料として使う方が有効です。

まとめ:AIに教えるのは「合格の範囲」ではなく「いつもの姿」

良品学習型AIの学習データ集めで迷ったら、次の3点に立ち返るのが有効です。

  • 良品学習型AIが学ぶのは合否の境界ではなく、良品の「いつもの姿」(分布)である
  • 立ち上げ期や工程が変化したあとの過検出は避けられない。過検出された「どう見ても良品」を学習に取り込みながら、ものさしを実態に合わせて広げていく
  • 「ここまでOK」と限度ぎりぎりの品を教え込むのはNG。分布が広がりすぎて、軽微な不良の見逃しにつながる

「どこまでOKか」を一度に教え込むのではなく、工程の「いつも」を運用の中で少しずつ見せていくことが、良品学習型AIの性能を引き出す近道です。


良品学習型AIによる外観検査の導入や、学習データの設計について、具体的なご相談はアダコテックまでお気軽にお問い合わせください。