(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
(51)【国際特許分類】
G06T 1/40 20060101AFI20231108BHJP
G01N 21/88 20060101ALI20231108BHJP
G06N 20/00 20190101ALI20231108BHJP
【FI】
G06T1/40
G01N21/88 Z
G06N20/00 130
(21)【出願番号】P 2019178001
(22)【出願日】2019-09-27
【審査請求日】2022-07-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】岡本 大和
(72)【発明者】
【氏名】米谷 竜
(72)【発明者】
【氏名】中田 雅博
(72)【発明者】
【氏名】宮田 佳昭
【審査官】三沢 岳志
(56)【参考文献】
【文献】米国特許出願公開第2018/0293734(US,A1)
【文献】Shashank TRIPATHI et al.,“Learning to Generate Synthetic Data via Compositing”,2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),米国,IEEE,2019年06月20日,pp.461-470,DOI:10.1109/CVPR.2019.00055
【文献】Giovanni Mariani et al.,BAGAN: Data augmentation with balancing GAN,[online],2018年06月05日,Internet: <URL:https://arxiv.org/pdf/1803.09655.pdf>,DOI:10.48550/arXiv.1803.09655
【文献】Max Jaderberg et al.,Spatial transformer networks,NIPS'15: Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 2,2016年02月04日,Internet: <URL:https://arxiv.org/pdf/1506.02025.pdf>,DOI:10.48550/arXiv.1506.02025
【文献】Donghoon Lee et al.,Context-Aware Synthesis and Placement of Object Instances,NIPS'18: Proceedings of the 32nd International Conference on Neural Information Processing Systems,2018年12月07日,Internet: <URL:https://arxiv.org/pdf/1812.02350.pdf>,DOI:10.48550/arXiv.1812.02350
【文献】Marc Braham et al.,Deep background subtraction with scene-specific convolutional neural networks,2016 International Conference on Systems, Signals and Image Processing (IWSSIP),IEEE,2016年03月25日,DOI:10.1109/IWSSIP.2016.7502717
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/40
G01N 21/88
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、
前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
を備
え、
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
を更に備え、
前記合成することは、
前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成システム。
【請求項2】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、
前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
を備
え、
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
を更に備え、
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関し、
前記所定の推定は、前記第2成分を検出することであり、
前記合成することは、
前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成システム。
【請求項3】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、
前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
を備
え、
前記複数の第2学習データセットを取得することは、
前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、
訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、
推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに
前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、
を含む、
データ生成システム。
【請求項4】
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関する、
請求項1
から3のいずれか1項に記載のデータ生成システム。
【請求項5】
前記第1学習モデルは、第1識別器を更に含み、
前記第1生成器を訓練することは、
前記第1識別器に入力された入力サンプルが、前記複数の第1学習データセットのいずれかから得られた前記第1サンプルか前記第1生成器により生成された疑似サンプルかを識別するように前記第1識別器を訓練するステップ、及び
前記第1識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第1生成器を訓練するステップ、
を交互に繰り返し実行することにより構成される、
請求項1
から4のいずれか1項に記載のデータ生成システム。
【請求項6】
前記第2学習モデルは、第2識別器を更に含み、
前記第2生成器を訓練することは、
前記第2識別器に入力された入力サンプルが、前記複数の第2学習データセットのいずれかから得られた前記第2サンプルか前記第2生成器により生成された疑似サンプルかを識別するように前記第2識別器を訓練するステップ、及び
前記第2識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第2生成器を訓練するステップ、
を交互に繰り返し実行することにより構成される、
請求項1から
5のいずれか1項に記載のデータ生成システム。
【請求項7】
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
を更に備え、
前記合成することは、
前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
請求項
3に記載のデータ生成システム。
【請求項8】
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
を更に備え、
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関し、
前記所定の推定は、前記第2成分を検出することであり、
前記合成することは、
前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
請求項
3に記載のデータ生成システム。
【請求項9】
前記第3学習モデルは、第3識別器を更に含み、
前記第3生成器を訓練することは、
前記第3識別器に入力された入力値が、前記複数の第3学習データセットのいずれかから得られた前記サンプル値か前記第3生成器により生成された疑似的な値かを識別するように前記第3識別器を訓練するステップ、及び
前記第3識別器の前記識別の性能を低下させるような前記第2特徴の属性の疑似的な値を生成するように前記第3生成器を訓練するステップ、
を交互に繰り返し実行することにより構成される、
請求項
1、2、7、8のいずれか1項に記載のデータ生成システム。
【請求項10】
前記各第3学習データセットは、前記第1ラベルを更に備え、
前記第3学習モデルの機械学習を実施することは、前記反映レベル、前記第2ラベル及び前記第1ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、
請求項
1、2、7、8、9のいずれか1項に記載のデータ生成システム。
【請求項11】
前記反映レベルは、連続値により構成される、
請求項
1、2、7、8、9、10のいずれか1項に記載のデータ生成システム。
【請求項12】
前記複数の第2学習データセットを取得することは、
前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、
訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、
推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに
前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、
を含む、
請求項1
、2、4から11のいずれか1項に記載のデータ生成システム。
【請求項13】
訓練済みの前記第1生成器に与える入力のサンプル値、及び訓練済みの前記第1生成器に当該サンプル値を与えることで生成される第4疑似サンプルの組み合わせによりそれぞれ構成される複数の第4学習データセットを取得する第4取得部と、
取得された前記複数の第4学習データセットを使用して、前記推定器の機械学習を実施することで、訓練済みの前記推定器を構築する第4訓練部であって、前記推定器の機械学習を実施することは、前記各第4学習データセットについて、訓練済みの前記第1生成器に与えた入力を前記第4疑似サンプルから前記推定器により推定することで得られる推定値が前記サンプル値に適合するように前記推定器を訓練することを含む、第4訓練部と、
を更に備える、
請求項
3または12に記載のデータ生成システム。
【請求項14】
前記所定種類のデータは、背景及び前景を含む画像データであり、
前記第1特徴は、前記背景に関し、
前記第2特徴は、前記前景に関する、
請求項1から
13のいずれか1項に記載のデータ生成システム。
【請求項15】
前記所定種類のデータは、製品の写る画像データであり、
前記第1特徴は、前記製品を含む背景に関し、
前記第2特徴は、前記製品の欠陥に関する、
請求項1から
13のいずれか1項に記載のデータ生成システム。
【請求項16】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
を備
え、
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、
取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、
を更に備える、
学習装置。
【請求項17】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、
取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、
取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、
を備
え、
前記複数の第2学習データセットを取得することは、
前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、
訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、
推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに
前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、
を含む、
学習装置。
【請求項18】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築された訓練済みの第1生成器を有する第1生成部であって、
前記機械学習により、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
第1生成部は、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する、
第1生成部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築された訓練済みの第2生成器を有する第2生成部であって、
前記機械学習により、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記第2生成部は、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
第2生成部と、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
を備
え、
前記データ合成部は、
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築された訓練済みの第3生成器を有し、
前記機械学習により、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記合成することは、
前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成装置。
【請求項19】
所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築された訓練済みの第1生成器を有する第1生成部であって、
前記機械学習により、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
第1生成部は、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する、
第1生成部と、
前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築された訓練済みの第2生成器を有する第2生成部であって、
前記機械学習により、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記第2生成部は、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
第2生成部と、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、
を備
え、
前記データ合成部は、
前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築された訓練済みの第3生成器を有し、
前記機械学習により、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関し、
前記所定の推定は、前記第2成分を検出することであり、
前記合成することは、
前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成装置。
【請求項20】
コンピュータが、
訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
ステップと、
訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され
前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
ステップと、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
を実行
し、
前記新たなサンプルを生成するステップは、訓練済みの第3生成器を利用して、前記新たなサンプルを生成し、
前記訓練済みの第3生成器は、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記合成することは、
前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成方法。
【請求項21】
コンピュータが、
訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
ステップと、
訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され
前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
ステップと、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
を実行
し、
前記新たなサンプルを生成するステップは、訓練済みの第3生成器を利用して、前記新たなサンプルを生成し、
前記訓練済みの第3生成器は、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関し、
前記所定の推定は、前記第2成分を検出することであり、
前記合成することは、
前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成方法。
【請求項22】
コンピュータに、
訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
ステップと、
訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
ステップと、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
を実行さ
せ、
前記新たなサンプルを生成するステップにおいて前記コンピュータは、訓練済みの第3生成器を利用して、前記新たなサンプルを生成し、
前記訓練済みの第3生成器は、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記合成することは、
前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成プログラム。
【請求項23】
コンピュータに、
訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、
前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、
前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、
ステップと、
訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、
前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、
前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、
ステップと、
生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、
を実行さ
せ、
前記新たなサンプルを生成するステップにおいて前記コンピュータは、訓練済みの第3生成器を利用して、前記新たなサンプルを生成し、
前記訓練済みの第3生成器は、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを使用した機械学習により構築され、
前記機械学習では、前記第3生成器は、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように訓練され、
前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含み、
前記第1特徴は、前記第1成分に関し、
前記第2特徴は、前記第2成分に関し、
前記所定の推定は、前記第2成分を検出することであり、
前記合成することは、
前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び
前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、
を含む、
データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラムに関する。
【背景技術】
【0002】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、多関節ロボットにより光源を移動させながら、当該光源からの検査光が照射された検査対象物の外観を撮影し、得られた画像を分析することで検査対象物の外観検査を行う外観検査装置が提案されている。また、例えば、特許文献2では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-045330号公報
【文献】特開2012-026982号公報
【文献】特開2018-175343号公報
【文献】特開2019-071050号公報
【文献】特開2018-024340号公報
【文献】特開2018-189522号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の方法によれば、撮影により得られた画像から製品の外観検査を実施することができる。また、特許文献2のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、得られた画像に対する画像処理を詳細に規定しなくても(例えば、欠陥を検出するための検出パラメータの値を設定しなくても)、訓練済みの機械学習モデルの出力に基づいて製品の外観検査を実施することができる。そのため、外観検査の情報処理を簡略化し、検査プログラムを作成する手間を低減することができる。しかしながら、本件発明者らは、上記のような従来の検出方法には、次のような問題点があることを見出した。
【0005】
撮影画像に基づいて外観検査を実施する場合、事前に、欠陥を含む製品の写る画像を学習データとして収集する。画像処理により欠陥を検出するケースでは、収集された学習データは、欠陥を検出するための検出パラメータの値の設定に利用される。また、欠陥の検出に機械学習モデルを利用するケースでは、収集された学習データは、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させるための機械学習に利用される。欠陥の検出は、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、すなわち、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
【0006】
しかしながら、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。そのため、欠陥の種別及び背景の種別の各組み合わせの表れるサンプルを収集するのにコストがかかるという問題点があった。
【0007】
サンプルの得られていない組み合わせが存在する場合には、次のような問題が生じる可能性がある。すなわち、画像処理により欠陥を検出するケースでは、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせに対して検出パラメータの値を設定するのが困難になり、当該組み合わせで表れる欠陥を検出する精度が低下してしまう可能性がある。同様に、欠陥の検出に機械学習モデルを利用するケースでも、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済み機械学習モデルによる欠陥の検出に関する推定の精度が低下してしまう可能性がある。
【0008】
更に、機械学習モデルを利用するケースでは、次のような問題も生じる可能性がある。すなわち、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルに習得される能力に悪影響を及ぼす可能性がある。悪影響の一例として、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っていることで、このサンプルを使用した機械学習が、機械学習モデルに対して、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得させてしまう可能性がある。
【0009】
具体例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの機械学習モデルは、第1製品に第1欠陥が生じていると誤検出してしまう。
【0010】
したがって、いずれのケースにおいても、サンプルの得られていない組み合わせが存在する場合、その組み合わせに対する外観検査の精度が低下する(最悪の場合には、検査不能となる)という問題が生じ得る。よって、外観検査の精度の向上を図るためには、欠陥の種別及び背景の種別の組み合わせに漏れのないようにサンプルが収集されるのが望ましい。しかしながら、上記のとおり、そのように漏れなくサンプルを収集するのにはコストがかかるという問題点があった。特に、欠陥の種別及び背景の種別が多くなればなるほど、発生確率の極端に低い、欠陥の種別及び背景の種別の特定の組み合わせが存在し、これによって、漏れなくサンプルを収集するのに極めてコストがかかってしまう可能性がある。
【0011】
なお、この問題点は、撮影画像に基づいて製品の外観検査を実施する場面に特有の問題ではない。少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、多様なサンプルを収集するあらゆる場面で生じ得る。所定種類のデータとは、上記画像データの他、例えば、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。複数の特徴が表れ得る所定種類のデータのサンプルを収集する場面とは、上記撮影画像に基づいて製品の外観検査を実施する場面の他、例えば、器官の写る医療用画像に基づいて患者の状態を推定する場面、撮影画像に写る移動体に関する属性を推定する場面、車両の備えるセンサにより得られた測定データに基づいて車両の運転状態を推定する場面、その他、機械の状態を観測するセンサにより得られた測定データに基づいて機械の状態を推定する場面、等である。移動体は、例えば、歩行者、車両等である。移動体に関する属性とは、例えば、移動体の移動状態(例えば、速度、経路等)、移動体の密集度合い(例えば、混雑度等)である。
【0012】
具体例として、特許文献3では、2つの推定器により、医療用画像から病変領域を検出することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を当該撮影画像から推定することが提案されている。特許文献5では、運転者が車両を運転している間に測定された加速度の測定データに基づいて、運転者の運転性向を判定することが提案されている。特許文献6では、音声及び振動の少なくとも一方の測定データを利用して、設備の故障の予兆を診断する方法が提案されている。
【0013】
これらの場面でも、サンプルの得られていない特徴の種別の組み合わせが存在する場合には、それぞれの推定の精度が低下するという問題が生じ得る。よって、推定の精度の向上を図るためには、各特徴の種別の組み合わせに漏れのないようにサンプルを収集するのが望ましい。しかしながら、漏れなくサンプルを収集するのにはコストがかかるという問題点が生じ得る。
【0014】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減するための技術を提供することである。
【課題を解決するための手段】
【0015】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0016】
すなわち、本発明の一側面に係るデータ生成システムは、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する第1生成部と、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する第2生成部と、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、を備える。
【0017】
当該構成に係るデータ生成システムでは、複数の第1学習データセットを使用した機械学習により、第1生成器は、第1特徴を含む第1サンプルに適合する疑似サンプルを第1ラベルから生成するように訓練される。複数の第2学習データセットを使用した機械学習により、第2生成器は、第2特徴を含む第2サンプルに適合する疑似サンプルを第2ラベルから生成するように訓練される。各機械学習の結果、第1生成器は、与えられる入力値に対応する種別の第1特徴を含む疑似サンプルを生成する能力を習得し、第2生成器は、与えられる入力値に対応する種別の第2特徴を含む疑似サンプルを生成する能力を習得する。当該構成に係るデータ生成システムは、第1生成器及び第2生成器を利用して第1疑似サンプル及び第2疑似サンプルを生成し、生成された第1疑似サンプル及び第2疑似サンプルを合成することで、所定種類のデータの新たなサンプルを生成する。
【0018】
したがって、当該構成に係るデータ生成システムでは、それぞれ学習済み(以下、「訓練済み」とも記載する)の第1生成器及び第2生成器に与える入力に基づいて、生成される新たなサンプルに含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、それぞれ学習済みの第1生成器及び第2生成器を利用することで、任意の種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプルを生成することができる。サンプルが得られていない又はサンプル数の少ない、第1特徴及び第2特徴の種別の組み合わせが存在する場合には、その種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプルを自在に生成することができる。加えて、それぞれ学習済みの第1生成器及び第2生成器を利用して、第1特徴及び第2特徴を含む新たなサンプルを生成する処理の多くの部分は自動化することができる。よって、当該構成によれば、多様な組み合わせのサンプルを自在かつ自動的に生成することができるため、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
【0019】
なお、第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴及び第2特徴のうちの少なくとも一方は、何らかの推定処理の対象となり得る成分に関するものであってよい。推定は、「推論」と読み替えられてもよい。推定することには、予測することが含まれてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。音データを含む動画像データ等のように、所定種類のデータは、複数種類のデータにより構成されてよい。この場合、第1特徴及び第2特徴はそれぞれ、複数種類のうちの少なくともいずれかのデータに関するものであってよい。例えば、第1特徴は、画像データに関し、第2特徴は、音データに関する等のように、合成可能であれば、第1特徴及び第2特徴それぞれに関するデータの種類は異なっていてもよい。
【0020】
第1生成器及び第2生成器はそれぞれ、機械学習モデルにより構成される。各生成器の機械学習モデルは、各ラベルに対応する入力値の入力に応じて、データの各サンプルを模した疑似的なサンプル(疑似サンプル)を生成するように構成される。「疑似サンプル」は、各生成器により生成されたサンプルであることを指す。各生成器の機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各生成器の機械学習モデルには、例えば、ニューラルネットワークが用いられてよい。ニューラルネットワークの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各生成器に対する入力値及び合成のパラメータはそれぞれ、手動的に決定されてもよいし、ランダム等の方法により自動的に決定されてもよい。第1生成器及び第2生成器の訓練に使用される第1サンプル及び第2サンプルは、現実世界から得られたものであってもよいし、シミュレーション、手動操作等により人工的に生成されたものであってもよい。
【0021】
上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含んでもよい。前記第1特徴は、前記第1成分に関するものであってよく、前記第2特徴は、前記第2成分に関するものであってよい。当該構成によれば、低コストで収集された多様なサンプルを所定の推定の実施に反映することで、当該推定の精度を高めることができる。
【0022】
上記一側面に係るデータ生成システムにおいて、前記第1学習モデルは、第1識別器を更に含んでもよい。前記第1生成器を訓練することは、前記第1識別器に入力された入力サンプルが、前記複数の第1学習データセットのいずれかから得られた前記第1サンプルか前記第1生成器により生成された疑似サンプルかを識別するように前記第1識別器を訓練するステップ、及び前記第1識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第1生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
【0023】
当該構成では、第1識別器の訓練と第1生成器の訓練とを交互に繰り返すことで、第1識別器の識別性能の向上に応じて、第1サンプルに適合する疑似サンプルを生成する第1生成器の性能の向上を図ることができる。したがって、当該構成によれば、第1特徴を含む適切な疑似サンプルを生成可能な学習済みの第1生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
【0024】
上記一側面に係るデータ生成システムにおいて、前記第2学習モデルは、第2識別器を更に含んでもよい。前記第2生成器を訓練することは、前記第2識別器に入力された入力サンプルが、前記複数の第2学習データセットのいずれかから得られた前記第2サンプルか前記第2生成器により生成された疑似サンプルかを識別するように前記第2識別器を訓練するステップ、及び前記第2識別器の前記識別の性能を低下させるような疑似サンプルを生成するように前記第2生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
【0025】
当該構成では、第2識別器の訓練と第2生成器の訓練とを交互に繰り返すことで、第2識別器の識別性能の向上に応じて、第2サンプルに適合する疑似サンプルを生成する第2生成器の性能の向上を図ることができる。したがって、当該構成によれば、第2特徴を含む適切な疑似サンプルを生成可能な学習済みの第2生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
【0026】
上記一側面に係るデータ生成システムは、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、を更に備えてもよい。前記合成することは、前記第2ラベルに対応する第2入力値並びに前記反映レベルに対応する第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、を含んでよい。
【0027】
当該構成では、複数の第3学習セットを使用した機械学習により、第3生成器は、第2特徴の属性のサンプル値に適合する疑似的な値を反映レベル及び第2ラベルから生成するように訓練される。この機械学習の結果、第3生成器は、与えられる入力に対応する第2特徴の属性の疑似値を生成する能力を習得する。そのため、学習済みの第3生成器に与える入力に基づいて、生成される新たなサンプルに含まれる第2特徴の属性の値を制御することができる。つまり、学習済みの第3生成器を更に利用することで、任意の属性値を有する第2特徴を含む新たなサンプルを自在に生成することができる。したがって、当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。なお、「属性」は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の特徴の有する性質の程度又は分類に関する。
【0028】
上記一側面に係るデータ生成システムは、前記第2特徴の属性のサンプル値、前記第2特徴を反映する程度を示す反映レベル、及び前記第2ラベルの組み合わせによりそれぞれ構成される複数の第3学習データセットを取得する第3取得部と、取得された前記複数の第3学習データセットを使用して、第3生成器を含む第3学習モデルの機械学習を実施する第3訓練部であって、前記第3学習モデルの機械学習を実施することは、前記各第3学習データセットについて、前記反映レベル及び前記第2ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含む、第3訓練部と、を更に備えてもよい。前記所定種類のデータは、第1成分及び前記第1成分とは異なる第2成分であって、所定の推定の対象となる第2成分を含んでもよい。前記第1特徴は、前記第1成分に関するものであってよく、前記第2特徴は、前記第2成分に関するものであってよい。前記所定の推定は、前記第2成分を検出することであってよい。前記合成することは、前記第2ラベルに対応する第2入力値、並びに前記反映レベルに対応する第3入力値であって、前記検出の限界に応じて与えられた第3入力値を訓練済みの前記第3生成器に与えることで、前記第2特徴の属性の疑似値を生成すること、及び前記第2疑似サンプルに含まれる前記第2特徴の属性の値が生成された前記疑似値に適合するように前記第2疑似サンプルを変換すると共に、前記第1疑似サンプルに前記第2疑似サンプルを合成すること、を含んでもよい。当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、検出の限界事例に対応する多様なサンプルを生成することができる。また、生成された多様なサンプルを所定の推定の実施に反映することで、当該推定の精度を高めることができる。
【0029】
上記一側面に係るデータ生成システムにおいて、前記第3学習モデルは、第3識別器を更に含んでもよい。前記第3生成器を訓練することは、前記第3識別器に入力された入力値が、前記複数の第3学習データセットのいずれかから得られた前記サンプル値か前記第3生成器により生成された疑似的な値かを識別するように前記第3識別器を訓練するステップ、及び前記第3識別器の前記識別の性能を低下させるような前記第2特徴の属性の疑似的な値を生成するように前記第3生成器を訓練するステップ、を交互に繰り返し実行することにより構成されてよい。
【0030】
当該構成では、第3識別器の訓練と第3生成器の訓練とを交互に繰り返すことで、第3識別器の識別性能の向上に応じて、第2特徴の属性のサンプル値に適合する疑似値を生成する第3生成器の性能の向上を図ることができる。したがって、当該構成によれば、第2特徴の属性の適切な疑似値を生成可能な学習済みの第3生成器を構築することができ、これによって、適切で多様なサンプルを収集するのにかかるコストを低減することができる。
【0031】
上記一側面に係るデータ生成システムにおいて、前記各第3学習データセットは、前記第1ラベルを更に備えてもよい。前記第3学習モデルの機械学習を実施することは、前記反映レベル、前記第2ラベル及び前記第1ラベルから前記第3生成器により生成される前記第2特徴の属性の疑似的な値が前記サンプル値に適合するように前記第3生成器を訓練することを含んでもよい。
【0032】
当該構成では、第3生成器は、第1ラベルに示される第1特徴の種別に更に対応して、第2特徴の属性の疑似値を生成するように訓練される。そのため、学習済みの第3生成器によれば、第1特徴の種別に応じて、第2特徴の属性の値を制御することができる。つまり、学習済みの第3生成器を利用することで、第1特徴の種別に適した属性値を有する第2特徴を含む新たなサンプルを自在に生成することができる。したがって、当該構成によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様で適切なサンプルを生成することができる。
【0033】
上記一側面に係るデータ生成システムにおいて、前記反映レベルは、連続値により構成されてよい。当該構成によれば、第2特徴の属性値を連続値により制御することができるため、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。なお、反映レベルの構成は、このような例に限られなくてもよい。反映レベルは、離散値により構成されてもよい。
【0034】
上記一側面に係るデータ生成システムにおいて、前記複数の第2学習データセットを取得することは、前記所定種類のデータの第3サンプルであって、前記第1特徴及び前記第2特徴をそれぞれ含む複数の第3サンプルを取得するステップ、訓練済みの前記第1生成器により生成された疑似サンプルから当該疑似サンプルを生成する際に前記第1生成器に与えられた入力を推定するように訓練された推定器に前記各第3サンプルを与えることで、前記各第3サンプルに対応する疑似サンプルを生成するために訓練済みの前記第1生成器に与える入力の推定値を推定するステップ、推定された前記推定値を訓練済みの前記第1生成器に与えることで、前記第3サンプル毎に第3疑似サンプルを生成するステップ、並びに前記各第3サンプルから前記第3疑似サンプルを差分することで、前記各第2学習データセットの前記第2サンプルを生成するステップ、を含んでもよい。基本的には、学習済みの第1生成器は、第1特徴を含み、かつ第2特徴を含まない疑似サンプルを生成するように構成される。そのため、当該構成によれば、第1特徴を含まず、かつ第2特徴を含む第2サンプルを適切に生成することができる。また、当該構成によれば、第3サンプルから第2サンプルを自動的に生成可能であるため、第2サンプルを取得するコストを低減することができる。
【0035】
上記一側面に係るデータ生成システムは、訓練済みの前記第1生成器に与える入力のサンプル値、及び訓練済みの前記第1生成器に当該サンプル値を与えることで生成される第4疑似サンプルの組み合わせによりそれぞれ構成される複数の第4学習データセットを取得する第4取得部と、取得された前記複数の第4学習データセットを使用して、前記推定器の機械学習を実施することで、訓練済みの前記推定器を構築する第4訓練部であって、前記推定器の機械学習を実施することは、前記各第4学習データセットについて、訓練済みの前記第1生成器に与えた入力を前記第4疑似サンプルから前記推定器により推定することで得られる推定値が前記サンプル値に適合するように前記推定器を訓練することを含む、第4訓練部と、を更に備えてもよい。当該構成によれば、複数の第4学習データセットを使用した機械学習により、第3サンプルに対応し、第1特徴を含み、かつ第2特徴を含まない疑似サンプルを生成するのに学習済みの第1生成器に与える入力値を適切に推定可能な学習済みの推定器を生成することができる。よって、生成された学習済みの推定器を利用することで、第1特徴を含まず、かつ第2特徴を含む第2サンプルを第3サンプルから適切に生成することができる。
【0036】
上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、背景及び前景を含む画像データであってよい。前記第1特徴は、前記背景に関するものであってよく、前記第2特徴は、前記前景に関するものであってよい。当該構成によれば、画像データについて、様々な種別の背景及び前景の組み合わせのサンプルを収集するのにかかるコストを低減することができる。
【0037】
上記一側面に係るデータ生成システムにおいて、前記所定種類のデータは、製品の写る画像データであってよい。前記第1特徴は、前記製品を含む背景に関するものであってよく、前記第2特徴は、前記製品の欠陥に関するものであってよい。当該構成によれば、様々な種別の製品及び欠陥の組み合わせのサンプルを収集するのにかかるコストを低減することができる。また、生成された多様なサンプルを外観検査の実施に反映することで、外観検査の精度を高めることができる。
【0038】
本発明の形態は、上記データ生成システムに限られなくてもよい。上記データ生成システムの構成の少なくとも一部分を抽出することで、新たな形態に係る装置(又はシステム)を構成してもよい。例えば、本発明の一側面に係る学習装置は、上記各形態に係るデータ生成システムから、少なくともいずれかの生成器を機械学習により生成する部分を抽出することにより構成されてよい。また、例えば、本発明の一側面に係るデータ生成装置は、上記各形態に係るデータ生成システムから、学習済みの生成器を利用して、新たなサンプルを生成する部分を抽出することにより構成されてよい。
【0039】
一例として、本発明の一側面に係る学習装置は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得する第1取得部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得する第2取得部と、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施する第1訓練部であって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、第1訓練部と、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施する第2訓練部であって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、第2訓練部と、を備える。
【0040】
なお、「学習装置」は、訓練済みの機械学習モデル(生成器)を生成するための「モデル生成装置」又は単に「生成装置」と読み替えられてよい。学習方法は、訓練済みの機械学習モデルを生成するためのモデル生成方法又は単に生成方法と読み替えられてよい。すなわち、学習方法は、訓練済みの機械学習モデルを生成(生産)する方法に相当する。
【0041】
その他の例として、本発明の一側面に係るデータ生成装置は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築された訓練済みの第1生成器を有する第1生成部であって、前記機械学習により、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、第1生成部は、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成する、第1生成部と、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築された訓練済みの第2生成器を有する第2生成部であって、前記機械学習により、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記第2生成部は、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、第2生成部と、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するデータ合成部と、を備える。
【0042】
また、上記各形態に係るデータ生成システム、学習装置、及びデータ生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【0043】
例えば、本発明の一側面に係るデータ生成方法は、コンピュータが、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを取得するステップと、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを取得するステップと、取得された前記複数の第1学習データセットを使用して、第1生成器を含む第1学習モデルの機械学習を実施するステップであって、前記第1学習モデルの機械学習を実施することは、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように前記第1生成器を訓練することを含む、ステップと、取得された前記複数の第2学習データセットを使用して、第2生成器を含む第2学習モデルの機械学習を実施するステップであって、前記第2学習モデルの機械学習を実施することは、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように前記第2生成器を訓練することを含む、ステップと、前記第1ラベルに対応する第1入力値を訓練済みの前記第1生成器に与えることで、前記第1特徴を含む第1疑似サンプルを生成するステップと、前記第2ラベルに対応する第2入力値を訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成するステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行する、情報処理方法である。
【0044】
また、例えば、本発明の一側面に係るデータ生成方法は、コンピュータが、訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、ステップと、訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、ステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行する、情報処理方法である。
【0045】
また、例えば、本発明の一側面に係るデータ生成プログラムは、コンピュータに、訓練済みの第1生成器を利用して、第1特徴を含む第1疑似サンプルを生成するステップであって、前記訓練済みの第1生成器は、所定種類のデータの第1サンプルであって、第1特徴を含む第1サンプル、及び前記第1特徴の種別を示す第1ラベルの組み合わせによりそれぞれ構成される複数の第1学習データセットを使用した機械学習により構築され、前記機械学習では、前記第1生成器は、前記各第1学習データセットについて、前記第1生成器により前記第1ラベルから生成される疑似サンプルが前記第1サンプルに適合するように訓練され、前記コンピュータは、前記第1ラベルに対応する第1入力値を前記訓練済みの前記第1生成器に与えることで、前記第1特徴を含む前記第1疑似サンプルを生成する、ステップと、訓練済みの第2生成器を利用して、第2特徴を含む第2疑似サンプルを生成するステップであって、前記訓練済みの第2生成器は、前記所定種類のデータの第2サンプルであって、前記第1特徴とは異なる第2特徴を含む第2サンプル、及び前記第2特徴の種別を示す第2ラベルの組み合わせによりそれぞれ構成される複数の第2学習データセットを使用した機械学習により構築され、前記機械学習では、前記第2生成器は、前記各第2学習データセットについて、前記第2生成器により前記第2ラベルから生成される疑似サンプルが前記第2サンプルに適合するように訓練され、前記コンピュータは、前記第2ラベルに対応する第2入力値を前記訓練済みの前記第2生成器に与えることで、前記第2特徴を含む第2疑似サンプルを生成する、ステップと、生成された前記第1疑似サンプルに生成された前記第2疑似サンプルを合成することで、前記所定種類のデータの新たなサンプルを生成するステップと、を実行させるための、プログラムである。
【発明の効果】
【0046】
本発明によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
【図面の簡単な説明】
【0047】
【
図1】
図1は、本発明が適用される場面の一例を模式的に例示する。
【
図2A】
図2Aは、実施の形態に係る第1特徴及び第2特徴を含むサンプルの一例を模式的に例示する。
【
図2B】
図2Bは、実施の形態に係る第1特徴及び第2特徴を含むサンプルの一例を模式的に例示する。
【
図3】
図3は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【
図4】
図4は、実施の形態に係るデータ生成装置のハードウェア構成の一例を模式的に例示する。
【
図5】
図5は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。
【
図6】
図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【
図7A】
図7Aは、実施の形態に係る学習装置による第1学習モデルの機械学習の過程を模式的に例示する。
【
図7B】
図7Bは、実施の形態に係る学習装置による第2学習モデルの機械学習の過程を模式的に例示する。
【
図7C】
図7Cは、実施の形態に係る学習装置による第3学習モデルの機械学習の過程を模式的に例示する。
【
図7D】
図7Dは、実施の形態に係る学習装置による推定器の機械学習の過程を模式的に例示する。
【
図7E】
図7Eは、実施の形態に係る学習装置による第2サンプルの生成過程を模式的に例示する。
【
図8】
図8は、実施の形態に係るデータ生成装置のソフトウェア構成の一例を模式的に例示する。
【
図9】
図9は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
【
図10A】
図10Aは、実施の形態に係る学習装置による第1学習モデルの機械学習の処理手順の一例を例示する。
【
図10B】
図10Bは、実施の形態に係る学習装置による第1学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。
【
図11A】
図11Aは、実施の形態に係る学習装置による第2学習モデルの機械学習の処理手順の一例を例示する。
【
図11B】
図11Bは、実施の形態に係る学習装置による第2学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。
【
図12A】
図12Aは、実施の形態に係る学習装置による第3学習モデルの機械学習の処理手順の一例を例示する。
【
図12B】
図12Bは、実施の形態に係る学習装置による第3学習モデルの機械学習に関するサブルーチンの処理手順の一例を例示する。
【
図13】
図13は、実施の形態に係る学習装置による推定器の機械学習の処理手順の一例を例示する。
【
図14】
図14は、実施の形態に係る学習装置による第2サンプルの生成に関する処理手順の一例を例示する。
【
図15】
図15は、実施の形態に係るデータ生成装置の処理手順の一例を例示する。
【
図16】
図16は、実施の形態に係るデータ生成装置の受付画面であって、各入力値の入力を受け付けるための受付画面の一例を模式的に例示する。
【
図17B】
図17Bは、実施の形態に係る第2特徴に関する推定処理の過程の一例を例示する。
【
図19】
図19は、本発明が適用される他の場面の一例を模式的に例示する。
【
図20A】
図20Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【
図20B】
図20Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【
図21】
図21は、本発明が適用される他の場面の一例を模式的に例示する。
【
図22】
図22は、本発明が適用される他の場面の一例を模式的に例示する。
【
図23】
図23は、本発明が適用される他の場面の一例を模式的に例示する。
【
図24A】
図24Aは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【
図24B】
図24Bは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【
図25】
図25は、本発明が適用される他の場面の一例を模式的に例示する。
【
図26A】
図26Aは、他の形態に係る異常検知装置のハードウェア構成の一例を模式的に例示する。
【
図26B】
図26Bは、他の形態に係る異常検知装置のソフトウェア構成の一例を模式的に例示する。
【
図27】
図27は、他の形態に係る生成器の構成の一例を模式的に例示する。
【
図28】
図28は、本発明が適用される他の場面の一例を模式的に例示する。
【
図29】
図29は、他の形態に係る他の学習装置のハードウェア構成の一例を模式的に例示する。
【
図30】
図30は、他の形態に係る他の学習装置のソフトウェア構成の一例を模式的に例示する。
【
図31】
図31は、他の形態に係る他の学習装置の処理手順の一例を例示する。
【
図32A】
図32Aは、他の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。
【
図32B】
図32Bは、他の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【0048】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0049】
§1 適用例
図1は、本発明を適用した場面の一例を模式的に例示する。
図1に示されるとおり、本実施形態に係る推定システム100は、学習装置1、データ生成装置2及び推定装置3を備えている。学習装置1及びデータ生成装置2は、学習済みの第1生成器411及び第2生成器421を生成し、生成された学習済みの第1生成器411及び第2生成器421を利用して、所定種類のデータの新たなサンプル65を生成するためのデータ生成システムを構成する。
【0050】
本実施形態に係る学習装置1は、それぞれ機械学習を実施することで、学習済みの第1生成器411及び第2生成器421を生成するように構成されたコンピュータである。具体的に、本実施形態に係る学習装置1は、所定種類のデータの第1サンプル511及び第1ラベル512の組み合わせによりそれぞれ構成される複数の第1学習データセット51を取得する。また、本実施形態に係る学習装置1は、所定種類のデータの第2サンプル521及び第2ラベル522の組み合わせによりそれぞれ構成される複数の第2学習データセット52を取得する。
【0051】
各サンプル(511、521)について、所定種類のデータは、何らかの特徴が表れ得るデータであれば、データの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定種類のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られるセンシングデータ等であってよい。所定種類のデータは、例えば、何らかの対象をセンサにより観測することで得られるセンシングデータであってもよい。センサは、例えば、カメラ、マイクロフォン、エンコーダ、Lidarセンサ、医療検査装置、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。医療検査装置は、例えば、レントゲン装置、CT装置、MRI装置等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
【0052】
第1サンプル511は、所定種類のデータに表れる第1特徴を含み、第1ラベル512は、その第1特徴の種別を示す。一方、第2サンプル521は、第1特徴とは異なる第2特徴を含み、第2ラベル522は、その第2特徴の種別を示す。第1特徴及び第2特徴はそれぞれ、実施の形態に応じて適宜選択されてよい。例えば、第1特徴及び第2特徴はそれぞれ、所定種類のデータに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れるとは、画像データに写る等のデータそのものに表れることを指す。間接的に表れるとは、画像データから推定される等のデータから導出されることを指す。第1特徴及び第2特徴のうちの少なくとも一方は、何らかの推定処理の対象となり得るものであってよい。なお、対象のサンプルが対象の特徴を含んでいることは、対象のサンプルに対象の特徴が表れていることに相当する。
【0053】
本実施形態では、所定種類のデータは、第1成分及び第1成分とは異なる第2成分を含み得る。第2成分は、所定の推定の対象となる。各第1サンプル511に含まれる第1特徴は第1成分に関し、各第2サンプル521に含まれる第2特徴は第2成分に関する。推定することには、予測することが含まれてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。音データを含む動画像データ等のように、所定種類のデータは、複数種類のデータにより構成されてよい。この場合、第1特徴及び第2特徴はそれぞれ、複数種類のうちの少なくともいずれかのデータに関するものであってよい。例えば、第1特徴は、画像データに関し、第2特徴は、音データに関する等のように、合成可能であれば、第1特徴及び第2特徴それぞれに関するデータの種類は異なっていてもよい。
【0054】
次に、本実施形態に係る学習装置1は、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習を実施することは、各第1学習データセット51について、第1生成器411により第1ラベル512から生成される疑似サンプルが第1サンプル511に適合するように第1生成器411を訓練することを含む。また、本実施形態に係る学習装置1は、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習を実施することは、各第2学習データセット52について、第2生成器421により第2ラベル522から生成される疑似サンプルが第2サンプル521に適合するように第2生成器421を訓練することを含む。各機械学習の結果、学習済みの第1生成器411及び第2生成器421が生成される。
【0055】
各生成器(411、421)は、機械学習モデルにより構成される。各生成器(411、421)の機械学習モデルは、各ラベル(512、522)に対応する入力値の入力に応じて、データの各サンプル(511、521)を模した疑似的なサンプル(疑似サンプル)を生成するように構成される。疑似サンプルは、各生成器(411、421)により生成されたサンプルであることを指す。各生成器(411、421)の機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、各生成器(411、421)の機械学習モデルには、ニューラルネットワークが用いられる。詳細は後述する。なお、本実施形態に係る学習装置1は、訓練済みの機械学習モデルを生成するための「モデル生成装置」又は単に「生成装置」と称されてよい。
【0056】
本実施形態に係るデータ生成装置2は、それぞれ学習済みの第1生成器411及び第2生成器421を利用して、所定種類のデータの新たなサンプル65を生成するように構成されたコンピュータである。具体的に、本実施形態に係るデータ生成装置2は、第1ラベル512に対応する第1入力値221を訓練済みの第1生成器411に与えることで、第1特徴を含む第1疑似サンプル61を生成する。また、本実施形態に係るデータ生成装置2は、第2ラベル522に対応する第2入力値223を訓練済みの第2生成器421に与えることで、第2特徴を含む第2疑似サンプル62を生成する。そして、本実施形態に係るデータ生成装置2は、生成された第1疑似サンプル61及び生成された第2疑似サンプル62を合成することで、所定種類のデータの新たなサンプル65を生成する。
【0057】
本実施形態に係る推定装置3は、第2特徴についての所定の推定処理を実行するように構成されたコンピュータである。本実施形態では、所定の推定は、第2成分を検出すること(換言すると、第2特徴の存在を検出すること)である。本実施形態に係る推定装置3は、対象サンプル325を取得し、取得した対象サンプル325に対して第2成分を検出するための処理を実行する。検出処理におけるパラメータは、データ群320に基づいて決定されてよい。データ群320は、所定種類のデータの複数のサンプル321により構成される。複数のサンプル321には、データ生成装置2により生成されたサンプル65が含まれてもよい。
【0058】
以上のとおり、本実施形態では、それぞれ学習済みの第1生成器411及び第2生成器421に与える入力に基づいて、生成される新たなサンプル65に含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、本実施形態に係るデータ生成装置2は、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプル65を生成することができる。サンプルが得られていない又はサンプル数の少ない、第1特徴及び第2特徴の種別の組み合わせが存在する場合に、その種別の組み合わせの第1特徴及び第2特徴を含む新たなサンプル65を自在に生成することができる。加えて、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、新たなサンプル65を生成する処理の多くを自動化することができる。よって、本実施形態によれば、多様な組み合わせのサンプルを自在かつ自動的に生成することができるため、少なくとも2つ以上の特徴が表れる所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
【0059】
更に、本実施形態では、新たなサンプル65をデータ群320に追加することで、データ群320に含まれるサンプル321の多様化を図ることができる。すなわち、データ群320において、得られていなかった又は数の少なかった組み合わせについてのサンプルの充実化を実現することができる。これにより、その組み合わせに対する推定の精度を高めることができる。したがって、本実施形態によれば、上記のように生成された新たなサンプル65を推定装置3における推定処理の実施に反映することで、当該推定処理の精度の向上を図ることができる。
【0060】
なお、
図1に示されるとおり、学習装置1、データ生成装置2及び推定装置3は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、学習装置1、データ生成装置2及び推定装置3の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習装置1、データ生成装置2及び推定装置3の間では、記憶媒体を利用して、データがやりとりされてよい。
【0061】
また、
図1の例では、学習装置1、データ生成装置2及び推定装置3は、それぞれ別個のコンピュータである。しかしながら、本実施形態に係るシステムの構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、学習装置1、データ生成装置2及び推定装置3のうちの少なくともいずれかのペアは一体のコンピュータであってよい。また、例えば、学習装置1、データ生成装置2及び推定装置3のうちの少なくともいずれかは、複数台のコンピュータにより構成されてよい。
【0062】
ここで、
図2A及び
図2Bを更に用いて、上記推定システム100において取り扱い可能な所定種類のデータの具体例について説明する。
図2Aは、製品P1の外観検査を実施する場面で得られる、第1特徴及び第2特徴を含むサンプルP10の一例を模式的に例示する。
図2Bは、機械の動作音に基づいて機械の状態検査を実施する場面で得られる、第1特徴及び第2特徴を含むサンプルP20の一例を模式的に例示する。
【0063】
図2Aでは、製品P1の写る画像データが、所定種類のデータの一例である。この例では、第1特徴は、製品P1を含む背景P11に関し、第2特徴は、製品P1に発生し得る欠陥P12に関する。すなわち、サンプルP10における製品P1を含む背景P11の画像は、第1成分の一例であり、欠陥P12の画像は、第2成分の一例である。この場合、各第1学習データセット51において、第1サンプル511は、製品P1の写る画像データのサンプルであってよく、第1ラベル512は製品P1の種別を示してよい。第2サンプル521は、欠陥P12の写る画像データのサンプルであってよく、第2ラベル522は欠陥P12の種別を示してよい。
【0064】
製品P1及び欠陥P12の種類は任意に選択されてよい。製品P1は、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品は、製造過程完了後に生成される最終品、製造過程の途中で生成される中間品、及び製造過程を経過する前に用意される初期品のいずれであってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
【0065】
この例では、本実施形態に係る学習装置1は、上記複数の第1学習データセット51を使用した機械学習により、入力に応じた種別の製品P1を含む背景の写る疑似サンプルを生成するように訓練された第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記複数の第2学習データセット52を使用した機械学習により、入力に応じた種別の欠陥P12を含む前景の写る疑似サンプルを生成するように訓練された第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの製品P1及び欠陥P12の写る新たなサンプル65を生成する処理の多くを自動化することができる。そのため、製品P1及び欠陥P12の写る多様なサンプルを収集するのにかかるコストを低減することができる。更に、本実施形態に係る推定装置3では、生成された新たなサンプル65の追加によりデータ群320に含まれるサンプル321を多様化することで、製品P1の外観検査の精度の向上を図ることができる。
【0066】
一方、
図2Bでは、機械の動作音を含む音データが、所定種類のデータの一例である。この例では、第1特徴は、機械の通常運転時に生じる動作音、機械の周囲の雑音等の環境音P21に関し、第2特徴は、機械の経年劣化、故障等の異常により生じる異常音P22に関する。すなわち、サンプルP20における環境音P21の成分が第1成分の一例であり、異常音P22の成分が第2成分の一例である。この場合、各第1学習データセット51において、第1サンプル511は、環境音P21を含む音データのサンプルであってよく、第1ラベル512は、機械及び周囲環境の種別を示してもよい。各第2学習データセット52において、第2サンプル521は、異常音P22を含む音データのサンプルであってよく、第2ラベル522は、異常の種別を示してもよい。
【0067】
機械及び異常の種類は任意に選択されてよい。機械は、例えば、コンベア装置、産業用ロボット等の製造ラインを構成する装置であってよい。機械は、装置全体であってもよいし、モータ等の装置の一部であってもよい。機械の周囲環境は、例えば、機械の駆動する場所、時間等により区別されてよい。異常は、例えば、故障、異物の混入、汚れの付着、構成部品の摩耗であってもよい。
【0068】
この例では、本実施形態に係る学習装置1は、上記複数の第1学習データセット51を使用した機械学習により、入力に応じた種別の機械及び周囲環境の環境音P21を含む疑似サンプルを生成するように訓練された第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記複数の第2学習データセット52を使用した機械学習により、入力に応じた種別の異常音P22を含む疑似サンプルを生成するように訓練された第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ学習済みの第1生成器411及び第2生成器421を利用することで、任意の種別の組み合わせの環境音P21及び異常音P22を含む新たなサンプル65を生成する処理の多くを自動化することができる。そのため、環境音P21及び異常音P22を含む多様なサンプルを収集するのにかかるコストを低減することができる。更に、本実施形態に係る推定装置3では、生成された新たなサンプル65の追加によりデータ群320に含まれるサンプル321を多様化することで、機械の異常を検知する精度の向上を図ることができる。
【0069】
なお、
図2A及び
図2Bの例では、通常時及び異常時共に出現する等のように比較的に出現率の高い特徴が第1特徴に選択され、異常時にのみ出現する等のように比較的に出現率の低い特徴が第2特徴に選択されている。このように、単独でも出現し得る比較的に出現率の高い特徴が第1特徴に選択され、その特徴と共に出現し得る比較的に出現率の低い特徴が第2特徴に選択されてよい。この場合、第2成分を検出することは、異常発生等の比較的に出現率の低い事象を検出することに相当する。
【0070】
§2 構成例
[ハードウェア構成]
<学習装置>
図3は、本実施形態に係る学習装置1のハードウェア構成の一例を模式的に例示する。
図3に示されるとおり、本実施形態に係る学習装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、
図3では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0071】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、学習プログラム81、第1~第4学習データセット51~54、第1~第4学習結果データ121~124等の各種情報を記憶する。
【0072】
学習プログラム81は、機械学習を実施することで各学習済みモデルを生成する後述の情報処理(
図10A~
図14)を学習装置1に実行させるためのプログラムである。学習プログラム81は、当該情報処理の一連の命令を含む。学習プログラム81は、「モデル生成プログラム」又は単に「生成プログラム」と称されてよい。第1~第4学習データセット51~54はそれぞれ、各モデルの機械学習に使用される。第1~第4学習結果データ121~124はそれぞれ、機械学習により構築された各学習済みモデルに関する情報を示す。本実施形態では、第1~第4学習結果データ121~124はそれぞれ、学習プログラム81を実行した結果として生成される。詳細は後述する。
【0073】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。学習装置1は、外部インタフェース14を介して、第1サンプル511、第2サンプル521等のサンプルを得るためのセンサに接続されてよい。
【0074】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、学習装置1を操作することができる。
【0075】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム81及び第1~第4学習データセット51~54の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
【0076】
記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム81及び第1~第4学習データセット51~54の少なくともいずれかを取得してもよい。
【0077】
ここで、
図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
【0078】
なお、学習装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。学習装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0079】
<データ生成装置>
図4は、本実施形態に係るデータ生成装置2のハードウェア構成の一例を模式的に例示する。
図4に示されるとおり、本実施形態に係るデータ生成装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
【0080】
データ生成装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、データ生成プログラム82、第1~第3学習結果データ121~123等の各種情報を記憶する。データ生成プログラム82は、新たなサンプル65の生成に関する後述の情報処理(
図15)をデータ生成装置2に実行させるためのプログラムである。データ生成プログラム82は、この情報処理の一連の命令を含む。データ生成プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、データ生成装置2は、記憶媒体92から、上記データ生成プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかを取得してもよい。
【0081】
なお、データ生成装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。データ生成装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、データ生成装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0082】
<推定装置>
図5は、本実施形態に係る推定装置3のハードウェア構成の一例を模式的に例示する。
図5に示されるとおり、本実施形態に係る推定装置3は、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータである。
【0083】
推定装置3の制御部31~ドライブ37及び記憶媒体93はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、推定プログラム83、データ群320、第1・第4学習結果データ(121、124)等の各種情報を記憶する。推定プログラム83は、第2特徴についての所定の推定に関する後述の情報処理(
図17A)を推定装置3に実行させるためのプログラムである。推定プログラム83は、この情報処理の一連の命令を含む。データ群320は、所定の推定(本実施形態では、第2成分の検出)処理におけるパラメータの値を決定するのに利用されてよい。推定プログラム83、データ群320及び第1・第4学習結果データ(121、124)のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定装置3は、記憶媒体93から、上記推定プログラム83、データ群320及び第1・第4学習結果データ(121、124)のうちの少なくともいずれかを取得してもよい。
【0084】
なお、推定装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37の少なくともいずれかは省略されてもよい。推定装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
【0085】
[ソフトウェア構成]
<学習装置>
図6は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。学習装置1の制御部11は、記憶部12に記憶された学習プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、
図6に示されるとおり、本実施形態に係る学習装置1は、第1取得部111、第2取得部112、第3取得部113、第4取得部114、第1訓練部115、第2訓練部116、第3訓練部117、第4訓練部118、及び保存処理部119をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0086】
第1取得部111は、所定種類のデータの第1サンプル511であって、第1特徴を含む第1サンプル511、及び第1特徴の種別を示す第1ラベル512の組み合わせによりそれぞれ構成される複数の第1学習データセット51を取得する。第1訓練部115は、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習では、第1訓練部115は、各第1学習データセット51について、第1生成器411により第1ラベル512から生成される疑似サンプルが第1サンプル511に適合するように第1生成器411を訓練する。
【0087】
第2取得部112は、所定種類のデータの第2サンプル521であって、第1特徴とは異なる第2特徴を含む第2サンプル521、及び第2特徴の種別を示す第2ラベル522の組み合わせによりそれぞれ構成される複数の第2学習データセット52を取得する。第2訓練部116は、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習では、第2訓練部116は、各第2学習データセット52について、第2生成器421により第2ラベル522から生成される疑似サンプルが第2サンプル521に適合するように第2生成器421を訓練する。
【0088】
第3取得部113は、第2特徴の属性のサンプル値531、第2特徴を反映する程度を示す反映レベル532、及び第2ラベル522の組み合わせによりそれぞれ構成される複数の第3学習データセット53を取得する。サンプル値531は、属性サンプル値と称されてよい。属性は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の第2特徴の有する性質の程度又は分類に関する。第3訓練部117は、取得された複数の第3学習データセット53を使用して、第3生成器431を含む第3学習モデル43の機械学習を実施する。第3学習モデル43の機械学習では、第3訓練部117は、各第3学習データセット53について、反映レベル532及び第2ラベル522から第3生成器431により生成される第2特徴の属性の疑似的な値がサンプル値531に適合するように第3生成器431を訓練する。なお、各第3学習データセット53は、第1ラベル512を更に備えてもよい。この場合、第3学習モデル43の機械学習では、第3訓練部117は、反映レベル532、第2ラベル522及び第1ラベル512から第3生成器431により生成される第2特徴の属性の疑似的な値がサンプル値531に適合するように第3生成器431を訓練してもよい。
【0089】
第4取得部114は、訓練済みの第1生成器411に与える入力のサンプル値541及び訓練済みの第1生成器411に当該サンプル値541を与えることで生成される疑似サンプル542の組み合わせによりそれぞれ構成される複数の第4学習データセット54を取得する。疑似サンプル542は、本発明の「第4疑似サンプル」の一例である。第4訓練部118は、取得された複数の第4学習データセット54を使用して、推定器44の機械学習を実施する。推定器44の機械学習では、第4訓練部118は、各第4学習データセット54について、訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定器44により推定することで得られる推定値がサンプル値541に適合するように推定器44を訓練する。
【0090】
保存処理部119は、各機械学習の結果に関する情報を生成し、生成された情報を所定の記憶領域に保存する。具体的に、保存処理部119は、訓練済みの各生成器(411、421、431)及び推定器44それぞれに関する情報を第1~第4学習結果データ121~124として生成する。そして、保存処理部119は、生成された第1~第4学習結果データ121~124を所定の記憶領域に保存する。所定の記憶領域は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、記憶媒体91、外部記憶装置又はこれらの組み合わせであってよい。
【0091】
(第1学習モデルの機械学習)
図7Aは、本実施形態に係る第1学習モデル41の機械学習の過程の一例を模式的に例示する。第1学習モデル41の構成は、入力に応じた種別の第1特徴を含む疑似サンプルを生成するように第1生成器411を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第1学習モデル41は、第1識別器412を更に含んでいる。第1生成器411及び第1識別器412は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
【0092】
本実施形態では、第1生成器411及び第1識別器412はそれぞれ、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第1生成器411及び第1識別器412はそれぞれ、入力層(4111、4121)、中間(隠れ)層(4112、4122)、及び出力層(4113、4123)を備えている。ただし、第1生成器411及び第1識別器412それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(4112、4122)の数は、1つに限られなくてもよく、2つ以上であってもよい。或いは、中間層(4112、4122)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は、特に限られなくてもよく、任意に選択されてよい。また、第1生成器411及び第1識別器412の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
【0093】
各層(4111~4113、4121~4123)は、1又は複数のニューロン(ノード)を備えている。各層(4111~4113、4121~4123)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。
図7Aの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【0094】
各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4111~4113、4121~4123)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第1生成器411及び第1識別器412それぞれの演算パラメータの一例である。
【0095】
本実施形態では、機械学習により第1生成器411を訓練することは、第1識別器412を訓練する第1訓練ステップ、及び第1生成器411を訓練する第2訓練ステップを交互に繰り返し実行することにより構成される。第1訓練ステップでは、第1訓練部115は、第1識別器412に入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別するように第1識別器412を訓練する。換言すると、第1識別器412は、入力されたサンプルが複数の第1学習データセット51(学習データ)由来か第1生成器411由来かを識別するように訓練される。なお、
図7Aの例では、学習データ由来であることを「真」と表現し、第1生成器411由来であることを「偽」と表現している。「真」は「1」に置き換えられてよく、「偽」は「0」に置き換えられてよい。ただし、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第2訓練ステップでは、第1訓練部115は、第1識別器412の識別の性能を低下させるような疑似サンプル515を生成するように第1生成器411を訓練する。すなわち、第1学習モデル41の機械学習は、第1生成器411及び第1識別器412の間の敵対的学習により構成される。
【0096】
この機械学習の処理の一例として、第1訓練ステップでは、まず、第1訓練部115は、第1学習データセット51毎に、所定の確率分布からノイズ510(潜在変数)を抽出する。所定の確率分布の種類は任意に選択されてよい。所定の確率分布は、例えば、ガウス分布等の公知の確率分布であってよい。続いて、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411に与えることで、抽出されたノイズ510及び第1ラベル512から疑似サンプル515を生成する。具体的には、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、第1生成器411の演算処理を実行する。これにより、第1訓練部115は、ノイズ510及び第1ラベル512から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル515)を第1生成器411の出力層4113から取得する。
【0097】
次に、第1訓練部115は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは疑似サンプル515であるため、第1識別器412は「偽」と識別するのが正解である。第1訓練部115は、第1生成器411により生成された各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
【0098】
また、第1訓練部115は、各第1学習データセット51(第1サンプル511及び第1ラベル512)を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは第1サンプル511であるため、第1識別器412は「真」と識別するのが正解である。第1訓練部115は、各第1学習データセット51について、出力層4123から得られる出力値と当該正解との誤差を算出する。
【0099】
そして、第1訓練部115は、第1生成器411の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第1識別器412の演算パラメータの値を調節する。これにより、第1訓練部115は、第1識別器412に入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別する能力を獲得するように第1識別器412を訓練することができる。
【0100】
一方、第2訓練ステップでは、まず、第1訓練部115は、第1学習データセット51毎に、所定の確率分布からノイズ510(潜在変数)を抽出する。続いて、第1訓練部115は、抽出されたノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、第1生成器411の演算処理を実行する。これにより、第1訓練部115は、ノイズ510及び第1ラベル512から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル515)を第1生成器411の出力層4113から取得する。なお、疑似サンプル515を生成する処理は、第1訓練ステップ及び第2訓練ステップで共通に実行されてよい。すなわち、第1訓練ステップで生成された疑似サンプル515が第2訓練ステップでも利用されてよい。
【0101】
次に、第1訓練部115は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、第1識別器412の演算処理を実行する。これにより、第1訓練部115は、入力された入力サンプルが学習データ由来か第1生成器411由来かを識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。第1生成器411の訓練では、第1識別器412の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4123から得られる出力値が「真」に対応することが正解である。第1訓練部115は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
【0102】
そして、第1訓練部115は、第1識別器412の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第1生成器411の演算パラメータの値を調節する。これにより、第1訓練部115は、第1識別器412の識別の性能を低下させるような疑似サンプル515を生成する能力を獲得するように第1生成器411を訓練することができる。
【0103】
第1訓練部115は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返し実施することで、第1識別器412及び第1生成器411の性能を交互に高めていくことができる。これにより、第1識別器412の識別性能の向上に応じて、第1サンプル511に適合する疑似サンプル515を生成する第1生成器411の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、第1特徴を含む適切な疑似サンプルを生成可能な訓練済みの第1生成器411を構築することができる。なお、第1訓練ステップ及び第2訓練ステップの処理順序は任意であってよい。
【0104】
この機械学習が完了した後、保存処理部119は、構築された訓練済みの第1生成器411の構造及び演算パラメータを示す情報を第1学習結果データ121として生成する。そして、保存処理部119は、生成された第1学習結果データ121を所定の記憶領域に保存する。なお、第1学習結果データ121の内容は、訓練済みの第1生成器411を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第1生成器411の構造が共通化されている場合、第1学習結果データ121において第1生成器411の構造を示す情報は省略されてよい。また、第1学習結果データ121には、構築された訓練済みの第1識別器412の構造及び演算パラメータを示す情報が更に含まれてもよい。
【0105】
(第2学習モデルの機械学習)
図7Bは、本実施形態に係る第2学習モデル42の機械学習の過程の一例を模式的に例示する。第2学習モデル42の構成は、入力に応じた種別の第2特徴を含む疑似サンプルを生成するように第2生成器421を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第2学習モデル42は、第1学習モデル41と同様に、第2識別器422を更に含んでいる。第2生成器421及び第2識別器422は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
【0106】
本実施形態では、第2生成器421及び第2識別器422は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第2生成器421及び第2識別器422はそれぞれ、入力層(4211、4221)、中間(隠れ)層(4212、4222)、及び出力層(4213、4223)を備えている。ただし、第2生成器421及び第2識別器422それぞれの構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。それぞれのニューラルネットワークを構成する層の数は、任意に選択されてよい。第2生成器421及び第2識別器422の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
【0107】
各層(4211~4213、4221~4223)は、1又は複数のニューロン(ノード)を備えている。各層(4211~4213、4221~4223)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。
図7Bの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4211~4213、4221~4223)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第2生成器421及び第2識別器422それぞれの演算パラメータの一例である。
【0108】
本実施形態では、機械学習により第2生成器421を訓練することは、第2識別器422を訓練する第3訓練ステップ、及び第2生成器421を訓練する第4訓練ステップを交互に繰り返し実行することにより構成される。第3訓練ステップでは、第2訓練部116は、第2識別器422に入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別するように第2識別器422を訓練する。換言すると、第2識別器422は、入力されたサンプルが複数の第2学習データセット52(学習データ)由来か第2生成器421由来かを識別するように訓練される。なお、
図7Bの例では、各由来は、上記
図7Aと同様の方法により表現されているが、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第4訓練ステップでは、第2訓練部116は、第2識別器422の識別の性能を低下させるような疑似サンプル525を生成するように第2生成器421を訓練する。すなわち、第2学習モデル42の機械学習は、第2生成器421及び第2識別器422の間の敵対的学習により構成される。
【0109】
この第2学習モデル42の機械学習の処理は、取り扱うデータが異なる点を除き、上記第1学習モデル41の機械学習と同様であってよい。すなわち、第3訓練ステップでは、まず、第2訓練部116は、第2学習データセット52毎に、所定の確率分布(例えば、ガウス分布等)からノイズ520(潜在変数)を抽出する。続いて、第2訓練部116は、抽出されたノイズ520及び第2ラベル522を第2生成器421の入力層4211に入力し、第2生成器421の演算処理を実行する。これにより、第2訓練部116は、ノイズ520及び第2ラベル522から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル525)を第2生成器421の出力層4213から取得する。
【0110】
次に、第2訓練部116は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。この場面では、入力サンプルは疑似サンプル525であるため、第2識別器422は「偽」と識別するのが正解である。第2訓練部116は、第2生成器421により生成された各疑似サンプル525について、出力層4223から得られる出力値と当該正解との誤差を算出する。
【0111】
また、第2訓練部116は、各第2学習データセット52(第2サンプル521及び第2ラベル522)を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。この場面では、入力サンプルは第2サンプル521であるため、第2識別器422は「真」と識別するのが正解である。第2訓練部116は、各第2学習データセット52について、出力層4223から得られる出力値と当該正解との誤差を算出する。
【0112】
そして、第2訓練部116は、第2生成器421の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第2識別器422の演算パラメータの値を調節する。これにより、第2訓練部116は、第2識別器422に入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別する能力を獲得するように第2識別器422を訓練することができる。
【0113】
一方、第4訓練ステップでは、まず、第2訓練部116は、第2学習データセット52毎に、所定の確率分布からノイズ520(潜在変数)を抽出する。続いて、第2訓練部116は、抽出されたノイズ520及び第2ラベル522を第2生成器421の入力層4211に入力し、第2生成器421の演算処理を実行する。これにより、第2訓練部116は、ノイズ520及び第2ラベル522から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル525)を第2生成器421の出力層4213から取得する。なお、疑似サンプル525を生成する処理は、第3訓練ステップ及び第4訓練ステップで共通に実行されてよい。すなわち、第3訓練ステップで生成された疑似サンプル525が第4訓練ステップでも利用されてよい。
【0114】
次に、第2訓練部116は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422の入力層4221に入力し、第2識別器422の演算処理を実行する。これにより、第2訓練部116は、入力サンプルに対する識別の結果に対応する出力値を第2識別器422の出力層4223から取得する。第2生成器421の訓練では、第2識別器422の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4223から得られる出力値が「真」に対応することが正解である。第2訓練部116は、各疑似サンプル525について、出力層4223から得られる出力値と当該正解との誤差を算出する。
【0115】
そして、第2訓練部116は、第2識別器422の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第2生成器421の演算パラメータの値を調節する。これにより、第2訓練部116は、第2識別器422の識別の性能を低下させるような疑似サンプル525を生成する能力を獲得するように第2生成器421を訓練することができる。
【0116】
第2訓練部116は、上記第3訓練ステップ及び第4訓練ステップを交互に繰り返し実行することで、第2識別器422及び第2生成器421の性能を交互に高めていくことができる。これにより、第2識別器422の識別性能の向上に応じて、第2サンプル521に適合する疑似サンプル525を生成する第2生成器421の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、第2特徴を含む適切な疑似サンプルを生成可能な訓練済みの第2生成器421を構築することができる。なお、第3訓練ステップ及び第4訓練ステップの処理順序は任意であってよい。
【0117】
この機械学習が完了した後、保存処理部119は、構築された訓練済みの第2生成器421の構造及び演算パラメータを示す情報を第2学習結果データ122として生成する。そして、保存処理部119は、生成された第2学習結果データ122を所定の記憶領域に保存する。なお、第2学習結果データ122の内容は、訓練済みの第2生成器421を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第2生成器421の構造が共通化されている場合、第2学習結果データ122において第2生成器421の構造を示す情報は省略されてよい。また、第2学習結果データ122には、構築された訓練済みの第2識別器422の構造及び演算パラメータを示す情報が更に含まれてもよい。
【0118】
(第3学習モデルの機械学習)
図7Cは、本実施形態に係る第3学習モデル43の機械学習の過程の一例を模式的に例示する。第3学習モデル43の構成は、入力に応じた種別及び程度(反映レベル)の第2特徴の属性の疑似的な値(疑似値)を生成するように第3生成器431を訓練可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、第3学習モデル43は、第1学習モデル41等と同様に、第3識別器432を更に含んでいる。第3生成器431及び第3識別器432は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。
【0119】
本実施形態では、第3生成器431及び第3識別器432は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。第3生成器431及び第3識別器432はそれぞれ、入力層(4311、4321)、中間(隠れ)層(4312、4322)、及び出力層(4313、4323)を備えている。ただし、第3生成器431及び第3識別器432それぞれの構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。それぞれのニューラルネットワークを構成する層の数は、任意に選択されてよい。第3生成器431及び第3識別器432の構造は、少なくとも部分的に一致していてもよいし、或いは一致していなくてもよい。
【0120】
各層(4311~4313、4321~4323)は、1又は複数のニューロン(ノード)を備えている。各層(4311~4313、4321~4323)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。
図7Cの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層(4311~4313、4321~4323)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、第3生成器431及び第3識別器432それぞれの演算パラメータの一例である。
【0121】
本実施形態では、機械学習により第3生成器431を訓練することは、第3識別器432を訓練する第5訓練ステップ、及び第3生成器431を訓練する第6訓練ステップを交互に繰り返し実行することにより構成される。第5訓練ステップでは、第3訓練部117は、第3識別器432に入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別するように第3識別器432を訓練する。換言すると、第3識別器432は、入力された入力値が複数の第3学習データセット53(学習データ)由来か第3生成器431由来かを識別するように訓練される。なお、
図7Cの例では、各由来は、上記
図7A等と同様の方法により表現されているが、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。一方、第6訓練ステップでは、第3訓練部117は、第3識別器432の識別の性能を低下させるような第2特徴の属性の疑似値535を生成するように第3生成器431を訓練する。すなわち、第3学習モデル43の機械学習は、第3生成器431及び第3識別器432の間の敵対的学習により構成される。
【0122】
この第3学習モデル43の機械学習の処理は、取り扱うデータが異なる点を除き、上記第1学習モデル41等の機械学習と同様であってよい。すなわち、第5訓練ステップでは、まず、第3訓練部117は、第3学習データセット53毎に、所定の確率分布(例えば、ガウス分布等)からノイズ530(潜在変数)を抽出する。続いて、第3訓練部117は、抽出されたノイズ530、対応する反映レベル532及び対応する第2ラベル522を第3生成器431の入力層4311に入力し、第3生成器431の演算処理を実行する。これにより、第3訓練部117は、ノイズ530、反映レベル532、及び第2ラベル522から第2特徴の属性の疑似的な値を生成した結果に対応する出力(すなわち、疑似値535)を第3生成器431の出力層4313から取得する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3生成器431の入力層4311に更に入力して、上記処理を実行してもよい。
【0123】
次に、第3訓練部117は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。この場面では、入力値は疑似値535であるため、第3識別器432は「偽」と識別するのが正解である。第3訓練部117は、第3生成器431により生成された各疑似値535について、出力層4323から得られる出力値と当該正解との誤差を算出する。
【0124】
また、第3訓練部117は、各第3学習データセット53(サンプル値531、反映レベル532、及び第2ラベル522)を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。この場面では、入力値はサンプル値531であるため、第3識別器432は「真」と識別するのが正解である。第3訓練部117は、各第3学習データセット53について、出力層4323から得られる出力値と当該正解との誤差を算出する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3識別器432の入力層4321に更に入力して、上記処理を実行してもよい。
【0125】
そして、第3訓練部117は、第3生成器431の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第3識別器432の演算パラメータの値を調節する。これにより、第3訓練部117は、第3識別器432に入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別する能力を獲得するように第3識別器432を訓練することができる。
【0126】
一方、第6訓練ステップでは、まず、第3訓練部117は、第3学習データセット53毎に、所定の確率分布からノイズ530(潜在変数)を抽出する。続いて、第3訓練部117は、抽出されたノイズ530、対応する反映レベル532及び対応する第2ラベル522を第3生成器431の入力層4311に入力し、第3生成器431の演算処理を実行する。これにより、第3訓練部117は、ノイズ530、反映レベル532、及び第2ラベル522から第2特徴の属性の疑似的な値を生成した結果に対応する出力(すなわち、疑似値535)を第3生成器431の出力層4313から取得する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3生成器431の入力層4311に更に入力して、上記処理を実行してもよい。なお、疑似値535を生成する処理は、第5訓練ステップ及び第6訓練ステップで共通に実行されてよい。すなわち、第5訓練ステップで生成された疑似値535が第6訓練ステップでも利用されてよい。
【0127】
次に、第3訓練部117は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432の入力層4321に入力し、第3識別器432の演算処理を実行する。これにより、第3訓練部117は、入力値に対する識別の結果に対応する出力値を第3識別器432の出力層4323から取得する。第3生成器431の訓練では、第3識別器432の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層4323から得られる出力値が「真」に対応することが正解である。第3訓練部117は、各疑似値535について、出力層4323から得られる出力値と当該正解との誤差を算出する。各第3学習データセット53が第1ラベル512を更に備える場合、第3訓練部117は、対応する第1ラベル512を第3識別器432の入力層4321に更に入力して、上記処理を実行してもよい。
【0128】
そして、第3訓練部117は、第3識別器432の演算パラメータの値を固定した上で、算出される誤差の和が小さくなるように、第3生成器431の演算パラメータの値を調節する。これにより、第3訓練部117は、第3識別器432の識別の性能を低下させるような疑似値535を生成する能力を獲得するように第3生成器431を訓練することができる。
【0129】
第3訓練部117は、上記第5訓練ステップ及び第6訓練ステップを交互に繰り返し実行することで、第3識別器432及び第3生成器431の性能を交互に高めていくことができる。これにより、第3識別器432の識別性能の向上に応じて、サンプル値531に適合する疑似値535を生成する第3生成器431の性能の向上を図ることができる。したがって、本実施形態では、上記機械学習により、反映レベル532及び第2ラベル522それぞれに対応する入力値及びノイズに応じて、第2特徴の属性の適切な疑似値を生成可能な訓練済みの第3生成器431を構築することができる。上記各訓練ステップにおいて第1ラベル512を更に入力した場合には、反映レベル532、第2ラベル522及び第1ラベル512それぞれに対応する入力値及びノイズに応じて、第2特徴の属性の適切な疑似値を生成可能な訓練済みの第3生成器431を構築することができる。なお、第5訓練ステップ及び第6訓練ステップの処理順序は任意であってよい。
【0130】
この機械学習が完了した後、保存処理部119は、構築された訓練済みの第3生成器431の構造及び演算パラメータを示す情報を第3学習結果データ123として生成する。そして、保存処理部119は、生成された第3学習結果データ123を所定の記憶領域に保存する。なお、第3学習結果データ123の内容は、訓練済みの第3生成器431を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で第3生成器431の構造が共通化されている場合、第3学習結果データ123において第3生成器431の構造を示す情報は省略されてよい。また、第3学習結果データ123には、構築された訓練済みの第3識別器432の構造及び演算パラメータを示す情報が更に含まれてもよい。
【0131】
(推定器の機械学習)
図7Dは、本実施形態に係る推定器44の機械学習の過程の一例を模式的に例示する。推定器44は、機械学習を実施可能な任意の機械学習モデルにより構成されてよい。本実施形態では、推定器44は、上記第1生成器411等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成される。推定器44は、入力層441、中間(隠れ)層442、及び出力層443を備えている。ただし、推定器44の構造は、上記第1生成器411等と同様に、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推定器44のニューラルネットワークを構成する層の数は、任意に選択されてよい。
【0132】
各層441~443は、1又は複数のニューロン(ノード)を備えている。各層441~443に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。隣接する層のニューロン同士は適宜結合される。
図7Dの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各結合には、重みが設定されている。各ニューロンには閾値が設定されている。閾値は、活性化関数により表現されてもよい。活性化関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各層441~443に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、推定器44の演算パラメータの一例である。
【0133】
推定器44は、機械学習により、訓練済みの第1生成器411により生成された疑似サンプルから、その疑似サンプルを生成する際に訓練済みの第1生成器411に与えられた入力を推定するように訓練される。この機械学習に使用される各第4学習データセット54は、訓練済みの第1生成器411を利用することで適宜生成されてよい。一例として、訓練済みの第1生成器411に与える入力のサンプル値541を適宜決定する。サンプル値541は、オペレータの入力により手動的に決定されてもよいし、或いはランダム等の方法により自動的に決定されてもよい。サンプル値541は、第1特徴の種別を示す第1ラベル512に対応する。サンプル値541に対応して、所定の確率分布(例えば、ガウス分布等)からノイズ540(潜在変数)を抽出する。サンプル値541を決定する処理及びノイズ540を抽出する処理の順序は任意であってよい。抽出されたノイズ540及びサンプル値541を訓練済みの第1生成器411の入力層4111に入力し、訓練済みの第1生成器411の演算処理を実行する。これにより、ノイズ540及びサンプル値541から疑似サンプルを生成した結果に対応する出力(すなわち、疑似サンプル542)を訓練済みの第1生成器411の出力層4113から取得することができる。生成された疑似サンプル542を、対応するノイズ540及びサンプル値541に関連付ける。これにより、各第4学習データセット54を生成することができる。
【0134】
本実施形態では、第4訓練部118は、複数の第4学習データセット54を使用して、上記ニューラルネットワークにより構成された推定器44の機械学習を実施する。この推定器44の機械学習では、第4訓練部118は、各第4学習データセット54における疑似サンプル542を訓練データ(入力データ)として使用し、ノイズ540及びサンプル値541を正解データ(教師信号)として使用する。
【0135】
具体的に、第4訓練部118は、推定器44の入力層441に疑似サンプル542を入力し、推定器44の演算処理を実行する。これにより、第4訓練部118は、疑似サンプル542を生成する際に訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定した結果に対応する出力値を推定器44の出力層443から取得する。得られる出力値には、訓練済みの第1生成器411に与えるノイズに対応する第1推定値及びサンプル値に対応する第2推定値が含まれる。第4訓練部118は、各第4学習データセット54について、各推定値とノイズ540及びサンプル値541それぞれとの誤差を算出する。
【0136】
そして、第4訓練部118は、算出される誤差の和が小さくなるように、推定器44の演算パラメータの値を調節する。これにより、第4訓練部118は、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力(ノイズ540及びサンプル値541)を推定する能力を獲得した訓練済みの推定器44を構築することができる。
【0137】
この機械学習が完了した後、保存処理部119は、構築された訓練済みの推定器44の構造及び演算パラメータを示す情報を第4学習結果データ124として生成する。そして、保存処理部119は、生成された第4学習結果データ124を所定の記憶領域に保存する。なお、第4学習結果データ124の内容は、訓練済みの推定器44を再生可能であれば、このような例に限定されなくてもよい。例えば、各装置間で推定器44の構造が共通化されている場合、第4学習結果データ124において推定器44の構造を示す情報は省略されてよい。
【0138】
(第2サンプルの生成)
図7Eは、本実施形態に係る第2サンプル521の生成過程の一例を模式的に例示する。本実施形態では、上記機械学習により生成された訓練済みの第1生成器411及び推定器44を利用することで、各第2学習データセット52の第2サンプル521を生成することができる。
【0139】
具体的に、第2取得部112は、所定種類のデータの複数の第3サンプル551であって、第1特徴及び第2特徴をそれぞれ含む複数の第3サンプル551を取得する。続いて、第2取得部112は、訓練済みの推定器44に各第3サンプル551を与えることで、各第3サンプル551に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。得られる推定値(第1推定値及び第2推定値)は、各第3サンプル551に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力(ノイズ及び入力値)に対応する。
【0140】
次に、第2取得部112は、推定された推定値(第1推定値及び第2推定値)を訓練済みの第1生成器411に与えることで、第3サンプル551毎に疑似サンプル555を生成する。疑似サンプル555は、本発明の「第3疑似サンプル」の一例である。そして、第2取得部112は、各第3サンプル551から疑似サンプル555を差分することで、各第2学習データセット52の第2サンプル521を生成する。
【0141】
訓練済みの第1生成器411は、上記機械学習により、第1特徴を含む疑似サンプルを生成する能力を獲得しているものの、第2特徴を含む疑似サンプルを生成する能力を獲得していない。そのため、基本的には、得られる疑似サンプル555では、第1特徴は再現されるのに対して、第2特徴は再現されない。よって、上記第3サンプル551から疑似サンプル555を差分する処理により、第2サンプル521として利用可能な、第1特徴を含まず、かつ第2特徴を含むサンプルを適切に生成することができる。
【0142】
<データ生成装置>
図8は、本実施形態に係るデータ生成装置2のソフトウェア構成の一例を模式的に例示する。データ生成装置2の制御部21は、記憶部22に記憶されたデータ生成プログラム82をRAMに展開する。そして、制御部21は、RAMに展開されたデータ生成プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、
図8に示されるとおり、本実施形態に係るデータ生成装置2は、受付部211、第1生成部212、第2生成部213、及びデータ合成部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1と同様に、データ生成装置2の各ソフトウェアモジュールも、制御部11(CPU)により実現される。
【0143】
受付部211は、第1入力値221及び第2入力値223の指定を受け付ける。第1入力値221は、第1特徴の種別を示す第1ラベル512に対応し、第2入力値223は、第2特徴の種別を示す第2ラベル522に対応する。
【0144】
第1生成部212は、第1学習結果データ121を保持することで、訓練済みの第1生成器411を備えている。第1生成部212は、所定の確率分布(例えば、ガウス分布等)からノイズ220(潜在変数)を抽出する。第1生成部212は、抽出されたノイズ220及び第1入力値221を訓練済みの第1生成器411に与えることで、第1特徴を含む第1疑似サンプル61を生成する。
【0145】
第2生成部213は、第2学習結果データ122を保持することで、訓練済みの第2生成器421を備えている。第2生成部213は、所定の確率分布(例えば、ガウス分布等)からノイズ222(潜在変数)を抽出する。第2生成部213は、抽出されたノイズ222及び第2入力値223を訓練済みの第2生成器421に与えることで、第2特徴を含む第2疑似サンプル62を生成する。
【0146】
データ合成部214は、生成された第1疑似サンプル61及び生成された第2疑似サンプル62を合成することで、所定種類のデータの新たなサンプル65を生成する。第1疑似サンプル61及び第2疑似サンプル62を合成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、データ合成部214は、第3学習結果データ123を保持することで、第2特徴を反映する程度に応じて第2特徴の属性値を生成するための訓練済みの第3生成器431を備えている。そのため、第2特徴を反映する程度を調整しながら、第1疑似サンプル61及び第2疑似サンプル62を合成することができる。
【0147】
具体的に、受付部211は、第2特徴を反映する程度を示す反映レベル532に対応する第3入力値225の指定を受け付ける。第3入力値225は、第2成分の検出の限界に応じて与えられてもよい。データ合成部214は、所定の確率分布(例えば、ガウス分布等)からノイズ224を抽出する。データ合成部214は、抽出されたノイズ224、第2入力値223及び第3入力値225を訓練済みの第3生成器431に与えることで、第2特徴の属性の疑似値63を生成する。なお、上記第3学習モデル43の機械学習において、第1ラベル512が更に使用されている場合、第3生成器431は、第1ラベル512に対応する入力値を更に入力可能に構成されている。この場合には、データ合成部214は、抽出されたノイズ224、第1入力値221、第2入力値223及び第3入力値225を訓練済みの第3生成器431に与えることで、第2特徴の属性の疑似値63を生成する。
【0148】
そして、データ合成部214は、第2疑似サンプル62に含まれる第2特徴の属性の値が生成された疑似値63に適合するように第2疑似サンプル62を変換すると共に、第1疑似サンプル61に第2疑似サンプル62を合成する。変換及び合成それぞれの具体的な処理内容は、データの種類に応じて適宜決定されてよい。これにより、本実施形態に係るデータ合成部214は、所定種類のデータの新たなサンプル65を生成する。
【0149】
<推定装置>
図9は、本実施形態に係る推定装置3のソフトウェア構成の一例を模式的に例示する。推定装置3の制御部31は、記憶部32に記憶された推定プログラム83をRAMに展開する。そして、制御部31は、RAMに展開された推定プログラム83に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、
図9に示されるとおり、本実施形態に係る推定装置3は、取得部311、推定部312、出力部313、及び設定部314をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1等と同様に、推定装置3の各ソフトウェアモジュールも、制御部11(CPU)により実現される。
【0150】
取得部311は、第2特徴についての所定の推定処理を実行する対象となる対象サンプル325を取得する。推定部312は、取得された対象サンプル325に対して所定の推定処理を実行する。本実施形態では、推定部312は、第1・第4学習結果データ(121、124)を保持することで、訓練済みの第1生成器411及び推定器44を備えている。推定部312は、訓練済みの第1生成器411及び推定器44を利用して、対象サンプル325に対して第2成分を検出する(換言すると、第2特徴が存在するか否かを判定する)処理を実行する。
【0151】
具体的に、推定部312は、訓練済みの推定器44に対象サンプル325を与えることで、対象サンプル325に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。得られる推定値(第1推定値及び第2推定値)は、対象サンプル325に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力(ノイズ及び入力値)に対応する。推定部312は、推定された各推定値を訓練済みの第1生成器411に与えることで、疑似サンプル326を生成する。そして、推定部312は、対象サンプル325から疑似サンプル326を差分することで、差分サンプル327を生成する。推定部312は、差分サンプル327を利用して、第2成分を検出する。
【0152】
上記のとおり、訓練済みの第1生成器411は、第1特徴を含む疑似サンプルを生成する能力を獲得しているものの、第2特徴を含む疑似サンプルを生成する能力を獲得していない。そのため、対象サンプル325に第1特徴及び第2特徴の両方が表れている場合でも、基本的には、得られる疑似サンプル326では、第1特徴は再現されるのに対して、第2特徴は再現されない。よって、対象サンプル325に第2成分が含まれている(すなわち、第2特徴が表れている)場合には、差分サンプル327にも第2成分が含まれる。一方、対象サンプル325に第2成分が含まれていない(すなわち、第2特徴が表れていない)場合には、差分サンプル327にも第2成分が含まれない。したがって、推定部312は、差分サンプル327に第2成分が含まれている程度に基づいて、第2成分を検出することができる。
【0153】
出力部313は、推定部312による推定の結果(本実施形態では、上記第2成分の検出結果)に関する情報を出力する。設定部314は、データ群320に含まれるサンプル321に基づいて、上記推定処理におけるパラメータの値を設定する。第1特徴及び第2特徴の表れるサンプルが、データ群320のサンプル321として利用可能である。データ群320に含まれるサンプル321の少なくとも一部は、上記データ生成装置2により生成されたサンプル65であってよい。
【0154】
<その他>
学習装置1、データ生成装置2及び推定装置3の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1、データ生成装置2及び推定装置3の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1、データ生成装置2及び推定装置3それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0155】
§3 動作例
[学習装置]
(A)第1学習モデルの機械学習
図10Aは、本実施形態に係る学習装置1による第1学習モデル41の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0156】
(ステップS101)
ステップS101では、制御部11は、第1取得部111として動作し、複数の第1学習データセット51を取得する。各第1学習データセット51は、第1特徴を含む第1サンプル511及び第1特徴の種別を示す第1ラベル512の組み合わせにより構成される。
【0157】
各第1学習データセット51を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、実空間又は仮想空間において、第1特徴の表れるサンプルを取得する。サンプルの取得方法は、第1特徴及びデータの種類に応じて適宜決定されてよい。一例として、所定種類のデータがセンシングデータである場合、第2特徴が表れず、かつ第1特徴が表れる状況でセンサにより対象を観測することで、第2特徴が表れず、かつ第1特徴の表れるサンプルを取得することができる。上記
図2Aの例では、欠陥のない製品P1をカメラにより撮影することで、製品P1を含む背景P11の写るサンプルを取得することができる。上記
図2Bの例では、異常のない機械の動作音をマイクロフォンにより録音することで、環境音P21を含むサンプルを取得することができる。或いは、そのような環境を仮想空間上でシミュレートしたり、データ加工したりすることにより、第1特徴の現れるサンプルを取得することができる。次に、取得されたサンプルに表れる第1特徴の種別を識別し、識別した結果を示す情報をラベルとしてサンプルに関連付ける。第1特徴の種別の識別は、ユーザ等のオペレータにより行われてもよい。或いは、第1特徴の種別の識別には、識別器が用いられてよい。識別器は、画像解析、音声解析等の公知の情報処理により第1特徴の種別を識別するように構成されてもよいし、又は対象のサンプルから第1特徴の種別を識別するように訓練された機械学習モデルにより構成されてもよい。そして、第1特徴の種別を識別した結果を示す情報をラベルとしてサンプルに関連付ける。これにより、各第1学習データセット51を生成することができる。
【0158】
各第1学習データセット51は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各第1学習データセット51の生成は、学習装置1により行われてもよいし、学習装置1以外の他のコンピュータにより行われてもよい。各第1学習データセット51を学習装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の第1学習データセット51を取得する。一方、各第1学習データセット51を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第1学習データセット51を取得する。一部の第1学習データセット51が学習装置1により生成され、その他の第1学習データセット51が1又は複数の他のコンピュータにより生成されてもよい。
【0159】
取得する第1学習データセット51の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第1学習データセット51を取得すると、制御部11は、次のステップS102に処理を進める。
【0160】
(ステップS102)
ステップS102では、制御部11は、第1訓練部115として動作し、取得された複数の第1学習データセット51を使用して、第1生成器411を含む第1学習モデル41の機械学習を実施する。第1学習モデル41の機械学習では、制御部11は、各第1学習データセット51について、第1ラベル512から第1サンプル511に適合する疑似サンプルを生成する能力を獲得するように第1生成器411を訓練する。このように訓練可能であれば、第1学習モデル41の構成及び機械学習の方法はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第1学習モデル41は、第1識別器412を更に含んでいるため、第1学習モデル41の機械学習は、以下の方法で実施することができる。
【0161】
図10Bは、本実施形態に係る第1学習モデル41における、ステップS102の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS1021~ステップS1023の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0162】
なお、機械学習の処理対象となる第1生成器411及び第1識別器412を構成する機械学習モデルは適宜用意されてよい。用意する第1生成器411及び第1識別器412それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、第1生成器411及び第1識別器412それぞれを用意してもよい。
【0163】
(ステップS1021)
ステップS1021では、制御部11は、第1学習データセット51及び第1生成器411により生成された疑似サンプル515を使用して、入力サンプルの由来を識別するように第1識別器412を訓練する。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS1022等の他の機械学習の処理についても同様である。
【0164】
一例として、まず、制御部11は、各第1学習データセット51について、所定の確率分布から抽出されたノイズ510及び第1ラベル512を第1生成器411に与えて、第1生成器411の演算処理を実行する。すなわち、制御部11は、ノイズ510及び第1ラベル512を第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、各第1学習データセット51について、ノイズ510及び第1ラベル512より生成した疑似サンプル515に対応する出力値を出力層4113から取得する。
【0165】
次に、制御部11は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは疑似サンプル515であるため、第1識別器412は「偽」と識別するのが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
【0166】
また、制御部11は、各第1学習データセット51(第1サンプル511及び第1ラベル512)を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、入力された入力サンプルは第1サンプル511であるため、第1識別器412は「真」と識別するのが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。
【0167】
各誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層4123から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0168】
制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、第1識別器412の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第1識別器412の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
【0169】
制御部11は、第1生成器411の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第1識別器412の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による第1識別器412の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、入力された入力サンプルが、複数の第1学習データセット51のいずれかから得られた第1サンプル511か第1生成器411により生成された疑似サンプル515かを識別するように訓練された第1識別器412を構築することができる。この第1識別器412の訓練処理が完了すると、制御部11は、次のステップS1022に処理を進める。
【0170】
(ステップS1022)
ステップS1022では、制御部11は、第1識別器412の識別性能を低下させるような疑似サンプル515を生成するように第1生成器411を訓練する。換言すると、制御部11は、第1識別器412が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似サンプル515を生成するように第1生成器411を訓練する。
【0171】
一例として、まず、制御部11は、上記ステップS1021と同様に、各第1学習データセット51について、所定の確率分布から抽出されたノイズ510及び第1ラベル512を第1生成器411に与えることで、疑似サンプル515を生成する。上記ステップS1021で生成された疑似サンプル515を本ステップS1022でも利用する場合、制御部11は、本ステップS1022において、疑似サンプル515を生成する一連の処理を省略してよい。
【0172】
次に、制御部11は、生成された疑似サンプル515及び対応する第1ラベル512を第1識別器412の入力層4121に入力し、入力側から順に各層4121~4123に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力サンプルの由来を識別した結果に対応する出力値を第1識別器412の出力層4123から取得する。この場面では、第1識別器412が入力サンプルは「真」である(すなわち、学習データ由来である)と誤った識別をすることが正解である。制御部11は、各疑似サンプル515について、出力層4123から得られる出力値と当該正解との誤差を算出する。上記と同様に、当該誤差の算出には、損失関数が用いられてよい。
【0173】
制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第1識別器412を介して第1生成器411の各演算パラメータに逆伝播して、第1生成器411の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第1生成器411の各演算パラメータの値を更新する。上記と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0174】
制御部11は、第1識別器412の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第1生成器411の各演算パラメータの値を調節する。上記第1識別器412の訓練と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による第1生成器411の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、第1識別器412の識別性能を低下させるような疑似サンプル515を生成するように訓練された第1生成器411を構築することができる。この第1生成器411の訓練処理が完了すると、制御部11は、次のステップS1023に処理を進める。
【0175】
(ステップS1023)
ステップS1023では、制御部11は、ステップS1021及びステップS1022の処理を繰り返すか否かを判定する。処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS1021及びステップS1022の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS1021に処理を戻し、ステップS1021及びステップS1022の処理を再度実行する。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、第1学習モデル41の機械学習の処理を完了し、次のステップS103に処理を進める。
【0176】
以上により、制御部11は、第1識別器412の訓練ステップ及び第1生成器411の訓練ステップを交互に繰り返し実行する。これにより、第1識別器412及び第1生成器411の性能を交互に高めていくことができる。その結果、各第1学習データセット51について、第1ラベル512から第1サンプル511に適合する疑似サンプル(すなわち、入力値に対応する種別の第1特徴を含む疑似サンプル)を生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
【0177】
(ステップS103)
図10Aに戻り、ステップS103では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第1生成器411に関する情報を第1学習結果データ121として生成する。そして、制御部11は、生成された第1学習結果データ121を所定の記憶領域に保存する。
【0178】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに第1学習結果データ121を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに第1学習結果データ121を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介して学習装置1に接続された外付けの記憶装置であってもよい。
【0179】
これにより、第1学習結果データ121の保存が完了すると、制御部11は、第1学習モデル41の機械学習に関する一連の処理を終了する。
【0180】
なお、生成された第1学習結果データ121は、任意のタイミングでデータ生成装置2及び推定装置3に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、データ生成装置2及び推定装置3それぞれに第1学習結果データ121を転送してもよい。データ生成装置2及び推定装置3はそれぞれ、この転送を受信することで、第1学習結果データ121を取得してもよい。また、例えば、データ生成装置2及び推定装置3はそれぞれ、通信インタフェース(23、33)を利用して、学習装置1又はデータサーバにネットワークを介してアクセスすることで、第1学習結果データ121を取得してもよい。また、例えば、データ生成装置2及び推定装置3はそれぞれ、記憶媒体(92、93)を介して、第1学習結果データ121を取得してもよい。また、例えば、第1学習結果データ121は、データ生成装置2及び推定装置3それぞれに予め組み込まれてもよい。
【0181】
更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、第1学習結果データ121を更新又は新たに生成してもよい。この繰り返しの際には、複数の第1学習データセット51の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した第1学習結果データ121を任意の方法でデータ生成装置2及び推定装置3それぞれに提供することで、データ生成装置2及び推定装置3それぞれの保持する第1学習結果データ121を更新してもよい。
【0182】
(B)第2学習モデルの機械学習
図11Aは、本実施形態に係る学習装置1による第2学習モデル42の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0183】
(ステップS111)
ステップS111では、制御部11は、第2取得部112として動作し、複数の第2学習データセット52を取得する。各第2学習データセット52は、第1特徴とは異なる第2特徴を含む第2サンプル521及び第2特徴の種別を示す第2ラベル522の組み合わせにより構成される。
【0184】
各第2学習データセット52の生成方法及び取得方法はそれぞれ、上記第1学習データセット51と同様であってよい。ただし、上記
図2A及び
図2Bの例のように、単独で出現し難い特徴が第2特徴に選択されている場合には、第2特徴のみを含むサンプルを取得するのが困難である可能性がある。この場合、第1特徴及び第2特徴を含むサンプルを取得し、取得されたサンプルを適宜加工することで、第2特徴のみを含むサンプルを生成してもよい。本実施形態では、訓練済みの第1生成器411及び推定器44を利用することで、第2サンプル521を生成することができる。情報処理の詳細は後述する。
【0185】
取得する第2学習データセット52の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第2学習データセット52を取得すると、制御部11は、次のステップS112に処理を進める。
【0186】
(ステップS112)
ステップS112では、制御部11は、第2訓練部116として動作し、取得された複数の第2学習データセット52を使用して、第2生成器421を含む第2学習モデル42の機械学習を実施する。第2学習モデル42の機械学習では、制御部11は、各第2学習データセット52について、第2ラベル522から第2サンプル521に適合する疑似サンプルを生成する能力を獲得するように第2生成器421を訓練する。このように訓練可能であれば、第2学習モデル42の構成及び機械学習の方法はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第2学習モデル42は、第2識別器422を更に含んでいるため、第2学習モデル42の機械学習は、以下の方法で実施することができる。
【0187】
図11Bは、本実施形態に係る第2学習モデル42における、ステップS112の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS112の処理は、以下のステップS1121~ステップS1123の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。なお、上記第1学習モデル41と同様に、機械学習の処理対象となる第2生成器421及び第2識別器422を構成する機械学習モデルは適宜用意されてよい。
【0188】
(ステップS1121)
ステップS1121では、制御部11は、第2学習データセット52及び第2生成器421により生成された疑似サンプル525を使用して、入力サンプルの由来を識別するように第2識別器422を訓練する。
【0189】
学習データが置き換わる点を除き、ステップS1121の処理は、上記ステップS1021と同様であってよい。すなわち、制御部11は、各第2学習データセット52について、所定の確率分布から抽出されたノイズ520及び第2ラベル522を第2生成器421に与えることで、疑似サンプル525を生成する。制御部11は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。また、制御部11は、各第2学習データセット52(第2サンプル521及び第2ラベル522)を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、第2識別器422の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第2識別器422の各演算パラメータの値を更新する。制御部11は、第2生成器421の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2識別器422の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第2識別器422の各演算パラメータの値の調節を繰り返してもよい。
【0190】
これにより、制御部11は、入力された入力サンプルが、複数の第2学習データセット52のいずれかから得られた第2サンプル521か第2生成器421により生成された疑似サンプル525かを識別するように訓練された第2識別器422を構築することができる。この第2識別器422の訓練処理が完了すると、制御部11は、次のステップS1122に処理を進める。
【0191】
(ステップS1122)
ステップS1122では、制御部11は、第2識別器422の識別性能を低下させるような疑似サンプル525を生成するように第2生成器421を訓練する。換言すると、制御部11は、第2識別器422が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似サンプル525を生成するように第2生成器421を訓練する。
【0192】
学習データが置き換わる点を除き、ステップS1122の処理は、上記ステップS1022と同様であってよい。すなわち、制御部11は、生成された疑似サンプル525及び対応する第2ラベル522を第2識別器422に与えて、入力サンプルの由来を識別した結果に対応する出力値を取得し、取得される出力値と正解(学習データ由来であると識別する)との誤差を算出する。制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第2識別器422を介して第2生成器421の各演算パラメータに逆伝播して、第2生成器421の各演算パラメータの値の誤差を算出する。制御部11は、制御部11は、算出された各誤差に基づいて、第2生成器421の各演算パラメータの値を更新する。制御部11は、第2識別器422の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第2生成器421の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第2生成器421の各演算パラメータの値の調節を繰り返してもよい。
【0193】
これにより、制御部11は、第2識別器422の識別性能を低下させるような疑似サンプル525を生成するように訓練された第2生成器421を構築することができる。この第2生成器421の訓練処理が完了すると、制御部11は、次のステップS1123に処理を進める。
【0194】
(ステップS1123)
ステップS1123では、制御部11は、ステップS1121及びステップS1122の処理を繰り返すか否かを判定する。上記ステップS1023と同様に、処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。処理を繰り返すと判定した場合、制御部11は、ステップS1121に処理を戻し、ステップS1121及びステップS1122の処理を再度実行する。一方、処理を繰り返さないと判定した場合、制御部11は、第2学習モデル42の機械学習の処理を完了し、次のステップS113に処理を進める。
【0195】
以上により、制御部11は、第2識別器422の訓練ステップ及び第2生成器421の訓練ステップを交互に繰り返し実行する。これにより、第2識別器422及び第2生成器421の性能を交互に高めていくことができる。その結果、各第2学習データセット52について、第2ラベル522から第2サンプル521に適合する疑似サンプル(すなわち、入力値に対応する種別の第2特徴を含む疑似サンプル)を生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
【0196】
(ステップS113)
図11Aに戻り、ステップS113では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第2生成器421に関する情報を第2学習結果データ122として生成する。そして、制御部11は、生成された第2学習結果データ122を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0197】
これにより、第2学習結果データ122の保存が完了すると、制御部11は、第2学習モデル42の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121と同様に、生成された第2学習結果データ122は、任意のタイミングでデータ生成装置2に提供されてよい。また、上記ステップS111~ステップS113の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第2学習結果データ122が任意の方法でデータ生成装置2に提供されることで、データ生成装置2の保持する第2学習結果データ122が更新されてもよい。
【0198】
(C)第3学習モデル43の機械学習
図12Aは、本実施形態に係る学習装置1による第3学習モデル43の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0199】
(ステップS121)
ステップS121では、制御部11は、第3取得部113として動作し、複数の第3学習データセット53を取得する。各第3学習データセット53は、第2特徴の属性のサンプル値531、第2特徴を反映する程度を示す反映レベル532、及び第2ラベル522の組み合わせにより構成される。各第3学習データセット53には、第1ラベル512が更に含まれてもよい。
【0200】
各第3学習データセット53の生成方法及び取得方法はそれぞれ、上記第1学習データセット51等と同様であってよい。第2ラベル522は、第2学習データセット52と共通であってもよいし、第2学習データセット52とは別個に新たに生成されてもよい。第1ラベル512についても同様である。なお、第1特徴及び第2特徴を含むサンプルから第2特徴のみを含むサンプルを生成した場合、元のサンプルに含まれていた第1特徴の種別を示す情報が、対応する第2ラベル522と共に第3学習データセット53に第1ラベル512として含まれてもよい。
【0201】
サンプル値531及び反映レベル532は適宜与えられてよい。サンプル値531及び反映レベル532は、第2特徴を含むサンプルから特定されてもよいし、オペレータにより指定されてもよい。反映レベル532は、第2特徴の属性を評価する指標に従って、属性のサンプル値531から特定されてよい。指標は適宜与えられてよい。具体例として、上記
図2Aの例において、属性のサンプル値531が欠陥の大きさに対応して与えられる場合、指標は、欠陥の大きさに応じて反映レベル532を決定するように構成されてよい。或いは、反映レベル532は、第2特徴の表れる事象に関連して設定されてもよい。具体例として、上記
図2Aの例では、反映レベル532は、欠陥の深刻度、製品の品質レベル等の欠陥の程度に関連して設定されてもよい。また、上記
図2Bの例では、反映レベル532は、異常の深刻度、機械の正常度等の異常の程度に関連して設定されてもよい。また、反映レベル532は、離散値及び連続値のいずれにより構成されてもよい。ただし、第2特徴を反映する程度の表現を豊富にする観点から、反映レベル532は、連続値により構成されるのが好ましい。
【0202】
取得する第3学習データセット53の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第3学習データセット53を取得すると、制御部11は、次のステップS122に処理を進める。
【0203】
(ステップS122)
ステップS122では、制御部11は、第3訓練部117として動作し、取得された複数の第3学習データセット53を使用して、第3生成器431を含む第3学習モデル43の機械学習を実施する。第3学習モデル43の機械学習では、制御部11は、各第3学習データセット53について、反映レベル532及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値を生成する能力を獲得するように第3生成器431を訓練する。このように訓練可能であれば、第3学習モデル43の構成及び機械学習の方法はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、第3学習モデル43は、第3識別器432を更に含んでいるため、第3学習モデル43の機械学習は、以下の方法で実施することができる。
【0204】
図12Bは、本実施形態に係る第3学習モデル43における、ステップS122の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS122の処理は、以下のステップS1221~ステップS1223の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。なお、上記第1学習モデル41等と同様に、機械学習の処理対象となる第3生成器431及び第3識別器432を構成する機械学習モデルは適宜用意されてよい。
【0205】
(ステップS1221)
ステップS1221では、制御部11は、第3学習データセット53及び第3生成器431により生成された疑似値535を使用して、入力値の由来を識別するように第3識別器432を訓練する。
【0206】
学習データが置き換わる点を除き、ステップS1221の処理は、上記ステップS1021等と同様であってよい。すなわち、制御部11は、各第3学習データセット53について、所定の確率分布から抽出されたノイズ530、反映レベル532及び第2ラベル522を第3生成器431に与えることで、第2特徴の属性の疑似値535を生成する。制御部11は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。また、制御部11は、各第3学習データセット53(サンプル値531、反映レベル532、及び第2ラベル522)を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解との誤差を算出する。制御部11は、誤差逆伝播法により、算出された出力値の誤差の勾配を用いて、第3識別器432の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第3識別器432の各演算パラメータの値を更新する。制御部11は、第3生成器431の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第3識別器432の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第3識別器432の各演算パラメータの値の調節を繰り返してもよい。
【0207】
これにより、制御部11は、入力された入力値が、複数の第3学習データセット53のいずれかから得られたサンプル値531か第3生成器431により生成された疑似値535かを識別するように訓練された第3識別器432を構築することができる。この第3識別器432の訓練処理が完了すると、制御部11は、次のステップS1222に処理を進める。
【0208】
(ステップS1222)
ステップS1222では、制御部11は、第3識別器432の識別性能を低下させるような疑似値535を生成するように第3生成器431を訓練する。換言すると、制御部11は、第3識別器432が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似値535を生成するように第3生成器431を訓練する。
【0209】
学習データが置き換わる点を除き、ステップS1222の処理は、上記ステップS1022等と同様であってよい。すなわち、制御部11は、生成された疑似値535、対応する反映レベル532及び対応する第2ラベル522を第3識別器432に与えて、入力値の由来を識別した結果に対応する出力値を取得し、取得される出力値と正解(学習データ由来であると識別する)との誤差を算出する。制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、第3識別器432を介して第3生成器431の各演算パラメータに逆伝播して、第3生成器431の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、第3生成器431の各演算パラメータの値を更新する。制御部11は、第3識別器432の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、第3生成器431の各演算パラメータの値を調節する。上記ステップS1021等と同様に、所定の条件を満たすまで、制御部11は、上記一連の処理による第3生成器431の各演算パラメータの値の調節を繰り返してもよい。
【0210】
これにより、制御部11は、第3識別器432の識別性能を低下させるような疑似値535を生成するように訓練された第3生成器431を構築することができる。この第3生成器431の訓練処理が完了すると、制御部11は、次のステップS1223に処理を進める。
【0211】
(ステップS1223)
ステップS1223では、制御部11は、ステップS1221及びステップS1222の処理を繰り返すか否かを判定する。上記ステップS1023等と同様に、処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。処理を繰り返すと判定した場合、制御部11は、ステップS1221に処理を戻し、ステップS1221及びステップS1222の処理を再度実行する。一方、処理を繰り返さないと判定した場合、制御部11は、第3学習モデル43の機械学習の処理を完了し、次のステップS123に処理を進める。
【0212】
以上により、制御部11は、第3識別器432の訓練ステップ及び第3生成器431の訓練ステップを交互に繰り返し実行する。これにより、第3識別器432及び第3生成器431の性能を交互に高めていくことができる。その結果、各第3学習データセット53について、反映レベル532及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値(すなわち、入力値に対応する種別及び程度の第2特徴の属性の疑似値)を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
【0213】
なお、各第3学習データセット53が第1ラベル512を更に備えている場合、上記各訓練ステップにおいて、第3生成器431及び第3識別器432それぞれの入力に第1ラベル512が更に追加されてよい。これにより、制御部11は、各第3学習データセット53について、反映レベル532、第1ラベル512及び第2ラベル522からサンプル値531に適合する第2特徴の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
【0214】
(ステップS123)
図12Aに戻り、ステップS123では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの第3生成器431に関する情報を第3学習結果データ123として生成する。そして、制御部11は、生成された第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0215】
これにより、第3学習結果データ123の保存が完了すると、制御部11は、第3学習モデル43の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121等と同様に、生成された第3学習結果データ123は、任意のタイミングでデータ生成装置2に提供されてよい。また、上記ステップS121~ステップS123の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第3学習結果データ123が任意の方法でデータ生成装置2に提供されることで、データ生成装置2の保持する第3学習結果データ123が更新されてもよい。
【0216】
(D)推定器の機械学習
図13は、本実施形態に係る学習装置1による推定器44の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0217】
(ステップS131)
ステップS131では、制御部11は、第4取得部114として動作し、複数の第4学習データセット54を取得する。各第4学習データセット54は、訓練済みの第1生成器411に与える入力のサンプル、及び訓練済みの第1生成器411に当該サンプルを与えることで生成される疑似サンプル542の組み合わせにより構成される。本実施形態では、入力のサンプルは、ノイズ540及びサンプル値541により構成される。
【0218】
各第4学習データセット54は、訓練済みの第1生成器411を利用することで適宜生成されてよい。また、上記第1学習データセット51等と同様に、各第4学習データセット54の生成は、学習装置1により行われてもよいし、学習装置1以外の他のコンピュータにより行われてもよい。一部の第4学習データセット54が学習装置1により生成され、その他の第4学習データセット54が1又は複数の他のコンピュータにより生成されてもよい。
【0219】
取得する第4学習データセット54の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第4学習データセット54を取得すると、制御部11は、次のステップS132に処理を進める。
【0220】
(ステップS132)
ステップS132では、制御部11は、第4訓練部118として動作し、取得された複数の第4学習データセット54を使用して、推定器44の機械学習を実施する。当該機械学習では、制御部11は、各第4学習データセット54について、訓練済みの第1生成器411に与えた入力を疑似サンプル542から推定器44により推定することで得られる各推定値が、対応するノイズ540及びサンプル値541それぞれに適合するように推定器44を訓練する。
【0221】
一例として、まず、制御部11は、各第4学習データセット54について、推定器44の入力層441に疑似サンプル542を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、疑似サンプル542を生成する際に訓練済みの第1生成器411に与えた入力の第1推定値及び第2推定値それぞれに対応する出力値を出力層443から取得する。制御部11は、各推定値と対応するノイズ540及びサンプル値541それぞれとの誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、損失関数が用いられてよい。
【0222】
制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推定器44の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、推定器44の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0223】
制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、推定器44の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による推定器44の演算パラメータの値の調節を繰り返してもよい。
【0224】
これにより、制御部11は、各第4学習データセット54について、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力(ノイズ540及びサンプル値541)を推定する能力を獲得した訓練済みの推定器44を構築することができる。推定器44の機械学習が完了すると、制御部11は、次のステップS133に処理を進める。
【0225】
(ステップS133)
ステップS133では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの推定器44に関する情報を第4学習結果データ124として生成する。そして、制御部11は、生成された第4学習結果データ124を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0226】
これにより、第4学習結果データ124の保存が完了すると、制御部11は、推定器44の機械学習に関する一連の処理を終了する。なお、上記第1学習結果データ121と同様に、生成された第4学習結果データ124は、任意のタイミングで推定装置3に提供されてよい。また、上記ステップS131~ステップS133の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第4学習結果データ124が任意の方法で推定装置3に提供されることで、推定装置3の保持する第4学習結果データ124が更新されてもよい。
【0227】
(E)第2サンプルの生成
図14は、当該第2サンプル521の生成に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。以下のステップS141~ステップS144の処理は、上記ステップS111内で実行されてよい。
【0228】
(ステップS141)
ステップS141では、制御部11は、第1特徴及び第2特徴をそれぞれ含む複数の第3サンプル551を取得する。
【0229】
各第3サンプル551の生成方法及び取得方法は、上記第1学習データセット51の第1サンプル511の生成方法及び取得方法と同様であってよい。具体例として、上記
図2Aの例では、欠陥のある製品P1をカメラにより撮影することで、第3サンプル551を生成することができる。また、上記
図2Bの例では、異常のある機械の動作音をマイクロフォンにより録音することで、第3サンプル551を生成することができる。
【0230】
取得する第3サンプル551の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第3サンプル551を取得すると、制御部11は、次のステップS142に処理を進める。なお、制御部11は、1件の第3サンプル551を取得する度に、以下のステップS142の処理を実行してもよいし、或いは、複数の第3サンプル551を取得した後に、各第3サンプル551について以下のステップS142の処理を実行してもよい。
【0231】
(ステップS142)
ステップS142では、制御部11は、訓練済みの推定器44に各第3サンプル551を与えることで、各第3サンプル551に対応する疑似サンプルを生成するために訓練済みの第1生成器411に与える入力の各推定値を推定する。すなわち、制御部11は、訓練済みの推定器44の入力層441に各第3サンプル551を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各第3サンプル551に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力の各推定値に対応する出力値を出力層443から取得する。各推定値を取得すると、制御部11は、次のステップS143に処理を進める。
【0232】
(ステップS143)
ステップS143では、制御部11は、得られた各推定値を訓練済みの第1生成器411に与えることで、第3サンプル551毎に疑似サンプル555を生成する。すなわち、制御部11は、訓練済みの第1生成器411の入力層4111に各推定値を入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各推定値から生成した疑似サンプル555に対応する出力値を出力層4113より取得する。疑似サンプル555を取得すると、制御部11は、次のステップS144に処理を進める。
【0233】
(ステップS144)
ステップS144では、制御部11は、得られた疑似サンプル555と対応する第3サンプル551との差分を算出する。上記のとおり、この差分処理により、第2サンプル521として利用可能な、第1特徴を含まず、かつ第2特徴を含むサンプルを適切に生成することができる。これにより、第2サンプル521の生成が完了すると、制御部11は、第2サンプル521の生成に関する一連の処理を終了する。この一連の処理によれば、第3サンプル551から第2サンプル521を自動的に生成可能であるため、第2サンプル521を低コストで取得することができる。
【0234】
なお、上記第1~第3学習モデル41~43の機械学習に関する処理手順、及び第2サンプル521の生成に関する処理手順は、本発明の「学習方法」の一例である。学習方法は、上記全ての処理を必ずしも含まなければならない訳ではなく、上記処理手順の各処理を適宜組み合わせることにより構成されてよい。学習方法は、各訓練済みの機械学習モデルを生成するためのモデル生成方法又は単に生成方法と称されてよい。
【0235】
[データ生成装置]
図15は、本実施形態に係るデータ生成装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「データ生成方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0236】
(ステップS201)
ステップS201では、制御部21は、受付部211として動作し、第1入力値221、第2入力値223、及び第3入力値225の指定を受け付ける。サンプルの生成パートにおける第1入力値221、第2入力値223、及び第3入力値225は、学習パートにおける第1ラベル512、第2ラベル522、及び反映レベル532に対応する。すなわち、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルに含まれる第1特徴の種別、第2特徴の種別、及び第2特徴を反映する程度に応じて指定される。
【0237】
図16は、
図2Aに例示される画像データの新たなサンプル65を生成する場面において、各入力値(221、223、225)の指定を受け付けるための受付画面の一例を模式的に例示する。当該受付画面は、各入力値(221、223、225)の入力を受け付けるためのユーザインタフェースの一例である。ディスプレイ等の表示装置が出力装置26に含まれる場合に、ステップS201において、制御部21は、当該受付画面を出力装置26に出力してもよい。これにより、制御部21は、オペレータによる入力装置25を介した各入力値(221、223、225)の指定を受け付けてもよい。
【0238】
図16に例示される受付画面は、第1入力欄261、第2入力欄262、スライドバー263、表示領域264、生成ボタン265、及び保存ボタン266を備えている。第1入力欄261は、第1入力値221を指定するために利用される。第1入力欄261では第1特徴の種別が指定され、これに応じて、制御部21は、第1入力値221を取得してもよい。同様に、第2入力欄262は、第2入力値223を指定するために利用される。第2入力欄262では第2特徴の種別が指定され、これに応じて、制御部21は、第2入力値223を取得してもよい。
【0239】
スライドバー263は、第3入力値225を指定するために利用される。第1特徴及び第2特徴の種別を指定する第1入力値221及び第2入力値223に比べて、第2特徴を反映する程度を指定する第3入力値225は頻繁に変更され得る。そのため、第3入力値225の指定にスライドバー形式のユーザインタフェースを利用することで、新たなサンプル65を生成する際に入力値を指定する手間を低減することができる。なお、
図16の例では、スライドバー263は、第2特徴を反映する程度を0から10までの範囲で設定可能に構成されているが、第2特徴を反映する程度の数値範囲は、このような例に限定されなくてもよく、任意に設定されてよい。
【0240】
表示領域264には、指定された各入力値(221、223、225)を使用することで、後述する処理により生成された新たなサンプル65が表示される。表示領域264の形式は、生成するサンプル65のデータの種類に応じて適宜決定されてよい。生成ボタン265は、各入力欄(261、262)及びスライドバー263により指定された各入力値(221、223、225)を使用して、新たなサンプル65を生成するための処理の実行を開始するのに利用される。制御部21は、生成ボタン265の操作に応じて、次のステップS202に処理を進めてもよい。保存ボタン266は、生成されたサンプル65を保存するために利用される。
【0241】
なお、各入力値(221、223、225)の入力を受け付けるためのユーザインタフェースは、このような例に限られなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、所定種類のデータが音データである場合、生成された新たなサンプル65を再生するための再生ボタンが更に設けられてもよい。また、その他の一例として、各入力値(221、223、225)は、単純な数値入力により指定されてもよい。各入力値(221、223、225)の指定を受け付けると、制御部21は、次のステップS202に処理を進める。
【0242】
(ステップS202)
ステップS202では、制御部21は、第1生成部212として動作し、第1学習結果データ121を参照して、訓練済みの第1生成器411の設定を行う。制御部21は、所定の確率分布からノイズ220を抽出する。次に、制御部21は、抽出されたノイズ220及び取得された第1入力値221を訓練済みの第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ220及び第1入力値221から生成された第1疑似サンプル61であって、第1入力値221により指定される種別の第1特徴を含む第1疑似サンプル61に対応する出力値を出力層4113より取得する。第1疑似サンプル61を取得すると、制御部21は、次のステップS203に処理を進める。
【0243】
(ステップS203)
ステップS203では、制御部21は、第2生成部213として動作し、第2学習結果データ122を参照して、訓練済みの第2生成器421の設定を行う。制御部21は、所定の確率分布からノイズ222を抽出する。次に、制御部21は、抽出されたノイズ222及び取得された第2入力値223を訓練済みの第2生成器421の入力層4211に入力し、入力側から順に各層4211~4213に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ222及び第2入力値223から生成された第2疑似サンプル62であって、第2入力値223により指定される種別の第2特徴を含む第2疑似サンプル62に対応する出力値を出力層4213より取得する。第2疑似サンプル62を取得すると、制御部21は、次のステップS204に処理を進める。
【0244】
(ステップS204)
ステップS204では、制御部21は、データ合成部214として動作し、第3学習結果データ123を参照して、訓練済みの第3生成器431の設定を行う。制御部21は、所定の確率分布からノイズ224を抽出する。次に、制御部21は、抽出されたノイズ224、取得された第2入力値223、及び取得された第3入力値225を訓練済みの第3生成器431の入力層4311に入力し、入力側から順に各層4311~4313に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、ノイズ224、第2入力値223及び第3入力値225から生成された疑似値63であって、第2入力値223及び第3入力値225により指定される種別及び程度の第2特徴の属性の疑似値63に対応する出力値を出力層4313より取得する。
【0245】
第1ラベル512を更に用いて第3生成器431の機械学習を実施した場合には、制御部21は、訓練済みの第3生成器431の入力層4311に取得された第1入力値221を更に入力し、訓練済みの第3生成器431の上記演算処理を実行する。これにより、制御部21は、第1入力値221により指定される第1特徴において、第2入力値223及び第3入力値225により指定される種別及び程度で第2特徴を反映させるための疑似値63を取得することができる。
【0246】
疑似値63を取得すると、制御部21は、次のステップS205に処理を進める。なお、ステップS202~ステップS204の処理順序は、このような例に限られなくてもよく、任意にであってよい。各ノイズ(220、222、224)は、共通及び別個のいずれで取得されてよい。また、ステップS202の後に、ステップS204が実行される場合、ステップS202及びステップS204の間で、学習装置1は、上記推定器44の機械学習が実行されてよい。この場合、ステップS202において生成された第1疑似サンプル61が、疑似サンプル542としても利用されてよい。或いは、上記ステップS131が、ステップS201を含んでいることで、生成された疑似サンプル542が、ステップS202における第1疑似サンプル61としても利用されてもよい。
【0247】
(ステップS205)
ステップS205では、制御部21は、データ合成部214として動作し、第2疑似サンプル62に含まれる第2特徴の属性の値が生成された疑似値63に適合するように第2疑似サンプル62を変換すると共に、第1疑似サンプル61に第2疑似サンプル62を合成する。変換及び合成それぞれの具体的な処理内容は、データの種類に応じて適宜決定されてよい。例えば、所定種類のデータが画像データである場合、変換は、拡大縮小、平行移動、回転又はこれらの組み合わせにより構成されてよい。また、例えば、所定種類のデータが信号データである場合、変換は、振幅の増減、周波数の変更、出現頻度の増減又はこれらの組み合わせによって構成されてよい。合成は、例えば、重畳的に加算することにより構成されてよい。
【0248】
その他、合成には、第1特徴を含むサンプル、第2特徴を含むサンプル、及び反映する程度に応じた第2特徴の属性値の入力に対して、入力された属性値に適合するように両サンプルを合成した結果を出力する能力を獲得した訓練済みの機械学習モデルが用いられてよい。この訓練済みの機械学習モデルは、訓練データ(入力データ)及び正解データ(教師信号)の組み合わせによりそれぞれ構成される複数の学習データセットを使用した機械学習により構築されてよい。訓練データは、例えば、第1特徴を含む第1訓練用サンプル、第2特徴を含む第2訓練用サンプル、及び反映する程度に応じた第2特徴の属性のサンプル値により構成される。正解データは、例えば、対応する合成結果のサンプルにより構成される。
【0249】
この合成により、制御部21は、所定種類のデータの新たなサンプル65を生成する。新たなサンプル65の生成が完了すると、制御部21は、本動作例に係る処理手順を終了する。生成処理が完了した後、制御部21は、生成された新たなサンプル65を上記受付画面の表示領域264において表示してもよい。
【0250】
スライドバー263の操作による第3入力値225の変更に応じて、制御部21は、上記一連の処理を実行して、新たなサンプル65を生成し、生成された新たなサンプル65を表示領域264に表示してもよい。これにより、オペレータは、スライドバー263の操作による第2特徴を反映する程度の調節に対応する、生成されるサンプル65内で第2特徴が表れる具合の変動を確認することができる。
【0251】
また、制御部21は、保存ボタン266の操作に応じて、生成された新たなサンプル65を所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。生成された新たなサンプル65は、任意のタイミングで推定装置3に提供されてよい。
【0252】
更に、制御部21は、同一の各入力値(221、223、225)に対して複数の各ノイズ(220、222、224)を抽出してもよい。これにより、制御部21は、同一の各入力値(221、223、225)を使用して、複数の新たなサンプル65を生成してもよい。生成された複数の新たなサンプル65を表示領域264に表示して、これらのうちから保存するサンプル65の選択を受け付けてもよい。この場合、制御部21は、保存ボタン266の操作に応じて、生成された複数のサンプル65のうち選択された1又は複数のサンプル65を所定の記憶領域に保存してもよい。
【0253】
[推定装置]
図17Aは、本実施形態に係る推定装置3の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0254】
(ステップS301)
ステップS301では、制御部31は、取得部311として動作し、対象サンプル325を取得する。対象サンプル325を取得する方法は、データの種類に応じて適宜決定されてよい。対象サンプル325がセンシングデータである場合、第2特徴に関する推定の対象をセンサにより観測することで、対象サンプル325を取得することができる。上記
図2Aの例では、検査対象の製品をカメラにより撮影することで、対象サンプル325を取得することができる。上記
図2Bの例では、検査対象の機械の動作音をマイクロフォンにより録音することで、対象サンプル325を取得することができる。制御部31は、センサから直接的又は間接的に対象サンプル325を取得してよい。対象サンプル325を取得すると、制御部31は、次のステップS302に処理を進める。
【0255】
(ステップS302)
ステップS302では、制御部31は、推定部312として動作し、データ群320を利用して対象サンプル325を分析することで、対象サンプル325に対して第2特徴に関する推定処理を実行する。本実施形態では、制御部31は、当該推定処理として、訓練済みの第1生成器411及び推定器44を利用して、対象サンプル325に対して第2成分を検出する処理を実行する。
【0256】
具体的には、制御部31は、第1・第4学習結果データ(121、124)を参照して、訓練済みの第1生成器411及び推定器44の設定を行う。制御部31は、訓練済みの推定器44の入力層441に対象サンプル325を入力し、入力側から順に各層441~443に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、対象サンプル325に対応する疑似サンプルを訓練済みの第1生成器411により生成するならば、訓練済みの第1生成器411に与えただろう入力の各推定値に対応する出力値を出力層443から取得する。次に、制御部31は、取得された各推定値を訓練済みの第1生成器411の入力層4111に入力し、入力側から順に各層4111~4113に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、各推定値から生成された疑似サンプル326に対応する出力値を出力層4113より取得する。
【0257】
そして、制御部31は、対象サンプル325から疑似サンプル326を差分することで、差分サンプル327を生成する。なお、差分処理を実行する前に、対象サンプル325及び疑似サンプル326には前処理が適用されてよい。例えば、対象サンプル325及び疑似サンプル326が時系列データであり、周波数領域で第2成分を検出する場合には、フーリエ変換等の時系列データを周波数データに変換する前処理が対象サンプル325及び疑似サンプル326に適用されてよい。制御部31は、生成された差分サンプル327を利用して、第2成分を検出する。
【0258】
ここで、
図17Bを更に用いて、差分サンプル327を利用して、第2成分を検出する処理の一例を説明する。
図17Bは、上記
図2Aに例示される場面において、第2成分(すなわち、欠陥)を検出する処理過程の一例を模式的に例示する。制御部31は、上記処理により、訓練済みの第1生成器411及び推定器44を利用して、対象サンプルI10に対応する疑似サンプルI11を生成する。対象サンプルI10は、上記対象サンプル325の一例であり、疑似サンプルI11は、上記疑似サンプル326の一例である。
【0259】
制御部31は、対象サンプルI10及び疑似サンプルI11の差分を算出することで、差分サンプルI12を生成する。差分サンプルI12は、上記差分サンプル327の一例である。対象サンプルI10及び疑似サンプルI11の間で差異が生じているほど、差分サンプルI12における値が大きくなる。一方、対象サンプルI10及び疑似サンプルI11の間で差異がないほど、差分サンプルI12における値が小さくなる。差異の表現方法は、データの種類に応じて適宜選択されてよい。一例として、
図17Bでは、所定種類のデータは画像データであり、差異の生じている画素ほど白色になっており、そうではない画素ほど黒色になっている。
【0260】
上記のとおり、基本的には、疑似サンプルI11では、第1特徴が再現されるのに対して、第2特徴は再現されない。そのため、差分サンプルI12において、対象サンプルI10に第2成分が含まれる(第2特徴が表れる)部分に大きな差異が生じ得る。ただし、差分サンプルI12において差異の生じる原因は、対象サンプルI10に第2成分が含まれることに限られない。他の原因として、例えば、疑似サンプルI11を生成する過程でノイズが発生すること等を挙げることができる。しかしながら、このノイズに起因する差異は、第2成分が含まれていることに起因する差異よりも程度が低い。そのため、差分サンプルI12の値に基づいて、これらの差異を区別することができる。そこで、制御部31は、閾値T1を利用して、ノイズに起因する差異を削除する。
図17Bの例では、制御部31は、閾値T1により、差分サンプルI12の各画素を二値化する。これにより、制御部31は、ノイズの除外されたサンプルI13を得ることができる。
【0261】
サンプルI13には、主に、第2成分に起因する差異、及び更にその他の理由(例えば、第1生成器411及び推定器44の少なくともいずれかの学習不足)に起因する差異が現れ得る。これらのうち第2成分に起因する差異は、例えば、大きさ、(時間的又は領域的)位置、明度、振幅、頻度(時間的又は領域的)等の第2特徴の属性に対応する状態で現れる。上記
図2Aの例では、欠陥は、面積、幅、高さ、周囲の長さ、縦横比、円形度等の形状に関する属性を有し得る。つまり、対象サンプルI10に写る製品に欠陥が存在する場合、サンプルI13の対応する位置に、白色の画素の集まった領域であって、形状と同等の形状に関する属性を有する領域が現れる。そこで、第2特徴の属性に対して閾値T2を設定することで、第2成分を検出することができる。
【0262】
処理の一例として、
図17Bの例では、制御部31は、サンプルI13内の連続する白色画素の領域を一つの領域と認定し、白色画素の各領域が閾値T2を満たしているか否かを判定する。そして、制御部31は、閾値T2を満たしている領域をそのままにし、閾値T2を満たしていない領域を削除する。これにより、制御部31は、第2特徴の属性を満たさない値がサンプルI13から除外された検出サンプルI14を得ることができる。
【0263】
制御部31は、得られた検出サンプルI14に基づいて、第2成分を検出する。
図17Bの例では、検出サンプルI14において白色画素の領域が存在する場合、制御部31は、対象サンプルI10に写る製品に欠陥が存在すると判定する。一方、検出サンプルI14において白色画素の領域が存在しない場合、制御部31は、対象サンプルI10に写る製品に欠陥が存在しないと判定する。これにより、第2成分の検出処理が完了すると、制御部31は、次のステップS303に処理を進める。
【0264】
なお、上記各閾値(T1、T2)が、推定処理におけるパラメータの一例である。推定処理におけるパラメータは、推定の内容、データの種類等に応じて適宜設定されてよい。所定種類のデータが画像データであり、推定処理として画像に写る対象物を検出する処理を実行する場合には、上記欠陥検出の場面に限られず、上記各閾値(T1、T2)が推定処理のパラメータの一例として用いられてよい。その他の一例として、所定種類のデータが信号データであり、推定処理として信号に含まれる対象信号を検出する処理を実行する場合には、スペクトル強度の差分が推定処理のパラメータとして用いられてよい。
【0265】
制御部31は、任意の時点で(例えば、ステップS301の処理を開始する前に)、設定部314として動作し、データ群320に含まれるサンプル321に基づいて、パラメータの値を設定してもよい。すなわち、本実施形態では、データ群320を利用して対象サンプル325を分析することは、データ群320に含まれるサンプル321に基づいて、第2成分を検出可能にパラメータの値を設定することに相当する。上記
図17Bの例では、制御部31は、サンプル321に写る欠陥を検出可能なように各閾値(T1、T2)を適宜設定してもよい。
【0266】
ここで、
図18A及び
図18Bを更に用いて、推定処理のパラメータを設定する方法の一例について説明する。
図18A及び
図18Bはそれぞれ、上記
図2Aに例示される場面において、データ群320に含まれるサンプル321を表示するための出力画面の一例を模式的に例示する。ディスプレイ等の表示装置が出力装置36に含まれる場合、制御部31は、オペレータの操作に応じて、各出力画面を出力装置36に出力してもよい。
【0267】
図18Aの出力画面では、データ群320に含まれるサンプル321が、各特徴の種別毎にテーブル形式で表示されている。オペレータは、この出力画面により、サンプル321の得られている及び得られていない第1特徴及び第2特徴の種別の組み合わせ(上記
図2Aの例では、欠陥及び製品の種別の組み合わせ)を確認することができる。
【0268】
上記データ生成装置2では、サンプル321の得られていない第1特徴及び第2特徴の種別に対応する第1入力値221及び第2入力値223が指定されることで、当該組み合わせの表れる新たなサンプル65が生成されてよい。或いは、
図18Aの出力画面等において、制御部31は、サンプル321の得られていない第1特徴及び第2特徴の種別の組み合わせの指定を受け付けてもよい。そして、制御部31は、上記データ生成装置2に対して、指定された組み合わせを通知することで、当該組み合わせの表れる新たなサンプル65の生成を依頼してもよい。これにより、当該組み合わせの表れる新たなサンプル65が生成されてよい。生成された新たなサンプル65は、任意の方法で推定装置3に提供され、データ群320に追加されてよい。この新たなサンプル65の追加により、データ群320に含まれるサンプル321の多様化を図ることができる。
【0269】
一方、
図18Bの出力画面では、対象の種別の第1特徴及び第2特徴を含む各サンプル321が、第2特徴の属性値に応じて並んで表示されている。程度の小さい第2成分を検出可能にパラメータの値を設定すると、第2成分を真には含んでいない対象サンプル325に対して第2成分を誤って検出してしまう可能性がある。具体例として、上記
図17Bの例では、欠陥のサイズが大きいほど当該欠陥の検出が容易であり、欠陥のサイズが小さいほど当該欠陥の検出が困難である。サイズの小さい欠陥を検出可能なように各閾値(T1、T2)を設定すると、他の要因で現れた差異を欠陥と誤る可能性がある。そのため、この誤検出の発生確率を低減することを一つの理由として、この出力画面において、制御部31は、第2成分の検出の限界事例に対応するサンプル321の指定を受け付けてもよい。
【0270】
そして、制御部31は、限界事例に指定されたサンプル321に含まれる第2成分を検出可能なようにパラメータの値を設定してもよい。上記
図17Bの例では、制御部31は、限界事例に指定されたサンプル321に写る欠陥を検出可能なように各閾値(T1、T2)を設定してもよい。パラメータの値を設定する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、パラメータの値について、複数の候補が適宜用意されてよい。制御部31は、各候補を利用して上記検出処理を実行することで、限界事例に指定されたサンプル321に含まれる第2成分の検出率の最も高い候補を特定し、特定された候補をパラメータの値として選択してもよい。
【0271】
上記データ生成装置2では、第3入力値225が、第2成分の検出の限界に応じて与えられることで、限界事例に設定可能な新たなサンプル65が生成されてもよい。或いは、
図18Bの出力画面等において、制御部31は、限界事例に所望する第2特徴の程度の指定を適宜受け付けてもよい。そして、制御部31は、上記データ生成装置2に対して、第1特徴の種別、第2特徴の種別、及び指定された第2特徴の程度を通知することで、新たなサンプル65の生成を依頼してもよい。これにより、限界事例に設定可能な新たなサンプル65が生成されてよい。生成された新たなサンプル65は、任意の方法で推定装置3に提供され、データ群320に追加されてよい。この新たなサンプル65の追加により、データ群320に含まれるサンプル321に現れる第2特徴の程度を多様化し、適切な限界事例を設定することで、第2成分の検出精度の向上を図ることができる。
【0272】
なお、当該パラメータの値を設定する一連の処理は、上記データ生成装置2で実行されてもよい。この場合、データ生成装置2は、
図18A及び
図18Bに例示される出力画面を出力装置26に出力しながら、新たなサンプル65を生成するための上記一連の処理を実行してもよい。また、データ生成装置2において、新たなサンプル65を生成する際に、データ群320に含まれるサンプル321が上記各出力画面により閲覧可能であってよい。この場合、各出力画面は、各入力値(221、223、225)を指定する参考に利用されてよい。
【0273】
(ステップS303)
図17Aに戻り、ステップS303では、制御部11は、出力部313として動作し、上記推定の結果(本実施形態では、上記第2成分の検出結果)に関する情報を出力する。
【0274】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部31は、ステップS302により対象サンプル325に対して所定の推定を実行した結果をそのまま出力装置36に出力してもよい。また、例えば、制御部31は、所定の推定を実行した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部31は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置36、他のコンピュータの出力装置、制御対象装置等であってよい。
【0275】
推定の結果に関する情報の出力が完了すると、制御部31は、本動作例に係る処理手順を終了する。なお、所定の期間の間、制御部31は、ステップS301~ステップS303の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置3は、所定の推定を継続的に実施してもよい。
【0276】
[特徴]
以上のとおり、本実施形態に係る学習装置1は、上記ステップS101~ステップS103の処理により、入力値により指定される種別の第1特徴を含む疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。また、本実施形態に係る学習装置1は、上記ステップS111~ステップS113の処理により、入力値により指定される種別の第2特徴を含む疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。本実施形態に係るデータ生成装置2では、それぞれ訓練済みの各生成器(411、421)に与える各入力値(221、223)に基づいて、生成される新たなサンプル65に含まれる第1特徴及び第2特徴それぞれの種別を制御することができる。つまり、第1特徴及び第2特徴の異なる種別の組み合わせを含む新たなサンプル65を自在に生成することができる。例えば、データ群320において、サンプル321が得られていない又はサンプル321の数の少ない組み合わせが存在する場合に、データ生成装置2により、その組み合わせを含む新たなサンプル65を生成することができる。加えて、ステップS201~ステップS205の処理の多くの部分は自動化することができる。よって、本実施形態によれば、多様な組み合わせを含むサンプルを自在かつ自動的に生成可能であるため、少なくとも2つ以上の特徴が表れる所定種類のデータについて多様なサンプルを収集するのにかかるコストを低減することができる。
【0277】
また、本実施形態に係る推定装置3では、生成された新たなサンプル65をデータ群320に追加することで、データ群320に含まれるサンプル321に表れる第1特徴及び第2特徴の組み合わせの多様化を図ることができる。すなわち、データ群320において、得られていなかった又は数の少なかった組み合わせを含むサンプル321を充実化することができる。これによって、生成された新たなサンプル65を推定装置3の推定処理に反映することで、第2特徴に関する推定処理の制度の向上を図ることができる。
【0278】
また、本実施形態に係る学習装置1は、上記ステップS121~ステップS123の処理により、入力値により指定される種別及び程度の第2特徴の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。本実施形態に係るデータ生成装置2では、訓練済みの第3生成器431に与える各入力値(223、225)に基づいて、生成される新たなサンプル65に含まれる第2特徴の属性の値を制御することができる。つまり、訓練済みの第1生成器411及び第2生成器421の他に、訓練済みの第3生成器431を更に利用することで、任意の属性値を有する第2特徴を含む新たなサンプル65を自在に生成することができる。よって、本実施形態によれば、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて更に多様なサンプルを生成することができる。
【0279】
なお、第3入力値225を第2成分の検出の限界に応じて与えることで、検出の限界事例に対応する多様なサンプルを生成することができる。また、上記ステップS121~ステップS123の処理において、第1ラベル512を更に用いて第3生成器431の機械学習を実施した場合には、構築された訓練済みの第3生成器431は、更に第1特徴の種別に応じた第2特徴の属性の疑似値を生成する能力を獲得する。そのため、本実施形態に係るデータ生成装置2では、訓練済みの第3生成器431を利用することで、第1特徴の種別に適した属性値を有する第2特徴を含む新たなサンプル65を生成することができる。
【0280】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0281】
<4.1>
上記実施形態に係る学習装置1、データ生成装置2、及び推定装置3は、少なくとも2つ以上の特徴が表れ得る所定種類のデータについて、多様なサンプルを収集するあらゆる場面に適用されてよい。例えば、上記実施形態は、センサにより対象を観測することで得られるセンシングデータについて、多様なサンプルを収集する場面に適用可能である。以下、適用場面を限定した変形例を例示する。
【0282】
(A)外観検査の場面
図19は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、
図2Aに例示される製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、学習装置1、データ生成装置2、及び検査装置3Aを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び検査装置3Aは、ネットワークを介して互いに接続されてよい。
【0283】
本変形例において取り扱われる所定種類のデータは、製品RAの写る画像データである。当該画像データは、カメラSAで製品RAを撮影することにより得られてよい。第1特徴は、製品RAを含む背景に関し、第2特徴は、製品RAの欠陥に関する。製品RA及び欠陥の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記のとおり、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0284】
(学習装置)
本変形例では、第1学習データセット51の第1サンプル511は、製品RAの写る画像データのサンプルであってよく、第1ラベル512は、製品RAの種別を示してよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の製品RAを含む背景の写る疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
【0285】
本変形例では、第2学習データセット52の第2サンプル521は、製品RAの欠陥の写る画像データのサンプルであってよく、第2ラベル522は、欠陥の種別を示してよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の欠陥の写る疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
【0286】
本変形例では、第3学習データセット53のサンプル値531は、欠陥の属性の度合を示してよい。欠陥の属性は、例えば、面積、幅、高さ、周囲の長さ、縦横比、円形度等の形状に関するものであってよい。反映レベル532は、欠陥を反映する程度を示してよい。反映レベル532は、欠陥の深刻度、製品の品質レベル等の欠陥の程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別及び程度の欠陥の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
【0287】
本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、製品RA及び欠陥の写る第3サンプル551から第2サンプル521を生成することができる。
【0288】
(データ生成装置)
本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルに写る製品RAの種別、欠陥の種別、及び欠陥を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、欠陥を反映する程度を制御しながら、指定された種別の欠陥及び製品RAの写る新たなサンプル65を生成することができる。
【0289】
(検査装置)
図20Aは、本変形例に係る検査装置3Aのハードウェア構成の一例を模式的に例示する。
図20Aに示されるとおり、本変形例に係る検査装置3Aは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
【0290】
本変形例では、記憶部32は、検査プログラム83A等の各種情報を記憶する。検査プログラム83Aは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、検査装置3Aは、外部インタフェース34を介してカメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
【0291】
なお、検査装置3Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置3Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置3Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0292】
図20Bは、本変形例に係る検査装置3Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置3Aのソフトウェア構成は、制御部31による検査プログラム83Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置3Aのソフトウェア構成は、上記推定装置3と同様である。検査部312Aは、上記推定部312に対応する。これにより、検査装置3Aは、上記推定装置3の推定処理と同様に、外観検査に関する一連の処理を実行することができる。
【0293】
すなわち、ステップS301では、制御部31は、検査対象の製品RAの写る対象サンプル325をカメラSAから取得する。ステップS302では、制御部31は、検査部312Aとして動作し、データ群320を利用して対象サンプル325を分析することで、検査対象の製品RAに欠陥が存在するか否かを判定する。データ群320に含まれるサンプル321には製品RA及び欠陥が写る。検出する欠陥の種別毎に限界事例のサンプル321が選択されてよい。検出のパラメータである各閾値(T1、T2)は、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、製品RAの状態を推定することができる。
【0294】
ステップS303では、制御部31は、製品RAの状態を推定した結果に関する情報を出力する。例えば、制御部31は、製品RAの状態を推定した結果をそのまま出力装置36に出力してもよい。また、例えば、製品RAに欠陥が含まれると判定した場合に、制御部31は、そのことを知らせるための警告を出力装置36に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置3Aが接続される場合、製品RAの状態を推定した結果に基づいて、欠陥のある製品RAと欠陥のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【0295】
(特徴)
本変形例によれば、データ生成装置2において、製品RA及び欠陥の任意の組み合わせの写る新たなサンプル65を自在かつ自動的に生成可能である。そのため、製品RA及び欠陥の種々の組み合わせの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない製品RA及び欠陥の組み合わせを低減又は無くすことができる。これにより、検査装置3Aにおける外観検査の精度の向上を図ることができる。
【0296】
[その他の形態]
上記変形例において、製品RAの欠陥は、前景の一例である。つまり、上記変形例における検査処理は、背景及び前景を含む画像データのサンプルから目的の前景を検出する処理の一例である。つまり、取り扱われる所定種類のデータは、背景及び前景を含む画像データであってよい。第1特徴は、背景に関してよく、第2特徴は、前景に関してもよい。背景及び前景の種類はそれぞれ、製品RA及び欠陥の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。
【0297】
(A-1)画像診断の場面
図21は、画像データから前景を検出する他の場面の一例を模式的に例示する。
図21に例示される診断システムは、学習装置1、データ生成装置2、及び画像診断装置3A1を備えている。画像診断装置3A1は、上記検査装置3Aに対応する。画像診断装置3A1の構成は、上記検査装置3Aと同様であってよい。
図21の例において取り扱われる所定種類のデータは、器官の写る医療用の画像データ(以下、医療用画像とも記載する)であってよい。器官は、例えば、消化器系、循環器系、呼吸器系、泌尿器系、生殖器系、内分泌器系、感覚器系、神経系、運動器系(骨、関節、靭帯、筋肉)等であってよい。
【0298】
医療用画像の取得には、医療検査装置SA1が用いられてよい。医療検査装置SA1は、センサの一例である。医療検査装置SA1は、例えば、レントゲン装置、CT装置、MRI装置等であってよい。これに応じて、得られる医療用画像は、例えば、レントゲン画像、CT画像、MRI画像等であってよい。
図21の例では、画像診断装置3A1は、医療検査装置SA1に接続されており、これにより、医療用画像の対象サンプル325を取得することができる。
【0299】
第1特徴は、器官に関してよく、第2特徴は、病変(例えば、病気により発生する影)に関してもよい。器官の像が、背景の一例であり、病変の像が、前景の一例である。病変の属性は、医療用画像に表れる影の形状に関するものであってよい。反映レベル532は、例えば、病気の深刻度、進行度等の病気の状態に応じて設定されてよい。画像診断装置3A1は、上記検査装置3Aと同様の手順により、医療用画像の対象サンプル325から病変を検出する処理を実行することができる。病変が存在すると判定した場合、画像診断装置3A1は、ステップS303において、その病変の種別、位置等の診断結果を出力してもよい。
【0300】
(A-2)道路状況を監視する場面
図22は、画像データから前景を検出する更なる他の場面の一例を模式的に例示する。
図22に例示される監視システムは、学習装置1、データ生成装置2、及び監視装置3A2を備えている。監視装置3A2は、上記検査装置3Aに対応する。監視装置3A2の構成は、上記検査装置3Aと同様であってよい。
図22の例において取り扱われる所定種類のデータは、監視対象の道路の写る画像データ(以下、監視画像とも記載する)であってよい。
【0301】
監視画像の取得には、監視対象の道路を撮影するように配置されたカメラSA2が用いられてよい。監視装置3A2は、例えば、ネットワーク等を介して、カメラSA2に適宜接続されてよい。これにより、監視装置3A2は、監視画像の対象サンプル325を取得することができる。
【0302】
第1特徴は、道路、建物等の背景に関してよく、第2特徴は、道路の状況に関してもよい。道路の状況は、例えば、移動体の混み具合(混雑度)、犯罪の危険度等により表現されてよい。移動体は、歩行者、車両等であってよい。犯罪の危険度は、例えば、歩行者の数が少ない暗い道路の画像は高く、歩行者の数が多く明るい道路の画像は低くなるように設定されてよい。道路の状況の属性は、例えば、移動体の属性、環境の属性等により表現されてよい。移動体の属性は、例えば、位置、数、速度等に関してもよい。これらの他に、移動体が人物である場合には、移動体の属性は、例えば、性別、体格等に関してもよい。環境の属性は、例えば、時刻、季節、街灯の有無等の明るさの要因に関してもよい。道路の状況に関する像は、前景の一例である。反映レベル532は、当該道路の状況に応じて設定されてよい。この場合、監視装置3A2は、上記検査装置3Aと同様の手順により、監視画像の対象サンプル325から対象の道路の状況(例えば、移動体の混み具合、犯罪の危険度)を推定することができる。
【0303】
上記各形態によれば、データ生成装置2において、背景及び前景の任意の組み合わせの写る新たなサンプル65を自在かつ自動的に生成可能である。上記画像診断の場面では、それぞれ異なる人物から得られた器官の画像及び病変の画像に基づいて、種々の病気状態の表れる多様な医療用画像を得ることができる。上記道路状況を監視する場面では、異なる条件(場所、時間等)で得られた画像に基づいて、道路の種々の状況の表れる多様な監視画像を得ることができる。そのため、背景及び前景の種々の組み合わせるの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない背景及び前景の組み合わせを低減又は無くすことができる。これにより、各前景を検出する処理の精度の向上を図ることができる。
【0304】
(B)運転態様を監視する場面
図23は、第2変形例に係る監視システム100Bの適用場面の一例を模式的に例示する。本変形例では、車両に設けられた車載センサにより得られるセンシングデータを利用して、運転者による車両の運転態様を監視する場面に上記実施形態を適用した例である。本変形例に係る監視システム100Bは、学習装置1、データ生成装置2、及び監視装置3Bを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び監視装置3Bは、ネットワークを介して互いに接続されてよい。
【0305】
本変形例において取り扱われる所定種類のデータは、加速度センサSBにより得られる車両の加速度データ(センシングデータ)である。第1特徴は、通常の運転時に生じる加速度の変容に関し、第2特徴は、飛び出し等の突発的な事象により生じる加速度の変容に関する。これらの限定を除き、本変形例に係る監視システム100Bは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0306】
(学習装置)
本変形例では、第1学習データセット51の第1サンプル511は、通常の運転時に生じる加速度の変容の表れる加速度データのサンプルであってよく、第1ラベル512は、運転者のタイプ、車種等の通常運転に影響を与える因子(以下、影響因子)の種別を示してもよい。運転者のタイプは、例えば、慎重である、荒っぽい等の運転に表れる性格に応じて設定されてよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の影響因子の通常運転時に生じる加速度の変容の表れる疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
【0307】
本変形例では、第2学習データセット52の第2サンプル521は、突発的な事象により生じる加速度の変容の表れる加速度データのサンプルであってよく、第2ラベル522は、突発的な事象の種別を示してよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の事象により生じる加速度の変容の表れる疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
【0308】
本変形例では、第3学習データセット53のサンプル値531は、加速度の変容具合を示してよい。加速度の変容は、例えば、振幅、周波数等により表現されてよい。反映レベル532は、加速度の変容を反映する程度を示してよい。反映レベル532は、突発的な事象の深刻度等の事故が発生するおそれの程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別の事象及び程度の加速度の変容具合の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
【0309】
本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容を含む第3サンプル551から第2サンプル521を生成することができる。
【0310】
(データ生成装置)
本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルにおける影響因子の種別、突発的な事象の種別、及び突発的な事象を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、突発的な事象を反映する程度を制御しながら、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容を含む新たなサンプル65を生成することができる。
【0311】
(監視装置)
図24Aは、本変形例に係る監視装置3Bのハードウェア構成の一例を模式的に例示する。
図24Aに示されるとおり、本変形例に係る監視装置3Bは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
【0312】
本変形例では、記憶部32は、監視プログラム83B等の各種情報を記憶する。監視プログラム83Bは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、監視装置3Bは、外部インタフェース34を介して加速度センサSBに接続される。加速度センサSBは、車両の走行における加速度を測定可能に適宜配置されてよい。
【0313】
なお、監視装置3Bのハードウェア構成は、このような例に限定されなくてもよい。監視装置3Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置3Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【0314】
図24Bは、本変形例に係る監視装置3Bのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置3Bのソフトウェア構成は、制御部31による監視プログラム83Bの実行により実現される。取り扱われるデータが上記のように限定される点を除き、監視装置3Bのソフトウェア構成は、上記推定装置3と同様である。監視部312Bは、上記推定部312に対応する。これにより、監視装置3Bは、上記推定装置3の推定処理と同様に、運転者の運転態様の監視に関する一連の処理を実行することができる。
【0315】
すなわち、ステップS301では、制御部31は、推定対象の加速度の変容の表れる加速度データの対象サンプル325を加速度センサSBから取得する。ステップS302では、制御部31は、監視部312Bとして動作し、データ群320を利用して対象サンプル325を分析することで、対象サンプル325から突発的な事象により生じた加速度の変容を検出する。データ群320に含まれるサンプル321には、通常の運転時に生じる加速度の変容及び突発的な事象により生じる加速度の変容が含まれる。検出する突発的な事象毎に限界事例のサンプル321が選択されてよい。検出のパラメータは、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、運転者の運転態様を推定することができる。なお、運転態様の推定は、リアルタイムに実施されてもよいし、過去の時刻の運転態様を評価するために実施されてもよい。
【0316】
ステップS303では、制御部31は、運転者の運転態様を推定した結果に関する情報を出力する。例えば、制御部31は、突発的な事象により生じた加速度の変容に関する履歴を作成し、作成された履歴を所定の記憶領域に保存してもよい。当該履歴は、ステップS302により得られた加速度の変容をそのまま示してもよいし、得られた加速度の変容に対して何らかの情報処理を実行した結果を示してもよい。一例として、制御部31は、突発的な事象により生じた加速度の変容に基づいて、事故が発生するおそれの程度を評価し、評価した結果を示す履歴を作成してもよい。その他、制御部31は、突発的な事象により生じた加速度の変容に基づいて、例えば、急ブレーキ、急加速、急ハンドル等の運転者の行動を識別し、識別した結果を示す履歴を作成してもよい。行動を識別する指標は、適宜設定されてよい。監視装置3Bは、運転者が車両を運転している間、ステップS301~ステップS303の処理を繰り返し実行することで、運転者の運転態様を継続的に監視することができる。
【0317】
(特徴)
本変形例によれば、データ生成装置2において、影響因子の種別及び突発的な事象の任意に組み合わせにより生じる加速度の変容の表れる新たなサンプル65を自在かつ自動的に生成可能である。そのため、影響因子の種別及び突発的な事象の種々の組み合わせの表れる多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない影響因子の種別及び突発的な事象の組み合わせを低減又は無くすことができる。これにより、監視装置3Bにおける運転者の運転態様を推定する処理の精度の向上を図ることができる。
【0318】
[その他の形態]
なお、加速度センサSBは、車載センサの一例である。加速度センサSBの他、車載センサには、例えば、カメラ、Lidarセンサ、ミリ波レーダ、超音波センサ等が用いられてよい。これにより、運転者の運転態様に代えて又は運転態様と共に、車両外部の状況を推定してもよい。この場合も、上記と同様に、第1特徴は、通常運転時に生じる各種の変容に関し、第2特徴は、突発的な事象により生じる各種の変容に関してよい。第1特徴の種別は、通常運転の影響因子の種別により表現されてよく、第2特徴の種別は、突発的な事象の種別により表現されてよい。
【0319】
(C)機械の異常を検知する場面
図25は、第3変形例に係る検知システム100Cの適用場面の一例を模式的に例示する。本変形例では、
図2Bに例示される機械の動作音を含む音データを利用して、機械の異常を検知する場面に上記実施形態を適用した例である。本変形例に係る検知システム100Cは、学習装置1、データ生成装置2、及び異常検知装置3Cを備えている。上記実施形態と同様に、学習装置1、データ生成装置2、及び異常検知装置3Cは、ネットワークを介して互いに接続されてよい。
【0320】
本変形例において取り扱われる所定種類のデータは、機械RCの動作音を含む音データである。当該音データは、マイクロフォンSCにより機械RCの動作音を録音することで得られてよい。第1特徴は、機械RCの通常運転時に生じる動作音、機械RCの周囲の雑音等の環境音に関し、第2特徴は、機械RCの経年劣化、故障等の異常により生じる異常音に関する。機械RC及び異常の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記のとおり、機械RCは、例えば、コンベア装置、産業用ロボット等の製造ラインを構成する装置であってよい。機械RCは、装置全体であってもよいし、モータ等の装置の一部であってもよい。異常は、例えば、故障、異物の混入、汚れの付着、構成部品の摩耗であってもよい。これらの限定を除き、本変形例に係る検知システム100Cは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0321】
(学習装置)
本変形例では、第1学習データセット51の第1サンプル511は、環境音を含む音データのサンプルであってよく、第1ラベル512は、機械RC及び周囲環境の種別を示してもよい。上記のとおり、機械RCの周囲環境は、例えば、機械RCの駆動する場所、時間等により区別されてよい。学習装置1は、上記ステップS101~ステップS103の処理を実行することで、入力値により指定される種別の機械RC及び周囲環境の環境音を含む疑似サンプルを生成する能力を獲得した訓練済みの第1生成器411を構築することができる。
【0322】
本変形例では、第2学習データセット52の第2サンプル521は、異常音を含む音データのサンプルであってよく、第2ラベル522は、異常の種別を示してもよい。学習装置1は、上記ステップS111~ステップS113の処理を実行することで、入力値により指定される種別の異常で生じる異常音を含む疑似サンプルを生成する能力を獲得した訓練済みの第2生成器421を構築することができる。
【0323】
本変形例では、第3学習データセット53のサンプル値531は、異常音の属性の度合を示してよい。異常音の属性は、例えば、振幅、周波数等により表現されてよい。反映レベル532は、異常音を反映する程度を示してよい。反映レベル532は、異常の深刻度、機械RCの正常度等の異常の程度に関連して設定されてもよい。学習装置1は、上記ステップS121~ステップS123の処理を実行することで、入力値により指定される種別及び程度の異常音の属性の疑似値を生成する能力を獲得した訓練済みの第3生成器431を構築することができる。
【0324】
本変形例では、学習装置1は、上記ステップS131~ステップS133の処理を実行することで、訓練済みの第1生成器411により生成された疑似サンプル542から、その疑似サンプル542を生成する際に訓練済みの第1生成器411に与えられた入力を推定する能力を獲得した訓練済みの推定器44を構築することができる。また、本変形例では、学習装置1は、訓練済みの第1生成器411及び推定器44を利用して、上記ステップS141~ステップS144の処理を実行することで、環境音及び異常音を含む第3サンプル551から第2サンプル521を生成することができる。
【0325】
(データ生成装置)
本変形例では、第1入力値221、第2入力値223、及び第3入力値225は、生成を所望するサンプルにおける機械及び周囲環境の種別、異常の種別、並びに異常音を反映する程度に応じて指定されてよい。データ生成装置2は、訓練済みの各生成器(411、421、431)を利用して、上記ステップS201~ステップS205の処理を実行することで、異常音を反映する程度を制御しながら、指定された種別の環境音及び異常音を含むあらたなサンプル65を生成することができる。
【0326】
(異常検知装置)
図26Aは、本変形例に係る異常検知装置3Cのハードウェア構成の一例を模式的に例示する。
図26Aに示されるとおり、本変形例に係る異常検知装置3Cは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
【0327】
本変形例では、記憶部32は、異常検知プログラム83C等の各種情報を記憶する。異常検知プログラム83Cは、上記実施形態に係る推定プログラム83に対応する。また、本変形例では、異常検知装置3Cは、外部インタフェース34を介してマイクロフォンSCに接続される。マイクロフォンSCは、機械RCの動作音を録音可能な場所に適宜配置されてよい。
【0328】
なお、異常検知装置3Cのハードウェア構成は、このような例に限定されなくてもよい。異常検知装置3Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。異常検知装置3Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0329】
図26Bは、本変形例に係る異常検知装置3Cのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、異常検知装置3Cのソフトウェア構成は、制御部31による異常検知プログラム83Cの実行により実現される。取り扱われるデータが上記のように限定される点を除き、異常検知装置3Cのソフトウェア構成は、上記推定装置3と同様である。検知部312Cは、上記推定部312に対応する。これにより、異常検知装置3Cは、上記推定装置3の推定処理と同様に、機械RCの異常の検知に関する一連の処理を実行することができる。
【0330】
すなわち、ステップS301では、制御部31は、検査対象の機械RCの動作音を含む対象サンプル325をマイクロフォンSCから取得する。ステップS302では、制御部31は、検知部312Cとして動作し、データ群320を利用して対象サンプル325を分析することで、検査対象の機械RCに異常が発生しているか否かを判定する。データ群320に含まれるサンプル321には、環境音及び異常音が含まれている。検出する異常の種別毎に限界事例のサンプル321が選択されてよい。検出のパラメータは、限界事例に選択されたサンプル321に基づいて設定されてよい。これにより、制御部31は、機械RCの動作状態を推定することができる。機械RCの動作に異常が発生した場合には、制御部31は、その異常を検知することができる。
【0331】
ステップS303では、制御部31は、機械RCの動作状態を推定した結果に関する情報を出力する。例えば、制御部31は、機械RCの動作状態を推定した結果をそのまま出力装置36に出力してもよい。また、例えば、ステップS302の処理により異常の発生を検知した場合に、制御部31は、その異常の発生を知らせるための警告を出力装置36に出力してもよい。更に、異常検知装置3Cが機械RCの動作を制御可能に構成されている場合、制御部31は、異常の発生を検知したことに応じて、機械RCの動作を停止させてもよい。加えて、制御部31は、機械RCに発生した異常の種別、及び異常に対処するためのメンテナンス方法の情報を出力装置36に出力してもよい。異常に対処するためのメンテナンス方法を示す情報は、記憶部32、記憶媒体93、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部31は、異常に対処するためのメンテナンス方法を示す情報を所定の記憶領域から適宜取得してもよい。
【0332】
(特徴)
本変形例によれば、データ生成装置2において、任意の種別の環境音及び異常音の組み合わせを含む新たなサンプル65を自在かつ自動的に生成可能である。そのため、環境音及び異常音の種々の組み合わせを含む多様なサンプルを収集するのにかかるコストを低減することができる。また、生成された新たなサンプル65をデータ群320に追加することで、サンプル321の得られていない環境音及び異常音の組み合わせを低減又は無くすことができる。これにより、異常検知装置3Cにおける機械RCの異常を検知する処理の精度の向上を図ることができる。
【0333】
[その他の形態]
なお、マイクロフォンSCは、機械RCの状態を監視するためのセンサの一例である。センシングデータにより機械RCの異常を検知する方法は、上記機械RCの動作音を含む音データによる方法に限られなくてもよい。マイクロフォンSCの他、例えば、加速度センサ、振動センサ等の機械の振動を測定するセンサが、機械RCの異常を検知するために利用されてよい。この場合、音(空気の振動)が機械RCの物理的な振動に置き換わるに過ぎず、上記と同様の方法により、機械RCの異常を検知することができる。
【0334】
<4.2>
上記実施形態では、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44には、全結合型のニューラルネットワークが用いられている。しかしながら、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。各生成器(411、421、431)、各識別器(412、422、432)及び推定器44には、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
【0335】
また、上記実施形態において、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。各識別器(412、422、432)及び推定器44には、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
【0336】
また、上記実施形態において、各生成器(411、421、431)、各識別器(412、422、432)及び推定器44それぞれの入力及び出力の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、第1生成器411は、ノイズ及び第1特徴の種別以外の情報の入力を更に受け付けるように構成されてもよい。また、例えば、第1生成器411は、疑似サンプル以外の情報を出力するように構成されてもよい。その他についても同様である。
【0337】
<4.3>
上記実施形態では、各学習モデル41~43は、各生成器(411、421、431)及び各識別器(412、422、432)により構成されている。しかしながら、各学習モデル41~43の構成は、対応する疑似的なデータを生成する能力を獲得するように各生成器(411、421、431)を訓練可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【0338】
図27は、本変形例に係る第1学習モデル41Dの構成の一例を模式的に例示する。本変形例に係る第1学習モデル41Dは、エンコーダ415及びデコーダ411Dにより構成される。エンコーダ415は、第1特徴を含むサンプル及び第1特徴の種別を示す情報を特徴量に変換するように構成される。デコーダ411Dは、エンコーダ415により得られた特徴量及び対応する第1特徴の種別を示す情報から対応する第1特徴を含むサンプルを復元するように構成される。本変形例では、デコーダ411Dが、第1生成器411に対応する。エンコーダ415により得られる特徴量が、上記実施形態におけるノイズ(潜在変数)に対応する。
【0339】
エンコーダ415及びデコーダ411Dはそれぞれ、機械学習モデルにより構成される。エンコーダ415及びデコーダ411Dそれぞれを構成する機械学習モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記実施形態と同様に、エンコーダ415及びデコーダ411Dそれぞれを構成する機械学習モデルには、例えば、ニューラルネットワークが用いられてよい。エンコーダ415及びデコーダ411Dそれぞれがニューラルネットワークにより構成される場合、学習装置1は、上記ステップS102において、以下のとおり、第1学習モデル41Dの機械学習を実施することができる。
【0340】
すなわち、制御部11は、各第1学習データセット51について、第1サンプル511及び第1ラベル512をエンコーダ415に入力し、エンコーダ415の演算処理を実行する。これにより、制御部11は、第1サンプル511及び第1ラベル512を特徴量に変換した結果に対応する出力値をエンコーダ415から取得する。
【0341】
次に、制御部11は、エンコーダ415から得られた特徴量及び対応する第1ラベル512をデコーダ411Dに入力し、デコーダ411Dの演算処理を実行する。これにより、制御部11は、特徴量及び第1ラベル512から復元された復元サンプル515Dに対応する出力値をデコーダ411Dから取得する。
【0342】
制御部11は、各第1学習データセット51について、得られた復元サンプル515Dと第1サンプル511との誤差を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値を更新する。制御部11は、当該一連の更新処理により、算出される誤差の和が小さくなるように、エンコーダ415及びデコーダ411Dそれぞれの演算パラメータの値を調節する。
【0343】
なお、上記更新処理の他に、制御部11は、エンコーダ415から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、当該誤差の和が小さくなるようにエンコーダ415の演算パラメータの値を更に調節してもよい。これにより、制御部11は、エンコーダ415の出力値を正規化してもよい。
【0344】
以上の機械学習により、第1特徴を含むサンプル及び第1特徴の種別を示す情報を適切な特徴量に変換する能力を獲得した訓練済みのエンコーダ415を構築することができる。これと共に、特徴量及び第1特徴の種別を示す情報から対応する第1特徴を含むサンプルを生成する能力を獲得した訓練済みのデコーダ411Dを構築することができる。
【0345】
特徴量は、上記ノイズに対応するため、訓練済みのデコーダ411Dは、上記訓練済みの第1生成器411と同じように取り扱うことができる。データ生成装置2は、上記実施形態と同様の処理手順により、訓練済みのデコーダ411Dを利用して、第1疑似サンプル61を生成することができる。また、学習装置1は、上記実施形態と同様の処理手順により、訓練済みのデコーダ411D及び推定器44を利用して、第3サンプル551から第2サンプル521を生成することができる。なお、第2学習モデル42及び第3学習モデル43もそれぞれ、本変形例に係る第1学習モデル41Dのように構成されてよい。
【0346】
<4.4>
上記実施形態において、第3学習モデル43は省略されてもよい。この場合、学習装置1のソフトウェア構成から第3取得部113及び第3訓練部117は省略されてよい。学習装置1の処理手順において、ステップS121~ステップS123の処理は省略されてよい。データ生成装置2の処理手順において、ステップS204の処理は省略されてよい。制御部21は、ステップS205において、第1疑似サンプル61及び第2疑似サンプル62を適宜合成してもよい。制御部21は、例えば、第1疑似サンプル61及び第2疑似サンプル62をそのまま重畳的に加算することで、第1疑似サンプル61及び第2疑似サンプル62を合成してもよい。或いは、合成のパラメータは、オペレータの入力等により適宜指定されてもよい。制御部21は、指定されたパラメータに基づいて、第1疑似サンプル61及び第2疑似サンプル62を合成してもよい。
【0347】
<4.5>
上記実施形態において、推定器44の機械学習は、学習装置1以外の他のコンピュータにより実行されてよい。或いは、第2サンプル521は、オペレータの操作によるデータ加工等の上記実施形態以外の方法で生成されてもよい。例えば、制御部11は、第3サンプル551と予め与えられた第1特徴のみを含むサンプルとの差分を算出することで、第2サンプル521を生成してもよい。これらの場合、学習装置1のソフトウェア構成から第4取得部114及び第4訓練部118は省略されてよい。学習装置1の処理手順において、ステップS131~ステップS133及びステップS141~ステップS144の処理は省略されてよい。
【0348】
<4.6>
上記実施形態に係る推定装置3は、ステップS302における第2特徴に関する推定処理に、訓練済みの第1生成器411及び推定器44を利用している。しかしながら、第2特徴に関する推定処理は、このような例に限定されなくてもよい。例えば、対象サンプル325に対応する第1特徴を含むサンプルが予め与えられてもよい。推定装置3は、疑似サンプル326の代わりに、この予め与えられたサンプルを利用してもよい。また、例えば、推定装置3は、部分空間法等の方法で生成された別のモデルにより、対象サンプル325に対応する第1特徴を含むサンプルを当該対象サンプル325から生成してもよい。なお、これらに例示されるように、訓練済みの第1生成器411及び推定器44を推定処理に利用しない場合には、推定装置3の保持する情報から第1学習結果データ121及び第4学習結果データ124は省略されてよい。
【0349】
また、上記実施形態では、第2特徴に関する推定処理は、差分サンプル327に対するデータ解析により実現されている。新たなサンプル65は、このデータ解析のパラメータに反映可能である。しかしながら、新たなサンプル65を推定処理におけるパラメータに反映する形態は、このような例に限定されなくてもよい。その他の形態の一例として、第2特徴に関する推定処理には、当該推定処理を実施する能力を獲得した訓練済みの機械学習モデルが用いられてよい。新たなサンプル65は、この機械学習モデルの機械学習に利用されることで、訓練済みの機械学習モデルの演算パラメータの値に反映されてよい。この形態では、訓練済みの機械学習モデルの演算パラメータが、推定処理におけるパラメータに相当する。
【0350】
図28は、本変形例に係る推定システム100Eの適用場面の一例を模式的に例示する。本変形例は、訓練済みの機械学習モデルを推定処理に利用する形態の一例である。本変形例に係る推定システム100Eは、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7を備えている。推定装置3Eは、上記実施形態に係る推定装置3に対応する。他の学習装置7は、第2特徴に関する推定処理に利用可能な訓練済みの機械学習モデルを生成するように構成されたコンピュータである。上記実施形態と同様に、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7は、ネットワークを介して互いに接続されてよい。また、学習装置1、データ生成装置2、推定装置3E、及び他の学習装置7のうちの少なくともいずれかのペアは一体のコンピュータであってよい。
【0351】
[他の学習装置]
(ハードウェア構成)
図29は、本変形例に係る他の学習装置7のハードウェア構成の一例を模式的に例示する。
図29に示されるとおり、本変形例に係る他の学習装置7は、制御部71、記憶部72、通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77が電気的に接続されたコンピュータにより構成される。他の学習装置7の制御部71~ドライブ77及び記憶媒体97はそれぞれ、上記学習装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。
【0352】
本変形例では、記憶部72は、学習プログラム87、複数の学習データセット721、学習結果データ725等の各種情報を記憶する。学習プログラム87は、推定処理に利用可能な訓練済みの機械学習モデルの生成に関する後述の情報処理(
図31)を他の学習装置7に実行させるためのプログラムである。学習プログラム87は、この情報処理の一連の命令を含む。学習プログラム87は、上記学習プログラム81と同様に、「モデル生成プログラム」又は単に「生成プログラム」と称されてよい。複数の学習データセット721は、機械学習モデルの機械学習に使用される。学習結果データ725は、機械学習により構築された訓練済みの機械学習モデルに関する情報を示す。学習結果データ725は、学習プログラム87を実行した結果として生成される。学習プログラム87及び複数の学習データセット721のうちの少なくともいずれかは、記憶媒体97に記憶されていてもよい。また、他の学習装置7は、記憶媒体97から、学習プログラム87及び複数の学習データセット721のうちの少なくともいずれかを取得してもよい。
【0353】
なお、他の学習装置7の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部71は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部72は、制御部71に含まれるRAM及びROMにより構成されてもよい。通信インタフェース73、外部インタフェース74、入力装置75、出力装置76、及びドライブ77の少なくともいずれかは省略されてもよい。他の学習装置7は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、他の学習装置7は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0354】
(ソフトウェア構成)
図30は、本変形例に係る他の学習装置7のソフトウェア構成の一例を模式的に例示する。上記学習装置1等と同様に、制御部71により学習プログラム87が実行される。これにより、他の学習装置7は、取得部711、訓練部712、及び保存処理部713をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例では、他の学習装置7の各ソフトウェアモジュールは、制御部71(CPU)により実現される。
【0355】
取得部711は、訓練サンプル7211及び正解データ7212の組み合わせによりそれぞれ構成された複数の学習データセット721を取得する。訓練サンプル7211は第1特徴を含んでいる。一方、訓練サンプル7211は、第2特徴を含む及び含まないのいずれであってもよい。新たなサンプル65が、訓練サンプル7211として利用されてよい。正解データ7212は、訓練サンプル7211に対する第2特徴に関する所定の推定を実行した結果(正解)を示す。
【0356】
訓練部712は、取得された複数の学習データセット721を使用して、機械学習モデル45の機械学習を実行する。機械学習では、訓練部712は、各学習データセット721について、訓練サンプル7211を入力すると、正解データ7212に適合する出力値を出力するように機械学習モデル45を訓練する。これにより、第2特徴に関する推定処理を実行する能力を獲得した訓練済みの機械学習モデル45を生成することができる。保存処理部713は、訓練済みの機械学習モデル45に関する情報を学習結果データ725として生成し、生成された学習結果データ725を所定の記憶領域に保存する。
【0357】
機械学習モデル45の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の方法は、機械学習モデル45の種類に応じて選択されてよい。上記第1生成器411等と同様に、機械学習モデル45は、例えば、ニューラルネットワークにより構成されてよい。以下では、説明の便宜のため、機械学習モデル45は、ニューラルネットワークにより構成されると想定する。
【0358】
なお、本変形例では、上記学習装置1等と同様に、他の学習装置7の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、他の学習装置7のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0359】
(動作例)
図31は、本変形例に係る他の学習装置7による機械学習モデル45の機械学習に関する処理手順の一例を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0360】
ステップS701では、制御部71は、取得部711として動作し、複数の学習データセット721を取得する。各学習データセット721は適宜生成されてよい。一例として、訓練サンプル7211を適宜取得する。訓練サンプル7211は、上記第1サンプル511又は第3サンプル551と同様の方法で取得されてよい。次に、取得された訓練サンプル7211に対して第2特徴に関する所定の推定を実行する。この場面では、所定の推定は、オペレータ等により手動的に行われてよい。そして、訓練サンプル7211に対して所定の推定を実行した結果(正解)を訓練サンプル7211に関連付ける。これにより、各学習データセット721を生成することができる。上記第1学習結果データ51等と同様に、各学習データセット721は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット721は、他の学習装置7により行われてもよいし、他の学習装置7以外の他のコンピュータにより行われてもよい。制御部71は、生成された各学習データセット721を適宜取得してよい。
【0361】
また、新たなサンプル65が、訓練サンプル7211として利用されてよい。例えば、学習データセット721の件数が不足する場合に、制御部71は、上記推定装置3と同様の方法で、新たなサンプル65の生成を依頼してもよい。この場合、各入力値(221、223、225)は、他の学習装置7において指定されてよい。或いは、データ生成装置2は、他の学習装置7からの依頼に依らず、新たなサンプル65を生成してもよい。これにより、生成された新たなサンプル65が任意の方法で他の学習装置7に提供されることで、他の学習装置7は、提供された新たなサンプル65を訓練サンプル7211として取得してもよい。正解データ7212は、新たなサンプル65を生成する際に指定された第2入力値223及び第3入力値225により与えられてよい。
【0362】
取得する学習データセット721の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の学習データセット721を取得すると、制御部71は、次のステップS702に処理を進める。
【0363】
ステップS702では、制御部71は、訓練部712として動作し、取得された複数の学習データセット721を使用して、機械学習モデル45の機械学習を実施する。一例として、制御部71は、各学習データセット721について、訓練サンプル7211を機械学習モデル45に入力し、機械学習モデル45の演算処理を実行する。これにより、訓練サンプル7211に対して第2特徴に関する所定の推定処理を実行した結果に対応する出力値を機械学習モデル45から取得する。制御部71は、各学習データセット721について、得られた出力値と正解データ7212との誤差を算出する。制御部71は、誤差逆伝播法により、算出された誤差の勾配を用いて、機械学習モデル45の演算パラメータの値の誤差を算出する。制御部71は、算出された各誤差に基づいて、機械学習モデル45の演算パラメータの値を更新する。制御部71は、当該一連の更新処理により、算出される誤差の和が小さくなるように、機械学習モデル45の演算パラメータの値を調節する。これにより、第2特徴に関する推定処理を実行する能力を獲得した訓練済みの機械学習モデル45を生成することができる。また、データ生成装置2により生成された新たなサンプル65をこの機械学習の処理に使用することで、訓練済みの機械学習モデル45の演算パラメータの値に新たなサンプル65を反映することができる。機械学習モデル45の機械学習が完了すると、制御部71は、次のステップS703に処理を進める。
【0364】
なお、上記実施形態において、限界事例のサンプル321が選択されたのと同様に、本変形例では、当該機械学習において優先する学習データセット721が選択されてよい。優先する学習データセット721は、データ生成装置2により生成された新たなサンプル65を含むものから選択されてよい。例えば、
図2Aの例では、オペレータにより、複数の学習データセットのうち、検出の誤りの抑制を所望する欠陥の写るサンプルを含む学習データセットが優先的に機械学習されるように選択されてよい。この場合、上記一連の更新処理において、選択された学習データセット721のサンプリングレート又は学習率が他の学習データセット721よりも高く設定されてよい。これにより、上記機械学習において、選択された学習データセット721が優先的に訓練される。その結果、訓練済みの機械学習モデル45において、選択された学習データセット721の訓練サンプル7211に対する第2特徴に関する推定処理(上記
図2Aの例では、欠陥検出)の精度の向上を図ることができる。
【0365】
ステップS703では、制御部71は、訓練済みの機械学習モデル45に関する情報を学習結果データ725として生成し、生成された学習結果データ725を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部71内のRAM、記憶部72、記憶媒体97、外部記憶装置又はこれらの組み合わせであってよい。これにより、学習結果データ725の保存が完了すると、制御部71は、本動作例に係る処理手順を終了する。
【0366】
[推定装置]
次に、
図32A及び
図32Bを用いて、本変形例に係る推定装置3Eについて説明する。
図32Aは、本変形例に係る推定装置3Eのハードウェア構成の一例を模式的に例示する。
図32Bは、本変形例に係る推定装置3Eのソフトウェア構成の一例を模式的に例示する。
【0367】
図32Aに示されるとおり、本変形例に係る推定装置3Eは、上記推定装置3と同様に、制御部31、記憶部32、通信インタフェース33、外部インタフェース34、入力装置35、出力装置36、及びドライブ37が電気的に接続されたコンピュータにより構成されてよい。
【0368】
本変形例では、記憶部32は、推定プログラム83E、学習結果データ725等の各種情報を記憶する。推定プログラム83Eは、上記実施形態に係る推定プログラム83に対応する。推定プログラム83E及び学習結果データ725のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定装置3Eは、記憶媒体93から、推定プログラム83E及び学習結果データ725のうちの少なくともいずれかを取得してもよい。
【0369】
なお、上記第1学習結果データ121等と同様に、他の学習装置7により生成された学習結果データ725は、任意のタイミングで推定装置3Eに適用されてよい。また、上記ステップS701~ステップS703の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに作成された学習結果データ725が任意の方法で推定装置3Eに提供されることで、推定装置3Eの保持する学習結果データ725が更新されてもよい。
【0370】
図32Bに示されるとおり、上記実施形態と同様に、推定装置3Eのソフトウェア構成は、制御部31による推定プログラム83Eの実行により実現される。推定処理におけるパラメータの値は上記機械学習により決定されるため、設定部314が省略される点を除き、推定装置3Eのソフトウェア構成は、上記推定装置3と同様である。推定部312Eは、上記推定部312に対応する。本変形例では、推定部312Eは、学習結果データ725を保持していることで、訓練済みの機械学習モデル45を備えている。これにより、推定装置3Eは、ステップS302において訓練済みの機械学習モデル45を利用する点を除き、上記実施形態と同様の手順で、対象サンプル325に対する第2特徴に関する推定処理を実行することができる。
【0371】
上記ステップS302では、制御部31は、推定部312Eとして動作し、学習結果データ725を参照して、訓練済みの機械学習モデル45の設定を行う。制御部31は、取得された対象サンプル325を訓練済みの機械学習モデル45に入力し、訓練済みの機械学習モデル45の演算処理を実行する。これにより、制御部31は、対象サンプル325に対して第2特徴に関する推定処理を実行した結果に対応する出力値を訓練済みの機械学習モデル45から取得することができる。上記
図2Aの例では、制御部31は、対象サンプル325に写る製品に欠陥が含まれるか否かを判定した結果に対応する出力値を訓練済みの機械学習モデル45から取得することができる。本変形例では、この処理により、第2特徴に関する推定処理が達成される。
【0372】
<4.7>
上記実施形態において、データ生成装置2により生成される新たなサンプル65で合成される第1特徴及び第2特徴の数は、1つに限られなくてもよく、2つ以上であってもよい。制御部21は、例えば、上記ステップS205において、1つの第1疑似サンプル61に、それぞれ異なる種別の第2特徴を含む2つ以上の第2疑似サンプル62を合成してもよい。これにより、2つ以上の第2特徴の表れる新たなサンプル65を生成することができる。例えば、上記
図2Aの例では、製品P1に2つ以上の欠陥P12が生じた事例に対応する新たなサンプル65を生成することができる。
【0373】
<4.8>
上記実施形態において、各学習モデル41~43及び推定器44はそれぞれ別々のコンピュータにより生成されてもよい。また、例えば、訓練済みの各生成器(411、421、431)及び推定器44を暫定的に生成するケース等、各学習結果データ121~124の保存が不要な場合には、ステップS103、ステップS113、ステップS123、及びステップS133の処理は省略されてよい。この場合、学習装置1のソフトウェア構成から保存処理部119は省略されてよい。
【0374】
また、上記実施形態では、データ生成装置2は、ステップS201の処理により、各入力値(221、223、225)の指定を受け付けている。しかしながら、各入力値(221、223、225)を指定する方法は、このような例に限定されなくてもよい。例えば、各入力値(221、223、225)は、ランダム等の方法により機械的に決定されてよい。この場合、データ生成装置2の処理手順において、ステップS201の処理は省略されてよい。データ生成装置2のソフトウェア構成から受付部211は省略されてよい。
【符号の説明】
【0375】
1…学習装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、
17…ドライブ、91…記憶媒体、
81…学習プログラム、
111…第1取得部、112…第2取得部、
113…第3取得部、114…第4取得部、
115…第1訓練部、116…第2訓練部、
117…第3訓練部、118…第4訓練部、
119…保存処理部、
121…第1学習結果データ、122…第2学習結果データ、
123…第3学習結果データ、124…第4学習結果データ、
2…データ生成装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、
27…ドライブ、92…記憶媒体、
82…データ生成プログラム、
211…受付部、212…第1生成部、
213…第2生成部、214…データ合成部、
220・222・224…ノイズ、
221…第1入力値、223…第2入力値、
225…第3入力値、
3…推定装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…外部インタフェース、
35…入力装置、36…出力装置、
37…ドライブ、93…記憶媒体、
83…推定プログラム、
311…取得部、312…推定部、313…出力部、
314…設定部、
320…データ群、321…サンプル、
325…対象サンプル、326…疑似サンプル、
327…差分サンプル、
41…第1学習モデル、
411…第1生成器、412…第1識別器、
42…第2学習モデル、
421…第2生成器、422…第2識別器、
43…第3学習モデル、
431…第3生成器、432…第3識別器、
44…推定器、
51…第1学習データセット、
511…第1サンプル、512…第1ラベル、
52…第2学習データセット、
521…第2サンプル、522…第2ラベル、
53…第3学習データセット、
531…サンプル値、532…反映レベル、
54…第4学習データセット、
541…サンプル値、542…疑似サンプル(第4疑似サンプル)、
551…第3サンプル、555…疑似サンプル(第3疑似サンプル)、
61…第1疑似サンプル、62…第2疑似サンプル、
63…疑似値