IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社神戸製鋼所の特許一覧

特開2024-23115学習済みモデルの生成方法、判定装置、判定方法、及びプログラム
<>
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図1
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図2
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図3
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図4
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図5
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図6
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図7
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図8
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図9
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図10
  • 特開-学習済みモデルの生成方法、判定装置、判定方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023115
(43)【公開日】2024-02-21
(54)【発明の名称】学習済みモデルの生成方法、判定装置、判定方法、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240214BHJP
【FI】
G06T7/00 350B
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022182474
(22)【出願日】2022-11-15
(31)【優先権主張番号】P 2022126088
(32)【優先日】2022-08-08
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000001199
【氏名又は名称】株式会社神戸製鋼所
(74)【代理人】
【識別番号】100125645
【弁理士】
【氏名又は名称】是枝 洋介
(74)【代理人】
【識別番号】100145609
【弁理士】
【氏名又は名称】楠屋 宏行
(74)【代理人】
【識別番号】100149490
【弁理士】
【氏名又は名称】羽柴 拓司
(72)【発明者】
【氏名】田中 哲生
(72)【発明者】
【氏名】芦田 強
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA03
5L096EA39
5L096GA30
5L096GA51
(57)【要約】
【課題】偽陽性率及び偽陰性率の一方を所定以下としつつ、他方も抑えることが可能な学習済みモデルの生成方法を提供する。
【解決手段】学習済みモデルの生成方法は、二値分類のための学習済みモデルの生成方法であって、学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
二値分類のための学習済みモデルの生成方法であって、
学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、
前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、
偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行う、
学習済みモデルの生成方法。
【請求項2】
前記損失関数は、前記学習モデルが出力する前記確率が前記判定閾値によって補正された補正確率を含む、
請求項1に記載の学習済みモデルの生成方法。
【請求項3】
前記学習済みモデルの生成は、
前記判定閾値を仮設定し、前記判定閾値により定まる前記損失関数を用いて学習モデルの学習を行う学習ステップと、
前記学習モデルの分類結果から偽陽性率又は偽陰性率が所定以下となる調整用判定閾値を求める調整ステップと、
を含み、
前記学習ステップと前記調整ステップは、前記判定閾値と前記調整用判定閾値の差が所定以下となるまで繰り返される、
請求項2に記載の学習済みモデルの生成方法。
【請求項4】
前記損失関数において学習用データが負であるときの誤差を学習用データが正であるときの誤差よりも重み付けする前記重み付けパラメータを設定し、
前記判定閾値を所定の固定値として設定し、
前記偽陽性率が所定以下となるまで前記重み付けパラメータの探索を行う、
請求項1に記載の学習済みモデルの生成方法。
【請求項5】
前記重み付けパラメータの探索では、前記重み付けパラメータを更新する度に重み付けを大きくする、
請求項4に記載の学習済みモデルの生成方法。
【請求項6】
複数の前記重み付けパラメータを用意し、
複数の前記重み付けパラメータについて並列して学習モデルの機械学習を行い、
前記偽陽性率が所定以下となる学習済みモデルを抽出する、
請求項4に記載の学習済みモデルの生成方法。
【請求項7】
前記学習済みモデルは、画像データが入力されると、前記画像データに含まれる製品の合否の判定結果を出力する、
請求項1に記載の学習済みモデルの生成方法。
【請求項8】
判定用データを取得する取得部と、
学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定する判定部と、
を備える、判定装置。
【請求項9】
前記損失関数は、前記学習済みモデルが出力する前記確率が前記判定閾値によって補正された補正確率を含み、
前記判定部は、前記学習済みモデルから出力される、前記判定用データが正又は負である確率を、前記判定閾値と比較する、
請求項8に記載の判定装置。
【請求項10】
前記学習済みモデルは、前記判定データとしての画像データが入力されると、前記画像データに含まれる製品の合否の判定結果を出力する、
請求項8に記載の判定装置。
【請求項11】
判定用データを取得し、
学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定する、
判定方法。
【請求項12】
判定用データを取得すること、及び
学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定すること、
をコンピュータに実行させるためのプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習済みモデルの生成方法、判定装置、判定方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の対象物画像を学習用データとし、入力と出力の誤差が小さくなるように、かつ、単位画素ごとに、特定の分布で近似された分布の平均、分散、および高次統計量を出力するように、変分オートエンコーダを学習する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-144314号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
製品の合否を判定する検査には、二値分類のための学習済みモデルが用いられることがある。二値分類では、真陽性(TP:True Positive)及び真陰性(TN:True Negative)だけでなく、偽陽性(FP:False Positive)及び偽陰性(FN:False Negative)も起こり得る(図2参照)。
【0005】
偽陽性(FP)は、負(不合格)であるものを正(合格)に分類することである。偽陽性率(FPR:False Positive Rate)は、FP/(FP+TN)で表される。偽陰性(FN)は、正(合格)であるものを負(不合格)に分類することである。偽陰性率(FNR:False Negative Rate)は、FN/(FN+TP)で表される。
【0006】
製品の合否を判定する検査では、品質を保証するために、偽陽性率(FPR)を低くすることが求められる。しかしながら、従来の学習モデルは、正解率(TP+TN)/(TP+TN+FP+FN)を高くするように学習しているため、偽陽性率(FPR)に求められる要求水準(FPR≦α)を満足することを保証しない。
【0007】
また、検査の作業効率性の観点から、偽陰性率(FNR)もできるだけ低い方がよい。
【0008】
本発明は、上記課題に鑑みてなされたものであり、その主な目的は、偽陽性率及び偽陰性率の少なくとも一方を所定以下にすることが可能な学習済みモデルの生成方法、判定装置、判定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の一の態様の学習済みモデルの生成方法は、二値分類のための学習済みモデルの生成方法であって、学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行う。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にすることが可能となる。
【0010】
上記態様において、前記損失関数は、前記学習済みモデルが出力する前記確率が前記判定閾値によって補正された補正確率を含んでもよい。これによると、分類に適した閾値を得ることが可能となる。
【0011】
上記態様において、前記学習済みモデルの生成は、前記判定閾値を仮設定し、前記判定閾値により定まる前記損失関数を用いて学習モデルの学習を行う学習ステップと、前記学習モデルの分類結果から偽陽性率又は偽陰性率が所定以下となる調整用判定閾値を求める調整ステップと、を含み、前記学習ステップと前記調整ステップは、前記判定閾値と前記調整用判定閾値の差が所定以下となるまで繰り返されてもよい。これによると、分類に適した閾値を得ることが可能となる。
【0012】
上記態様において、前記損失関数において学習用データが負であるときの誤差を学習用データが正であるときの誤差よりも重み付けする前記重み付けパラメータを設定し、前記判定閾値を所定の固定値として設定し、前記偽陽性率が所定以下となるまで前記重み付けパラメータの探索を行ってもよい。これによると、偽陽性率が所定以下となることを保証する学習済みモデルを生成することが可能となる。また、判定閾値を固定値とすることで、複数の学習済みモデルを生成しても共通の判定閾値を利用でき、管理を簡便にすることが可能となる。さらに、判定閾値を固定値とすることで、判定閾値の探索が不要となる。
【0013】
上記態様において、前記重み付けパラメータの探索では、前記重み付けパラメータを更新する度に重み付けを大きくしてもよい。これによると、更新の度に重み付けを大きくすることで、偽陽性率が所定以下となる重み付けパラメータを早く探索することが可能となる。
【0014】
上記態様において、複数の前記重み付けパラメータを用意し、複数の前記重み付けパラメータについて並列して学習モデルの機械学習を行い、前記偽陽性率が所定以下となる学習済みモデルを抽出してもよい。これによると、複数の重み付けパラメータについて並列して学習モデルの機械学習を行うことで、探索の回数を低減することが可能となる。
【0015】
上記態様において、前記学習済みモデルは、画像データが入力されると、前記画像データに含まれる製品の合否の判定結果を出力してもよい。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にするように、製品の合否を判定することが可能となる。
【0016】
また、本発明の他の態様の判定装置は、判定用データを取得する取得部と、学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定する判定部と、を備える。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にすることが可能となる。
【0017】
上記態様において、前記損失関数は、前記学習済みモデルが出力する前記確率が前記判定閾値によって補正された補正確率を含み、前記判定部は、前記学習済みモデルから出力される、前記判定用データが正又は負である確率を、前記閾値と比較してもよい。これによると、判定に適した閾値を得ることが可能となる。
【0018】
上記態様において、前記学習済みモデルは、前記判定データとしての画像データが入力されると、前記画像データに含まれる製品の合否の判定結果を出力してもよい。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にするように、製品の合否を判定することが可能となる。
【0019】
また、本発明の他の態様の判定方法は、判定用データを取得し、学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定する。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にすることが可能となる。
【0020】
また、本発明の他の態様のプログラムは、判定用データを取得すること、及び学習用データが正であるときの誤差と学習用データが負であるときの誤差を足し合わせた損失関数における一方の誤差を他方の誤差よりも重み付けする重み付けパラメータと、正又は負であると判定するための判定閾値と、の少なくとも一方をハイパーパラメータとして設定し、前記損失関数を用いて学習用データが正又は負である確率を出力するように学習モデルの機械学習を行い、偽陽性率及び偽陰性率の少なくとも一方が所定以下となるように前記ハイパーパラメータの探索を行って生成された学習済みモデルを用いて、前記判定用データが正であるか負であるか判定すること、をコンピュータに実行させる。これによると、偽陽性率及び偽陰性率の少なくとも一方を所定以下にすることが可能となる。
【発明の効果】
【0021】
本発明によれば、偽陽性率及び偽陰性率の一方を所定以下にすることが可能となる。
【図面の簡単な説明】
【0022】
図1】判定システムの構成例を示す図である。
図2】二値分類を説明するための図である。
図3】ROC曲線を説明するための図である。
図4】学習済みモデルの生成方法の手順例を示す図である。
図5】損失関数を説明するための図である。
図6】判定方法を説明するための図である。
図7】判定方法の手順例を示す図である。
図8】判定結果の例を説明するための図である。
図9】学習済みモデルの生成方法の手順例を示す図である。
図10】重み付けパラメータの探索を説明するための図である。
図11】判定方法の手順例を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について、図面を参照しながら説明する。
【0024】
[システム構成]
図1は、判定システム10の構成例を示すブロック図である。判定システム10は、判定装置1、記憶部2、カメラ3、及び表示部4を備えている。判定システム10は、カメラ2により撮像された製品の合否を判定装置1により判定する外観検査システムである。
【0025】
判定装置1は、CPU、RAM、ROM、不揮発性メモリ、及び入出力インターフェース等を含むコンピュータである。判定装置1のCPUは、ROM又は不揮発性メモリからRAMにロードされたプログラムに従って情報処理を実行する。
【0026】
プログラムは、例えば光ディスク又はメモリカード等の情報記憶媒体を介して供給されてもよいし、例えばインターネット又はLAN等の通信ネットワークを介して供給されてもよい。
【0027】
記憶部2は、HDD又はSDD等の記憶装置である。記憶部2は、判定装置1による判定に用いられる学習済みモデル及び閾値などを記憶している。学習済みモデル及び閾値は、後述の学習フェーズにおいて生成されたものである。
【0028】
カメラ3は、製品を撮像して画像データを生成するデジタルカメラである。カメラ3は、生成した画像データを判定装置1に出力する。表示部4は、液晶表示ディスプレイ等の表示装置である。表示部4は、判定装置1による判定結果を画面に出力する。
【0029】
判定装置1は、取得部11及び判定部12を備えている。これらの機能部は、判定装置1のCPUがROM又は不揮発性メモリからRAMにロードされたプログラムに従って情報処理を実行することによって実現される。
【0030】
取得部11は、判定用データを取得する。具体的には、取得部11は、カメラ3により生成された画像データを取得する。画像データは、判定用データの一例であり、判定対象の製品を含んでいる。
【0031】
判定部12は、学習済みモデルを用いて、判定用データが正であるか負であるか判定する。具体的には、判定部12は、記憶部2に記憶された学習済みモデル及び閾値を用いて、画像データに含まれる製品の合否を判定する。判定の詳細については後述する。
【0032】
学習済みモデルは、二値分類のための学習済みモデルである。本実施形態では、学習済みモデルは、例えば畳み込みニューラルネットワーク(CNN)等の画像判別モデルである。ニューラルネットワークには、ニューロンを多段に組み合わせたディープニューラルネットワークが好適である。
【0033】
学習済みモデルは、判定データとしての画像データが入力されると、画像データに含まれる製品の合否の判定結果を出力する。学習済みモデルの出力要素には、例えばシグモイド関数が用いられ、製品の合否の確率を表す0以上1以下の値が出力される。
【0034】
[本実施形態の目的]
学習済みモデルの生成方法を説明する前に、本実施形態の目的について説明する。
【0035】
製品の合否を判定する検査においては、不合格品を合格と判定すること(偽陽性、すなわちFP)、合格品を不合格と判定すること(偽陰性、すなわちFN)が起こり得る(図2参照)。品質を保証するためには、偽陽性率(FPR)を低くすることが求められるが、偽陽性率(FPR)を低くすると、偽陰性率(FNR)が高くなるおそれがある。
【0036】
そこで、本実施形態では、品質保証の観点から偽陽性率(FPR)を所定値a以下に抑えることを達成すると同時に、偽陰性率(FNR)もできる限り抑えることを目的としている。
【0037】
図3のROC曲線(Receiver Operating Characteristic curve)を用いて説明すると、従来例では、FPR≦aの範囲で再現率(TPR)が十分でないことがあるため、本実施形態では、FPR≦aの範囲で再現率(TPR)をできる限り向上させること、つまり偽陰性率(FNR)をできる限り抑えることを目的としている。
【0038】
[学習フェーズ]
以下、機械学習による学習済みモデルの生成方法について説明する。図4は、学習済みモデルの生成方法の手順例を示すフロー図である。同図に示す各工程は、コンピュータによる情報処理によって実現される。
【0039】
FPR≦aを保証するようにモデルを学習させると、TNRが高くなりやすい。そこで、本実施形態では、TPRを優先的に向上させるため、すなわちFNRを優先的に抑制するため、学習用データが合格(正)であるときの誤差を学習用データが不合格(負)であるときの誤差よりも重み付けした損失関数を用いて、モデルの学習を行う。
【0040】
また、本実施形態では、上記の目的を実現する適切な閾値θを得るため、損失関数に、合格(正)又は不合格(負)である確率を所与の閾値θとの関係に応じて補正した補正確率を含めている。閾値θは、不合格(負)を判定するための閾値である(閾値1-θは、合格(正)を判定するための閾値となる)。損失関数の詳細については後述する。
【0041】
図4に示すように、まず、学習用データをモデルパラメータ学習用データとチューニング用データに分ける(S11)。学習用データは、学習用画像と合否のラベルとを関連付けたデータセットである。
【0042】
学習用データは、モデルの精度を検証するための検証用データをさらに含んでもよい。例えば、学習用データのうち、8割がモデルパラメータ学習用データ、1割がチューニング用データ、1割が検証用データ(過学習評価用データ)とされる。
【0043】
次に、閾値θmodelを或る値に仮設定する(S12)。閾値θmodelは、例えば後述するように損失関数における重み付け係数に基づく値の正の定数倍として定めてもよい。
【0044】
次に、モデルパラメータ学習用データを用いて学習ステップを実行する(S13)。学習ステップでは、仮設定された閾値θmodelにより定まる損失関数を用いてモデルの学習が行われる。
【0045】
モデルの学習は、学習用画像をモデルに入力して得られる合否の確率と、学習用画像に関連付けられた合否のラベルとから損失関数を求め、損失関数を最小化するようにモデルのパラメータを更新することによって行われる。
【0046】
次に、チューニング用データを用いて調整ステップを実行する(S14)。調整ステップでは、モデルの判定結果からFPR≦aとなる調整用閾値θtuneが求められる。
【0047】
モデルの判定結果は、チューニング用データの学習用画像をモデルに入力して得られる合否の確率である。得られた合否の確率と、学習用画像に関連付けられた合否のラベルとに基づいて、FPR≦aとなる確率の境界が調整用閾値θtuneとされる。
【0048】
次に、閾値θmodelと調整用閾値θtuneの差が所定値c以下であるか否か判定する(S15)。閾値θmodelと調整用閾値θtuneの差が所定値c超過である場合(S15:NO)、閾値θmodelを更新して(S16)、学習ステップ(S13)及び調整ステップ(S14)を再度実行する。
【0049】
閾値θmodelはハイパーパラメータであり、損失関数によって探索できないため、閾値θmodelの更新は、例えば2分法によって行われる。具体的には、(θmodel+θtune)/2が新たな閾値θmodelとして用いられる。例えば、後述するようにFNRがθに対して単調減少となる下限値を推定し、その下限値以上となるθをFNRの単調減少性から2分法で探索する。
【0050】
学習ステップ(S13)及び調整ステップ(S14)は、閾値θmodelと調整用閾値θtuneの差が所定値c以下となるまで繰り返される。すなわち、閾値θmodelが適切な範囲内で調整用閾値θtuneに近づくまで繰り返される。
【0051】
閾値θmodelと調整用閾値θtuneの差が所定値c以下になると(S15:YES)、検証用データを用いてモデルの判定精度、FPR、及びFNR等を確認した上で、全ての工程が終了する。これにより、FPR≦aを達成しつつFNRも抑えることが可能な学習済みモデルと、合否判定に適切な閾値θとを得ることができる。
【0052】
[損失関数]
以下、学習ステップ(S13)に用いられる損失関数について説明する。
【0053】
上述したように、本実施形態では、学習用データが合格(正)であるときの誤差を学習用データが不合格(負)であるときの誤差よりも重み付けできる損失関数を用いている。例えば、そのような重み付けが可能なBCE(Binary Cross Entropy) with Logistic Loss が損失関数として用いられる(数式1参照)。
【0054】
【数1】
【0055】
pは、重み付け係数であり、1より大きい値を選ぶことで第一項を重み付けすることができる。なお、pに1より小さい値を選んだ場合は第二項を重み付けすることになる。pは、ハイパーパラメータであり、この損失関数より探索することはできないので、後述の条件に当てはまる適当な値を設定してよい。xはモデルの出力値、σ(x)は合格(正)と予測する確率である。数式1の角括弧内の第1項は、学習用データが合格(正)であるときの誤差を表し、第2項は、学習用データが不合格(負)であるときの誤差を表す。重み付け係数pは第1項に含まれる。この損失関数ではモデルの予測が正解と異なるクラス(すなわちFPまたはFNである)ほど損失が大きくなるよう構成され、pが1より大きい値であるときは予測クラスがFNであるほど損失が拡大する。
【0056】
σをy=1(合格)である確率、1-σをy=0(不合格)である確率として、閾値θに対する判定を数式2のように定める(図5参照)。なお、閾値θは、不合格(負)を判定するための閾値であり、閾値1-θは、合格(正)を判定するための閾値である。
【0057】
【数2】
【0058】
σ(θ)は、σを閾値θとの関係に応じて補正した補正確率である。σ(θ)は、閾値1-θの前後で非連続となっている。
【0059】
或るθ、Δθ>0において損失関数の差がl(θ+Δθ)-l(θ)<0となる重み付け係数pであれば、FNRは単調減少となる。y=1の場合は数式3、y=0の場合は数式4で表される。
【0060】
【数3】
【0061】
【数4】
【0062】
よって、θを変えることによる損失関数の差はσ~1-θ近傍でしか起こらない。通常、Ny=1>Ny=0であるから、σ~1-θとなるものは、合格(正)と不合格(負)で同数と仮定できる。よって、損失関数が単調減少となる重み付け係数pの条件は、数式5で表される。
【0063】
【数5】
【0064】
この式に基づいて閾値θが満たすべき数値範囲を確認することができる。
【0065】
[推論フェーズ]
以下、判定システム10(図1参照)において実現される、学習フェーズで生成された学習済みモデル及び閾値θを用いた判定方法について説明する。図6は、判定方法を説明するための図である。図7は、判定方法の手順例を示すフロー図である。図8は、判定結果の例を説明するための図である。
【0066】
判定装置1は、図6に示す情報処理をプログラムに従って実行することで、取得部11及び判定部12として機能する。
【0067】
まず、判定装置1は、カメラ3により撮像された画像データを取得する(S21、取得部11としての機能)。
【0068】
次に、判定装置1は、学習フェーズで生成され、記憶部2(図1参照)に記憶された学習済みモデル及び閾値θを用いて、画像データに含まれる製品がOK(合格)であるかNG(不合格)であるか判定する(S22-S26、判定部12としての機能)。
【0069】
具体的には、判定装置1は、画像データを学習済みモデルに入力し、製品がOK(合格)であるOK確率pを計算する(S22)。学習済みモデルの出力要素はシグモイド関数で構成され、OK確率pは0以上1以下の値で出力される。
【0070】
次に、判定装置1は、OK確率pから、製品がNG(不合格)であるNG確率pを計算する(S23)。NG確率pは、1-pで表される。OK確率p又はNG確率pは、画像データに含まれる製品の合否の判定結果の例である。
【0071】
次に、判定装置1は、NG確率pを閾値θと比較し、NG確率pと閾値θの大小関係で判定を行う(S24)。
【0072】
NG確率pが閾値θ以上である場合には(S24:YES)、判定装置1は、製品がNG(不合格)であると判定する(S25)。
【0073】
一方、NG確率pが閾値θ未満である場合には(S24:NO)、判定装置1は、製品がOK(合格)であると判定する(S26)。
【0074】
図8の例に示すように、閾値θが5%であるとき、NG確率pが5%以上である画像A及びDはNG(不合格)と判定され、NG確率pが5%未満である画像B及びCはOK(合格)とされる。
【0075】
以上に説明した実施形態によれば、画像データに含まれる製品がOK(合格)であるかNG(不合格)であるか判定する検査において、FPR≦aを達成しつつFNRも抑えることが可能となる。
【0076】
[変形例]
上記実施形態では、偽陽性率(FPR)を所定値a以下に抑えつつ偽陰性率(FNR)も抑えることを目的としたが、これとは反対に、偽陰性率(FNR)を所定値b以下に抑えつつ偽陽性率(FPR)も抑えることを目的としてもよい。
【0077】
FNR≦bを保証するようにモデルを学習させると、TPRが高くなりやすい。そこで、本変形例では、TNRを優先的に向上させるために、すなわちFPRを優先的に抑制するために、学習用データが不合格(負)であるときの誤差を学習用データが合格(正)であるときの誤差よりも重み付けした損失関数を用いて、モデルの学習を行う。
【0078】
具体的には、上記数式1で表す損失関数において、重み係数pを、第1項ではなく、学習用データが不合格(負)であるときの誤差を表す角括弧内の第2項に含める。
【0079】
学習ステップ(S13)では、そのような損失関数を用いてモデルの学習が行われ、調整ステップ(S14)では、モデルの判定結果からFNR≦bとなる調整用閾値θtuneが求められる。
【0080】
以上、本発明の実施形態について説明したが、本発明は以上に説明した実施形態に限定されるものではなく、種々の変更が当業者にとって可能であることはもちろんである。
【0081】
上記実施形態では、判定用データとして画像データを用いているが、これに限られず、判定用データには種々のデータを用いることができる。
【0082】
上記実施形態では、NG確率pを算出して、NG(不合格)を判定するための閾値θと比較しているが、これに限らず、OK確率pを算出して、OK(合格)を判定するための閾値1-θと比較してもよい。
【0083】
その他、学習用データが合格(正)であるときの誤差を学習用データが不合格(負)であるときの誤差よりも重み付けした損失関数を用いて、FNRが所定以下となるようにモデルの学習を行ってもよい。
【0084】
また、学習用データが不合格(負)であるときの誤差を学習用データが合格(正)であるときの誤差よりも重み付けした損失関数を用いて、FPRが所定以下となるようにモデルの学習を行ってもよい。
【0085】
[第2実施形態]
以下、第2実施形態について説明する。図9は、第2実施形態に係る学習済みモデルの生成方法の手順例を示すフロー図である。同図に示す各工程は、コンピュータによる情報処理によって実現される。
【0086】
第2実施形態では、損失関数において学習用データが不合格(負)であるときの誤差を学習用データが合格(正)であるときの誤差よりも重み付けする重み付けパラメータrをハイパーパラメータとして設定し、判定閾値θを所定の固定値として設定して、損失関数を用いて学習モデルの機械学習を行い、FPRが所定値α以下となるまで重み付けパラメータrの探索を行う。
【0087】
図9に示すように、まず、学習用データを、モデル学習用データと、チューニング用データと、テストデータとに分ける(S31)。学習用データは、学習用画像と合否のラベルとを関連付けたデータセットである。例えば、学習用データのうち、8割がモデル学習用データ、1割がチューニング用データ、1割がテストデータ(過学習評価用データ)とされる。
【0088】
次に、重み付けパラメータrを或る値rに設定する(S32)。rは、1より大きい値である。
【0089】
次に、モデル学習用データを用いてモデルパラメータの学習を行う(S33)。具体的には、学習用データが不合格(負)であるときの誤差を学習用データが合格(正)であるときの誤差よりも重み付けする重み付けパラメータrを含む損失関数に基づいて学習を行い、学習済みパラメータk(本文ではハットを省略)を得る。学習済みパラメータkは、下記数式6で表される。
【0090】
【数6】
【0091】
ここで、Dは全学習用データを表す。rは、重み付けパラメータであり、1よりも大きい値である。Yは、学習用データの合否ラベルである(1:合格、0:不合格)。p(k)は、データlがY=1(合格)又はY=0(不合格)と判定される予測値(確率)である。
【0092】
は不合格(負)の学習用データ数であり、lは合格(正)の学習用データ数である。合格の学習用データと不合格の学習用データは均等に用意することが難しいため、その偏りに伴う影響を抑制する目的で、データ数の重みl,lが採用されている。
【0093】
この数式6は、重み付けパラメータrが1よりも大きく設定されることで、学習用データが不合格である場合に予測が乖離すると、損失が相対的に大きくなるよう構成されている。したがって、この損失関数の元では、FPRをなるべく小さくするように学習することになる。
【0094】
S32及びS33では、重み付けパラメータr=rが設定され、その上で、モデル学習用データを用いてモデルパラメータの学習が行われ、学習済みパラメータkroが得られる。
【0095】
次に、学習済みパラメータkroを含むモデルによるチューニング用データを用いた判定結果から、FPR確認のためのyの値を算出する(S34)。yは、下記数式7で表される。
【0096】
【数7】
【0097】
ここで、FPRは、学習済みパラメータkroを含むモデルの判定結果から算出されたFPRである。αは、予め設定される値であって、モデルに要求されるFPRの水準から適宜選択される。
【0098】
次に、yの値が近似的に0に見なせるか否か判定する(S35)。具体的には、yの値が0を含む所定の範囲内であるか否かを判定する。
【0099】
yの値が近似的に0に見なせない場合(S35:NO)重み付けパラメータrを更新して(S36)、モデルパラメータの学習(S33)及びyの値の算出(S34)を再度行う。
【0100】
このようにS33-S36の処理を繰り返すことで、重み付けパラメータrの探索が行われる。重み付けパラメータrの探索は、yの値が近似的に0に見なせるまで(S35:YES)、すなわちFPRが所定以下となるまで行われる。
【0101】
重み付けパラメータrの探索には、例えば直線探索法などの手法が利用される。図10中に実線で示すように、一般的な傾向として、重み付けパラメータrが大きくなるほどyの値が小さくなることが期待されるので、重み付けパラメータrを更新する度に重み付けを大きくすることが好ましい。
【0102】
但し、図10中に破線で示すように、実際の学習においてはデータ選択の揺らぎ等によりyの値が振動することがよくあるため、複数の重み付けパラメータrを用意し、それらについて並列して学習を行った後にyの値を比較することで、重み付けパラメータrを決定してもよい。この場合、探索のループ回数を減らせることが期待される。
【0103】
なお、重み付けパラメータrを大きくし過ぎると、損失関数の第一項の影響が相対的に小さくなってFNRが大きくなり易いので、重み付けパラメータrはFPR≦αを満たす範囲で最小の値に留めて、FNRの増大を抑制することが望ましい。これにより、FPR≦αを保証しつつFNRも抑えることができる。
【0104】
yの値が近似的に0に見なせる場合(S35:YES)、探索により得られた学習済みパラメータkを用いて同様の検証を行う。すなわち、テストデータを用いた判定結果から、再度yの値を算出し(S37)、yの値が近似的に0に見なせるか否か判定する(S38)。
【0105】
yの値が近似的に0に見なせる場合(S38:YES)、探索は終了する。ここでは、上記S35よりも小さい値と比較することが好ましい。例えば、上記S35でyの値が0以下であるか判定した場合、S38では、yの値が0よりも少し小さい値a(例えばa=-0.01)以下であるか否か判定することが好ましい。
【0106】
yの値が近似的に0に見なせない場合には(S38:NO)、S32-S36の処理をやり直す。
【0107】
以上の手順により、FPR≦αを保証しつつFNRも抑えた、FPRとFNRのバランスに優れた学習済みモデルを得ることが可能となる。
【0108】
図11は、上記第2実施形態に係る学習済みモデルの生成方法により生成された学習済みモデルを用いた、第2実施形態に係る判定方法の手順例を示す図である。判定装置1は、同図に示す情報処理をプログラムに従って実行する。
【0109】
まず、判定装置1は、カメラ3により撮像された画像データを取得する(S41、取得部11としての機能)。
【0110】
次に、判定装置1は、学習済みモデルを用いて、画像データに含まれる製品がOK(合格)であるかNG(不合格)であるか判定する(S42-S45、判定部12としての機能)。
【0111】
具体的には、判定装置1は、画像データを学習済みモデルに入力し、製品がOK(合格)であるOK確率pを計算する(S42)。学習済みモデルの出力要素はシグモイド関数で構成され、OK確率pは0以上1以下の値で出力される。
【0112】
次に、判定装置1は、OK確率pを判定閾値θと比較し、OK確率pを判定閾値θの大小関係で判定を行う(S43)。第2実施形態では、判定閾値θは所定の固定値である。
【0113】
S43においてOK確率pが判定閾値θ以上である場合には、判定装置1は、製品がOK(合格)であると判定する(S44)。
【0114】
一方、S43においてOK確率pが判定閾値θ未満である場合には、判定装置1は、製品がNG(不合格)であると判定する(S45)。
【0115】
なお、ここでは、OK確率pと判定閾値θを比較して判定を行ったが、これに限られず、上記第1実施形態と同様に、NG確率pと判定閾値1-θを比較して判定を行ってもよい。
【符号の説明】
【0116】
1 判定装置、2 記憶部、3 カメラ、4 表示部、10 判定システム、11 取得
部、12 判定部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11