(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-27
(45)【発行日】2023-08-04
(54)【発明の名称】学習用データの評価方法、プログラム、学習用データの生成方法、学習済みモデルの生成方法、及び学習用データの評価システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230728BHJP
G06V 10/774 20220101ALI20230728BHJP
G06N 20/00 20190101ALI20230728BHJP
【FI】
G06T7/00 350B
G06V10/774
G06N20/00 130
(21)【出願番号】P 2021567367
(86)(22)【出願日】2020-12-17
(86)【国際出願番号】 JP2020047188
(87)【国際公開番号】W WO2021132024
(87)【国際公開日】2021-07-01
【審査請求日】2022-04-26
(31)【優先権主張番号】P 2019233422
(32)【優先日】2019-12-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100131495
【氏名又は名称】前田 健児
(72)【発明者】
【氏名】佐藤 太一
(72)【発明者】
【氏名】本村 秀人
(72)【発明者】
【氏名】後藤 良介
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2019/053052(WO,A1)
【文献】小林 賢一,農作物病害画像診断に向けたData Augmentationの評価,一般社団法人 人工知能学会 第32回全国大会論文集DVD [DVD-ROM] 2018年度 人工知能学会全国大会(第32回),日本,一般社団法人 人工知能学会,2018年06月08日,P.1-2
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/774
G06N 20/00
G06N 3/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する第1評価ステップと、
前記第1評価ステップでの評価と前記データ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価する第2評価ステップと、を有する、
学習用データの評価方法。
【請求項2】
前記第2評価ステップでの評価は、前記第1評価ステップでの性能の評価が高い程高く、
前記第2評価ステップでの評価は、前記パラメータの取り得る範囲が広い程高い、
請求項1記載の学習用データの評価方法。
【請求項3】
前記第2評価ステップでの評価に基づいて、前記パラメータを更新する更新ステップと、
前記更新ステップが実行される前に前記学習済みモデルを記憶する記憶ステップと、
前記更新ステップの実行後の前記学習済みモデルと、前記記憶ステップで記憶された前記学習済みモデルとを比較する比較ステップと、を更に有する、
請求項1又は2に記載の学習用データの評価方法。
【請求項4】
前記学習用データは、前記学習済みモデルの認識対象を含む画像データに対して、前記パラメータに基づく付加画像を追加することで生成される、
請求項1~3のいずれか1項に記載の学習用データの評価方法。
【請求項5】
前記第1評価ステップでの評価が目標に到達すると、前記第1評価ステップ及び前記第2評価ステップを停止する、
請求項1~4のいずれか1項に記載の学習用データの評価方法。
【請求項6】
前記第1評価ステップでの評価が一定値に収束すると、前記第1評価ステップ及び前記第2評価ステップを停止する、
請求項1~4のいずれか1項に記載の学習用データの評価方法。
【請求項7】
前記第1評価ステップは、前記学習済みモデルに入力される複数の評価用データの各々について、前記学習済みモデルの性能を評価する、
請求項1~6のいずれか1項に記載の学習用データの評価方法。
【請求項8】
前記第2評価ステップは、前記学習用データを用いて機械学習を行う過程で前記学習用データに対して実行される前処理に関する前処理パラメータに基づいて、前記パラメータを評価する、
請求項1~7のいずれか1項に記載の学習用データの評価方法。
【請求項9】
1以上のプロセッサに、
請求項1~8のいずれか1項に記載の学習用データの評価方法を実行させる、
プログラム。
【請求項10】
データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する第1評価ステップと、
前記第1評価ステップでの評価と前記データ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価する第2評価ステップと、
前記第2評価ステップでの評価に基づいて、前記パラメータを更新する更新ステップと、
前記更新ステップで更新された前記パラメータに基づく前記データ拡張処理により、前記学習用データを生成するデータ生成ステップと、を有する、
学習用データの生成方法。
【請求項11】
データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する第1評価ステップと、
前記第1評価ステップでの評価と前記データ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価する第2評価ステップと、
前記第2評価ステップでの評価に基づいて、前記パラメータを更新する更新ステップと、
前記更新ステップで更新された前記パラメータに基づく前記データ拡張処理により、前記学習用データを生成するデータ生成ステップと、
前記データ生成ステップで生成された前記学習用データを用いて機械学習することにより、前記学習済みモデルを生成するモデル生成ステップと、を有する、
学習済みモデルの生成方法。
【請求項12】
データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する第1評価部と、
前記第1評価部での評価と前記データ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価する第2評価部と、を備える、
学習用データの評価システム。
【請求項13】
学習用データと評価用データの類似度を評価する第1評価ステップと、
前記第1評価ステップでの評価と
データ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価する第2評価ステップと、を有する、
学習用データの評価方法。
【請求項14】
前記類似度は、前記評価用データに含まれる要素に対して最も類似する学習用データの各々の類似度の累計である請求項13に記載の学習用データの評価方法。
【請求項15】
データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する第1評価ステップと、
前記第1評価ステップでの評価と前記学習用データのパラメータの多様度に基づいて、前記パラメータを評価する第2評価ステップと、を有する、
学習用データの評価方法。
【請求項16】
データ拡張処理により生成される学習用データを用いて学習された学習済みモデルの性能を評価し、
評価結果に基づいて前記学習用データの多様度を変化させることで前記学習用データを更新し、
更新された前記学習用データを用いて学習することにより、前記学習済みモデルを生成する、
学習済みモデルの生成方法。
【請求項17】
前記学習用データの多様度を変化させることは、前記データ拡張処理の度合いを変化させることである、
請求項16に記載の学習済みモデルの生成方法。
【請求項18】
前記画像データに対してラベルを付与することで前記学習用データを生成し、
前記学習用データの多様度を変化させることは、前記ラベル毎の構成を変更することと、前記ラベル間で前記学習用データを入れ替えることと、いずれかの前記ラベルに含まれる前記学習用データを削除することとの少なくとも1つを含む、
請求項17に記載の学習済みモデルの生成方法。
【請求項19】
前記データ拡張処理は、前記対象物の画像データに対して実行される平行移動、拡大・縮小、回転、反転、又はノイズの付与のうち少なくとも1つを含む処理である、
請求項18に記載の学習済みモデルの生成方法。
【請求項20】
前記対象物の画像データと前記画像データに付与されるラベルとの組み合わせである評価用データを用いて前記評価を行う、
請求項19に記載の学習済みモデルの生成方法。
【請求項21】
前記ラベルは、前記画像データに含まれる前記対象物が良品であるか不良品であるかの情報である、
請求項20に記載の学習済みモデルの生成方法。
【請求項22】
前記評価結果に基づいて、前記データ拡張処理のパラメータの多様度を変化させる、
請求項21に記載の学習済みモデルの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に学習用データの評価方法、プログラム、学習用データの生成方法、学習済みモデルの生成方法、及び学習用データの評価システムに関する。より詳細には、本開示は、モデルの機械学習に用いられる学習用データの評価方法、そのプログラム、学習用データの生成方法、学習済みモデルの生成方法、及び学習用データの評価システムに関する。
【背景技術】
【0002】
非特許文献1には、現代画像分類器の精度を改善するためのデータ拡張の手法が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Ekin D. Cubuk et al., “AutoAugment: Learning Augmentation Strategies from Data”, arXiv:1805.09501v3[cs.CV], 11 Apr 2019
【発明の概要】
【0004】
本開示は、モデルの認識率の向上に寄与し得る学習用データを生成しやすい学習用データの評価方法、プログラム、学習用データの生成方法、学習済みモデルの生成方法、及び学習用データの評価システムを提供することを目的とする。
【0005】
本開示の一態様に係る学習用データの評価方法は、第1評価ステップと、第2評価ステップと、を有する。第1評価ステップは、データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価するステップである。第2評価ステップは、第1評価ステップでの評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、前記パラメータを評価するステップである。
【0006】
本開示の別の一態様に係るプログラムは、1以上のプロセッサに、上記の学習用データの評価方法を実行させる。
【0007】
本開示の別の一態様に係る学習用データの生成方法は、第1評価ステップと、第2評価ステップと、更新ステップと、データ生成ステップと、を有する。第1評価ステップは、データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価するステップである。第2評価ステップは、第1評価ステップでの評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップは、第2評価ステップでの評価に基づいて、パラメータを更新するステップである。データ生成ステップは、更新ステップで更新されたパラメータに基づくデータ拡張処理により、学習用データを生成するステップである。
【0008】
本開示の別の一態様に係る学習済みモデルの生成方法は、第1評価ステップと、第2評価ステップと、更新ステップと、データ生成ステップと、モデル生成ステップと、を有する。第1評価ステップは、データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価するステップである。第2評価ステップは、第1評価ステップでの評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップは、第2評価ステップでの評価に基づいて、パラメータを更新するステップである。データ生成ステップは、更新ステップで更新されたパラメータに基づくデータ拡張処理により、学習用データを生成するステップである。モデル生成ステップは、データ生成ステップで生成された学習用データを用いて機械学習することにより、学習済みモデルを生成するステップである。
【0009】
本開示の別の一態様に係る学習用データの評価システムは、第1評価部と、第2評価部と、を備える。第1評価部は、データ拡張処理により生成される学習用データを用いて機械学習された学習済みモデルの性能を評価する。第2評価部は、第1評価部での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価する。
【発明の効果】
【0010】
本開示は、モデルの認識率の向上に寄与し得る学習用データを生成しやすい、という利点がある。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本開示の一実施形態に係る学習用データの評価システムを含むモデル生成システムを示すブロック図である。
【
図2】
図2は、同上のモデル生成システムにおいて、学習済みモデルの認識対象の一例の概要図である。
【
図3A】
図3Aは、同上の認識対象の不良品の一例の説明図である。
【
図3B】
図3Bは、同上の認識対象の不良品の他の一例の説明図である。
【
図3C】
図3Cは、同上の認識対象の不良品の更に他の一例の説明図である。
【
図4】
図4は、同上のモデル生成システムにおいて、オリジナル学習用データに含まれる画像データの一例を示す概要図である。
【
図5】
図5は、同上のモデル生成システムにおいて、オリジナル学習用データに基づいて生成された学習用データに含まれる画像データの一例を示す概要図である。
【
図6A】
図6Aは、同上のモデル生成システムにおいて、ビードの良品を撮像した画像データの一例を示す概要図である。
【
図6B】
図6Bは、
図6Aに示す画像データに付加画像を追加して生成された学習用データに含まれる画像データの一例を示す概要図である。
【
図7】
図7は、同上のモデル生成システムの動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
(1)概要
本実施形態に係る学習用データの評価方法は、モデルを機械学習するために用いられる学習用データを評価するための方法である。本開示でいう「モデル」は、認識対象に関するデータが入力されると、認識対象がどのような状態にあるかを推定し、推定結果を出力するプログラムである。以下では、学習用データを用いた機械学習が完了したモデルを「学習済みモデル」という。また、本開示でいう「学習用データ」は、モデルに入力される入力情報(本実施形態では、画像データ)と、入力情報に付与されたラベルと、を組み合わせたデータセットであり、いわゆる教師データである。つまり、本実施形態では、学習済みモデルは、教師あり学習による機械学習が完了したモデルである。本実施形態では、学習用データの評価方法は、
図1に示す学習用データの評価システム10(以下、単に「評価システム10」ともいう)により実現される。
図1は、本開示の一実施形態に係る学習用データの評価システム10を含むモデル生成システム100を示すブロック図である。
図2は、
図1に示すモデル生成システム100において、学習済みモデルの認識対象の一例の概要図である。
【0013】
本実施形態では、認識対象は、
図2に示すように、2以上の部材(ここでは、第1板B11及び第2板B12)を溶接した際に溶接箇所に形成されるビードB1である。そして、学習済みモデルM1(
図1参照)は、ビードB1を含む画像データが入力されると、ビードB1の状態を推定し、推定結果を出力する。具体的には、学習済みモデルM1は、推定結果として、ビードB1が良品であるか不良品であるか、不良品である場合は不良品の種類を出力する。つまり、学習済みモデルM1は、ビードB1が良品であるか否か、言い換えれば溶接が正しく行われたか否かを検査する溶接外観検査のために用いられる。
【0014】
ビードB1が良品であるか否かは、一例として、ビードB1の長さ、ビードB1の高さ、ビードB1の立ち上がりの角度、ビードB1ののど厚、ビードB1の余盛、及びビードB1の溶接箇所の位置ずれ(ビードB1の始端のずれを含む)が許容範囲に収まっているか否かにより判定される。例えば、上記に列挙した条件のうち1つでも許容範囲に収まっていなければ、ビードB1が不良品であると判定される。
図3A~
図3Cは、認識対象であるビードB1の不良品の例の説明図である。
図3A~
図3Cは、ビードB1を含む断面図である。ビードB1が良品であるか否かは、一例として、ビードB1のアンダーカットB2(
図3A参照)の有無、ビードB1のピットB3(
図3B参照)の有無、ビードB1のスパッタB4(
図3C参照)の有無、及びビードB1の突起の有無に基づいて判定される。例えば、上記に列挙した不良部分のうち1つでも発生した場合、ビードB1が不良品であると判定される。
【0015】
ここで、モデルの機械学習を行うためには、認識対象の不良品を含む多数の画像データを学習用データD1(
図1参照)として用意する必要がある。しかしながら、認識対象の不良品が発生する頻度が少ない場合、認識率の高い学習済みモデルM1を生成するために必要な学習用データD1が不足しがちである。そこで、実際にビードB1を撮像装置により撮像することで得られる学習用データD1(以下、実際にビードB1を撮像装置により撮像することで得られる学習用データのことを「オリジナル学習用データ」ともいう)についてデータ拡張(Data Augmentation)処理を実行することにより、学習用データD1の数を増やしてモデルの機械学習を行うことが考えられる。ここでいう「データ拡張処理」は、学習用データD1に対して平行移動、拡大・縮小、回転、反転、又はノイズの付与等の処理を加えることで、学習用データを人為的に水増しする処理をいう。
【0016】
しかしながら、単にオリジナル学習用データとしての学習用データD1についてデータ拡張処理を行えばよいわけではなく、場合によっては新たに生成された学習用データD1を用いて機械学習を行うことで、学習済みモデルM1の認識率が低下する可能性もある。つまり、学習済みモデルM1の認識率の向上に寄与し得る、モデルの機械学習に適切な学習用データD1を生成できるようなデータ拡張を行うのが望ましい。
【0017】
そこで、本実施形態では、学習用データD1の評価方法により学習用データD1を評価することにより、モデルの機械学習に適切な学習用データD1をデータ拡張処理にて生成しやすくしている。
図7は、モデル生成システム100の動作を示すフローチャートである。本実施形態の学習用データD1の評価方法は、第1評価ステップST1(
図7参照)と、第2評価ステップST2(
図7参照)と、を有している。
【0018】
第1評価ステップST1は、データ拡張処理により生成される学習用データD1を用いて機械学習された学習済みモデルM1の性能を評価するステップである。本開示でいう「データ拡張処理」は、オリジナル学習用データに対して実行される処理の他、オリジナル学習用データを用いずに、データ拡張処理のパラメータに基づいて新たに学習用データD1を生成する処理を含み得る。例えば、データ拡張処理は、CG(Computer Graphics)技術により、オリジナル学習用データとしての学習用データD1を用いずに良品のビードB1を含む画像データ、又は不良品のビードB1を含む画像データを生成する処理を含んでいてもよい。
【0019】
第2評価ステップST2は、第1評価ステップST1での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、(データ拡張処理の)パラメータを評価するステップである。本開示でいう「データ拡張処理のパラメータ」は、処理対象のデータの一部又は全部に対して実行される平行移動、拡大・縮小、回転、反転、又はノイズの付与等のデータ拡張処理の度合いをいう。例えば、表面に突起を有する不良品のビードB1の画像データを処理対象のデータとした場合、データ拡張処理のパラメータは、突起を移動させる移動量、突起の寸法、突起の回転量等を含み得る。
【0020】
ここで、データ拡張処理のパラメータは、処理の種類ごとに変更可能な範囲が設定されている。例えば、パラメータが突起を移動させる移動量の場合、移動量は、0~数十mmの範囲で変更可能である。なお、データ拡張処理のパラメータは、1値すなわち所定の1つの値であってもよい。また、データ拡張処理のパラメータは、所定の処理における上限値と下限値との間で決定される。データ拡張を行う際、当該パラメータは、上限値、下限値の範囲内でランダムに値を決定されてもよい。また、データ拡張処理のパラメータは、データ拡張を行う際に移動量等の値がとる平均、分散などの統計値であってもよい。
【0021】
上述のように、本実施形態では、学習済みモデルM1の性能を評価し、その評価に基づいてデータ拡張処理のパラメータを評価する。このため、本実施形態では、データ拡張処理により生成された学習用データD1が、学習済みモデルM1の生成にあたって適切なデータであったか否かを間接的に評価することが可能である。その結果、本実施形態では、データ拡張処理のパラメータの評価に基づいて次回以降のデータ拡張処理のパラメータを更新する等して、モデルの認識率の向上に寄与し得る学習用データD1を生成しやすい、という利点がある。
【0022】
(2)詳細
以下、本実施形態の学習用データの評価方法を実現するための評価システム10、及び評価システム10を用いて学習済みモデルM1を生成するモデル生成システム100について
図1を参照して詳しく説明する。モデル生成システム100は、
図1に示すように、評価システム10と、更新部3と、データ生成部4と、モデル生成部5と、記憶部6と、を備えている。また、評価システム10は、第1評価部1と、第2評価部2と、を備えている。
【0023】
本実施形態では、モデル生成システム100(評価システム10を含む)は、記憶部6を除いて、1以上のプロセッサ及びメモリを有するコンピュータシステムを主構成とする。そのため、1以上のプロセッサがメモリに記録されているプログラムを実行することにより、第1評価部1、第2評価部2、更新部3、データ生成部4、及びモデル生成部5として機能する。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
【0024】
データ生成部4は、更新部3で更新されたパラメータに基づくデータ拡張処理により、学習用データD1を生成する。本開示でいう「学習用データの生成」は、既存の学習用データD1とは別に新しい学習用データD1を生成することの他に、既存の学習用データD1を更新することにより新しい学習用データD1を生成することを含み得る。また、データ生成部4は、更新部3によりパラメータを更新する前の初期時においては、あらかじめ設定された初期パラメータに基づくデータ拡張処理により、学習用データD1を生成する。
【0025】
本実施形態では、データ拡張処理のパラメータは、複数種類存在する。そして、複数種類のパラメータは、それぞれ変更可能な範囲が設定されている。ここで、一例として、データ生成部4が任意のオリジナル学習用データにデータ拡張処理を実行する、と仮定する。この場合、データ生成部4は、複数種類のパラメータのうち1以上のパラメータについて、変更可能な範囲内で処理量を変更させながら、このオリジナル学習用データに対してデータ拡張処理を順次実行する。これにより、データ生成部4は、1つのオリジナル学習用データを基にして、多数の学習用データD1を生成することが可能である。
【0026】
図4は、モデル生成システム100において、オリジナル学習用データに含まれる画像データの一例を示す概要図である。
図5は、モデル生成システム100において、オリジナル学習用データに基づいて生成された学習用データに含まれる画像データの一例を示す概要図である。一例として、
図4に示すような画像データを含むオリジナル学習用データが存在する、と仮定する。この画像データは、ビードB1の表面から突起C1が突出している、不良品のビードB1のデータである。したがって、このオリジナル学習用データのラベルは、「不良品:突起有り」である。データ生成部4は、この画像データに対して、例えば突起C1を平行移動させるデータ拡張処理を実行することで、
図5に示すような画像データを生成することが可能である。
図5に示す例では、データ拡張処理の実行前の突起C1を二点鎖線で表している。また、
図5に示す例では、データ拡張処理の実行後の突起を「C2」で表している。
【0027】
そして、データ生成部4は、この画像データに対して、オリジナル学習用データと同じラベルである「不良品:突起有り」を付与することで、学習用データD1を生成する。ここで、データ生成部4は、突起C1を平行移動させる移動量を変更可能な範囲内で段階的に変更することで、突起C1の位置が互いに異なる多数の学習用データD1を生成する。
【0028】
本実施形態では、データ生成部4は、良品のビードB1の画像データを含むオリジナル学習用データに対して、不良品の特徴を表す画像(例えば、ビードB1の突起等の画像)を付加することで、不良品のビードB1の画像データを含む学習用データD1を生成している。つまり、学習用データD1は、学習済みモデルM1の認識対象(ここでは、ビードB1)を含む画像データに対して、(データ拡張処理の)パラメータに基づく付加画像D11を追加することで生成される。
【0029】
図6Aは、モデル生成システム100において、ビードB1の良品を撮像した画像データの一例を示す概要図である。
図6Bは、
図6Aに示す画像データに付加画像を追加して生成された学習用データに含まれる画像データの一例を示す概要図である。一例として、
図6Aに示すような画像データを含むオリジナル学習用データが存在する、と仮定する。この画像データは、良品のビードB1のデータである。したがって、このオリジナル学習用データのラベルは、「良品」である。データ生成部4は、この画像データに対して、例えば付加画像D11として、ビードB1の表面から突出する突起E1を追加するデータ拡張処理を実行することで、
図6Bに示すような画像データを生成することが可能である。そして、データ生成部4は、この画像データに対して、オリジナル学習用データと異なるラベルである「突起(不良品)」を付与することで、学習用データD1を生成する。なお、不良の位置と種別を認識するセマンティックセグメンテーションを学習の対象とする場合には、学習用データD1に対するラベルは、E1(D11)の範囲と、不良種別「突起」の位置とする。
【0030】
モデル生成部5は、データ生成部4で生成された学習用データD1を用いて機械学習することにより、学習済みモデルM1を生成する。本開示でいう「学習済みモデルの生成」は、既存の学習済みモデルM1とは別に新しい学習済みモデルM1を生成することの他に、既存の学習済みモデルM1を更新することにより新しい学習済みモデルM1を生成することを含み得る。本実施形態では、モデル生成部5は、前者の方式にて学習済みモデルM1を生成している。
【0031】
モデル生成部5は、例えばSVM(Support Vector Machine)等の線形モデルの他、ニューラルネットワークを用いたモデル、又は多層ニューラルネットワークを用いた深層学習(ディープラーニング)によるモデル等を学習済みモデルM1として生成する。本実施形態では、モデル生成部5は、ニューラルネットワークを用いたモデルを、学習済みモデルM1として生成する。ニューラルネットワークは、例えばCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)、又はBNN(Bayesian Neural Network:ベイズニューラルネットワーク)等を含み得る。
【0032】
記憶部6は、1以上の記憶装置を有している。記憶装置は、例えば、RAM(Random Access Memory)、又はEEPROM(Electrically Erasable Programmable Read Only Memory)等である。記憶部6は、後述するQテーブルを記憶する。
【0033】
第1評価部1は、データ拡張処理により生成される学習用データD1を用いて機械学習された学習済みモデルM1の性能を評価する。つまり、第1評価部1は、第1評価ステップST1の実行主体である。第1評価部1は、評価用データD2を学習済みモデルM1に入力することで得られる、学習済みモデルM1の出力に基づいて、学習済みモデルM1の性能を評価する。
【0034】
評価用データD2は、学習済みモデルM1に入力される入力情報(本実施形態では、画像データ)と、入力情報に付与されたラベルと、を組み合わせたデータセットである。本実施形態では、評価用データD2は、例えばオリジナル学習用データ等、実際にビードB1を撮像することで得られる画像データと、この画像データに付与されるラベルと、の組み合わせである。ラベルは、一例として、画像データに含まれるビードB1が良品であるか不良品であるかの情報である。また、ラベルは、一例として、画像データに含まれるビードB1が不良品である場合は、どのような種類の不良(アンダーカットB2、ピットB3、又はスパッタB4を有する等)であるかの情報である。
【0035】
本実施形態では、第1評価部1は、複数の評価用データD2を学習済みモデルM1に順次入力し、学習済みモデルM1の推定結果と、入力した評価用データD2のラベルとが一致するか否かを判定する。そして、第1評価部1は、複数の評価用データD2に対する学習済みモデルM1の認識率(つまり、(正解数)/(全ての評価用データの数)×100)を、学習済みモデルM1の性能の評価として出力する。
【0036】
第一評価値は、学習用データD1の中に、評価用データD2に類似するデータがあれば、認識対象に対する推定時の認識率が高くなる。そこで、第1評価を複数の評価用データD2に対する学習済みモデルM1の認識率とする代わりに、学習用データD1と評価用データD2との類似度を第一評価とする構成であっても良い。学習用データD1と評価用データD2との類似度は、学習用データD1の中に評価用データD2に類似するデータがあれば、認識対象に対する推定時の認識率が高くなる値である。すなわち、第1評価は評価用データD2を構成する各要素と学習データD1の類似度が高い程、高い値である。また、ここでの、評価用データD2を構成する要素と学習データD1の類似度とは、例えば、学習データD1に含まれるデータのうち、評価用データD2と最も類似するデータと、評価用データD2との類似度である。評価用データD2は複数のデータからなり、各要素とは評価用データD2を構成する1つのデータである。
【0037】
具体例を説明する。学習用データD1はN+1個の画像データからなるとする。N+1個の画像データを、それぞれ画像D1_0、、、画像D1_Nとする。同様に評価用データD2はM+1個の画像データからなるとする。M+1個の画像データを、それぞれ画像D2_0、、、画像D2_Mとする。学習用データD1の中で、画像D2_0と最も類似する画像を画像Xとしたとき、第1評価は、画像D2_0と画像Xの類似度をH_0として計算する。同様に、第1評価部1は、H_1、、、H_Mを算出し、H_0+、、、+H_Mを第一評価とする。ここで、類似度の算出はMSE(Mean Squared Error)、SSIM(structural similarity)などを用いる。
【0038】
または、第1評価は、大量の一般物体画像で学習をおこなって作成したディープラーニングによって構築させる画像特徴量のベクトルの距離による評価であってもよい。このような構成を用いれば、学習用データD1を用いて毎回学習を行うよりも短い時間で第1評価を得る事ができる。
【0039】
上記は、学習用データD1と評価用データの類似度を評価する方法の一例である。他の類似度の評価方法であってもよい。
【0040】
第2評価部2は、第1評価部1での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、(データ拡張処理の)パラメータを評価する。本実施形態では、第2評価部2は、強化学習の一種であるQ学習を用いて、データ拡張処理のパラメータを評価する。第2評価部2は、第1評価部1での評価(つまり、学習済みモデルM1の認識率)を「状態」、データ拡張処理のパラメータを変更することを「行動」として、行動の選択による現在の状態から次状態への遷移に対して「報酬」を与える。例えば、第2評価部2は、データ拡張処理のパラメータの変更後の機械学習により、学習済みモデルM1の認識率が向上した場合に“+α”(“α”は自然数)の報酬を与え、学習済みモデルM1の認識率が低下した場合に“-β”(“β”は自然数)の報酬を与える。
【0041】
本実施形態では、第2評価部2は、記憶部6に記憶されている以下の表1に示すQテーブルの各セル(フィールド)の状態行動価値(Q値)を更新することにより、データ拡張処理のパラメータを評価する。表1に示す例では、Qテーブルの全てのセルのQ値は、初期値(零)である。
【0042】
【0043】
表1に示す例では、“x1”~“x5”は、それぞれ状態を表している。具体的には、“x1”は学習済みモデルM1の認識率が25%未満である状態、“x2”は学習済みモデルM1の認識率が25%以上50%未満である状態、“x3”は学習済みモデルM1の認識率が50%以上75%未満である状態を表している。また、“x4”は学習済みモデルM1の認識率が75%以上95%未満である状態、“x5”は学習済みモデルM1の認識率が95%以上である状態を表している。
【0044】
表1に示す例では、“y11+”、“y11-”、“y12+”、“y12-”、“y21+”、“y21-”、“y22+”,“y22-”は、それぞれ行動を表している。具体的には、“y11+”は第1パラメータの上限値を上げる行動、“y11-”は第1パラメータの上限値を下げる行動、“y12+”は第1パラメータの下限値を上げる行動、“y12-”は第1パラメータの下限値を下げる行動を表している。ここでは、第1パラメータは、ビードB1の表面から突出する突起C1の径寸法の変更可能な範囲である。また、“y21+”は第2パラメータの上限値を上げる行動、“y21-”は第2パラメータの上限値を下げる行動、“y22+”は第2パラメータの下限値を上げる行動、“y22-”は第2パラメータの下限値を下げる行動を表している。ここでは、第2パラメータは、突起C1を平行移動させる場合の移動量の変更可能な範囲である。
【0045】
例えば、状態“x3”において行動“y12-”が選択されることで、状態“x4”に遷移した、と仮定する。この場合、第2評価部2は、学習済みモデルM1の認識率が向上しているので、状態“x3”から状態“x4”への遷移に対して、“+α”の報酬を与える。そして、第2評価部2は、状態“x3”の行と、行動“y12-”の列とが交差するセルにおけるQ値を、上記の報酬等を参照して更新する。
【0046】
更新部3は、第2評価部2での評価に基づいて、データ拡張処理のパラメータを更新する。言い換えれば、更新部3は、第2評価部2(第2評価ステップST2)での評価に基づいて、パラメータを更新する更新ステップST3の実行主体である。つまり、本実施形態の学習用データD1の評価方法は、更新ステップST3を更に有している。本実施形態では、更新部3は、Qテーブルにて所定のアルゴリズムに従って行動を選択することにより、データ拡張処理のパラメータを更新する。更新部3は、Qテーブルの初期状態においては、複数の行動のうちから任意の行動をランダムで選択する。その後、更新部3は、一例としてε-greedy法に従って、複数の行動のうちから一の行動を選択する。つまり、更新部3は、行動を選択する際に0~1の間の乱数を生成し、生成した乱数が“ε”以下であればランダムに行動を選択し、生成した乱数が“ε”よりも大きければQ値の大きい行動を選択する。これにより、Q値の初期値に依存することなく、種々の行動に対する適切なQ値の学習が進みやすい、という利点がある。
【0047】
(3)動作
以下、本実施形態のモデル生成システム100(評価システム10を含む)の動作の一例について、
図7を用いて説明する。前提として、データ生成部4がオリジナル学習用データに基づいてデータ拡張処理を実行することにより、モデルを機械学習するのに十分な数の学習用データD1を用意している、と仮定する。そして、モデル生成部5が、用意された学習用データD1を用いて、あらかじめ学習済みモデルM1を生成している、と仮定する。また、第2評価部2で参照するQテーブルにおいて、初期状態は“x1”であると仮定する。
【0048】
まず、第1評価部1が、学習済みモデルM1の性能を評価する(S1)。処理S1は、第1評価ステップST1に相当する。具体的には、第1評価部1は、複数の評価用データD2を学習済みモデルM1に入力することにより、複数の評価用データD2に対する学習済みモデルM1の認識率を求める。
【0049】
ここで、学習済みモデルM1の認識率が目標(ここでは、100%)に達していなければ(S2:No)、第2評価部2は、第1評価部1での学習済みモデルM1の性能の評価に基づいて、データ拡張処理のパラメータを評価する(S3)。処理S3は、第2評価ステップST2に相当する。具体的には、第2評価部2は、記憶部6に記憶されているQテーブルにおいて、対応するセルのQ値を更新する。
【0050】
一方、学習済みモデルM1の認識率が目標に達していれば(S2:Yes)、モデル生成システム100(つまり、評価システム10)は、その動作を停止する。言い換えれば、モデルの機械学習が完了する。つまり、評価システム10は、第1評価部1での評価が目標(ここでは、全ての評価用データに対して正解すること)に到達すると、動作を停止する、言い換えれば第1評価部1及び第2評価部2を停止する。このように、本実施形態の学習用データD1の評価方法では、第1評価ステップST1での評価が目標に到達すると、第1評価ステップST1及び第2評価ステップST2を停止する。
【0051】
処理S3を経た場合、更新部3が、第2評価部2でのデータ拡張処理のパラメータの評価に基づいて、(データ拡張処理の)パラメータを更新する(S4)。処理S4は、更新ステップST3に相当する。具体的には、更新部3は、Qテーブルにて所定のアルゴリズムに従って行動を選択することにより、パラメータを更新する。
【0052】
そして、データ生成部4が、更新部3で更新されたパラメータに基づくデータ拡張処理により、学習用データD1を生成する(S5)。処理S5は、後述するデータ生成ステップST4に相当する。その後、モデル生成部5が、データ生成部4で生成された学習用データD1を用いて機械学習することにより、学習済みモデルM1を生成する(S6)。処理S6は、後述するモデル生成ステップST5に相当する。
【0053】
以下、処理S2にて学習済みモデルM1の認識率が目標に達するまで、処理S1~S6を繰り返す。
【0054】
(4)利点
上述のように、本実施形態では、学習済みモデルM1を評価し、その評価に基づいてデータ拡張処理のパラメータを評価する。このため、本実施形態では、データ拡張処理により生成された学習用データD1が、学習済みモデルM1の生成にあたって適切なデータであったか否かを間接的に評価することが可能である。その結果、本実施形態では、データ拡張処理のパラメータの評価に基づいて次回以降のデータ拡張処理のパラメータを更新する等して、モデルの認識率の向上に寄与し得る学習用データD1を生成しやすい、という利点がある。
【0055】
つまり、本実施形態では、コンピュータシステムにより試行錯誤を繰り返すことで、データ拡張処理の最適なパラメータを探索することが可能である。そして、本実施形態では、探索により得られたパラメータに基づいて、学習済みモデルの認識率の向上に寄与し得る学習用データD1を生成しやすくなる。その結果、本実施形態では、生成した学習用データD1を用いてモデルの機械学習を実行することで、所望の認識率を有する学習済みモデルM1を生成しやすくなる。
【0056】
(5)変形例
上述の実施形態は、本開示の様々な実施形態の一つに過ぎない。上述の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、上述の実施形態に係る学習用データD1の評価システム10と同様の機能は、学習用データD1の評価方法の他に、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。一態様に係る(コンピュータ)プログラムは、1以上のプロセッサに、上記の学習用データD1の評価方法を実行させる。
【0057】
また、上述の実施形態に係るモデル生成システム100と同様の機能は、学習済みモデルM1の生成方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。さらに、上述の実施形態に係るモデル生成システム100のうち学習用データD1を生成する構成と同様の機能は、学習用データD1の生成方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【0058】
一態様に係る学習用データD1の生成方法は、第1評価ステップST1と、第2評価ステップST2と、更新ステップST3と、データ生成ステップST4と、を有する。第1評価ステップST1は、データ拡張処理により生成される学習用データD1を用いて機械学習された学習済みモデルM1の性能を評価するステップである。第2評価ステップST2は、第1評価ステップST1での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップST3は、第2評価ステップST2での評価に基づいて、パラメータを更新するステップである。データ生成ステップST4は、更新ステップST3で更新されたパラメータに基づくデータ拡張処理により、学習用データD1を生成するステップである。上述の実施形態では、データ生成ステップST4の実行主体は、データ生成部4である。
【0059】
一態様に係る学習済みモデルM1の生成方法は、第1評価ステップST1と、第2評価ステップST2と、更新ステップST3と、データ生成ステップST4と、モデル生成ステップST5と、を有する。第1評価ステップST1は、データ拡張処理により生成される学習用データD1を用いて機械学習された学習済みモデルM1の性能を評価するステップである。第2評価ステップST2は、第1評価ステップST1での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップST3は、第2評価ステップST2での評価に基づいて、パラメータを更新するステップである。データ生成ステップST4は、更新ステップST3で更新されたパラメータに基づくデータ拡張処理により、学習用データD1を生成するステップである。モデル生成ステップST5は、データ生成ステップST4で生成された学習用データD1を用いて機械学習することにより、学習済みモデルM1を生成するステップである。上述の実施形態では、モデル生成ステップST5の実行主体は、モデル生成部5である。
【0060】
以下、上述の実施形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
【0061】
本開示におけるモデル生成システム100は、例えば、第1評価部1、第2評価部2、更新部3、データ生成部4、及びモデル生成部5等に、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示におけるモデル生成システム100としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1または複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。さらに、LSIの製造後にプログラムされる、FPGA(Field-Programmable Gate Array)、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1または複数の電子回路で構成される。
【0062】
また、モデル生成システム100における複数の機能が、1つの筐体内に集約されていることはモデル生成システム100に必須の構成ではなく、モデル生成システム100の構成要素は、複数の筐体に分散して設けられていてもよい。さらに、モデル生成システム100の少なくとも一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0063】
上述の実施形態において、評価システム10は、第1評価部1での評価が目標に到達しなくても、一定値に収束すると、動作を停止するように構成されていてもよい、言い換えれば第1評価部1及び第2評価部2を停止するように構成されていてもよい。言い換えれば、本実施形態の学習用データD1の評価方法では、第1評価ステップST1での評価が一定値に収束すると、第1評価ステップST1及び第2評価ステップST2を停止してもよい。
【0064】
上述の実施形態において、第1評価部1は、学習済みモデルM1に全ての評価用データD2を入力した場合の認識率を学習済みモデルM1の性能として評価しているが、これに限らない。例えば、第1評価部1は、学習済みモデルM1に入力される複数の評価用データD2の各々について、学習済みモデルM1の性能を評価してもよい。言い換えれば、本実施形態の学習用データD1の評価方法では、第1評価ステップST1は、学習済みモデルM1に入力される複数の評価用データD2の各々について、学習済みモデルM1の性能を評価してもよい。
【0065】
この態様では、第2評価部2は、記憶部6に記憶されている以下の表2に示すQテーブルの各セル(フィールド)の状態行動価値(Q値)を更新することにより、データ拡張処理のパラメータを評価する。表2に示す例では、Qテーブルの全てのセルのQ値は、初期値(零)である。ここでは、説明を簡単にするために、複数の評価用データD2が第1評価用データ及び第2評価用データの2つのみである、と仮定する。
【0066】
【0067】
表2に示す例では、“x10,x20”、“x10,x21”“x11,x20”、“x11,x21”は、それぞれ状態を表している。“x10”は第1評価用データに対する学習済みモデルM1の認識が正しいこと、“x11”は第1評価用データに対する学習済みモデルM1の認識が誤っていることを表している。また、“x20”は第2評価用データに対する学習済みモデルM1の認識が正しいこと、“x21”は第2評価用データに対する学習済みモデルM1の認識が誤っていることを表している。つまり、この態様では、Qテーブルにおける状態の数は、複数の評価用データD2の数を“n(nは自然数)”とすると、“2n”となる。
【0068】
この態様では、複数の評価用データD2の各々について学習済みモデルM1の性能を評価することから、上述の実施形態と比較して、モデルの認識率の向上に寄与し得る学習用データD1を更に生成しやすくなる、という利点がある。
【0069】
上述の実施形態において、第2評価部2は、前処理に関する前処理パラメータに基づいて、データ拡張処理のパラメータを評価してもよい。前処理は、学習用データD1を用いて機械学習を行う過程で学習用データD1(ここでは、画像データ)に対して実行される処理である。一例として、前処理には、ホワイトノイズを除去する等のスムージング処理が含まれる。言い換えれば、本実施形態の学習用データD1の評価方法では、第2評価ステップST2は、前処理パラメータに基づいて、(データ拡張処理の)パラメータを評価してもよい。
【0070】
例えば、画像データにホワイトノイズを加えるという処理がデータ拡張処理に含まれている場合、前処理にてホワイトノイズを除去すると、データ拡張処理が無効化される可能性がある。このような場合に、上記のように前処理パラメータに基づいてデータ拡張処理のパラメータを評価すれば、データ拡張処理においてホワイトノイズを加えるという行動が選択されなくなり、データ拡張処理の無効化を回避しやすい、という利点がある。
【0071】
上述の実施形態において、表1に示すQテーブルの例では、状態数が5つ(“x1”~“x5”)であるが、5つ未満であってもよいし、更に多数であってもよい。また、表1に示す例では、データ拡張処理のパラメータの種類の数が2つ(第1パラメータ及び第2パラメータ)であるが、1つであってもよいし、更に多数であってもよい。
【0072】
上述の実施形態では、第2評価部2は、Qテーブルの各セルのQ値を更新することにより、データ拡張処理のパラメータを評価しているが、これに限らない。例えば、第2評価部2は、Qテーブルの代わりに、状態価値関数又は状態行動価値関数を更新することにより、データ拡張処理のパラメータを評価してもよい。ここで、状態価値関数は、ある状態にいることの価値を定義する関数である。また、状態行動価値関数は、ある状態において、ある行動を選択することの価値を定義する関数である。また、例えば、第2評価部2は、Qテーブルの代わりに、DQN(Deep Q Network)を用いることにより、データ拡張処理のパラメータを評価してもよい。これらの態様は、状態の種類と行動の種類との組み合わせの数が膨大である場合に有効である。
【0073】
上述の実施形態において、第1評価部1は、認識率の代わりに、損失により学習済みモデルM1の性能を評価してもよい。本開示でいう「損失」は、学習済みモデルM1に評価用データD2を入力した場合における、評価用データD2のラベルと、学習済みモデルM1の推定結果とのずれの度合いをいう。例えば、スパッタB4を有するビードB1の画像データを含む評価用データD2を学習済みモデルM1に入力した場合に、80%の確率でビードB1がスパッタB4を有する、という推定結果を学習済みモデルM1が出力された、と仮定する。この場合、第1評価部1は、この評価用データD2に対する学習済みモデルM1の損失は、20%(=100%-80%)であると評価する。この態様では、更新部3は、学習済みモデルM1の損失が最小化するように、データ拡張処理のパラメータを更新すればよい。
【0074】
上述の実施形態では、モデル生成システム100は、更新部3にてデータ拡張処理のパラメータを更新するごとに、更新前の学習済みモデルM1を破棄して新たに学習済みモデルM1を生成している。しかしながら、この態様では、機械学習を完了するまでに要する時間が長くなりがちである。
【0075】
そこで、モデル生成システム100は、更新部3にてデータ拡張処理のパラメータを更新するごとに、更新前の学習済みモデルM1を記憶部6に記憶しておき、更新前の学習済みモデルM1を再学習してもよい。この態様では、第1評価部1にて学習済みモデルM1の認識率が低下した場合、この学習済みモデルM1を破棄して、記憶部6に記憶されている学習済みモデルM1を用いて再学習を行えばよい。この態様では、データ拡張処理のパラメータを更新するごとに学習済みモデルM1を別途新たに生成する場合と比較して、機械学習を完了するまでに要する時間を短くしやすい、という利点がある。
【0076】
上述の実施形態において、学習用データD1は、良品のビードB1の画像データに対して、不良品の特徴を表す付加画像D11を付加することで生成されているが、これに限らない。例えば、学習用データD1は、不良品のビードB1の画像データに対して、不良品の特徴を表す箇所を変更することで生成されてもよい。また、学習用データD1は、不良品のビードB1の画像データから不良品の特徴を表す箇所を除去することで生成されてもよい。
【0077】
上述の実施形態では、学習済みモデルM1は、ビードB1が良品であるか否か、言い換えれば溶接が正しく行われたか否かを検査する溶接外観検査のために用いられているが、これに限らない。つまり、評価システム10は、データ拡張処理のパラメータを評価できる態様であれば、学習済みモデルM1の用途は問わない。
【0078】
上述の実施形態において、第1評価部1は、学習済みモデルM1に全ての評価用データD2を入力した場合の認識率を学習済みモデルM1の性能として評価しているが、これに限らない。以下、この点について詳細に説明する。
【0079】
上述の実施形態のように、データ拡張処理を行うのは、評価用データD2が少ない場合であり、そもそも評価用データD2を少数しか集められない場合が殆どである。この場合には、データ拡張処理のパラメータを多少変動させても、学習済みモデルM1の認識率は変化しないか、又は変化しても変化量が小さい。このため、パラメータの上限値又は下限値をどのように変化させても、第2評価部2での評価が変化しないか、又は変化しても変化量が小さいので、強化学習等の学習が進みにくくなる、という問題が生じ得る。
【0080】
そこで、上述の実施形態において、学習済みモデルM1の認識率が同じ場合(又は同程度である場合)には、パラメータの取り得る範囲が広い程、高い評価となるように第2評価部2で評価してもよい。具体的には、第2評価部2は、学習済みモデルM1の認識率と、データ拡張処理により生成するデータの多様度(言い換えれば、パラメータの多様度)と、で評価する。すなわち、第2評価部2の評価は、以下の式(1)で表される。式(1)において、“E1”は第2評価部2の評価、“R1”は学習済みモデルM1の認識率、“PD1,PD2,…,PDn”(“n”は自然数)は各パラメータの多様度を表している。また、式(1)において、“γ1,γ2,…,γn”は学習済みモデルM1の認識率とパラメータの多様度との相関係数であって、一例として、0.01~0.001の値を取り得る。
【0081】
【0082】
ここで、例えば第kパラメータ(“k”は“n”以下の自然数)が、データ拡張処理を行う際の拡大率を示す値であり、その上限値、下限値がそれぞれ“Pk_max”、“Pk_min”であると仮定する。この場合、第kパラメータの多様度PDkは、“PDk=Pk_max/Pk_min”という式で表される。なお、第kパラメータがデータ拡張処理を行う際にノイズとして追加する粒のサイズを示す値であって、その上限値、下限値がそれぞれ“Pk_max”、“Pk_min”である場合にも、このパラメータの多様度PDkを上記の式で表すことができる。ここで、例えば第kパラメータ(“k”は“n”以下の自然数)が、データ拡張処理を行う際の拡大率を示す値であり、その分散が “σ”であると仮定する。この場合、第kパラメータの多様度PDkは、“PDk=σ”という式で表される。分散は一例であって、他の分布の多様性を示す統計値であってもよい。
【0083】
また、例えば第kパラメータが、データ拡張処理を行う際の回転角を示す値であり、その上限値、下限値がそれぞれ“Pk_max”、“Pk_min”であると仮定する。この場合、第kパラメータの多様度PDkは、“PDk=|Pk_max-Pk_min|”という式で表される。なお、第kパラメータがデータ拡張処理を行う際の平行移動のシフト量を示す値であって、その上限値、下限値がそれぞれ“Pk_max”、“Pk_min”である場合にも、このパラメータの多様度PDkを上記の式で表すことができる。
【0084】
また、強化学習で学習を行う場合には、パラメータの多様度が増える場合に正の報酬として、パラメータの多様度が減る場合には負の報酬とする。例えば、学習済みモデルM1の認識率が上がる場合の報酬を+1、下がる場合の報酬を-1、認識率は変化しないがパラメータの多様度が増える場合の報酬を+0.2、認識率は変化しないがパラメータの多様度が減る場合の報酬を-0.2とする。
【0085】
上述のように、第2評価部2は、学習済みモデルM1の認識率と、データ拡張処理により生成するデータの多様度(言い換えれば、パラメータの多様度)によって、データ拡張処理のパラメータの評価を行ってもよい。この態様では、評価用データD2が少ない場合においてもパラメータの最適化を図りやすい、という利点がある。特に、パラメータの多様度が高い程パラメータの評価を高く、パラメータの多様度が低い程パラメータの評価を低くすることで、評価用データD2とは似ていない学習用データD1を生成することが評価されるので、汎化性能が高い学習済みモデルM1を生成しやすい、という利点がある。
【0086】
(まとめ)
以上述べたように、第1の態様に係る学習用データの評価方法は、第1評価ステップ(ST1)と、第2評価ステップ(ST2)と、を有する。第1評価ステップ(ST1)は、データ拡張処理により生成される学習用データ(D1)を用いて機械学習された学習済みモデル(M1)の性能を評価するステップである。第2評価ステップ(ST2)は、第1評価ステップ(ST1)での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。
【0087】
この態様によれば、モデルの認識率の向上に寄与し得る学習用データ(D1)を生成しやすい、という利点がある。
【0088】
第2の態様に係る学習用データの評価方法は、第1の態様において、第2評価ステップ(ST2)での評価は、第1評価ステップ(ST1)での性能の評価が高い程高い。第2評価ステップ(ST2)での評価は、パラメータの取り得る範囲が広い程高い。
【0089】
この態様によれば、学習済みモデル(M1)に入力される評価用データ(D2)の数が少ない場合であっても、パラメータの最適化を図りやすい、という利点がある。
【0090】
第3の態様に係る学習用データの評価方法は、第1又は第2の態様において、更新ステップ(ST3)と、記憶ステップと、比較ステップと、を更に有する。更新ステップ(ST3)は、第2評価ステップ(ST2)での評価に基づいて、パラメータを更新するステップである。記憶ステップは、更新ステップ(ST3)が実行される前に学習済みモデル(M1)を記憶するステップである。比較ステップは、更新ステップ(ST3)の実行後の学習済みモデル(M1)と、記憶ステップで記憶された学習済みモデル(M1)とを比較するステップである。
【0091】
この態様によれば、パラメータを更新するごとに学習済みモデル(M1)を別途新たに生成する場合と比較して、機械学習を完了するまでに要する時間を短くしやすい、という利点がある。
【0092】
第4の態様に係る学習用データの評価方法では、第1~第3のいずれかの態様において、学習用データ(D1)は、学習済みモデル(M1)の認識対象を含む画像データ(D10)に対して、パラメータに基づく付加画像(D11)を追加することで生成される。
【0093】
この態様によれば、既存の学習用データ(D1)には存在しない種類の学習用データ(D1)を用いてモデルを機械学習することが可能になる、という利点がある。
【0094】
第5の態様に係る学習用データの評価方法では、第1~第4のいずれかの態様において、第1評価ステップ(ST1)での評価が目標に到達すると、第1評価ステップ(ST1)及び第2評価ステップ(ST2)を停止する。
【0095】
この態様によれば、学習済みモデル(M1)の性能が目標に到達しても学習し続けることによる過学習を防ぎやすい、という利点がある。
【0096】
第6の態様に係る学習用データの評価方法では、第1~第4のいずれかの態様において、第1評価ステップ(ST1)での評価が一定値に収束すると、第1評価ステップ(ST1)及び第2評価ステップ(ST2)を停止する。
【0097】
この態様によれば、学習済みモデル(M1)の性能が飽和しても学習し続けることによる過学習を防ぎやすい、という利点がある。
【0098】
第7の態様に係る学習用データの評価方法では、第1~第6のいずれかの態様において、第1評価ステップ(ST1)は、学習済みモデル(M1)に入力される複数の評価用データ(D2)の各々について、学習済みモデル(M1)の性能を評価する。
【0099】
この態様によれば、モデルの認識率の向上に寄与し得る学習用データ(D1)を更に生成しやすい、という利点がある。
【0100】
第8の態様に係る学習用データの評価方法では、第1~第7のいずれかの態様において、第2評価ステップ(ST2)は、前処理に関する前処理パラメータに基づいて、パラメータを評価する。前処理は、学習用データ(D1)を用いて機械学習を行う過程で学習用データ(D1)に対して実行される処理である。
【0101】
この態様によれば、前処理によるデータ拡張処理の無効化を回避しやすい、という利点がある。
【0102】
第9の態様に係るプログラムは、1以上のプロセッサに、第1~第8のいずれかの態様の学習用データの評価方法を実行させる。
【0103】
この態様によれば、モデルの認識率の向上に寄与し得る学習用データ(D1)を生成しやすい、という利点がある。
【0104】
第10の態様に係る学習用データの生成方法は、第1評価ステップ(ST1)と、第2評価ステップ(ST2)と、更新ステップ(ST3)と、データ生成ステップ(ST4)と、を有する。第1評価ステップ(ST1)は、データ拡張処理により生成される学習用データ(D1)を用いて機械学習された学習済みモデル(M1)の性能を評価するステップである。第2評価ステップ(ST2)は、第1評価ステップ(ST1)での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップ(ST3)は、第2評価ステップ(ST2)での評価に基づいて、パラメータを更新するステップである。データ生成ステップ(ST4)は、更新ステップ(ST3)で更新されたパラメータに基づくデータ拡張処理により、学習用データ(D1)を生成するステップである。
【0105】
この態様によれば、モデルの認識率の向上に寄与し得る学習用データ(D1)を生成しやすい、という利点がある。
【0106】
第11の態様に係る学習済みモデルの生成方法は、第1評価ステップ(ST1)と、第2評価ステップ(ST2)と、更新ステップ(ST3)と、データ生成ステップ(ST4)と、モデル生成ステップ(ST5)と、を有する。第1評価ステップ(ST1)は、データ拡張処理により生成される学習用データ(D1)を用いて機械学習された学習済みモデル(M1)の性能を評価するステップである。第2評価ステップ(ST2)は、第1評価ステップ(ST1)での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価するステップである。更新ステップ(ST3)は、第2評価ステップ(ST2)での評価に基づいて、パラメータを更新するステップである。データ生成ステップ(ST4)は、更新ステップ(ST3)で更新されたパラメータに基づくデータ拡張処理により、学習用データ(D1)を生成するステップである。モデル生成ステップ(ST5)は、データ生成ステップ(ST4)で生成された学習用データ(D1)を用いて機械学習することにより、学習済みモデル(M1)を生成するステップである。
【0107】
この態様によれば、所望の認識率を有する学習済みモデル(M1)を生成しやすい、という利点がある。
【0108】
第12の態様に係る学習用データの評価システム(10)は、第1評価部(1)と、第2評価部(2)と、を備える。第1評価部(1)は、データ拡張処理により生成される学習用データ(D1)を用いて機械学習された学習済みモデル(M1)の性能を評価する。第2評価部(2)は、第1評価部(1)での評価とデータ拡張処理のパラメータの取り得る範囲とに基づいて、パラメータを評価する。
【0109】
この態様によれば、モデルの認識率の向上に寄与し得る学習用データ(D1)を生成しやすい、という利点がある。
【0110】
第2~第8の態様に係る方法については、学習用データの評価方法に必須の方法ではなく、適宜省略可能である。
【産業上の利用可能性】
【0111】
本開示にかかる学習用データの評価方法、プログラム、学習用データの生成方法、学習済みモデルの生成方法、及び学習用データの評価システムによれば、モデルの認識率の向上に寄与し得る学習用データを生成しやすい、という利点がある。そのため、本開示に係る発明は、不良品解析等の効率化に寄与し、産業上有用である。
【符号の説明】
【0112】
10 評価システム
1 第1評価部
2 第2評価部
ST1 第1評価ステップ
ST2 第2評価ステップ
ST3 更新ステップ
ST4 データ生成ステップ
ST5 モデル生成ステップ
D1 学習用データ
D11 付加画像
D2 評価用データ
M1 学習済みモデル