(57)【要約】【課題】データに含まれる特徴を比較的に精度よく判定する。【解決手段】本発明の一側面に係る検査システムは、画像データ及び正解データの組み合わせをそれぞれ含む複数件の学習用データセットを取得し、各件の学習用データセットの画像データに写る製品の良否を第１識別器により判定した結果が正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに判定の難易度を設定する。そして、検査システムは、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することで、製品の良否を判定する第２識別器を構築する。【選択図】図１
2019159959.tif 000002
【特許請求の範囲】
【請求項１】
製品の良否を検査する検査システムであって、
前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築する学習処理部と、
検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
を備える、
検査システム。
【請求項２】
前記難易度設定部は、前記複数の第１識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
請求項１に記載の検査システム。
【請求項３】
前記難易度設定部は、前記複数の第１識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
請求項１に記載の検査システム。
【請求項４】
前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第１識別器の数が多い学習用データセットほど低い難易度に設定する、
請求項１に記載の検査システム。
【請求項５】
前記各第１識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
請求項１から４のいずれか１項に記載の検査システム。
【請求項６】
前記学習用データ取得部は、
前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、
収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
生成した前記新たな学習用データセットを前記学習用データ群に追加する、
請求項１から５のいずれか１項に記載の検査システム。
【請求項７】
製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【請求項８】
製品の良否を検査する検査システムであって、
前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築する学習処理部と、
検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
を備える、
検査システム。
【請求項９】
製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【請求項１０】
画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築する学習処理部と、
状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
を備える、
識別システム。
【請求項１１】
画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【請求項１２】
画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築する学習処理部と、
状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、
を備える、
識別システム。
【請求項１３】
画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【請求項１４】
所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築する学習処理部と、
判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
を備える、
識別システム。
【請求項１５】
前記難易度設定部は、前記複数の第１識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定する、
請求項１４に記載の識別システム。
【請求項１６】
前記難易度設定部は、前記複数の第１識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する、
請求項１４に記載の識別システム。
【請求項１７】
前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第１識別器の数が多い学習用データセットほど低い難易度に設定する、
請求項１４に記載の識別システム。
【請求項１８】
前記各第１識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されている、
請求項１４から１７のいずれか１項に記載の識別システム。
【請求項１９】
前記学習用データ取得部は、
前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、
抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、
収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、
生成した前記新たな学習用データセットを前記学習用データ群に追加する、
請求項１４から１８のいずれか１項に記載の識別システム。
【請求項２０】
前記複数の第１識別器はそれぞれ、異なる学習条件の機械学習により構築されている、
請求項１４から１９のいずれか１項に記載の識別システム。
【請求項２１】
所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【請求項２２】
所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築する学習処理部と、
判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、
取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、
を備える、
識別システム。
【請求項２３】
所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、
機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、
前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、
を備える、
学習データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査システム、識別システム、及び学習データ生成装置に関する。
【背景技術】
【０００２】
従来、生産ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献１では、学習済みの第１のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第２のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０２６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本件発明者は、特許文献１のような学習済みのニューラルネットワーク等の識別器を利用して、画像データから製品の良否を判定する従来の技術には次のような問題点があることを見出した。すなわち、製品の良否判定を機械学習するには、良否の状態が表れた製品の写る多くの学習データを利用する。この多くの学習データを一度に利用して機械学習を実施した場合、学習データに表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。例えば、学習データである画像に写る製品の欠陥が特定の欠陥（例えば、打痕）に偏っている場合には、その他の欠陥（例えば、汚れ）を判定する識別器を構築することができない。また、例えば、小さな打痕等の良否の識別が困難な学習データのみを収集して機械学習を実施すると、機械学習そのものに時間がかかってしまう他、不良品としなくてもよい小さなシミを不良品と判定する識別器が構築されてしまう可能性がある。すなわち、従来の技術では、製品の良否を判定する能力を獲得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができず、製品の良否の判定を精度よく実施することができない可能性があるという問題点があることを本件発明者は見出した。
【０００５】
なお、この問題点は、製品の良否を判定する場面に特有のものではない。画像データから被写体の何らかの状態を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、データに含まれる特徴を判定する能力を習得するための機械学習を実施するのに十分な件数の学習データを用意しても、性能の高い識別器を得ることができない可能性がある。
【０００６】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００８】
すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
【０００９】
機械学習に利用するための学習用データセットのなかには、識別しやすい（すなわち、良否の判定が容易な）学習用データセットと、識別し難い（すなわち、良否の判定が困難な）学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。
【００１０】
そこで、当該構成では、製品の良否の判定を機械学習により習得済みである複数の第１識別器それぞれを利用して、学習用データ群に含まれる各件の学習用データセットに良否の判定の難易度を設定する。具体的には、各件の学習用データセットの画像データを各第１識別器に入力することで、入力した画像データに写る製品の良否を判定した結果に対応する出力値を各第１識別器から取得する。そして、各第１識別器から取得した出力値が正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに良否の判定の難易度を設定する。すなわち、各第１識別器により良否の判定を正しく行うことができるほど、対応する学習用データセットの難易度を低く設定し、各第１識別器により良否の判定を正しく行うことができないほど、対応する学習用データセットの難易度を高く設定する。
【００１１】
各第１識別器は、学習用データ群に含まれる一部の学習用データセットを利用した機械学習により構築された暫定的な識別器であってよい。難易度の低い学習用データセットに対する各第１識別器の良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセットに対する各第１識別器の良否の判定は誤りやすい傾向にある。そのため、各第１識別器が、学習用データセットに含まれる画像データに写る製品の良否の判定を完全に正しく実施することができなくても、上記の処理により、一応の確からしさをもって、各件の学習用データセットの難易度を設定することができる。
【００１２】
そして、当該構成では、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第２識別器を構築する。これによって、難易度の低い学習用データセットにより学習用データ群に表れる良否の判定の全体的（マクロ）な傾向を第２識別器に習得させた後に、難易度の高い学習用データセットにより学習用データ群に表れる良否の判定の詳細（ミクロ）な傾向を第２識別器に習得させることができる。
【００１３】
したがって、機械学習の過程において、学習用データセットに表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。すなわち、用意した学習用データ群により達成可能な比較的に汎化性能の高い第２識別器を構築することができるようになる。そのため、当該構成によれば、これにより構築された第２識別器により、対象画像データに写る製品の良否の判定を比較的に精度よく実施することができる。
【００１４】
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「製品の良否を判定する」ことは、例えば、製品に傷等の欠陥が存在するか否かを判定すること、製品に存在する欠陥の種別を特定すること、製品に欠陥が存在する又は存在しない確率を導出すること等の処理を含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。また、各件の学習用データセットの難易度を適切に評価する観点からは、複数の第１識別器はそれぞれ、異なる学習条件の機械学習により構築されるのが好ましい。「学習条件」は、機械学習のパラメータ、利用する学習データ（学習用データセット）等によって特定することができる。「異なる学習条件」は、例えば、機械学習のパラメータ及び利用する学習データの少なくとも一方が相違することである。
【００１５】
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第１識別器から取得した出力値に基づいて前記製品の良否を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第２識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
【００１６】
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記複数の第１識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第２識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
【００１７】
上記一側面に係る検査システムにおいて、前記難易度設定部は、前記出力値に基づいて前記製品の良否を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第１識別器の数が多い学習用データセットほど低い難易度に設定してもよい。当該構成によれば、各件の学習用データセットに良否の判定の難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第２識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
【００１８】
上記一側面に係る検査システムにおいて、前記各第１識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。当該構成によれば、第２識別器を構築するために用意した学習用データセットを、各第１識別器を構築するための学習用データセットとしても利用可能である。そのため、各第１識別器の機械学習に利用する学習用データセットを別途用意する手間を省略することができる。
【００１９】
上記一側面に係る検査システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記画像データと類似する追加の画像データを収集し、収集した前記追加の画像データに対して、前記追加の画像データに写る前記製品の良否の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。当該構成によれば、用意した学習用データ群に含まれる学習用データセットの件数が不十分である場合に、第２識別器の識別性能を高めるのに資する学習用データセットを追加的に収集することができる。そのため、識別性能の比較的に高い第２識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
【００２０】
また、上記各形態に係る検査システムでは、複数の識別器（第１識別器）を利用して、各件の学習用データセットの難易度を判定している。しかしながら、学習用データセットの難易度を判定する方法は、このような例に限定されなくてもよく、１つの識別器を利用することで、各件の学習用データセットの難易度を判定してもよい。例えば、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離（ノルム）を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
【００２１】
識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。この距離は、例えば、ユークリッド距離により算出されてよい。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。したがって、当該構成によれば、第１識別器の決定境界と出力値との距離に基づいて、各件の学習用データセットの難易度を適切に設定することができる。そのため、用意した学習用データ群により達成可能な比較的に汎化性能の高い第２識別器を構築することができ、これによって、対象画像データに写る製品の良否を比較的に精度よく実施することができるようになる。
【００２２】
また、上記各形態に係る検査システムから、例えば、難易度を設定する部分、第２識別器により良否の判定を行う部分等の一部分を抽出して他の形態に係る装置を構成してもよい。
【００２３】
例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００２４】
また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００２５】
更に、上記各形態に係る検査システム及び学習データ生成装置は、製品の写る画像データ以外の画像データに写る被写体の状態を判定する場面、画像データ以外の他種のデータに含まれる特徴を判定する場面等の、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用されてよい。
【００２６】
例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
【００２７】
なお、「被写体」は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の「状態」は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ（器官を含む）の位置（特定の器官同士の相対位置関係を含む）、顔のパーツの形状、顔のパーツの色、顔のパーツの状態（開度、角度等）、その顔を所有する個人等であってよい。また、被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってよい。
【００２８】
また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００２９】
また、例えば、本発明の一側面に係る識別システムは、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定する状態判定部と、を備える。
【００３０】
また、例えば、本発明の一側面に係る学習データ生成装置は、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００３１】
また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
【００３２】
なお、所定種類の「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。
【００３３】
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第１識別器から取得した出力値に基づいて前記特徴を判定した結果が前記正解データの示す正解と一致する比率が高い学習用データセットほど低い難易度に設定してもよい。
【００３４】
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記複数の第１識別器それぞれから取得した出力値の和又は積が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定してもよい。
【００３５】
上記一側面に係る識別システムにおいて、前記難易度設定部は、前記出力値に基づいて前記特徴を判定した結果が、所定の確信度以上で前記正解データの示す正解と一致している第１識別器の数が多い学習用データセットほど低い難易度に設定してもよい。
【００３６】
上記一側面に係る識別システムにおいて、前記各第１識別器は、前記学習用データ群から選択された複数件の学習用データセットにより構成された部分データ群を利用した機械学習により構築されていてもよい。
【００３７】
上記一側面に係る識別システムにおいて、前記学習用データ取得部は、前記各件の学習用データセットに設定した前記難易度に基づいて、前記学習用データ群から特定の難易度の学習用データセットを抽出し、抽出した前記特定の難易度の学習用データセットに含まれる前記データと類似する追加のデータを収集し、収集した前記追加のデータに対して、前記データに含まれる前記特徴の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成し、生成した前記新たな学習用データセットを前記学習用データ群に追加してもよい。
【００３８】
また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００３９】
また、例えば、本発明の一側面に係る識別システムは、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築する学習処理部と、判定する対象となる前記特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定する特徴判定部と、を備える。
【００４０】
また、例えば、本発明の一側面に係る学習データ生成装置は、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する学習用データ取得部と、機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定する難易度設定部と、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存する保存処理部と、を備える。
【００４１】
なお、上記各形態に係る検査システム、識別システム、及び学習データ生成装置の別の態様として、本発明は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。
【００４２】
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
【００４３】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【００４４】
また、例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記製品の良否を判定する第２識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
【００４５】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、製品の写る画像データ、及び前記画像データに写る前記製品の良否の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記製品の良否を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記製品の良否を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記製品の良否を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに良否の判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【００４６】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築する学習処理部と、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
【００４７】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記被写体の状態を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【００４８】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記被写体の状態を判定する第２識別器を構築するステップと、状態を判定する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象画像データに写る前記被写体の状態を判定するステップと、を実行する、情報処理方法である。
【００４９】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、画像データ、及び前記画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記被写体の状態を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記画像データを入力することで、入力した前記画像データに写る前記被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記被写体の状態を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【００５０】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
【００５１】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、前記特徴を判定する能力を機械学習により習得済みである複数の第１識別器それぞれに前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得し、前記複数の第１識別器それぞれから取得した出力値が、前記正解データの示す正解に適合する度合いに応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【００５２】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、設定された前記難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、前記特徴を判定する第２識別器を構築するステップと、判定する対象となる前記特徴を含む対象データを取得するステップと、取得した前記対象データを前記第２識別器に入力することで、前記第２識別器から出力値を取得し、前記第２識別器から取得した前記出力値に基づいて、前記対象データに含まれる前記特徴を判定するステップと、を実行する、情報処理方法である。
【００５３】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定種類のデータ、及び前記データに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得するステップと、機械学習により前記特徴を判定する能力を習得済みである第１識別器に前記各件の学習用データセットの前記データを入力することで、入力した前記データに含まれる前記特徴を判定した結果に対応する出力値を当該第１識別器から取得し、前記第１識別器から取得した出力値と前記特徴を判定するための前記第１識別器の決定境界との距離を算出し、算出した距離に応じて、前記各件の学習用データセットに判定の難易度を設定するステップと、前記各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した当該難易度データを前記学習用データ群と共に所定の記憶領域に保存するステップと、を実行する、情報処理方法である。
【発明の効果】
【００５４】
本発明によれば、データに含まれる特徴を比較的に精度よく判定可能な技術を提供することができる。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る学習データ生成装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【図８】図８は、実施の形態に係る学習装置により第１識別器を構築する処理手順の一例を例示する。
【図９】図９は、実施の形態に係る学習データ生成装置の処理手順の一例を例示する。
【図１０】図１０は、実施の形態に係る学習装置により第２識別器を構築する処理手順の一例を例示する。
【図１１】図１１は、実施の形態に係る検査装置の処理手順の一例を例示する。
【図１２】図１２は、実施の形態に係る学習データ生成装置により追加の学習用データセットを収集する処理手順の一例を例示する。
【図１３】図１３は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。
【図１４】図１４は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
【図１５】図１５は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。
【図１６】図１６は、他の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図１７】図１７は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００５６】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００５７】
§１  適用例
まず、本発明の基本的な構成の一例について説明する。学習用データセットを利用した機械学習により識別器を構築する場合に、次のような問題が生じ得る。すなわち、多くの学習用データセットを一度に利用して機械学習を実施すると、学習用データ群に表れる特徴を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。これにより、機械学習を実施するのに十分な件数の学習用データセットを用意しても、用意した学習用データセットにより構築した識別器では、対象のデータに含まれる特徴を比較的に精度よく判定することができない可能性がある。
【００５８】
そこで、本発明の一例では、所定種類のデータ、及び当該所定種類のデータに含まれる特徴の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、特徴を判定する能力を予め機械学習済みである１又は複数の第１識別器を利用して、各件の学習用データセットに判定の難易度を設定する。そして、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することで、特徴を判定する能力を習得した第２識別器を構築する。
【００５９】
これにより、本発明の一例では、機械学習の過程において、学習用データセットに表れる特徴を判定する局所解に陥り難くすることができ、用意した学習用データ群を有効に利用した機械学習を行うことができるようになる。したがって、本発明の一例によれば、これにより構築された第２識別器により、当該対象のデータに含まれる特徴の判定を比較的に精度よく実施することができる。
【００６０】
次に、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を製品の外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習用データセットを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
【００６１】
図１で例示される検査システム１００は、ネットワークを介して接続される学習データ生成装置１、学習装置２、及び検査装置３を備えており、製品の良否を検査するように構成される。学習データ生成装置１、学習装置２、及び検査装置３の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００６２】
なお、図１の例では、学習データ生成装置１、学習装置２、及び検査装置３は、別個のコンピュータである。しかしながら、検査システム１００の構成は、このような例に限定されなくてもよい。学習データ生成装置１、学習装置２、及び検査装置３のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置１、学習装置２、及び検査装置３はそれぞれ複数台のコンピュータにより構成されてもよい。
【００６３】
本実施形態に係る学習データ生成装置１は、判定の難易度が設定された学習用データセットを生成するように構成されたコンピュータである。具体的には、まず、学習データ生成装置１は、製品の写る画像データ１２２、及び画像データ１２２に写る製品の良否の判定に対する正解を示す正解データ１２３の組み合わせをそれぞれ含む複数件の学習用データセット１２１により構成された学習用データ群を取得する。
【００６４】
次に、学習データ生成装置１は、製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器５それぞれに各件の学習用データセット１２１の画像データ１２２を入力する。本実施形態では、複数の第１識別器５はそれぞれ、異なる学習条件の機械学習により構築される。これにより、学習データ生成装置１は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を各第１識別器５から取得する。
【００６５】
そして、学習データ生成装置１は、各第１識別器５から取得した出力値が、正解データ１２３により示される正解に適合する度合いに応じて、各件の学習用データセット１２１に良否の判定の難易度を設定する。具体的には、学習データ生成装置１は、各第１識別器５により良否の判定を正しく行うことができるほど、対応する学習用データセット１２１の難易度を低く設定し、各第１識別器５により良否の判定を正しく行うことができないほど、対応する学習用データセット１２１の難易度を高く設定する。
【００６６】
一方、本実施形態に係る学習装置２は、難易度の設定された学習用データセット１２１を利用して、製品の良否を判定する第２識別器６を生成するコンピュータである。具体的には、学習装置２は、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第２識別器６を構築する。
【００６７】
また、本実施形態に係る検査装置３は、構築された第２識別器６を利用して、製品Ｒの外観検査を行うコンピュータである。具体的には、まず、検査装置３は、検査の対象となる製品Ｒの写る対象画像データ３２１を取得する。本実施形態では、検査装置３は、カメラ４１と接続されており、このカメラ４１により製品Ｒを撮影することで、対象画像データ３２１を取得する。
【００６８】
次に、検査装置３は、取得した対象画像データ３２１を第２識別器６に入力することで、当該第２識別器６から出力値を取得する。そして、検査装置３は、第２識別器６から取得した出力値に基づいて、対象画像データ３２１に写る製品Ｒの良否を判定する。これにより、検査装置３は、製品Ｒの外観検査を行う。
【００６９】
以上のとおり、本実施形態に係る検査システム１００では、製品の良否の判定を機械学習により習得済みである複数の第１識別器５を利用して、学習用データ群１２０に含まれる各件の学習用データセット１２１に良否の判定の難易度を設定する。特に、本実施形態では、異なる学習条件の機械学習により構築された複数の第１識別器５を利用して、各件の学習用データセット１２１に良否の判定の難易度を設定する。難易度の低い学習用データセット１２１に対する良否の判定は誤り難い傾向にある一方で、難易度の高い学習用データセット１２１に対する良否の判定は誤りやすい傾向にある。そのため、各第１識別器５の判定性能が優れたものではなくても、上記各第１識別器５を利用した判定により、各件の学習用データセット１２１の難易度を適切に設定することができる。
【００７０】
そして、本実施形態では、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する第２識別器６を構築する。これによって、まずは、難易度の低い学習用データセット１２１を利用した機械学習により、学習用データ群１２０に表れる良否の判定の全体的な傾向を第２識別器６に習得させることができる。その後、難易度の高い学習用データセット１２１を利用した機械学習により、学習用データ群１２０に表れる良否の判定の詳細な傾向を第２識別器６に習得させることができる。
【００７１】
したがって、本実施形態によれば、機械学習の過程において、学習用データ群１２０に表れる製品の良否を判定する局所解に陥り難くすることができ、用意した学習用データ群１２０を有効に利用した機械学習を実施することができるようになる。すなわち、用意した学習用データ群１２０により達成可能な比較的に汎化性能の高い第２識別器６を構築することができるようになる。そのため、本実施形態に係る検査装置３では、これにより構築された第２識別器６を利用することで、対象画像データ３２１に写る製品Ｒの良否の判定を比較的に精度よく実施することができる。
【００７２】
なお、外観検査の対象となる製品Ｒは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Ｒは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Ｒに欠陥があるか否かを単に判定することであってもよいし、製品Ｒに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
【００７３】
§２  構成例
［ハードウェア構成］
＜学習データ生成装置＞
次に、図２を用いて、本実施形態に係る学習データ生成装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る学習データ生成装置１のハードウェア構成の一例を模式的に例示する。
【００７４】
図２に示されるとおり、本実施形態に係る学習データ生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００７５】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、生成プログラム８１、学習用データ群１２０、複数件の第１学習結果データ２２４、難易度データ１２５等の各種情報を記憶する。
【００７６】
生成プログラム８１は、各件の学習用データセット１２１に良否の判定の難易度が設定された学習用データ群１２０を生成する後述の情報処理（図９、図１２）を学習データ生成装置１に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。学習用データ群１２０は、第２識別器６の機械学習に利用され、複数件の学習用データセット１２１により構成される。各件の学習用データセット１２１は、製品の写る画像データ１２２、及び画像データ１２２に写る製品の良否の判定に対する正解を示す正解データ１２３の組み合わせを含んでいる。各件の第１学習結果データ２２４は、学習済みの第１識別器５の設定を行うためのデータである。難易度データ１２５は、各件の学習用データセット１２１と後述の情報処理により設定した難易度との対応関係を示す。詳細は後述する。
【００７７】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置２）と行うことができる。
【００７８】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を利用することで、学習データ生成装置１を操作することができる。
【００７９】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記生成プログラム８１、学習用データ群１２０、及び複数件の第１学習結果データ２２４の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００８０】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置１は、この記憶媒体９１から、上記生成プログラム８１、学習用データ群１２０、及び複数件の第１学習結果データ２２４の少なくともいずれかを取得してもよい。
【００８１】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００８２】
なお、学習データ生成装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。学習データ生成装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習データ生成装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。
【００８３】
＜学習装置＞
次に、図３を用いて、本実施形態に係る学習装置２のハードウェア構成の一例について説明する。図３は、本実施形態に係る学習装置２のハードウェア構成の一例を模式的に例示する。
【００８４】
図３に示されるとおり、本実施形態に係る学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、及びドライブ２６が電気的に接続されたコンピュータである。なお、図３では、図２と同様に、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００８５】
学習装置２は、上記学習データ生成装置１と同様の構成を有している。制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、学習プログラム８２、学習用データ群１２０、複数件の第１学習結果データ２２４、難易度データ１２５、第２学習結果データ２２９等の各種情報を記憶する。
【００８６】
学習プログラム８２は、各第１識別器５及び第２識別器６を構築する後述の機械学習の情報処理（図８、図１０）を学習装置２に実行させ、その結果として第１学習結果データ２２４及び第２学習結果データ２２９を生成させるためのプログラムである。第２学習結果データ２２９は、学習済みの第２識別器６の設定を行うためのデータである。詳細は後述する。
【００８７】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習データ生成装置１及び検査装置３）と行うことができる。
【００８８】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を利用することで、学習装置２を操作することができる。
【００８９】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ２６及び記憶媒体９１はそれぞれ、上記ドライブ１６及び記憶媒体９１それぞれと同様に構成されてよい。上記学習プログラム８２、学習用データ群１２０、及び難易度データ１２５のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、学習装置２は、記憶媒体９２から、上記学習プログラム８２、学習用データ群１２０、及び難易度データ１２５のうちの少なくともいずれかを取得してもよい。
【００９０】
なお、学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５及びドライブ２６の少なくともいずれかは省略されてもよい。学習装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００９１】
＜検査装置＞
次に、図４を用いて、本実施形態に係る検査装置３のハードウェア構成の一例について説明する。図４は、本実施形態に係る検査装置３のハードウェア構成の一例を模式的に例示する。
【００９２】
図４に示されるとおり、本実施形態に係る検査装置３は、制御部３１、記憶部３２、通信インタフェース３３、外部インタフェース３４、入力装置３５、出力装置３６、及びドライブ３７が電気的に接続されたコンピュータである。なお、図４では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００９３】
外部インタフェース３４を備える点を除き、検査装置３は、上記学習データ生成装置１及び学習装置２と同様の構成を有している。制御部３１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部３２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部３２は、検査プログラム８３、第２学習結果データ２２９等の各種情報を記憶する。
【００９４】
検査プログラム８３は、第２識別器６を利用して、対象画像データ３２１に写る製品Ｒの良否を判定する後述の情報処理（図１１）を検査装置３に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。詳細は後述する。
【００９５】
通信インタフェース３３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置３は、この通信インタフェース３３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置２）と行うことができる。
【００９６】
外部インタフェース３４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース３４の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置３は、外部インタフェース３４を介して、カメラ４１に接続される。
【００９７】
カメラ４１は、製品Ｒを撮影することで、対象画像データ３２１を取得するのに利用される。カメラ４１の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ４１には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ４１は、製品Ｒが搬送される生産ラインの近傍に配置されてよい。なお、カメラ４１が通信インタフェースを備える場合、検査装置３は、外部インタフェース３４ではなく、通信インタフェース３３を介して、カメラ４１に接続されてもよい。
【００９８】
入力装置３５は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置３６は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置３５及び出力装置３６を利用することで、検査装置３を操作することができる。
【００９９】
ドライブ３７は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９３に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ３７及び記憶媒体９３はそれぞれ、上記ドライブ１６及び記憶媒体９１それぞれと同様に構成されてよい。上記検査プログラム８３及び第２学習結果データ２２９のうちの少なくともいずれかは、記憶媒体９３に記憶されていてもよい。また、検査装置３は、記憶媒体９３から、上記検査プログラム８３及び第２学習結果データ２２９のうちの少なくともいずれかを取得してもよい。
【０１００】
なお、検査装置３の具体的なハードウェア構成に関して、上記学習データ生成装置１及び学習装置２と同様に、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部３１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部３２は、制御部３１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース３３、外部インタフェース３４、入力装置３５、出力装置３６及びドライブ３７の少なくともいずれかは省略されてもよい。検査装置３は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置３は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップＰＣ、ノートＰＣ、タブレットＰＣ、スマートフォンを含む携帯電話等が用いられてよい。
【０１０１】
［ソフトウェア構成］
＜学習データ生成装置＞
次に、図５を用いて、本実施形態に係る学習データ生成装置１のソフトウェア構成の一例を説明する。図５は、本実施形態に係る学習データ生成装置１のソフトウェア構成の一例を模式的に例示する。
【０１０２】
学習データ生成装置１の制御部１１は、記憶部１２に記憶された生成プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された生成プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図５に示されるとおり、本実施形態に係る学習データ生成装置１は、学習用データ取得部１１１、難易度設定部１１２、及び保存処理部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【０１０３】
学習用データ取得部１１１は、製品の写る画像データ１２２、及び画像データ１２２に写る製品の良否の判定に対する正解を示す正解データ１２３の組み合わせをそれぞれ含む複数件の学習用データセット１２１により構成された学習用データ群１２０を取得する。
【０１０４】
難易度設定部１１２は、製品の良否を判定する能力を機械学習により習得済みである複数の第１識別器５を含んでいる。難易度設定部１１２は、各件の学習用データセット１２１の画像データ１２２を各第１識別器５に入力することで、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を各第１識別器５から取得する。そして、難易度設定部１１２は、各第１識別器５から取得した出力値が、正解データ１２３の示す正解に適合する度合いに応じて、各件の学習用データセット１２１に良否の判定の難易度を設定する。なお、本実施形態では、複数の第１識別器５はそれぞれ、異なる学習条件の機械学習により構築される。ただし、難易度設定部１１２に含まれる複数の第１識別器５は、このような例に限定されなくてもよい。難易度設定部１１２に含まれる複数の第１識別器５の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。
【０１０５】
保存処理部１１３は、各件の学習用データセット１２１と設定した難易度との対応関係を示す難易度データ１２５を生成する。そして、保存処理部１１３は、生成した難易度データ１２５を学習用データ群１２０と共に所定の記憶領域（例えば、記憶部１２）に保存する。
【０１０６】
また、学習用データ取得部１１１は、各件の学習用データセット１２１に設定した難易度に基づいて、学習用データ群１２０から特定の難易度の学習用データセット１８０を抽出する。次に、学習用データ取得部１１１は、抽出した特定の難易度の学習用データセット１８０に含まれる画像データ１２２と類似する追加の画像データ１８２を収集する。続いて、学習用データ取得部１１１は、収集した追加の画像データ１８２に対して、当該追加の画像データ１８２に写る製品の良否の判定に対する正解を示す正解データ１８３を付与することで、新たな学習用データセット１８１を生成する。そして、学習用データ取得部１１１は、生成した新たな学習用データセット１８１を学習用データ群１２０に追加する。
【０１０７】
（識別器）
次に、各第１識別器５の構成について説明する。図５に示されるとおり、本実施形態に係る第１識別器５は、ニューラルネットワークにより構成される。具体的には、第１識別器５は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されており、入力層５１、中間層（隠れ層）５２、及び出力層５３を備えている。
【０１０８】
なお、図５の例では、第１識別器５を構成するニューラルネットワークは、１層の中間層５２を備えており、入力層５１の出力が中間層５２に入力され、中間層５２の出力が出力層５３に入力されている。ただし、中間層５２の数は、１層に限られなくてもよい。第１識別器５は、２層以上の中間層５２を備えてもよい。
【０１０９】
各層５１〜５３は、１又は複数のニューロンを備えている。例えば、入力層５１のニューロンの数は、画像データ１２２に応じて設定されてよい。中間層５２のニューロンの数は、実施の形態に応じて適宜設定されてよい。また、出力層５３のニューロンの数は、正解データ１２３の示す正解の種別数等に応じて設定されてよい。
【０１１０】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図５の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【０１１１】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。難易度設定部１１２は、各第１識別器５の入力層５１に画像データ１２２を入力し、ニューラルネットワークの演算処理として、各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、難易度設定部１１２は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を出力層５３から取得する。
【０１１２】
なお、各第１識別器５（ニューラルネットワーク）の構成（例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、各件の第１学習結果データ２２４に含まれている。難易度設定部１１２は、各件の第１学習結果データ２２４を参照して、難易度の判定に利用する各第１識別器５の設定を行う。
【０１１３】
＜学習装置＞
次に、図６を用いて、本実施形態に係る学習装置２のソフトウェア構成の一例について説明する。図６は、本実施形態に係る学習装置２のソフトウェア構成の一例を模式的に例示する。
【０１１４】
学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム８２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係る学習装置２は、データ取得部２１１、及び学習処理部２１２をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【０１１５】
データ取得部２１１は、機械学習に利用する学習用データ群１２０を取得する。学習処理部２１２は、学習用データ群１２０に含まれる複数件の学習用データセット１２１を利用して、識別器の機械学習を実施する。
【０１１６】
本実施形態では、学習処理部２１２は、学習用データ群１２０から複数件の学習用データセット１２１を選択することで、選択された複数件の学習用データセット１２１で構成される部分データ群２２１を作成する。そして、学習処理部２１２は、部分データ群２２１を利用して、第１識別器５の機械学習を行う。すなわち、学習処理部２１２は、部分データ群２２１に含まれる各件の学習用データセット１２１について、画像データ１２２を入力層５１に入力すると、入力した画像データ１２２に関連付けられた正解データ１２３に対応する出力値を出力層５３から出力するように第１識別器５の機械学習を行う。
【０１１７】
これにより、学習処理部２１２は、学習済みの第１識別器５を構築する。そして、学習処理部２１２は、学習済みの第１識別器５の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ２２４として記憶部２２に格納する。なお、上記機械学習において、ニューラルネットワークのパラメータ及び部分データ群２２１を構成する学習用データセット１２１の少なくとも一方を変更することで、学習条件を異ならせることができる。学習処理部２１２は、学習条件を変更して上記一連の処理を繰り返すことで、異なる学習条件で機械学習済みである複数の第１識別器５を構築することができる。他方、学習処理部２１２は、学習条件を変更せずに上記一連の処理を繰り返すことで、同一の学習条件で機械学習済みである２つ以上の第１識別器５を構築することができる。
【０１１８】
また、学習処理部２１２は、学習用データ群１２０を利用して、第２識別器６の機械学習を行う。すなわち、学習処理部２１２は、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第２識別器６を構築する。
【０１１９】
例えば、学習処理部２１２は、難易度データ１２５を参照して、設定された難易度に応じて学習用データ群１２０に含まれる各件の学習用データセット１２１を複数のグループに分類する。そして、学習処理部２１２は、分類した複数のグループのうち、設定された難易度の低い学習用データセット１２１を含むグループから順に機械学習に利用する。
【０１２０】
つまり、学習処理部２１２は、最も難易度の低い学習用データセット１２１を含むグループ２２６について、画像データ１２２を入力すると、入力した画像データ１２２に関連付けられた正解データ１２３に対応する出力値を出力するように第２識別器６の機械学習を行う。グループ２２６の機械学習が完了した後、学習処理部２１２は、グループ２２６の次に難易度の高いグループについて、同様の機械学習の処理を実行する。学習処理部２１２は、最も難易度の高い学習用データセット１２１を含むグループ２２８の機械学習が完了するまで、この一連の処理を繰り返す。これにより、学習処理部２１２は、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第２識別器６を構築することができる。
【０１２１】
なお、図６に示されるとおり、第２識別器６は、第１識別器５と同様に、ニューラルネットワークにより構成されている。第２識別器６は、第１識別器５と同様に構成されてよい。すなわち、入力層６１、中間層（隠れ層）６２、及び出力層６３は、第１識別器５の各層５１〜５３と同様に構成されてよい。ただし、第２識別器６のニューラルネットワークの構造は、第１識別器５と一致していなくてもよい。例えば、第２識別器６を構成するニューラルネットワークの層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第１識別器５を構成するニューラルネットワークと異なっていてもよい。機械学習の処理が完了した後、学習処理部２１２は、学習済みの第２識別器６の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９として記憶部２２に格納する。
【０１２２】
＜検査装置＞
次に、図７を用いて、本実施形態に係る検査装置３のソフトウェア構成の一例について説明する。図７は、本実施形態に係る検査装置３のソフトウェア構成の一例を模式的に例示する。
【０１２３】
検査装置３の制御部３１は、記憶部３２に記憶された検査プログラム８３をＲＡＭに展開する。そして、制御部３１は、ＲＡＭに展開された検査プログラム８３をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図７に示されるとおり、本実施形態に係る検査装置３は、対象データ取得部３１１、良否判定部３１２、及び出力部３１３をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部３１（ＣＰＵ）により実現される。
【０１２４】
対象データ取得部３１１は、検査の対象となる製品Ｒの写る対象画像データ３２１を取得する。本実施形態では、対象データ取得部３１１は、カメラ４１により製品Ｒを撮影することで、対象画像データ３２１を取得する。良否判定部３１２は、学習済みの第２識別器６を含んでいる。良否判定部３１２は、第２学習結果データ２２９を参照して、学習済みの第２識別器６の設定を行う。そして、良否判定部３１２は、取得した対象画像データ３２１を第２識別器６に入力して、当該第２識別器６の演算処理を実行することで、当該第２識別器６から出力値を取得する。第２識別器６の出力値は、入力した対象画像データ３２１に写る製品Ｒの良否を判定した結果に対応する。そこで、良否判定部３１２は、第２識別器６から取得した出力値に基づいて、対象画像データ３２１に写る製品Ｒの良否を判定する。出力部３１３は、製品Ｒの良否を判定した結果、すなわち、外観検査の結果を出力する。
【０１２５】
＜その他＞
学習データ生成装置１、学習装置２、及び検査装置３の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置１、学習装置２、及び検査装置３の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置１、学習装置２、及び検査装置３それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【０１２６】
§３  動作例
［第１識別器の作成手順］
次に、図８を用いて、第１識別器５を構築する際の学習装置２の動作例について説明する。図８は、本実施形態に係る学習装置２により第１識別器５を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１２７】
（ステップＳ１０１）
ステップＳ１０１では、制御部２１は、データ取得部２１１として動作し、学習用データ群１２０を取得する。
【０１２８】
学習用データ群１２０を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Ｒと同種の製品であって、欠陥のある製品（不良品）及び欠陥のない製品（良品）それぞれを、用意したカメラにより様々な条件で撮影することで、良否の表れた製品の写る画像データ１２２を取得することができる。そして、得られた画像データ１２２に対して、その画像データ１２２に写る製品に表れた良否（正解）を示す正解データ１２３を組み合わせることで、学習用データセット１２１を作成することができる。正解データ１２３の具体的な内容は、後述する良否判定の形態に応じて適宜決定されてよい。この学習用データセット１２１の作成を繰り替えることで、複数件の学習用データセット１２１で構成された学習用データ群１２０を作成することができる。
【０１２９】
なお、この学習用データ群１２０の作成は、学習装置２により行われてもよい。この場合、制御部２１は、オペレータによる入力装置２４の操作に応じて、学習用データ群１２０を作成してもよい。また、制御部２１は、学習プログラム８２の処理により、学習用データ群１２０を自動的に作成してもよい。この作成処理を実行することで、本ステップＳ１０１では、制御部２１は、学習用データ群１２０を取得することができる。
【０１３０】
あるいは、学習用データ群１２０の作成は、例えば、学習データ生成装置１等の学習装置２以外の他の情報処理装置により行われてもよい。他の情報処理装置では、学習用データ群１２０は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップＳ１０１では、制御部２１は、ネットワーク、記憶媒体９２等を介して、他の情報処理装置により作成された学習用データ群１２０を取得してもよい。
【０１３１】
学習用データ群１２０を構成する学習用データセット１２１の件数は、特に限定されなくてもよく、例えば、後述する第２識別器６の機械学習を実施可能な程度に適宜決定されてよい。これにより、学習用データ群１２０を取得すると、制御部２１は、次のステップＳ１０２に処理を進める。
【０１３２】
（ステップＳ１０２）
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、第１識別器５の機械学習に利用する複数件の学習用データセット１２１を学習用データ群１２０から選択する。これにより、制御部２１は、選択された複数件の学習用データセット１２１で構成される部分データ群２２１を作成する。
【０１３３】
利用する学習用データセット１２１を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、第１識別器５の機械学習に利用する複数件の学習用データセット１２１を学習用データ群１２０からランダムに選択してもよい。また、例えば、制御部２１は、所定の基準に従って、複数件の学習用データセット１２１を学習用データ群１２０から選択してもよい。また、例えば、制御部２１は、オペレータによる入力装置２４の操作に応じて、複数件の学習用データセット１２１を学習用データ群１２０から選択してもよい。部分データ群２２１の作成が完了すると、制御部２１は、次のステップＳ１０３に処理を進める。
【０１３４】
（ステップＳ１０３）
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ステップＳ１０２で作成した部分データ群２２１を利用した機械学習により、製品の良否を判定する能力を習得した第１識別器５を構築する。本実施形態では、制御部２１は、部分データ群２２１を構成する各件の学習用データセット１２１を用いて、画像データ１２２を入力層５１に入力すると、正解データ１２３に対応する出力値を出力層５３から出力するようにニューラルネットワークの機械学習を実施する。
【０１３５】
具体的には、まず、制御部２１は、学習処理を行う対象となるニューラルネットワーク（学習前の第１識別器５）を用意する。用意するニューラルネットワークの構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。
【０１３６】
次に、制御部２１は、ステップＳ１０２で作成した部分データ群２２１を構成する各件の学習用データセット１２１に含まれる画像データ１２２を入力データとして用い、正解データ１２３を教師データとして用いて、ニューラルネットワークの学習処理を実行する。このニューラルネットワークの学習処理には、確率的勾配降下法等が用いられてよい。
【０１３７】
例えば、制御部２１は、画像データ１２２を入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、出力層５３から出力値を得る。次に、制御部２１は、出力層５３から得た出力値と正解データ１２３により示される正解に対応する値との誤差を算出する。続いて、制御部２１は、誤差逆伝搬（Back propagation）法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１３８】
制御部２１は、部分データ群２２１を構成する各件の学習用データセット１２１について、ニューラルネットワークから出力される出力値が正解データ１２３により示される正解に対応する値と一致するまでこの一連の処理を繰り返す。これにより、制御部２１は、画像データ１２２を入力すると、正解データ１２３により示される正解に対応する出力値を出力する学習済みの第１識別器５を構築することができる。第１識別器５の学習処理が完了すると、制御部２１は、次のステップＳ１０４に処理を進める。
【０１３９】
（ステップＳ１０４）
ステップＳ１０４では、制御部２１は、学習処理部２１２として動作し、機械学習により構築された第１識別器５の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ２２４として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０１４０】
制御部２１は、上記ステップＳ１０１〜Ｓ１０４の一連の処理を繰り返すことで、複数の第１識別器５を構築することができる。この一連の処理を繰り返す際に、制御部２１は、ステップＳ１０２において選択する学習用データセット１２１を変更する、及び／又はステップＳ１０３において用意するニューラルネットワークのパラメータの値を変更する。これにより、制御部２１は、製品の良否の判定を異なる学習条件で機械学習済みである複数の第１識別器５それぞれを構築する。
【０１４１】
ただし、複数の第１識別器５は、このような例に限定されなくてもよい。複数の第１識別器５の少なくともいずれかのペアは、同一の学習条件の機械学習により構築されてよい。制御部２１は、学習条件を変更せずに上記ステップＳ１０１〜Ｓ１０４の一連の処理を繰り返すことで、同一の学習条件で機械学習済みである２つ以上の第１識別器５を構築することができる。
【０１４２】
なお、学習済みの第１識別器５を構築した後、制御部２１は、作成した第１学習結果データ２２４を学習データ生成装置１に転送してもよい。また、例えば、制御部２１は、作成した第１学習結果データ２２４をＮＡＳ（Network Attached Storage）等のデータサーバに保管してもよい。この場合、学習データ生成装置１は、このデータサーバから第１学習結果データ２２４を取得してもよい。また、各件の第１学習結果データ２２４は、学習データ生成装置１に予め組み込まれていてもよい。
【０１４３】
［難易度付き学習用データセットの作成手順］
次に、図９を用いて、難易度付きの学習用データセット１２１を作成する際の学習データ生成装置１の動作例について説明する。図９は、本実施形態に係る学習データ生成装置１により難易度付きの学習用データセット１２１を作成する処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１４４】
（ステップＳ２０１）
ステップＳ２０１では、制御部１１は、学習用データ取得部１１１として動作し、画像データ１２２及び正解データ１２３の組み合わせをそれぞれ含む複数件の学習用データセット１２１により構成された学習用データ群１２０を取得する。
【０１４５】
学習用データ群１２０の作成は、上記のとおり、学習データ生成装置１により行われてもよいし、例えば、学習装置２等の学習データ生成装置１以外の他の情報処理装置により行われてもよい。すなわち、制御部１１は、上記作成処理を実行することで、学習用データ群１２０を取得してもよい。あるいは、制御部１１は、ネットワーク、記憶媒体９１等を介して、他の情報処理装置により作成された学習用データ群１２０を取得してもよい。学習用データ群１２０を取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１４６】
（ステップＳ２０２及びＳ２０３）
ステップＳ２０２では、制御部１１は、難易度設定部１１２として動作し、各件の学習用データセット１２１の画像データ１２２を各第１識別器５に入力し、各第１識別器５の演算処理を実行する。これにより、制御部１１は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を各第１識別器５から取得する。
【０１４７】
具体的には、制御部１１は、各件の第１学習結果データ２２４を参照して、製品の良否を判定する能力を機械学習により習得済みである各第１識別器５の設定を行う。本実施形態では、各第１識別器５は、異なる学習条件の機械学習により構築されている。続いて、制御部１１は、各件の学習用データセット１２１の画像データ１２２を各第１識別器５の入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を各第１識別器５の出力層５３から取得する。
【０１４８】
なお、各第１識別器５の出力値の形式は、製品の良否を判定可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各第１識別器５の出力値は、製品に欠陥が存在するか否かを示してもよい。また、例えば、各第１識別器５の出力値は、製品に欠陥が存在する又は存在しない確率を示してもよい。また、例えば、各第１識別器５の出力値は、製品に存在する欠陥の種別を示してもよい。
【０１４９】
そして、ステップＳ２０３では、制御部１１は、各第１識別器５から取得した出力値が、正解データ１２３の示す正解に適合する度合いに応じて、各件の学習用データセット１２１に良否の判定の難易度を設定する。具体的には、制御部１１は、各第１識別器５から取得した出力値が正解に適合する度合いに基づいて、各件の学習用データセット１２１の難易度を判定し、判定した難易度を各件の学習用データセット１２１に設定する。難易度の判定は、良否の判定が容易な学習用データセット１２１ほど難易度が低く設定され、良否の判定が困難な学習用データセット１２１ほど難易度が高く設定されるように適宜行われてよい。難易度の判定は、例えば、以下の３つの方法により行うことができる。
【０１５０】
（１）第１の方法
第１の方法では、制御部１１は、複数の第１識別器５から取得した出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解と一致する比率（以下、「正答率」とも記載する）を利用して、各件の学習用データセット１２１の難易度を判定する。
【０１５１】
つまり、制御部１１は、複数の第１識別器５から取得した出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解と一致する比率が高い学習用データセット１２１ほど低い難易度に設定する。一方、制御部１１は、複数の第１識別器５から取得した出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解と一致する比率が低い学習用データセット１２１ほど高い難易度に設定する。
【０１５２】
例えば、１０個の第１識別器５を利用して、第１の学習用データセット１２１及び第２の学習用データセット１２１それぞれに対して良否の判定を行った場面を想定する。この場合に、第１の学習用データセット１２１に対して９個の第１識別器５が良否の判定を正しく行えたのに対して、第２の学習用データセット１２１に対しては３個の第１識別器５しか良否の判定を正しく行えなかったとする。このとき、制御部１１は、第１の学習用データセット１２１の難易度を低く設定し、第２の学習用データセット１２１の難易度を高く設定する。
【０１５３】
なお、制御部１１は、各第１識別器５の出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解に一致しているか否かを特定することで、各第１識別器５による判定の正答率を導出する。この各第１識別器５の出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解に一致しているか否かの特定は、各第１識別器５の出力値の形式に応じて適宜行われてよい。
【０１５４】
例えば、各第１識別器５の出力値が、製品に欠陥が存在するか否か又は製品に存在する欠陥の種別を示している場合、各第１識別器５の出力値をそのまま良否を判定した結果として利用することができる。すなわち、制御部１１は、各第１識別器５の出力値が正解データ１２３により示される正解値と一致しているか否かにより、各第１識別器５の出力値に基づいて製品の良否を判定した結果が正解に一致しているか否かを特定することができる。
【０１５５】
また、例えば、各第１識別器５の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、制御部１１は、各第１識別器５の出力値を閾値と比較することで、製品の良否を判定することができる。その結果、制御部１１は、各第１識別器５の出力値に基づいて製品の良否を判定した結果が正解データ１２３により示される正解に適合しているか否かを特定することができる。
【０１５６】
（２）第２の方法
上記のとおり、各第１識別器５の出力値は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する。そのため、各第１識別器５の出力値の和及び積も、入力した画像データ１２２に写る製品の良否を判定した結果に対応する。例えば、各第１識別器５の出力値が、製品に欠陥が存在する又は存在しない確率を示している場合、複数の第１識別器５それぞれから取得した出力値の和又は積は、製品に欠陥が存在する又は存在しない程度をそのまま示す。
【０１５７】
そこで、第２の方法では、制御部１１は、複数の第１識別器５それぞれから取得した出力値の和又は積を利用して、各件の学習用データセット１２１の難易度を判定する。すなわち、制御部１１は、複数の第１識別器５それぞれから取得した出力値の和又は積が、正解データ１２３により示される正解に適合する度合いに応じて、各件の学習用データセット１２１に良否の判定の難易度を設定する。
【０１５８】
具体的には、制御部１１は、複数の第１識別器５それぞれから取得した出力値の和又は積が、正解データ１２３により示される正解に適合しているほど、その学習用データセット１２１の難易度を低く設定する。一方、制御部１１は、複数の第１識別器５それぞれから取得した出力値の和又は積が、正解データ１２３により示される正解に適合していていないほど、その学習用データセット１２１の難易度を高く設定する。
【０１５９】
（３）第３の方法
第３の方法では、制御部１１は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ１２３により示される正解と一致している第１識別器５の数を利用して、各件の学習用データセット１２１の難易度を判定する。
【０１６０】
すなわち、制御部１１は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ１２３により示される正解と一致している第１識別器５の数が多い学習用データセット１２１ほど低い難易度に設定する。一方、制御部１１は、出力値に基づいて製品の良否を判定した結果が、所定の確信度以上で正解データ１２３により示される正解と一致している第１識別器５の数が少ない学習用データセット１２１ほど高い難易度に設定する。
【０１６１】
なお、確信度は、各第１識別器５からの出力値と決定境界との距離により導出可能である。第１識別器５からの出力値と決定境界との距離は、後述する数１により算出可能である。制御部１１は、例えば、対象の第１識別器５からの得られた出力値と決定境界との距離が所定の閾値以上である場合に、その対象の第１識別器５による判定の結果が、正解データ１２３により示される正解と所定の確信度以上で一致していると判定してもよい。つまり、制御部１１は、出力値と決定境界との距離が所定の閾値以上である第１識別器５の数に応じて、各件の学習用データセット１２１の難易度を設定してもよい。
【０１６２】
ステップＳ２０３では、制御部１１は、上記第１〜第３の方法の少なくともいずれかを採用することにより、各件の学習用データセット１２１の難易度を判定することができる。なお、難易度の表現形式は、高低を表現可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、難易度は、複数の段階（グレード）で表現されてもよい。この場合、制御部１１は、上記各方法により、各件の学習用データセット１２１の属するグレードを判定し、判定したグレードを各件の学習用データセット１２１の難易度として設定する。また、例えば、難易度は、数値（スコア）で表現されてもよい。この場合、制御部１１は、上記各方法により、各件の学習用データセット１２１の難易度のスコアを導出し、導出したスコアを各件の学習用データセット１２１の難易度として設定する。各件の学習用データセット１２１の難易度の設定が完了すると、制御部１１は、次のステップＳ２０４に処理を進める。
【０１６３】
（ステップＳ２０４及びＳ２０５）
ステップＳ２０４では、制御部１１は、保存処理部１１３として動作し、各件の学習用データセット１２１と設定した難易度との対応関係を示す難易度データ１２５を生成する。難易度データ１２５のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。難易度データ１２５のデータ形式には、例えば、テーブル形式等の公知のデータ形式を採用することができる。
【０１６４】
そして、ステップＳ２０５では、制御部１１は、保存処理部１１３として動作し、生成した難易度データ１２５を学習用データ群１２０と共に所定の記憶領域に保存する。所定の記憶領域は、記憶部１２であってもよいし、例えば、学習装置２の記憶部２２、ＮＡＳ等の外部の記憶領域であってもよい。難易度データ１２５の保存が完了すると、制御部１１は、本動作例に係る処理を終了する。
【０１６５】
なお、難易度データ１２５を生成した後、制御部１１は、生成した難易度データ１２５を学習装置２に転送してもよい。また、難易度データ１２５が記憶部１２、ＮＡＳ等に保存される場合、学習装置２は、記憶部１２、ＮＡＳ等から難易度データ１２５を取得してもよい。
【０１６６】
［第２識別器の作成手順］
次に、図１０を用いて、第２識別器６を構築する際の学習装置２の動作例について説明する。図１０は、本実施形態に係る学習装置２により第２識別器６を構築する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６７】
（ステップＳ３０１）
ステップＳ３０１では、制御部２１は、データ取得部２１１として動作し、学習用データ群１２０を取得する。本ステップＳ３０１は、上記ステップＳ１０１と同様に処理されてよい。また、制御部２１は、難易度データ１２５を取得する。学習用データ群１２０及び難易度データ１２５を取得すると、制御部２１は、次のステップＳ３０２に処理を進める。
【０１６８】
（ステップＳ３０２及びＳ３０３）
ステップＳ３０２及びＳ３０３では、制御部２１は、学習処理部２１２として動作し、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第２識別器６を構築する。
【０１６９】
具体的に、ステップＳ３０２では、制御部２１は、難易度データ１２５を参照して、設定された難易度に応じて学習用データ群１２０に含まれる各件の学習用データセット１２１を複数のグループに分類する。設定するグループの数は、特に限定されなくてもよく、例えば、学習用データセット１２１の件数、難易度の種別（例えば、グレードの種類、スコアの範囲）等に応じて適宜決定されてよい。
【０１７０】
なお、制御部２１は、各グループが難易度により段階的に設定されていれば、難易度の異なる学習用データセット１２１を同一のグループに分類してもよい。例えば、難易度の範囲が「１」〜「５」であり、各件の学習用データセット１２１を２つのグループに分類する場面を想定する。この場合、制御部２１は、難易度「１」及び「２」の学習用データセット１２１並びに難易度「３」の一部の学習用データセット１２１を第１のグループに分類してもよい。そして、制御部２１は、難易度「４」及び「５」の学習用データセット１２１並びに難易度「３」の残りの学習用データセット１２１を第２のグループに分類してもよい。
【０１７１】
そして、ステップＳ３０３では、制御部２１は、分類した複数のグループのうち、設定された難易度の低い学習用データセット１２１を含むグループから順に利用して、第２識別器６の機械学習を行う。各グループを利用した機械学習は、上記ステップＳ１０３と同様に行われてよい。
【０１７２】
すなわち、制御部２１は、各グループに含まれる各件の学習用データセット１２１について、ニューラルネットワークから出力される出力値が正解データ１２３に対応する値と一致するまで、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う上記一連の処理を繰り返す。これにより、制御部２１は、画像データ１２２を入力すると、正解データ１２３により示される正解に対応する出力値を出力する学習済みの第２識別器６を構築することができる。
【０１７３】
制御部２１は、難易度の低い学習用データセット１２１を含むグループから順に、このニューラルネットワークの学習処理に適用する。つまり、制御部２１は、まず、最も難易度の低い学習用データセット１２１を含むグループ２２６を学習処理に適用する。これにより、制御部２１は、グループ２２６に含まれる各件の学習用データセット１２１に対して、画像データ１２２を入力すると、入力した画像データ１２２に関連付けられた正解データ１２３に対応する出力値を出力する学習済みの第２識別器６を構築する。次に、制御部２１は、グループ２２６の次に難易度の高いグループを選択し、選択したグループについて同様の学習処理を実行する。制御部２１は、最も難易度の高い学習用データセット１２１を含むグループ２２８の学習処理が完了するまで、この一連の機械学習の処理を繰り返す。これにより、制御部２１は、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施して、製品の良否を判定する能力を習得した第２識別器６を構築することができる。
【０１７４】
（ステップＳ３０４）
ステップＳ３０４では、制御部２１は、学習処理部２１２として動作し、機械学習により構築された第２識別器６の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０１７５】
なお、第２識別器６を構築した後、制御部２１は、作成した第２学習結果データ２２９を検査装置３に転送してもよい。また、制御部２１は、作成した第２学習結果データ２２９をＮＡＳ等のデータサーバに保管してもよい。この場合、検査装置３は、このデータサーバから第２学習結果データ２２９を取得してもよい。また、学習装置２により作成された第２学習結果データ２２９は、検査装置３に予め組み込まれてもよい。
【０１７６】
［検査手順］
次に、図１１を用いて、検査装置３の動作例について説明する。図１１は、検査装置３の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１７７】
（ステップＳ４０１）
ステップＳ４０１では、制御部３１は、対象データ取得部３１１として動作し、検査の対象となる製品Ｒの写る対象画像データ３２１を取得する。本実施形態では、検査装置３は、外部インタフェース３４を介してカメラ４１に接続されている。そのため、制御部３１は、カメラ４１から対象画像データ３２１を取得する。この対象画像データ３２１は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ３２１を取得すると、制御部３１は、次のステップＳ４０２に処理を進める。
【０１７８】
ただし、対象画像データ３２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置３とは異なる他の情報処理装置が、カメラ４１に接続されていてもよい。この場合、検査装置３は、他の情報処理装置から対象画像データ３２１の送信を受け付けることで、対象画像データ３２１を取得してもよい。
【０１７９】
（ステップＳ４０２）
ステップＳ４０２では、制御部３１は、良否判定部３１２として動作し、取得した対象画像データ３２１を第２識別器６に入力して、当該第２識別器６の演算処理を実行することで、当該第２識別器６から出力値を取得する。そして、制御部３１は、第２識別器６から取得した出力値に基づいて、対象画像データ３２１に写る製品Ｒの良否を判定する。
【０１８０】
具体的には、制御部３１は、第２学習結果データ２２９を参照して、学習済みの第２識別器６の設定を行う。続いて、制御部３１は、対象画像データ３２１を第２識別器６の入力層６１に入力し、入力側から順に各層６１〜６３に含まれる各ニューロンの発火判定を行う。これにより、制御部３１は、入力した対象画像データ３２１に写る製品Ｒの良否を判定した結果に対応する出力値を第２識別器６の出力層６３から取得する。
【０１８１】
第２識別器６の出力値の形式は、上記第１識別器５と同様に、実施の形態に応じて適宜選択されてよい。例えば、第２識別器６の出力値は、製品に欠陥が存在するか否かを示してもよいし、製品に欠陥が存在する又は存在しない確率を示してもよい。この場合、制御部３１は、第２識別器６から取得した出力値に基づいて、製品Ｒに欠陥が存在するか否かを判定することができる。
【０１８２】
また、例えば、第２識別器６の出力値は、製品に存在する欠陥の種別を示してもよい。この場合、検査装置３は、第２識別器６の出力値と欠陥の種別とを対応付けたテーブル形式等の参照情報（不図示）を記憶部３２に保持していてもよい。本ステップＳ４０２では、制御部３１は、参照情報を参照することにより、第２識別器６から取得した出力値に対応する欠陥の種別を特定することができる。
【０１８３】
すなわち、第２識別器６の出力値の形式に応じて、製品Ｒの良否を判定することは、製品Ｒに欠陥が存在するか否かを判定すること、製品に欠陥が存在する又は存在しない確率を導出する、製品Ｒに存在する欠陥の種別を特定すること等であってよい。製品Ｒの良否を判定が完了すると、制御部３１は、次のステップＳ４０３に処理を進める。
【０１８４】
（ステップＳ４０３）
ステップＳ４０３では、制御部３１は、出力部３１３として動作し、ステップＳ４０２により製品Ｒの良否を判定した結果を出力する。
【０１８５】
製品Ｒの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部３１は、製品Ｒの良否を判定した結果をそのまま出力装置３６に出力してもよい。また、ステップＳ４０２において、製品Ｒに欠陥があると判定した場合、制御部３１は、欠陥を発見したことを知らせるための警告を本ステップＳ４０３の出力処理として行ってもよい。また、製品の搬送を行う製造ラインに検査装置３が接続されている場合、製品Ｒに欠陥があると判定したときに、制御部３１は、欠陥のある製品Ｒを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップＳ４０３の出力処理として行ってもよい。
【０１８６】
製品Ｒの良否を判定した結果の出力処理が完了すると、制御部３１は、本動作例に係る処理を終了する。なお、制御部３１は、製造ライン上を搬送される製品Ｒがカメラ４１の撮影範囲に入る度に、ステップＳ４０１〜Ｓ４０３の一連の処理を実行してもよい。これにより、検査装置３は、製造ライン上を搬送される製品Ｒの外観検査を行うことができる。
【０１８７】
［学習用データセットの追加手順］
次に、図１２を用いて、追加の学習用データセット１８１を収集する際の学習データ生成装置１の動作例について説明する。図１２は、学習データ生成装置１により追加の学習用データセット１８１を収集する処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１８８】
（ステップＳ５０１）
ステップＳ５０１では、制御部１１は、学習用データ取得部１１１として動作し、難易度データ１２５を参照し、各件の学習用データセット１２１に設定した難易度に基づいて、学習用データ群１２０から特定の難易度の学習用データセット１８０を抽出する。
【０１８９】
抽出する難易度は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、設定された難易度が最も高い学習用データセット１２１を学習用データセット１８０として抽出してもよい。また、例えば、制御部１１は、オペレータによる入力装置１４の操作を介して、抽出する難易度の指定を受け付けてもよい。この場合、制御部１１は、オペレータにより指定された難易度の学習用データセット１２１を学習用データセット１８０として抽出してもよい。学習用データセット１８０の抽出が完了すると、制御部１１は、次のステップＳ５０２に処理を進める。
【０１９０】
（ステップＳ５０２）
ステップＳ５０２では、制御部１１は、学習用データ取得部１１１として動作し、ステップＳ５０１で抽出した特定の難易度の学習用データセット１８０に含まれる画像データ１２２と類似する追加の画像データ１８２を収集する。
【０１９１】
追加の画像データ１８２を取得する方法は、実施の形態に応じて適宜選択されてよい。学習データ生成装置１にカメラ（不図示）が接続されている場合、制御部１１は、このカメラにより製品を撮影することで、追加の画像データ１８２を取得してもよい。また、学習用データ群１２０とは別に製品の写る画像データが記憶部１２、ＮＡＳ等の記憶領域に保存されている場合、制御部１１は、この記憶領域に保存されている画像データを追加の画像データ１８２として取得してもよい。
【０１９２】
また、抽出した特定の難易度の学習用データセット１８０に含まれる画像データ１２２と追加の画像データ１８２とが類似しているか否かを判定する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、各画素値の一致する程度に基づいて、追加の画像データ１８２の候補となる画像データと抽出した学習用データセット１８０の画像データ１２２との一致度を算出してもよい。そして、制御部１１は、算出した一致度が所定の閾値を超えている場合に、抽出した学習用データセット１８０の画像データ１２２に候補の画像データは類似していると判定し、この候補の画像データを追加の画像データ１８２として取得してもよい。一方、算出した一致度が所定の閾値を超えていない場合、制御部１１は、候補の画像データは画像データ１２２に類似していないと判定し、この画像データを追加の画像データ１８２の候補から除外してもよい。なお、閾値は、適宜決定されてよい。
【０１９３】
また、収集する追加の画像データ１８２の件数は、実施の形態に応じて適宜決定されてよい。例えば、収集する追加の画像データ１８２の件数は、設定値により規定されていてもよい。また、例えば、制御部１１は、オペレータによる入力装置１４の操作を介して、収集する追加の画像データ１８２の件数の指定を受け付けてもよい。追加の画像データ１８２の収集が完了すると、制御部１１は、次のステップＳ５０３に処理を進める。
【０１９４】
（ステップＳ５０３）
ステップＳ５０３では、制御部１１は、学習用データ取得部１１１として動作し、ステップＳ５０２で収集した追加の画像データ１８２に対して、当該追加の画像データ１８２に写る製品の良否の判定に対する正解を示す正解データ１８３を付与することで、新たな学習用データセット１８１を生成する。
【０１９５】
正解データ１８３の具体的な内容は、適宜決定されてよい。例えば、制御部１１は、追加の画像データ１８２を収集する元となった画像データ１２２に関連付けられた正解データ１２３を正解データ１８３として学習用データ群１２０から取得してもよい。また、例えば、制御部１１は、オペレータによる入力装置１４の操作に応じて、正解データ１８３の内容を決定してもよい。
【０１９６】
（ステップＳ５０４）
ステップＳ５０４では、制御部１１は、学習用データ取得部１１１として動作し、生成した新たな学習用データセット１８１を、学習用データ群１２０が保存されている記憶領域に保存する。これにより、制御部１１は、生成した新たな学習用データセット１８１を学習用データ群１２０に追加する。生成した新たな学習用データセット１８１の追加が完了すると、制御部１１は、本動作例に係る処理を終了する。
【０１９７】
学習用データ群１２０を構成する学習用データセット１２１の件数が不足している、特定の難易度の学習用データセット１２１の件数が不足している等の理由により、上記学習装置２が、性能の高い第２識別器６を構築できない可能性がある。そこで、上記ステップＳ５０１〜Ｓ５０４による学習用データセットの追加処理は、上記学習装置２により構築された第２識別器６の性能が不十分である場合に実行されてよい。これにより、学習用データセット１２１の件数の不足を解消することができ、上記学習装置２により性能の高い第２識別器６を構築することができるようになる。
【０１９８】
なお、第２識別器６の性能が不十分であるか否かの判定には、学習用データ群１２０の学習用データセット１２１と同様に収集された評価用データセットが用いられてよい。すなわち、評価用データセットに含まれる画像データを第２識別器６に入力することで、当該画像データに写る製品の良否を判定した結果に対応する出力値を第２識別器６から得ることができる。そして、第２識別器６から取得された出力値が、入力した画像データに関連付けられた正解データにより示される正解と一致するか否かによって、第２識別器６が良否の判定を正しく行えるか否かを判定することができる。例えば、この評価用データセットに対して第２識別器６が良否の判定を正しく行えた比率に基づいて、第２識別器６の性能を評価することができる。この第２識別器６の一連の評価処理は、学習データ生成装置１、学習装置２、及び検査装置３のいずれかにより実行されてもよいし、これら以外の他の情報処理装置により実行されてもよい。
【０１９９】
また、学習データ生成装置１は、生成した新たな学習用データセット１８１の追加が完了した後、更新された学習用データ群１２０を利用して、第２識別器６の機械学習を再度実施する指令を学習装置２に送信してもよい。学習装置２は、この指令を受信したことに応じて、上記ステップＳ３０１〜Ｓ３０４の一連の処理を実行することで、第２識別器６の再学習を実施してもよい。
【０２００】
このとき、新たな学習用データセット１８１の難易度は、適宜設定されてよい。例えば、制御部１１は、ステップＳ５０１で抽出した難易度を、新たな学習用データセット１８１の難易度として設定してもよい。また、例えば、制御部１１は、新たな学習用データセット１８１に対して上記ステップＳ２０２及びＳ２０３の処理を実行することで、新たな学習用データセット１８１の難易度を設定してもよい。
【０２０１】
また、制御部１１は、ステップＳ５０１で抽出した特定の難易度の学習用データセット１８０に含まれる画像データ１２２をディスプレイ（出力装置１５）に表示して、追加の画像データ１８２の収集をオペレータに促してもよい。これに応じて、制御部１１は、画像データの入力を受け付けることで、入力された画像データを追加の画像データ１８２として取得してもよい。
【０２０２】
［特徴］
機械学習に利用するための学習用データセットのなかには、識別しやすい学習用データセットと、識別し難い学習用データセットとが存在する。識別しやすい学習用データセットのみを利用して機械学習を実施した場合には、製品の良否の判定が困難なケースに対応可能な識別器を構築することができない可能性がある。一方で、識別し難い学習用データセットのみを利用して機械学習を実施した場合でも、特殊なケースの識別に適合し過ぎてしまい、汎化能力の高い識別器を構築することができない可能性がある。更に、識別しやすい学習用データセットと識別し難い学習用データセットとを混合した状態で機械学習を実施すると、学習用データ群に表れる製品の良否を判定する局所解に陥ってしまう等の理由により、汎化能力の高い識別器を構築することができない可能性がある。
【０２０３】
これに対して、本実施形態に係る検査システム１００では、上記ステップＳ２０２及びＳ２０３の処理により、複数の第１識別器５を利用して、学習用データ群１２０に含まれる各件の学習用データセット１２１に良否の判定の難易度を適切に設定することができる。そして、ステップＳ３０２及びＳ３０３では、本実施形態に係る検査システム１００は、設定された難易度の低い学習用データセット１２１から順に利用した段階的な機械学習を実施することにより、製品の良否を判定する能力を習得した第２識別器６を構築する。これにより、まずは、難易度の低い学習用データセット１２１を利用した機械学習により、学習用データ群１２０に表れる良否の判定の全体的な傾向を第２識別器６に習得させることができる。その後、難易度の高い学習用データセット１２１を利用した機械学習により、学習用データ群１２０に表れる良否の判定の詳細な傾向を第２識別器６に習得させることができる。
【０２０４】
したがって、本実施形態によれば、ステップＳ３０３の処理において、用意した学習用データ群１２０により達成可能な比較的に汎化性能の高い第２識別器６を構築することができるようになる。そのため、本実施形態に係る検査システム１００は、上記ステップＳ４０１〜Ｓ４０３の処理において、ステップＳ３０３で構築された第２識別器６を利用することにより、対象画像データ３２１に写る製品Ｒの良否の判定を比較的に精度よく実施することができる。
【０２０５】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０２０６】
＜４．１＞
上記実施形態では、各第１識別器５は、学習装置２により構築されている。しかしながら、第１識別器５を構築する装置は、学習装置２に限られなくてもよい。複数の第１識別器５のうちの少なくともいずれかは、学習装置２以外の他の情報処理装置により構築されてもよい。各第１識別器５が、他の情報処理装置により構築される場合、上記ステップＳ１０１〜Ｓ１０４の一連の処理の実行は省略されてよい。
【０２０７】
また、上記実施形態では、各第１識別器５の機械学習には、学習用データ群１２０から選択された複数件の学習用データセット１２１が利用されている。しかしながら、各第１識別器５の機械学習に利用する学習用データセットは、このような例に限定されなくてもよい。各第１識別器５の機械学習には、学習用データ群１２０由来ではない学習用データセットが用いられてもよい。この学習用データセットは、適宜取得されてよい。
【０２０８】
＜４．２＞
上記実施形態では、各識別器（５、６）は、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、各識別器（５、６）を構成するニューラルネットワークの種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器（５、６）を構成するニューラルネットワークには、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が採用されてよい。なお、複数の第１識別器５のうちの少なくとも一部の第１識別器５に採用されるニューラルネットワークの種類は、他の第１識別器５に採用されるニューラルネットワークの種類と異なっていてもよい。
【０２０９】
また、上記実施形態では、各識別器（５、６）の学習モデルとして、ニューラルネットワークが用いられている。しかしながら、各識別器（５、６）の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器（５、６）の学習モデルには、例えば、サポートベクタマシン等が用いられてもよい。なお、複数の第１識別器５のうちの少なくとも一部の第１識別器５に採用される学習モデルは、他の第１識別器５に採用される学習モデルと異なっていてもよい。
【０２１０】
＜４．３＞
上記実施形態では、学習用データ取得部１１１は、ステップＳ５０１〜Ｓ５０４の一連の処理により、新たな学習用データセット１８１を学習用データ群１２０に追加可能に構成されている。しかしながら、学習用データ取得部１１１は、このように構成されていなくてもよい。この場合、上記実施形態において、ステップＳ５０１〜Ｓ５０４の一連の処理の実行は省略されてもよい。
＜４．４＞
上記実施形態では、第１学習結果データ２２４及び第２学習結果データ２２９はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、第１学習結果データ２２４及び第２学習結果データ２２９の構成は、このような例に限定されなくてもよく、学習済みの各識別器（５、６）の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、第１学習結果データ２２４及び第２学習結果データ２２９はそれぞれ、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
【０２１１】
＜４．５＞
上記実施形態では、学習データ生成装置１は、複数の第１識別器５を利用して、各件の学習用データセット１２１の難易度を判定している。しかしながら、各件の学習用データセット１２１の難易度を判定する方法は、このような例に限定されなくてもよい。１つの第１識別器５により、各件の学習用データセット１２１の難易度を判定してもよい。
【０２１２】
図１３は、本変形例に係る学習データ生成装置１Ａのソフトウェア構成の一例を模式的に例示する。各件の学習用データセット１２１の難易度を判定する方法が異なる点を除き、学習データ生成装置１Ａは、上記実施形態に係る学習データ生成装置１と同様に構成されてよい。すなわち、学習データ生成装置１Ａのハードウェア構成は、上記学習データ生成装置１のハードウェア構成と同じであってよい。また、学習データ生成装置１Ａのソフトウェア構成は、１つの第１識別器５を含む難易度設定部１１２Ａに難易度設定部１１２が置き換わる点を除き、上記学習データ生成装置１のソフトウェア構成と同じであってよい。本変形例に係る検査システムは、この学習データ生成装置１Ａ、上記学習装置２、及び上記検査装置３により構成されてよい。
【０２１３】
本変形例に係る学習データ生成装置１Ａの制御部は、ステップＳ２０２及びＳ２０３の処理内容が異なる点を除き、上記実施形態に係る学習データ生成装置１と同様の処理手順により、難易度付きの学習用データセット１２１を作成することができる。また、学習データ生成装置１Ａの制御部は、ステップＳ５０１〜Ｓ５０４の処理を実行することで、新たな学習用データセット１８１を学習用データ群１２０に追加することができる。
【０２１４】
本変形例において、ステップＳ２０２では、学習データ生成装置１Ａの制御部は、難易度設定部１１２Ａとして動作し、第１学習結果データ２２４を参照することで、機械学習により製品の良否を判定する能力を習得済みである第１識別器５の設定を行う。続いて、制御部は、各件の学習用データセット１２１の画像データ１２２を第１識別器５の入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部は、入力した画像データ１２２に写る製品の良否を判定した結果に対応する出力値を第１識別器５から取得する。
【０２１５】
次のステップＳ２０３では、制御部は、難易度設定部１１２Ａとして動作し、第１識別器５から算出した出力値と製品の良否を判定するための第１識別器５の決定境界との距離を算出する。そして、制御部は、算出した距離に応じて、各件の学習用データセット１２１に良否の判定の難易度を設定する。
【０２１６】
識別器の決定境界と識別器の出力値との距離は、その出力値を得るのに入力した画像データに写る製品の良否の判定しやすさを示す。すなわち、識別器の決定境界と識別器の出力値との距離が大きいほど、その出力値を得るのに入力した画像データに写る製品の良否の判定は容易である。一方で、識別器の決定境界と識別器の出力値との距離が小さいほど、対応する画像データに写る製品の良否の判定は困難である。
【０２１７】
そこで、制御部は、第１識別器５から算出した出力値と決定境界との距離と逆比例となるように、各件の学習用データセット１２１の難易度を設定する。すなわち、制御部は、第１識別器５から算出した出力値と決定境界との距離が大きい学習用データセット１２１ほど低い難易度に設定する。一方、制御部は、第１識別器５から算出した出力値と決定境界との距離が小さい学習用データセット１２１ほど高い難易度に設定する。これにより、本変形例に係る学習データ生成装置１Ａは、上記実施形態と同様に、各件の学習用データセット１２１の難易度を適切に設定することができる。
【０２１８】
なお、第１識別器５の決定境界は、例えば、入力データの座標空間に対して、以下の数１の式により表すことができる。
【０２１９】
【数１】
2019159959.tif 000003
ｘは、入力データを示し、ｂは、定数を示す。数１の式の値が０になる入力データが決定境界を示す。そのため、制御部は、各件の学習用データセット１２１について、画像データ１２２を数１のｘに入力し、数１の式の絶対値を算出することで、第１識別器５からの出力値と決定境界との距離を算出することができる。
【０２２０】
＜４．６＞
上記実施形態では、製品の外観検査を行う場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データから何らかの特徴、すなわち、被写体の状態を判定する場面に広く適用可能である。
【０２２１】
図１４は、本変形例に係る識別装置３Ｂのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、製品の写る画像データから何らかの被写体の写る画像データに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム１００と同様に構成されてよい。すなわち、本変形例に係る識別システムは、上記学習データ生成装置１、学習装置２、及び識別装置３Ｂにより構成されてよい。識別装置３Ｂのハードウェア構成は、上記検査装置３のハードウェア構成と同じであってよい。また、識別装置３Ｂのソフトウェア構成は、良否判定部３１２が状態判定部３１２Ｂに置き換わる点を除き、上記検査装置３のソフトウェア構成と同じであってよい。
【０２２２】
本変形例において、被写体は、画像データに写り得るあらゆる対象物を含んでもよく、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体の状態は、識別器により判定可能な被写体のあらゆる属性を含んでもよい。被写体が顔である場合には、判定の対象となる状態は、例えば、表情の種別、顔のパーツ（器官を含む）の位置（特定の器官同士の相対位置関係を含む）、顔のパーツの形状、顔のパーツの色、顔のパーツの状態（開度、角度等）、その顔を所有する個人等であってよい。顔を所有する個人の判定は、顔認証を実施するために行われてよい。被写体が対象者の身体である場合には、判定の対象となる状態は、例えば、身体のポーズ等であってもよい。被写体が作業対象のワークである場合、判定の対象となる状態は、例えば、ワークの位置、姿勢等であってもよい。
【０２２３】
本変形例では、上記学習用データセット１２１が、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせを含む学習用データセットに置き換えられる。これにより、学習装置２は、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。すなわち、学習装置２は、学習条件を変更しながら上記ステップＳ１０１〜Ｓ１０４の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第１識別器を生成することができる。
【０２２４】
また、本変形例において、学習データ生成装置１は、上記ステップＳ２０１の処理により、画像データ、及び画像データに写る被写体の状態の判定に対する正解を示す正解データの組み合わせをそれぞれ含む複数件の学習用データセットにより構成された学習用データ群を取得する。次に、学習データ生成装置１は、上記ステップＳ２０２の処理により、被写体の状態を判定する能力を機械学習により習得済みである各第１識別器に各件の学習用データの画像データを入力し、各第１識別器の演算処理を実行する。本変形例でも、上記実施形態と同様に、異なる学習条件の機械学習により構築された複数の第１識別器が用いられてよい。これにより、学習データ生成装置１は、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該複数の第１識別器それぞれから取得する。続いて、学習データ生成装置１は、上記ステップＳ２０３の処理により、各第１識別器から取得した出力値が、正解データの示す正解に適合する度合いに応じて、各件の学習用データセットに判定の難易度を設定する。難易度の判定方法には、上記第１〜第３の方法のいずれかが採用されてよい。そして、学習データ生成装置１は、上記ステップＳ２０４及びＳ２０５により、各件の学習用データセットと設定した難易度との対応関係を示す難易度データを生成し、生成した難易度データを学習用データ群と共に所定の記憶領域に保存する。
【０２２５】
また、本変形例において、学習装置２は、上記ステップＳ３０１〜Ｓ３０３の処理により、設定された難易度の低い学習用データセットから順に利用した段階的な機械学習を実施することにより、被写体の状態を判定する第２識別器６Ｂを構築する。そして、学習装置２は、上記ステップＳ３０４の処理により、機械学習により構築された第２識別器６Ｂの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９Ｂとして記憶部２２に格納する。
【０２２６】
また、本変形例において、識別装置３Ｂの制御部は、上記ステップＳ４０１の処理により、対象データ取得部３１１として動作し、状態を判定する対象となる被写体の写る対象画像データ３２１Ｂを取得する。ステップＳ４０２では、識別装置３Ｂの制御部は、状態判定部３１２Ｂとして動作し、第２学習結果データ２２９Ｂを参照して、学習済みの第２識別器６Ｂの設定を行う。続いて、制御部は、取得した対象画像データ３２１Ｂを第２識別器６Ｂに入力し、当該第２識別器６Ｂの演算処理を実行する。これにより、制御部は、第２識別器６Ｂから出力値を取得し、取得した出力値に基づいて、対象画像データ３２１Ｂに写る被写体の状態を判定する。そして、制御部は、上記ステップＳ４０３の処理により、出力部３１３として動作し、被写体の状態を判定した結果を出力する。
【０２２７】
以上により、本変形例では、対象の画像データに写る被写体の状態を比較的に精度よく判定可能な第２識別器６Ｂを構築することができる。そのため、識別装置３Ｂでは、対象画像データ３２１Ｂに写る被写体の状態を比較的に精度よく判定することができる。
【０２２８】
なお、本変形例において、学習データ生成装置１は、上記ステップＳ５０１の処理により、各件の学習用データセットに設定した難易度に基づいて、学習用データ群から特定の難易度の学習用データセットを抽出してもよい。次に、学習データ生成装置１は、上記ステップＳ５０２の処理により、抽出した特定の難易度の学習用データセットに含まれる画像データと類似する追加の画像データを収集してもよい。続いて、学習データ生成装置１は、上記ステップＳ５０３の処理により、収集した追加の画像データに対して、当該追加の画像データに写る被写体の状態の判定に対する正解を示す正解データを付与することで、新たな学習用データセットを生成してもよい。そして、学習データ生成装置１は、上記ステップＳ５０４の処理により、生成した新たな学習用データセットを学習用データ群に追加してもよい。
【０２２９】
また、上記＜４．５＞と同様に、本変形例においても、複数の第１識別器を利用するのではなく、１つの第１識別器を利用して、各件の学習用データセットの難易度を判定してもよい。すなわち、学習データ生成装置１は、上記ステップＳ２０２において、機械学習により被写体の状態を判定する能力を習得済みである第１識別器に各件の学習用データセットの画像データを入力することで、入力した画像データに写る被写体の状態を判定した結果に対応する出力値を当該第１識別器から取得してもよい。そして、学習データ生成装置１は、上記ステップＳ２０３において、第１識別器から取得した出力値と被写体の状態を判定するための第１識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセットに判定の難易度を設定してもよい。
【０２３０】
＜４．７＞
上記実施形態及び変形例では、画像データから何らかの特徴（被写体の状態）を判定する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を判定する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
【０２３１】
図１５〜図１７は、本変形例に係る学習データ生成装置１Ｃ、学習装置２Ｃ、及び識別装置３Ｃそれぞれのソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、画像データから他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム１００と同様に構成されてよい。すなわち、学習データ生成装置１Ｃ、学習装置２Ｃ、及び識別装置３Ｃそれぞれのハードウェア構成は、上記学習データ生成装置１、学習装置２、及び検査装置３それぞれのハードウェア構成と同じであってよい。学習データ生成装置１Ｃのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習データ生成装置１のソフトウェア構成と同じであってよい。同様に、学習装置２Ｃのソフトウェア構成は、処理対象となるデータが置き換わる点を除き、上記学習装置２のソフトウェア構成と同じであってよい。また、識別装置３Ｃのソフトウェア構成は、良否判定部３１２が特徴判定部３１２Ｃに置き換わる点を除き、上記検査装置３のソフトウェア構成と同じであってよい。
【０２３２】
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ、これらの組み合わせで構成されたデータ等であってよい。特徴は、データから識別可能なあらゆる特徴を含んでもよい。処理対象となるデータが音データである場合、判定される特徴は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってよい。処理対象となるデータが、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、判定される特徴は、例えば、対象者の状態等であってよい。また、処理対象となるデータが、機械の駆動量等の数値データ又はテキストデータである場合、判定される特徴は、例えば、機械の状態等であってよい。
【０２３３】
本変形例では、上記学習用データセット１２１が、所定種類のデータ１２２Ｃ、及び当該データに含まれる特徴を判定した結果の正解を示す正解データ１２３Ｃの組み合わせを含む学習用データセット１２１Ｃに置き換えられる。これにより、学習装置２Ｃは、上記実施形態と同様の処理手順により、被写体の状態を判定する能力を習得済みである各識別器を構築することができる。
【０２３４】
このとき、学習装置２Ｃの制御部は、上記実施形態と同様に、学習条件を変更しながら上記ステップＳ１０１〜Ｓ１０４の処理を繰り返すことで、異なる学習条件の機械学習により被写体の状態を判定する能力を習得済みである複数の第１識別器５Ｃを構築してもよい。ただし、複数の第１識別器５Ｃは、このような例に限定されなくてもよい。学習装置２Ｃの制御部は、学習条件を変更せずに上記ステップＳ１０１〜Ｓ１０４の処理を繰り返すことで、同一の学習条件の機械学習により被写体の状態を判定する能力を習得済みである２つ以上の第１識別器５Ｃを構築してもよい。各第１識別器５Ｃを構築した後、学習装置２Ｃの制御部は、各第１識別器５Ｃの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ２２４Ｃとして記憶部に格納する。
【０２３５】
また、本変形例において、学習データ生成装置１Ｃの制御部は、上記ステップＳ２０１の処理により、所定種類のデータ１２２Ｃ、及び当該データ１２２Ｃに含まれる特徴の判定に対する正解を示す正解データ１２３Ｃの組み合わせをそれぞれ含む複数件の学習用データセット１２１Ｃにより構成された学習用データ群１２０Ｃを取得する。次に、制御部は、上記ステップＳ２０２の処理により、各件の第１学習結果データ２２４Ｃを参照して、特徴を判定する能力を機械学習により習得済みである各第１識別器５Ｃの設定を行う。本変形例では、上記実施形態と同様に、各第１識別器５Ｃは、異なる学習条件の機械学習により構築されている。続いて、制御部は、各件の学習用データセット１２１Ｃのデータ１２２Ｃを各第１識別器に入力し、各第１識別器の演算処理を実行する。これにより、制御部は、入力したデータ１２２Ｃに含まれる特徴を判定した結果に対応する出力値を各第１識別器５Ｃから取得する。更に、制御部は、上記ステップＳ２０３の処理により、各第１識別器５Ｃから取得した出力値が、正解データ１２３Ｃにより示される正解に適合する度合いに応じて、各件の学習用データセット１２１Ｃに判定の難易度を設定する。難易度の判定方法には、上記第１〜第３の方法のいずれかが採用されてよい。第１の方法では、制御部は、各第１識別器５Ｃから取得した出力値に基づいて特徴を判定した結果が正解データ１２３Ｃの示す正解と一致する比率が高い学習用データセット１２１Ｃほど低い難易度を設定してよい。また、第３の方法では、制御部は、出力値に基づいて特徴を判定した結果が、所定の確信度以上で正解データ１２３Ｃの示す正解と一致している第１識別器５Ｃの数が多い学習用データセット１２１Ｃほど低い難易度に設定してよい。そして、制御部は、上記ステップＳ２０４及びＳ２０５により、各件の学習用データセット１２１Ｃと設定した難易度との対応関係を示す難易度データ１２５を生成し、生成した難易度データ１２５を学習用データ群１２０Ｃと共に所定の記憶領域に保存する。
【０２３６】
また、本変形例において、学習装置２Ｃの制御部は、上記ステップＳ３０１〜Ｓ３０３の処理により、設定された難易度の低い学習用データセット１２１Ｃから順に利用した段階的な機械学習を実施することにより、特徴を判定する第２識別器６Ｃを構築する。そして、制御部は、上記ステップＳ２０４の処理により、機械学習により構築された第２識別器６Ｃの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９Ｃとして記憶部に格納する。
【０２３７】
また、本変形例において、識別装置３Ｃの制御部は、上記ステップＳ４０１の処理により、対象データ取得部３１１として動作し、判定する対象となる特徴を含む対象データ３２１Ｃを取得する。対象データ３２１Ｃを取得する方法は、対象データ３２１Ｃの種類に応じて適宜決定されてよい。ステップＳ４０２では、識別装置３Ｃの制御部は、特徴判定部３１２Ｃとして動作し、第２学習結果データ２２９Ｃを参照して、学習済みの第２識別器６Ｃの設定を行う。続いて、制御部は、取得した対象データ３２１Ｃを第２識別器６Ｃに入力し、当該第２識別器６Ｃの演算処理を実行する。これにより、制御部は、第２識別器６Ｃから出力値を取得し、取得した出力値に基づいて、対象データ３２１Ｃに含まれる特徴を判定する。そして、制御部は、上記ステップＳ４０３の処理により、出力部３１３として動作し、特徴を判定した結果を出力する。
【０２３８】
以上により、本変形例では、対象のデータに含まれる特徴を比較的に精度よく判定可能な第２識別器６Ｃを構築することができる。そのため、識別装置３Ｃでは、対象データ３２１Ｃに含まれる特徴を比較的に精度よく判定することができる。
【０２３９】
なお、本変形例において、学習データ生成装置１Ｃの制御部は、上記ステップＳ５０１の処理により、各件の学習用データセット１２１Ｃに設定した難易度に基づいて、学習用データ群１２０Ｃから特定の難易度の学習用データセット１８０Ｃを抽出してもよい。次に、制御部は、上記ステップＳ５０２の処理により、抽出した特定の難易度の学習用データセット１８０Ｃに含まれるデータ１２２Ｃと類似する追加のデータ１８２Ｃを収集してもよい。追加のデータ１８２Ｃの候補となるデータと学習用データセット１８０Ｃに含まれるデータ１２２Ｃとが類似するか否かは、データ１２２Ｃの種類に応じて適宜判定されてよい。続いて、制御部は、上記ステップＳ５０３の処理により、収集した追加のデータ１８２Ｃに対して、当該追加のデータ１８２Ｃに含まれる特徴の判定に対する正解を示す正解データ１８３Ｃを付与することで、新たな学習用データセット１８１Ｃを生成してもよい。そして、制御部は、上記ステップＳ５０４の処理により、生成した新たな学習用データセット１８１Ｃを学習用データ群１２０Ｃに追加してもよい。
【０２４０】
また、上記＜４．５＞と同様に、本変形例においても、複数の第１識別器５Ｃを利用するのではなく、１つの第１識別器を利用して、各件の学習用データセット１２１Ｃの難易度を判定してもよい。すなわち、学習データ生成装置１Ｃの制御部は、上記ステップＳ２０２において、機械学習により特徴を判定する能力を習得済みである第１識別器に各件の学習用データセット１２１Ｃのデータ１２２Ｃを入力することで、入力したデータ１２２Ｃに含まれた特徴を判定した結果に対応する出力値を当該第１識別器から取得してもよい。そして、制御部、上記ステップＳ２０３において、第１識別器から取得した出力値と特徴を判定するための第１識別器の決定境界との距離を算出し、算出した距離に応じて、各件の学習用データセット１２１Ｃに判定の難易度を設定してもよい。
【符号の説明】
【０２４１】
１…学習データ生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
８１…生成プログラム、９１…記憶媒体、
１１１…学習用データ取得部、１１２…難易度設定部、
１１３…保存処理部、
１２０…学習用データ群、
１２１…学習用データセット、
１２２…画像データ、１２３…正解データ、
１２５…難易度データ、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
８２…学習プログラム、９２…記憶媒体、
２１１…データ取得部、２１２…学習処理部、
２２１…部分データ群、２２４…第１学習結果データ、
２２６…（難易度の低い）グループ、
２２８…（難易度の高い）グループ、
２２９…第２学習結果データ、
３…検査装置、
３１…制御部、３２…記憶部、３３…通信インタフェース、
３４…外部インタフェース、
３５…入力装置、３６…出力装置、３７…ドライブ、
８３…検査プログラム、９３…記憶媒体、
３１１…対象データ取得部、３１２…良否判定部、
３１３…出力部、
３２１…対象画像データ、
４１…カメラ、
５…第１識別器、
５１…入力層、５２…中間層（隠れ層）、５３…出力層、
６…第２識別器、
６１…入力層、６２…中間層（隠れ層）、６３…出力層
【図１】
2019159959.tif 000004
【図２】
2019159959.tif 000005
【図３】
2019159959.tif 000006
【図４】
2019159959.tif 000007
【図５】
2019159959.tif 000008
【図６】
2019159959.tif 000009
【図７】
2019159959.tif 000010
【図８】
2019159959.tif 000011
【図９】
2019159959.tif 000012
【図１０】
2019159959.tif 000013
【図１１】
2019159959.tif 000014
【図１２】
2019159959.tif 000015
【図１３】
2019159959.tif 000016
【図１４】
2019159959.tif 000017
【図１５】
2019159959.tif 000018
【図１６】
2019159959.tif 000019
【図１７】
2019159959.tif 000020