(57)【要約】【課題】機械学習に利用する学習データの不足件数を特定可能な技術を提供する。【解決手段】本発明の一側面に係る学習装置は、複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得する学習データ取得部と、前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築する学習処理部と、前記第１の学習器がサンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価する不足件数評価部と、を備える。【選択図】図３
2018190140.tif 000002
【特許請求の範囲】
【請求項１】
複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得する学習データ取得部と、
前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築する学習処理部と、
前記第１の学習器がサンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価する不足件数評価部と、
を備える、
学習装置。
【請求項２】
前記学習処理部は、前記第１の学習器の機械学習に利用した前記第１の学習データ群を構成する複数件の学習データのうちの一部で構成された第２の学習データ群を利用して、前記所定の能力を学習した、第２の学習器を更に構築し、
前記不足件数評価部は、前記第１の学習データ群及び前記第２の学習データ群それぞれに含まれる学習データの件数の相違と、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合とに基づいて、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価する、
請求項１に記載の学習装置。
【請求項３】
前記不足件数評価部は、学習データの件数と学習済み学習器が前記所定の能力を発揮する程度との関係を示す指標に、前記第１の学習データ群及び前記第２の学習データ群それぞれに含まれる学習データの件数の相違と、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合とを適用することで、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価する、
請求項２に記載の学習装置。
【請求項４】
前記不足件数評価部は、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合が所定以下である場合に、前記第１の学習データ群と前記第２の学習データ群との差分となる学習データは前記学習器の機械学習に不要なデータであると評価する、
請求項２又は３に記載の学習装置。
【請求項５】
前記学習データ取得部は、第１の種類に属する複数件の学習データで構成された第１の追加学習データ群と、前記第１の種類とは異なる第２の種類に属する複数件の学習データで構成された第２の追加学習データ群と、を更に取得し、
前記学習処理部は、
前記学習データ群及び前記第１の追加学習データ群を利用して、前記所定の能力を学習した第３の学習器を更に構築し、
前記学習データ群及び前記第２の追加学習データ群を利用して、前記所定の能力を学習した第４の学習器を更に構築し、
前記不足件数評価部は、前記第３の学習器及び前記第４の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合に基づいて、前記学習済み学習器の機械学習に不足している学習データの種類を特定する、
請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記学習器は、ニューラルネットワークにより構成される、
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
前記不足件数評価部は、前記学習データ群を構成する学習データの件数及び種類を示す情報を入力すると、前記機械学習に利用する学習データの不足件数の程度を示す情報を出力するように学習を行った学習済みの評価用学習器を用いて、前記機械学習に利用する学習データの不足件数の程度を評価する、
請求項１に記載の学習装置。
【請求項８】
前記評価用学習器は、前記機械学習に不足している学習データの種類を更に出力するように学習済みである、
請求項７に記載の学習装置。
【請求項９】
前記所定の能力を発揮する際に、前記第１の学習器に入力する入力データは、画像データ及び生体データの少なくともいずれかであり、前記第１の学習器から出力される出力データは、対象物又は対象人物の状態の推定結果を示すデータである、
請求項１から８のいずれか１項に記載の学習装置。
【請求項１０】
前記所定の能力は、製造ラインで製造される対象物の検品を行う能力であり、
前記第１の学習器に入力する入力データは、前記対象物を撮影することで得られた画像データであり、
前記第１の学習器から出力される出力データは、前記対象物の検品結果を示すデータである、
請求項９に記載の学習装置。
【請求項１１】
前記所定の能力は、車両のドライバの状態を推定する能力であり、
前記第１の学習器に入力する入力データは、前記ドライバを撮影することで得られた画像データ及び前記ドライバから得られた生体データの少なくともいずれかであり、
前記第１の学習器から出力される出力データは、前記ドライバの状態を示すデータである、
請求項９に記載の学習装置。
【請求項１２】
前記所定の能力は、対象人物の健康状態を推定する能力であり、
前記第１の学習器に入力する入力データは、前記対象人物から得られた生体データであり、
前記第１の学習器から出力される出力データは、前記対象人物の健康状態を示すデータである、
請求項９に記載の学習装置。
【請求項１３】
コンピュータが、
複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、
前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、
サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、
前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、
を実行する、
学習方法。
【請求項１４】
コンピュータに、
複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、
前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、
サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、
前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、
を実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法、及び学習プログラムに関する。
【背景技術】
【０００２】
近年、所定の能力の習得に、ディープラーニング等の機械学習が用いられることがある。例えば、特許文献１には、画像に写る対象物の種類を識別する、人物のライフログデータから当該人物の属性を特定する等の所定の能力を機械学習によりニューラルネットワーク装置に習得させることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１４３０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワーク等の学習器の機械学習には、習得させる能力に関連する学習データを用いる。十分な件数の学習データを用いて学習器の機械学習を行った場合には、習得させた能力を十分に発揮する学習済み学習器を構築することができる。一方、機械学習に用いる学習データの件数が少ない場合には、習得させた能力を十分に発揮できない学習済み学習器が構築されてしまう可能性がある。例えば、画像に写る対象物の種類を識別する能力を学習器に学習させる場合に、機械学習に用いる学習データの件数が少ないと、学習データ以外の画像に写る対象物に対する学習済み学習器の識別率が目標値よりも低くなってしまう可能性がある。
【０００５】
これに対して、特許文献１では、転移学習において学習データが不足しているか否かを検出する方法が提案されている。具体的には、１以上のラベルなし転移先データをニューラルネットワークに入力したときに、非関連ユニットから出力される評価値が基準範囲から逸脱しているか否かにより学習不足を検出することが提案されている。しかしながら、特許文献１で提案されている方法では、学習データが不足しているか否かを検出することはできても、学習データがどの程度不足しているかを特定することはできなかった。
【０００６】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、機械学習に利用する学習データの不足件数を特定可能な技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００８】
すなわち、本発明の一側面に係る学習装置は、複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得する学習データ取得部と、前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築する学習処理部と、前記第１の学習器がサンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価する不足件数評価部と、を備える。
【０００９】
当該構成では、学習データ取得部が、所定の能力の機械学習に利用する第１の学習データ群を取得する。そして、学習処理部が、取得した学習データ群を利用して、学習器の機械学習を実施する。これにより、所定の能力を習得した第１の学習器を構築することができる。加えて、不足件数評価部が、学習済み学習器がサンプルデータに対して所定の能力を発揮した結果に基づいて、機械学習に利用した学習データの不足件数の程度を評価する。すなわち、不足件数評価部による評価により、所定の能力を十分に発揮する学習済み学習器を構築するのに不足している学習データの件数の程度を特定することができる。したがって、当該構成によれば、機械学習に利用する学習データの不足件数を特定することができる。
【００１０】
なお、所定の能力は、機械学習により習得可能なあらゆる種類の能力を含んでよく、例えば、画像に写る対象物の検品を行う能力、利用者の好みに応じて制御対象装置を制御する能力、血圧等の生体データに基づいて対象人物の将来の健康状態を推定する能力、ドライバの写る画像データに基づいて当該ドライバの状態を推定する能力等であってよい。所定の能力を発揮する際に、第１の学習器に入力する入力データは、例えば、画像データ及び生体データの少なくともいずれかであってよい。一方、第１の学習器から出力される出力データは、対象物又は対象人物の状態の推定結果を示すデータであってよい。生体データは、例えば、心拍数、脈拍数、呼吸数、体温、血圧、脳波、姿勢、及び筋電の少なくともいずれかを示すデータである。
【００１１】
具体例として、所定の能力は、製造ラインで製造される対象物の検品を行う能力であってよい。この場合、第１の学習器に入力する入力データは、対象物を撮影することで得られた画像データであってよく、第１の学習器から出力される出力データは、対象物の検品結果を示すデータであってよい。また、所定の能力は、車両のドライバの状態を推定する能力であってよい。この場合、第１の学習器に入力する入力データは、ドライバを撮影することで得られた画像データ及びドライバから得られた生体データの少なくともいずれかであってよく、第１の学習器から出力される出力データは、ドライバの状態を示すデータであってよい。また、所定の能力は、対象人物の健康状態を推定する能力であってよい。この場合、第１の学習器に入力する入力データは、対象人物から得られた生体データであってよく、第１の学習器から出力される出力データは、対象人物の健康状態（例えば、脳血管疾患、心血管疾患等の疾患を発症する可能性）を示すデータであってよい。また、サンプルデータは、例えば、学習データと同種のデータであり、学習済み学習器に習得させた所定の能力をテストするのに利用可能なデータである。
【００１２】
上記一側面に係る学習装置において、前記学習処理部は、前記第１の学習器の機械学習に利用した前記第１の学習データ群を構成する複数件の学習データのうちの一部で構成された第２の学習データ群を利用して、前記所定の能力を学習した、第２の学習器を更に構築してもよい。そして、前記不足件数評価部は、前記第１の学習データ群及び前記第２の学習データ群それぞれに含まれる学習データの件数の相違と、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合とに基づいて、前記第１の学習器の機械学習に利用した学習データの不足件数の程度を評価してもよい。当該構成によれば、機械学習に利用する学習データの不足件数を比較的に正確に特定することができる。
【００１３】
なお、当該構成では、学習データの件数が相違する複数の学習データ群を利用して、学習データの件数の相違が機械学習の達成度に与える影響を表出させている。つまり、第１の学習データ群及び第２の学習データ群それぞれを利用した機械学習の結果を比較することで、第１の学習データ群と第２の学習データ群との差分となる学習データの機械学習に対する影響具合を表出させている。このような差分の比較は、第１の学習データ群に新たな学習データを追加した第３の学習データ群を利用しても行うことができる。すなわち、本発明では、第１の学習データ群及び第３の学習データ群それぞれを利用した機械学習の結果を比較してもよい。
【００１４】
ただし、学習データの件数の異なる複数の学習データ群を利用した機械学習の結果を比較する場合、第３の学習データ群を利用するよりも、第２の学習データ群を利用する方が好ましい。なぜなら、第３の学習データ群を利用するよりも、第２の学習データ群を利用する方が、所定の能力を十分に発揮する学習済み学習器を速やかに構築することができる可能性が高いからである。すなわち、第２の学習データ群は、新たな学習データを収集する作業を行わなくても、第１の学習データ群から学習データを適宜削除することで、作成することができる。これに対して、第３の学習データを作成するためには、新たな学習データを収集する作業を行うことになる。そのため、第２の学習データ群を利用した場合は、第３の学習データ群を利用する場合に比べて、新たな学習データを収集する作業の回数を削減することができ、これによって、所定の能力を十分に発揮する学習済み学習器を速やかに構築することができる。
【００１５】
上記一側面に係る学習装置において、前記不足件数評価部は、学習データの件数と学習済み学習器が前記所定の能力を発揮する程度との関係を示す指標に、前記第１の学習データ群及び前記第２の学習データ群それぞれに含まれる学習データの件数の相違と、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合とを適用することで、前記学習済み学習器の機械学習に利用した学習データの不足件数の程度を評価してもよい。当該構成によれば、機械学習に利用する学習データの不足件数を比較的に正確に特定することができる。
【００１６】
上記一側面に係る学習装置において、前記不足件数評価部は、前記第１の学習器及び前記第２の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合が所定以下である場合に、前記第１の学習データ群と前記第２の学習データ群との差分となる学習データは前記学習器の機械学習に不要なデータであると評価してもよい。当該構成によれば、機械学習に利用する学習データ群に不要な学習データが含まれているか否かを特定することができる。
【００１７】
上記一側面に係る学習装置において、前記学習データ取得部は、第１の種類に属する複数件の学習データで構成された第１の追加学習データ群と、前記第１の種類とは異なる第２の種類に属する複数件の学習データで構成された第２の追加学習データ群と、を更に取得してもよい。前記学習処理部は、前記学習データ群及び前記第１の追加学習データ群を利用して、前記所定の能力を学習した第３の学習器を更に構築し、かつ前記学習データ群及び前記第２の追加学習データ群を利用して、前記所定の能力を学習した第４の学習器を更に構築してもよい。そして、前記不足件数評価部は、前記第１学習器、第３の学習器及び第４の学習器それぞれが前記サンプルデータに対して前記所定の能力を発揮した結果の相違具合に基づいて、前記第１学習器の機械学習に不足している学習データの種類を特定してもよい。当該構成によれば、機械学習に利用する学習データ群に不足している学習データの種類を特定することができる。
【００１８】
上記一側面に係る学習装置において、前記学習器は、ニューラルネットワークにより構成されてよい。当該構成によれば、学習済み学習器を容易に構築することができる。
【００１９】
上記一側面に係る学習装置において、前記不足件数評価部は、前記学習データ群を構成する学習データの件数及び種類を示す情報を入力すると、前記機械学習に利用する学習データの不足件数の程度を示す情報を出力するように学習を行った学習済みの評価用学習器を用いて、前記機械学習に利用する学習データの不足件数の程度を評価してもよい。当該構成によれば、機械学習に利用する学習データの不足件数を比較的に容易に特定することができる。
【００２０】
上記一側面に係る学習装置において、前記評価用学習器は、前記機械学習に不足している学習データの種類を更に出力するように学習済みであってよい。当該構成によれば、機械学習に利用する学習データ群に不足している学習データの種類を特定することができる。
【００２１】
なお、上記各形態に係る学習装置の別の形態として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【００２２】
例えば、本発明の一側面に係る学習方法は、コンピュータが、複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、を実行する方法である。
【００２３】
また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、を実行させるためのプログラムである。
【発明の効果】
【００２４】
本発明によれば、機械学習に利用する学習データの不足件数を特定可能な技術を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、実施の形態に係る学習装置の適用場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る学習装置の機能構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る学習データ群と部分学習データ群との関係を模式的に例示する。
【図５】図５は、実施の形態に係る学習装置の処理手順の一例を例示する。
【図６Ａ】図６Ａは、学習データの件数と学習済み学習器の能力の程度との関係の一例を示す。
【図６Ｂ】図６Ｂは、学習データの件数と学習済み学習器の能力の程度との関係の一例を示す。
【図７】図７は、変形例に係る学習装置の構成の一例を模式的に例示する。
【図８】図８は、変形例に係る学習装置の構成の一例を模式的に例示する。
【発明を実施するための形態】
【００２６】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。例えば、以下では、機械学習により学習器に所定の能力を習得させる場面として、製造ラインを流れる対象物の検品を行う能力をニューラルネットワークに習得させる場面を例示する。しかしながら、機械学習により習得させる所定の能力及び学習器の種類はそれぞれ、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２７】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る学習装置１の適用場面の一例を模式的に例示する。
【００２８】
図１に示されるとおり、本実施形態に係る学習装置１は、所定の能力として、製造ラインで製造される対象物６の検品を行う能力の機械学習を行う情報処理装置である。学習装置１は、例えば、カメラ５を利用して、対象物６を撮影することで、複数件の学習データ１２３で構成される学習データ群１２２を取得する。
【００２９】
学習データ群１２２は、学習器であるニューラルネットワーク２に対象物６の検品を行う能力を機械学習させるためのデータ群である。学習装置１は、取得した学習データ群１２２を利用して、ニューラルネットワーク２の機械学習を実施することで、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク２を構築する。
【００３０】
ただし、構築された学習済みのニューラルネットワーク２は、対象物６の検品を行う能力を十分に発揮できるかどうか不明である。換言すると、構築された学習済みのニューラルネットワーク２が、学習データ群１２２以外のデータに対して、現場での利用に耐えうる確率で対象物６の検品を正しく行えるかどうか不明である。
【００３１】
そこで、学習装置１に、学習済みのニューラルネットワーク２を利用して、サンプルデータ１２９に対して対象物６の検品を行う能力を発揮させる。すなわち、学習装置１は、学習済みのニューラルネットワーク２にサンプルデータ１２９を入力して、サンプルデータ１２９に基づく対象物６の検品結果を出力するよう学習済みのニューラルネットワーク２を動作させる。そして、学習装置１は、学習済みのニューラルネットワーク２がサンプルデータ１２９に対して対象物６の検品を行う能力を発揮した結果に基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価する。
【００３２】
以上により、学習装置１は、機械学習に利用した学習データ１２３の不足件数の程度に対する評価を取得する。本実施形態によれば、この評価の結果に基づいて、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのに不足している学習データ１２３の件数の程度を特定することができる。すなわち、機械学習に利用する学習データ１２３の不足件数を特定することができる。
【００３３】
加えて、学習データ１２３の不足件数を特定できることにより、学習データの追加、及び追加した学習データを含む学習データ群を利用したニューラルネットワークの機械学習を繰り返し実施しなくても、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築することができるようになる。したがって、本実施形態によれば、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを速やかに作成することができるようになる。
【００３４】
§２  構成例
［ハードウェア構成］
次に、図２を用いて、本実施形態に係る学習装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る学習装置１のハードウェア構成の一例を模式的に例示する。
【００３５】
図２に示されるとおり、本実施形態に係る学習装置１は、制御部１１、記憶部１２、外部インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、外部インタフェースを「外部Ｉ／Ｆ」と記載している。
【００３６】
制御部１１は、ハードウェアプロセッサであるCentral Processing Unit（ＣＰＵ）、Random Access Memory（ＲＡＭ）、Read Only Memory（ＲＯＭ）等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部１２は、制御部１１で実行される学習プログラム１２１、ニューラルネットワークの機械学習に利用する、複数件の学習データ１２３で構成された学習データ群１２２、学習済みのニューラルネットワークに習得させた能力をテストするためのサンプルデータ１２９等を記憶する。学習プログラム１２１は、学習装置１に後述する学習処理（図５）を実行させるためのプログラムである。詳細は後述する。
【００３７】
外部インタフェース１３は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、学習装置１は、外部インタフェース１３を介して、カメラ５に接続する。カメラ５は、製造ラインで製造される対象物６（例えば、加工食品、機械製品等）を監視するための撮像装置であり、対象物６を撮像可能な位置に適宜配置されている。
【００３８】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。
【００３９】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９の種類に応じて適宜選択されてよい。上記学習プログラム１２１、学習データ群１２２、及びサンプルデータ１２９は、この記憶媒体９に記憶されていてもよい。
【００４０】
記憶媒体９は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置１は、この記憶媒体９から、上記学習プログラム１２１、学習データ群１２２、及びサンプルデータ１２９の少なくとも一つを取得してもよい。
【００４１】
ここで、図２では、記憶媒体９の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００４２】
なお、学習装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。学習装置１は、複数台のコンピュータで構成されてもよい。また、学習装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、Personal Computer（ＰＣ）等であってもよい。
【００４３】
［機能構成］
次に、図３を用いて、本実施形態に係る学習装置１の機能構成の一例を説明する。図３は、本実施形態に係る学習装置１の機能構成の一例を模式的に例示する。
【００４４】
学習装置１の制御部１１は、記憶部１２に記憶された学習プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された学習プログラム１２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図３に示されるとおり、本実施形態に係る学習装置１は、学習データ取得部１１１、学習処理部１１２、及び不足件数評価部１１３を備えるコンピュータとして動く。
【００４５】
学習データ取得部１１１は、複数件の学習データ１２３で構成される学習データ群１２２であって、所定の能力を学習器に機械学習させるための学習データ群１２２を取得する。本実施形態では、ニューラルネットワーク２に対象物６の検品を行う能力を習得させるため、各件の学習データ１２３は、製造ラインを流れる対象物６を写した画像データ１２３１と、当該対象物６を検品した結果を示す検品結果データ１２３２とを含んでいる。画像データ１２３１は入力データとして利用され、検品結果データ１２３２は教師データとして利用される。
【００４６】
学習処理部１１２は、取得した学習データ群１２２を利用して、ニューラルネットワーク２の機械学習を実施することで、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク２を構築する。すなわち、学習処理部１１２は、学習データ群１２２に含まれる各件の学習データ１２３の画像データ１２３１を入力すると、入力した画像データ１２３１と対になっている検品結果データ１２３２に対応する出力値を出力するようにニューラルネットワーク２を学習させる。これにより構築される学習済みのニューラルネットワーク２は、本発明の「第１の学習器」に相当する。また、学習データ群１２２は、本発明の「第１の学習データ群」に相当する。
【００４７】
不足件数評価部１１３は、学習済みのニューラルネットワーク２が対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果に基づいて、ニューラルネットワーク２の機械学習に利用した学習データ１２３の不足件数の程度を評価する。サンプルデータ１２９は、学習済みのニューラルネットワークに習得させた対象物６の検品を行う能力をテストするのに利用可能なデータであり、例えば、学習データ１２３と同種のデータであってよい。本実施形態に係るサンプルデータ１２９は、製造ラインを流れる対象物６を写した画像データ１２９１と、当該対象物６を検品した結果を示す検品結果データ１２９２とを含んでいる。
【００４８】
学習データ１２３の不足件数の程度を評価する方法は、実施の形態に応じて適宜設定可能である。本実施形態では、学習処理部１１２が、ニューラルネットワーク２の機械学習に利用した学習データ群１２２を構成する複数件の学習データ１２３のうちの一部で構成された部分学習データ群１２４を利用して、ニューラルネットワーク２と同じ構成を有するニューラルネットワーク３の機械学習を実施する。これにより、学習処理部１１２は、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク３を更に構築する。この学習済みのニューラルネットワーク３は、本発明の「第２の学習器」に相当する。また、部分学習データ群１２４は、本発明の「第２の学習データ群」に相当する。
【００４９】
ここで、図４を用いて、学習データ群１２２と部分学習データ群１２４との関係について説明する。図４は、学習データ群１２２と部分学習データ群１２４との関係を模式的に例示する。図４に例示されるとおり、部分学習データ群１２４は、学習データ群１２２に包含される。つまり、部分学習データ群１２４に含まれる学習データＸは、学習データ群１２２にも含まれている。一方で、学習データ群１２２には、部分学習データ群１２４に含まれていない学習データＹが含まれている。したがって、学習データ群１２２を利用するニューラルネットワーク２と部分学習データ群１２４を利用するニューラルネットワーク３との間には、学習データＹが含まれているか否かの相違の分だけ、機械学習により習得する対象物６の検品を行う能力に差異が生じ得る。
【００５０】
そこで、不足件数評価部１１３は、学習データ群１２２及び部分学習データ群１２４それぞれに含まれる学習データ１２３の件数の相違と、学習済みのニューラルネットワーク２及びニューラルネットワーク３それぞれが対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果の相違具合とに基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価する。すなわち、本実施形態では、学習データ１２３の件数の相違（換言すると、学習データ群１２２が図４の学習データＹを含んでいること）が機械学習により習得させる対象物６の検品を行う能力に対して与える影響を表出させる。不足件数評価部１１３は、対象物６の検品を行う能力に対する学習データ１２３の件数の表出させた影響度合いに基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価する。
【００５１】
次に、各ニューラルネットワーク（２、３）について説明する。図３に示されるとおり、ニューラルネットワーク２は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層２１、中間層（隠れ層）２２、及び出力層２３を備えている。
【００５２】
なお、図３の例では、ニューラルネットワーク２は、１層の中間層２２を備えており、入力層２１の出力が中間層２２の入力となり、中間層２２の出力が出力層２３の入力となっている。ただし、中間層２２の数は１層に限られなくてもよく、ニューラルネットワーク２は、２層以上の中間層２２を備えてもよい。
【００５３】
各層２１〜２３は、１又は複数のニューロンを備えている。例えば、入力層２１のニューロンの数は、入力する画像データ（例えば、画像データ１２３１）の画素数に応じて設定することができる。中間層２２のニューロンの数は、実施の形態に応じて適宜設定することができる。また、出力層２３のニューロンの数は、対象物６の検品結果の種類数に応じて設定することができる。
【００５４】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）は機械学習の結果に基づいて設定される。図３の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。また、機械学習の結果に基づいて、各ニューロンには閾値が設定される。基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。
【００５５】
ニューラルネットワーク３は、ニューラルネットワーク２と同じ構成を有する（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数が同じ）。すなわち、ニューラルネットワーク３は、入力層３１、中間層（隠れ層）３２、及び出力層３３を備えており、各層３１〜３３は、上記ニューラルネットワーク２の各層２１〜２３と同様に構成される。
【００５６】
学習装置１の各機能に関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置１の各機能がいずれも汎用のＣＰＵにより実現される例について説明した。しかしながら、以上の機能の一部又は全部が、１又は複数の専用のハードウェアプロセッサにより実現されてもよい。また、学習装置１の機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
【００５７】
§３  動作例
次に、図５を用いて、学習装置１の動作例を説明する。図５は、学習装置１の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は、本発明の「学習方法」に相当する。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００５８】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、学習データ取得部１１１として動き、複数件の学習データ１２３で構成される学習データ群１２２を取得する。
【００５９】
各件の学習データ１２３は、例えば、次のようにして作成することができる。すなわち、カメラ５により、製造ラインを流れる対象物６を様々な撮影条件で撮影することで、当該対象物６を写した画像データを取得する。撮影条件は、対象物６の向き、対象物６の姿勢、対象物６の位置、照明の角度、照明の照度、カメラ５の位置、カメラ５の向き、カメラ５の倍率等で設定することができる。次に、取得した画像データに写る対象物６の検品を行う。そして、この対象物６の検品の結果（例えば、良否判定の結果）を示す検品結果データを作成し、作成した検品結果データを取得した画像データに紐付ける。これにより、各件の学習データ１２３を作成することができる。このような各件の学習データ１２３の作成は、オペレータ等により手動で行われてもよいし、ロボット等により自動で行われてもよい。
【００６０】
なお、サンプルデータ１２９も、学習データ１２３と同様に作成することができる。そのため、画像データ及び検品結果データの組を多数作成し、作成した組の一部を、学習データ群１２２を構成する学習データ１２３として利用し、作成した組の残りをサンプルデータ１２９として利用してもよい。また、このような場合以外にも、取得した複数件の組の一部を、学習データ群１２２を構成する学習データ１２３として利用してもよい。
【００６１】
制御部１１は、カメラ５を制御して、上記のように複数件の学習データ１２３を作成することで、学習データ群１２２を取得してもよい。また、上記の学習データ１２３の作成は、学習装置１以外の他の情報処理装置によって行われてもよい。この場合、制御部１１は、ネットワーク、記憶媒体９等を介して、他の情報処理装置により作成された学習データ群１２２を取得してもよい。更に、作成された複数件の学習データ１２３は、Network Attached Storage（ＮＡＳ）等の他の情報処理装置の記憶装置に格納されていてもよい。この場合、制御部１１は、ネットワーク、記憶媒体９等を介して、他の情報処理装置の記憶装置に格納された学習データ群１２２を取得してもよい。
【００６２】
（ステップＳ１０２）
次のステップＳ１０２では、制御部１１は、学習処理部１１２として動き、ステップＳ１０１で取得した学習データ群１２２を利用して、ニューラルネットワーク２の機械学習を実施する。すなわち、各件の学習データ１２３の画像データ１２３１を入力すると、入力した画像データ１２３１と対になっている検品結果データ１２３２に対応する出力値を出力するようにニューラルネットワーク２を学習させる。これにより、制御部１１は、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク２を構築する。
【００６３】
具体的には、まず、制御部１１は、学習処理を行う対象となるニューラルネットワーク２を用意する。用意するニューラルネットワーク２の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。
【００６４】
次に、制御部１１は、ステップＳ１０１で取得した学習データ群１２２に含まれる各件の学習データ１２３の画像データ１２３１を入力データとし、検品結果データ１２３２を教師データとして、ニューラルネットワーク２の学習処理を行う。このニューラルネットワーク２の学習処理には、勾配降下法、確率的勾配降下法等が用いられてよい。
【００６５】
例えば、制御部１１は、画像データ１２３１を入力層２１に入力して、順伝搬の方向に各層２１〜２３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、ニューラルネットワーク２の出力層２３から出力値を得る。次に、制御部１１は、出力層２３から得た出力値と、入力した画像データ１２３１の対になっている検品結果データ１２３２に対応する値との誤差を算出する。続いて、制御部１１は、誤差逆伝搬法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部１１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【００６６】
制御部１１は、学習データ群１２２に含まれる各件の学習データ１２３について、出力層２３から出力される出力値が対応する検品結果データ１２３２の値と一致するまでこの一連の処理を繰り返すことにより、ニューラルネットワーク２の機械学習を実施する。これにより、各件の学習データ１２３の画像データ１２３１を入力すると、入力した画像データ１２３１と対になっている検品結果データ１２３２に対応する出力値を出力する学習済みのニューラルネットワーク２（学習済み学習器）を構築することができる。
【００６７】
（ステップＳ１０３）
次のステップＳ１０３では、制御部１１は、学習処理部１１２として動き、部分学習データ群１２４を利用して、ニューラルネットワーク３の機械学習を実施する。これにより、制御部１１は、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク３（第２の学習器）を構築する。
【００６８】
なお、本ステップＳ１０３は、部分学習データ群１２４を利用する点を除き、上記ステップＳ１０２と同様に実施可能である。制御部１１は、学習データ群１２２から学習データ１２３を適宜間引くことで、部分学習データ群１２４を作成することができる。部分学習データ群１２４に含まれる学習データ１２３の件数は、実施の形態に応じて適宜設定可能である。
【００６９】
学習前のニューラルネットワーク３は、例えば、上記ニューラルネットワーク２と同様に初期設定される。本ステップＳ１０３により、制御部１１は、部分学習データ群１２４に含まれる各件の学習データ１２３の画像データ１２３１を入力すると、入力した画像データ１２３１と対になっている検品結果データ１２３２に対応する出力値を出力する学習済みのニューラルネットワーク３を構築することができる。
【００７０】
（ステップＳ１０４）
次のステップＳ１０４では、制御部１１は、対象物６の検品を行う能力をサンプルデータ１２９に対して発揮するように各学習済みのニューラルネットワーク（２、３）を動作させる。すなわち、制御部１１は、各学習済みのニューラルネットワーク（２、３）にサンプルデータ１２９を入力して、対象物６の検品結果を出力するように各学習済みのニューラルネットワーク（２、３）を動作させる。これにより、制御部１１は、構築した各学習済みのニューラルネットワーク（２、３）にサンプルデータ１２９を適用する。
【００７１】
具体的には、制御部１１は、サンプルデータ１２９に含まれる画像データ１２９１を学習済みのニューラルネットワーク２の入力層２１に入力し、順伝搬の方向に各層２１〜２３に含まれる各ニューロンの発火判定を行うことで、出力層２３から出力値を得る。この出力層２３から得られる出力値が、検品結果データ１２９２の値と一致する場合には、学習済みのニューラルネットワーク２は、対象物６の検品を行う能力を正しく発揮できたことになる。
【００７２】
そこで、制御部１１は、各件のサンプルデータ１２９について、出力層２３から出力される出力値が検品結果データ１２９２の値と一致する割合、換言すると、対象物６の検品の正答率を算出する。これにより、制御部１１は、学習済みのニューラルネットワーク２が対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果を得る。すなわち、本実施形態では、学習済みのニューラルネットワーク２が対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果は、当該学習済みのニューラルネットワーク２による対象物６の検品の正答率として得ることができる。
【００７３】
学習済みのニューラルネットワーク３についても同様である。すなわち、制御部１１は、サンプルデータ１２９に含まれる画像データ１２９１を学習済みのニューラルネットワーク３の入力層３１に入力し、順伝搬方向の演算処理を行うことで出力層３３から得られる出力値と検品結果データ１２９２の値とが一致するか否かを判定する。これにより、制御部１１は、学習済みのニューラルネットワーク３が対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果として、当該学習済みのニューラルネットワーク３による対象物６の検品の正答率を算出する。
【００７４】
（ステップＳ１０５）
次のステップＳ１０５では、制御部１１は、不足件数評価部１１３として能力し、ステップＳ１０４で得られる結果に基づいて、ニューラルネットワーク２の機械学習に利用した学習データ１２３の不足件数の程度を評価する。
【００７５】
本実施形態では、制御部１１は、上記ステップＳ１０２及びＳ１０３により、学習データ群１２２を利用した学習済みのニューラルネットワーク２と、部分学習データ群１２４を利用した学習済みのニューラルネットワーク３とを構築している。そこで、制御部１１は、学習データ群１２２及び部分学習データ群１２４それぞれに含まれる学習データ１２３の件数の相違と、各学習済みのニューラルネットワーク（２、３）による対象物６の検品の正答率の相違具合とに基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価してもよい。
【００７６】
対象物６の検品を行う能力を十分に発揮できるか否かは、正答率の目標値に基づいて判定してもよい。すなわち、制御部１１は、学習済みのニューラルネットワーク２による対象物６の検品の正答率が目標値を超えているか否かによって、対象物６の検品を行う能力を十分に発揮できるか否かを判定してもよい。正答率の目標値は、オペレータの入力、初期設定等により適宜与えられてよい。
【００７７】
例えば、制御部１１は、学習済みのニューラルネットワーク２による対象物６の検品の正答率が目標値を超えているか否かを判定する。学習済みのニューラルネットワーク２による対象物６の検品の正答率が目標値を超えている場合には、制御部１１は、機械学習に利用した学習データ１２３の件数に不足はなかったと認定する。一方、学習済みのニューラルネットワーク２による対象物６の検品の正答率が目標値を超えていない場合には、制御部１１は、機械学習に利用した学習データ１２３の件数に不足があったと認定し、不足件数の程度の評価を行う。
【００７８】
学習データ１２３の不足件数の程度を評価する方法は、実施の形態に応じて適宜設定されてよい。例えば、制御部１１は、学習済みのニューラルネットワーク２による対象物６の検品の正答率と目標値との差分を第１の差分として算出する。また、制御部１１は、各学習済みのニューラルネットワーク（２、３）による対象物６の検品の正答率の差分を第２の差分として算出する。制御部１１は、学習データ群１２２及び部分学習データ群１２４それぞれに含まれる学習データ１２３の件数の差分を第１の差分と第２の差分との比率に適用することで、不足件数の程度を特定してもよい。
【００７９】
また、例えば、図６Ａ及び図６Ｂに示されるとおり、学習データ１２３の件数と学習済みのニューラルネットワークが対象物６の検品を行う能力の程度（正答率）との関係を示す指標（以下、「評価指標」とも記載する）が与えられてもよい。図６Ａ及び図６Ｂはそれぞれ、当該評価指標の一例を模式的に例示する。詳細には、図６Ａは、学習データの件数に応じて正答率が単調増加する、正答率の目標値に到達可能な評価指標の一例を示す。一方、図６Ｂは、正答率の目標値に到達困難な評価指標の一例を示す。各評価指標は、適宜与えられてよい。また、制御部１１は、複数件の評価指標を保持してもよい。各評価指標は、所定の関数等により表現可能である。
【００８０】
制御部１１は、与えられた評価指標に、学習データ群１２２及び部分学習データ群１２４それぞれに含まれる学習データ１２３の件数の相違と、各学習済みのニューラルネットワーク（２、３）による対象物６の検品の正答率の相違具合とを適用してもよい。これにより、制御部１１は、機械学習に利用した学習データ１２３の不足件数の程度を評価することができる。
【００８１】
具体的には、制御部１１は、学習データ群１２２及び部分学習データ群１２４それぞれに含まれる学習データ１２３の件数の相違と、各学習済みのニューラルネットワーク（２、３）による対象物６の検品の正答率の相違（能力の差異）具合とに最も適合する評価指標を特定する。
【００８２】
学習データ群１２２に含まれる学習データ１２３が、対象物６の検品を行う能力の機械学習に適切なデータである場合には、学習データ１２３の件数の相違及び正答率の相違具合は、図６Ａで示されるような評価指標に最も適合し得る。このような場合には、制御部１１は、評価指標により示される正答率の目標値を達成可能な件数と学習データ群１２２に含まれる学習データ１２３の件数との差を不足件数として算出する。これにより、制御部１１は、機械学習に利用した学習データ１２３の不足件数の程度を評価することができる。
【００８３】
一方、学習データ群１２２に含まれる学習データ１２３が、対象物６の検品を行う能力の機械学習に適切なデータではない場合には、学習データ１２３の件数の相違及び正答率の相違具合は、図６Ｂで示されるような評価指標に最も適合し得る。このような場合には、制御部１１は、学習データ群１２２に新たな学習データを追加しても、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのは困難であると評価することができる。
【００８４】
なお、学習データ群１２２と部分学習データ群１２４との差分となる学習データＹが対象物６の検品を行う能力にあまり関係がない場合、各学習済みニューラルネットワーク（２、３）がサンプルデータ１２９に対して対象物６の検品を行う能力を発揮した結果の相違具合が所定以下となるケースが発生し得る。例えば、図６Ｂで示されるように、各学習済みニューラルネットワーク（２、３）による対象物６の検品の正答率の差が所定値以下であるケースがこれに相当する。このようなケースが発生した場合、制御部１１は、学習データ群１２２と部分学習データ群１２４との差分となる学習データＹは、対象物６の検品を行う能力の機械学習に不要なデータであると評価してもよい。これにより、機械学習に利用する学習データ群１２２の中から不要な学習データ１２３を削減し、機械学習の処理の効率化を図ることができる。
【００８５】
（ステップＳ１０６）
次のステップＳ１０６では、制御部１１は、ステップＳ１０５で行った評価結果を出力する。例えば、制御部１１は、ディスプレイ等の出力装置１５に学習データ１２３の不足件数の程度を示すメッセージを出力することで、機械学習に利用する学習データ１２３の追加を利用者に促すことができる。また、制御部１１は、学習データ群１２２に新たな学習データを追加しても、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのは困難であることを示すメッセージを出力装置１５に出力することで、機械学習に利用する学習データ群の変更を利用者に促すことができる。更に、制御部１１は、学習データ群１２２と部分学習データ群１２４との差分となる学習データＹが対象物６の検品を行う能力の機械学習に不要なデータであることを示すメッセージを出力装置１５に出力することで、当該学習データＹの削除を利用者に促すことができる。これにより、制御部１１は、本動作例に係る学習処理を終了する。
【００８６】
なお、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワーク２を構築することができた場合には、制御部１１は、当該学習済みニューラルネットワーク２の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習結果データとして記憶部１２に格納してよい。そして、制御部１１は、作成した学習結果データを、対象物６の検品を実施する情報処理装置に適宜転送してもよい。
【００８７】
［作用・効果］
以上のように、本実施形態に係る学習装置１、ステップＳ１０２及びＳ１０３の処理により、学習データ群１２２及び部分学習データ群１２４をそれぞれ利用して、学習済みのニューラルネットワーク（２、３）を構築する。そして、学習装置１は、ステップＳ１０４の処理により、構築した各学習済みのニューラルネットワーク（２、３）の能力の相違に基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価する。本実施形態によれば、この評価の結果に基づいて、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのに不足している学習データ１２３の件数の程度を特定することができる。
【００８８】
また、本実施形態では、ステップＳ１０６の出力処理により、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのに不足している学習データ１２３の件数を示すことができる。これにより、学習データ１２３の追加、及び追加した学習データ１２３を含む学習データ群を利用したニューラルネットワークの機械学習を繰り返し実施しなくても、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築することができるようになる。したがって、本実施形態によれば、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを速やかに作成することができるようになる。
【００８９】
また、本実施形態に係る学習装置１は、学習データ群１２２及び部分学習データ群１２４それぞれの機械学習の結果を比較することで、学習データ１２３の不足件数の程度を評価している。しかしながら、学習データ１２３の不足件数の程度を評価する方法は、このような例に限定されなくてもよい。本実施形態に係る学習装置１は、学習データ群１２２に新たな学習データ１２３を追加した追加学習データ群と学習データ群１２２との機械学習の結果を比較することで、学習データ１２３の不足件数の程度を評価してもよい。
【００９０】
ただし、このような評価方法を採用する場合、追加学習データ群を利用するよりも、部分学習データ群１２４を利用する方が好ましい。なぜなら、追加学習データ群を利用するよりも、部分学習データ群１２４を利用したほうが、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するまでにかかる作業の効率化を図ることができるからである。すなわち、部分学習データ群１２４は、新たな学習データ１２３を収集せずとも、学習データ群１２２から適宜作成することができる。これに対して、追加学習データ群を作成する場合には、新たな学習データ１２３の収集を行う分だけ、作業工程が増えてしまう。そのため、追加学習データ群を利用する形態に比べて、部分学習データ群１２４を利用する本実施形態では、新たな学習データ１２３を収集する作業回数の増加を抑えることができる分だけ、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを速やかに作成することができるようになる。
【００９１】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００９２】
＜４．１＞
上記実施形態では、ニューラルネットワークに学習させる所定の能力として、製造ラインで製造される対象物６の検品を行う能力を例示している。そして、対象物６の検品を行う能力を発揮する際に、学習済みニューラルネットワーク２に入力する入力データは、対象物６を撮影することで得られた画像データであり、学習済みニューラルネットワーク２から出力される出力データは、対象物６の検品結果を示すデータである。しかしながら、ニューラルネットワークに学習させる所定の能力は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。学習データを適宜変更することで、ニューラルネットワークに学習させる所定の能力を適宜変更可能である。
【００９３】
例えば、ニューラルネットワークに学習させる所定の能力は、利用者の好みに応じて制御対象装置を制御する能力、血圧等の生体データに基づいて対象人物の将来の健康状態を推定する能力、ドライバの写る画像データに基づいて当該ドライバの状態を推定する能力等であってよい。この場合、所定の能力を発揮する際に、ニューラルネットワークに入力する入力データは、画像データ及び生体データの少なくともいずれかであってよく、ニューラルネットワークから出力される出力データは、対象物又は対象人物の状態の推定結果を示すデータであってよい。生体データは、例えば、心拍数、脈拍数、呼吸数、体温、血圧、脳波、姿勢、及び筋電の少なくともいずれかを示すデータである。このような生体データは、心拍計等の生体センサにより取得可能である。
【００９４】
具体例として、利用者の好みに応じて制御対象装置を制御する能力を所定の能力としてニューラルネットワーク２に学習させてもよい。この場合、学習データ及びサンプルデータそれぞれに含まれる入力データは、例えば、制御対象装置の制御に利用する各種情報となる。また、教師データは、例えば、各種情報により示される場面における利用者の好みに応じた制御対象装置に対する制御値となる。このとき、利用者の好みに応じて制御対象装置を制御する能力を発揮する際に、学習済みニューラルネットワーク２に入力する入力データは、制御対象装置の制御に利用する各種情報となり、学習済みニューラルネットワーク２から出力される出力データは、利用者の好みに応じた制御対象装置に対する制御値となる。
【００９５】
また、車両のドライバの状態を推定する能力を所定の能力としてニューラルネットワーク２に学習させてもよい。この場合、学習データ及びサンプルデータそれぞれに含まれる入力データは、ドライバを撮影することで得られた画像データ及びドライバから得られた生体データの少なくともいずれかであってよい。また、教師データは、ドライバの状態（例えば、眠気の度合い、運転の集中度合い等）を示すデータであってよい。このとき、車両のドライバの状態を推定する能力を発揮する際に、学習済みニューラルネットワーク２に入力する入力データは、ドライバを撮影することで得られた画像データ及びドライバから得られた生体データの少なくともいずれかとなり、学習済みニューラルネットワーク２から出力される出力データは、ドライバの状態を示すデータとなる。
【００９６】
また、対象人物の健康状態を推定する能力を所定の能力としてニューラルネットワーク２に学習させてもよい。この場合、学習データ及びサンプルデータそれぞれに含まれる入力データは、対象人物から得られた生体データであってよい。また、教師データは、対象人物の健康状態（例えば、脳血管疾患、心血管疾患等の疾患を発症する可能性）を示すデータであってよい。このとき、対象人物の健康状態を推定する能力を発揮する際に、学習済みニューラルネットワーク２に入力する入力データは、対象人物から得られた生体データとなり、学習済みニューラルネットワーク２から出力される出力データは、対象人物の健康状態を示すデータとなる。
【００９７】
＜４．２＞
また、上記実施形態では、１種類の部分学習データ群１２４を利用して、１件の学習済みニューラルネットワーク３を構築している。しかしながら、部分学習データ群１２４の種類数及び構築する学習済みニューラルネットワーク３の数はそれぞれ、このような例に限定されなくてもよく、複数種類の部分学習データ群１２４を利用して、複数件の学習済みニューラルネットワーク３を構築してもよい。すなわち、上記実施形態に係る学習装置１の制御部１１は、部分学習データ群１２４を複数パターン用意してもよい。この場合、制御部１１は、上記ステップＳ１０３において、用意した複数パターンの部分学習データ群１２４を利用して、複数件の学習済みニューラルネットワーク３を構築する。次に、制御部１１は、上記ステップＳ１０４において、各学習済みニューラルネットワーク３にサンプルデータ１２９を適用する。そして、制御部１１は、上記ステップＳ１０５において、学習済みニューラルネットワーク２及び複数件の学習済みニューラルネットワーク３それぞれにサンプルデータ１２９を適用した結果に基づいて、機械学習に利用した学習データ１２３の不足件数の程度を評価する。なお、この場合、各部分学習データ群１２４は、構成する学習データの件数を相違するようにし、包含関係を有するようにしてもよい。すなわち、学習データ群１２２から徐々に学習データを減らしていくことで、各部分学習データ群１２４を作成してもよい。これにより、構成する学習データの件数が最も少ない学習データ群１２４と学習データ群１２２との間の状態をその他の部分学習データ群１２４で表現することができるため、機械学習により習得させる所定の能力に学習データの件数が与える影響を適切に表出させることができる。
【００９８】
＜４．３＞
また、上記実施形態では、部分学習データ群１２４により構築した学習済みのニューラルネットワーク３を利用して、機械学習に利用する学習データ１２３の不足件数の程度を評価している。しかしながら、学習データ１２３の不足件数の程度を評価する方法は、このような例に限定されなくてもよい。例えば、学習データ群１２２により構築した学習済みのニューラルネットワーク２による対象物６の検品の正答率のみを評価指標に適用することで、制御部１１は、機械学習に利用する学習データ１２３の不足件数の程度を評価してもよい。すなわち、制御部１１は、部分学習データ群１２４により構築した学習済みのニューラルネットワーク３を利用せずに、機械学習に利用する学習データ１２３の不足件数の程度を評価してもよい。この場合、上記ステップＳ１０３は、省略されてもよい。
【００９９】
＜４．４＞
また、図７に例示されるように、機械学習に利用する学習データ群に所定の種類に属する学習データを追加することで、機械学習に不足している学習データの種類の評価を行ってもよい。図７は、本変形例に係る学習装置１Ａを模式的に例示する。この学習装置１Ａでは、学習データ取得部１１１は、第１の種類に属する複数件の学習データ１２６で構成された第１の追加学習データ群１２５と、第１の種類とは異なる第２の種類に属する複数件の学習データ１２８で構成された第２の追加学習データ群１２７と、を更に取得する。つまり、本変形例では、学習データ取得部１１１は、それぞれ異なる種類の学習データで構成される複数の追加学習データ群を取得する。
【０１００】
学習データの属する種類は、学習データを作成する条件のパラメータにより特定可能である。本変形例の場合、学習データは、対象物６の検品を行う能力の機械学習に利用される。そのため、学習データの属する種類は、対象物６の撮影条件の変更パラメータにより特定可能である。例えば、第１の種類に属する学習データ１２６では、対象物６の角度を変更するようにし、第２の種類に属する学習データ１２８では、照明の明るさを変更するようにしてもよい。すなわち、第１の種類に属する複数件の学習データ１２６は、対象物６の角度を所定のピッチで変更し、それ以外の撮影条件を一定にすることで得られる複数件の画像データ１２６１を用いて作成することができる。第２の種類に属する複数件の学習データ１２８は、照明の明るさを所定のピッチで変更し、それ以外の撮影条件を一定にすることで得られる複数件の画像データ１２８１を用いて作成することができる。なお、各検品結果データ（１２６２、１２８２）は、上記学習データ１２３と同様に、紐付けられる各画像データ（１２６１、１２８１）に対応して適宜作成される。
【０１０１】
学習処理部１１２は、学習データ群１２２及び第１の追加学習データ群１２５を利用して、ニューラルネットワーク４０の機械学習を実施する。これにより、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク４０を更に構築することができる。構築された学習済みのニューラルネットワーク４０は、本発明の「第３の学習器」に相当する。また、学習処理部１１２は、学習データ群１２２及び第２の追加学習データ群１２７を利用して、ニューラルネットワーク４１の機械学習を実施する。これにより、対象物６の検品を行う能力を学習した学習済みのニューラルネットワーク４１を更に構築することができる。構築された学習済みのニューラルネットワーク４１は、本発明の「第４の学習器」に相当する。なお、各ニューラルネットワーク（４０、４１）は、上記各ニューラルネットワーク（２、３）と同様に構成可能である。
【０１０２】
不足件数評価部１１３は、各学習済みのニューラルネットワーク（４０、４１）が対象物６の検品を行う能力をサンプルデータ１２９に対して発揮した結果の相違具合、換言すると、各学習済みのニューラルネットワーク（４０、４１）による対象物６の検品の正答率の相違具合に基づいて、機械学習に不足している学習データの種類を特定する。例えば、学習済みのニューラルネットワーク４１の方が学習済みのニューラルネットワーク４０よりも対象物６の検品の正答率が高い場合には、不足件数評価部１１３は、学習データ群１２２には、第２の種類に属する学習データ、すなわち、照明の明るさを変更した学習データが不足していると評価することができる。
【０１０３】
これらの点を除き、学習装置１Ａは、上記学習装置１と同様に構成される。本変形例では、上記ステップＳ１０１〜Ｓ１０６の一連の処理を実行した後に、制御部１１は、学習データ取得部１１１として動き、第１の追加学習データ群１２５及び第２の追加学習データ群１２７を取得してもよい。第１の追加学習データ群１２５及び第２の追加学習データ群１２７の取得は、上記ステップＳ１０１内で行われてもよい。次に、制御部１１は、学習処理部１１２として動き、学習データ群１２２及び第１の追加学習データ群１２５を利用して、ニューラルネットワーク４０の機械学習を実施する。また、制御部１１は、学習データ群１２２及び第２の追加学習データ群１２７を利用して、ニューラルネットワーク４１の機械学習を実施する。当該機械学習の処理は、上記ステップＳ１０２及びＳ１０３と同様に実施することができる。続いて、制御部１１は、上記ステップＳ１０４と同様に、各学習済みのニューラルネットワーク（４０、４１）にサンプルデータ１２９を適用する。そして、制御部１１は、不足件数評価部１１３として動き、各学習済みのニューラルネットワーク（４０、４１）による対象物６の検品の正答率の相違具合に基づいて、機械学習に不足している学習データの種類を特定する。
【０１０４】
制御部１１は、このようにして特定した機械学習に不足している学習データの種類をメッセージとして出力装置１５により出力してもよい。これにより、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのに不足している学習データの種類を利用者に示すことができる。したがって、追加する学習データの作成を効率化することができ、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを速やかに作成することができるようになる。特に、追加する学習データの種類を限定せずに追加学習データ群を作成する形態に比べて、本変形例では、不足している学習データの種類を特定できる分だけ、追加する学習データの作成作業の効率化を図ることができる。なお、追加する学習データの種類は、２種類に限られなくてもよい。すなわち、３種類以上の追加学習データ群を利用して、追加する学習データの種類の評価を行ってもよい。
【０１０５】
＜４．５＞
また、図８に例示されるように、上記ステップＳ１０５における学習データの不足件数の評価に、ニューラルネットワーク等の評価用学習器を利用してもよい。図８は、本変形例に係る学習装置１Ｂを模式的に例示する。本変形例に係る学習装置１Ｂは、学習データの不足件数の評価にニューラルネットワーク７を用いる点を除き、上記学習装置１と同様に構成される。この場合、制御部１１は、上記ステップＳ１０５において、不足件数評価部１１３として動き、ニューラルネットワーク７を用いて、学習データ１２３の不足件数を評価する。
【０１０６】
ニューラルネットワーク７は、上記各ニューラルネットワーク（２、３）と同様に構成可能である。本変形例に係るニューラルネットワーク７は、学習データ群を構成する学習データの件数及び種類を示す情報を入力すると、機械学習に利用する学習データの不足件数の程度を示す不足件数評価情報を出力するように学習済みである。学習データの種類は、上記のとおり、画像データの撮影条件により特定可能である。
【０１０７】
制御部１１は、ステップＳ１０１で取得した学習データ群１２２に含まれる学習データ１２３の件数及び種類を特定する。そして、上記ステップＳ１０５において、制御部１１は、特定した学習データ１２３の件数及び種類を示す情報を学習済みのニューラルネットワーク７の入力層に入力し、順伝搬方向の演算処理を行うことで、不足件数評価情報に対応する出力値を出力層から取得する。この不足件数評価情報により、学習データ１２３の不足件数の評価を示すことができる。したがって、本変形例によれば、機械学習に利用する学習データの不足件数を比較的に容易に特定することができる。
【０１０８】
なお、ニューラルネットワーク７は、機械学習に不足している学習データの種類を更に出力するように学習済みであってよい。このようにすることで、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを構築するのに不足している学習データの種類を利用者に示すことができる。したがって、追加する学習データの作成を効率化することができ、対象物６の検品を行う能力を十分に発揮可能な学習済みのニューラルネットワークを速やかに作成することができるようになる。
【０１０９】
＜４．６＞
また、上記実施形態及び変形例では、各ニューラルネットワーク（２、３、４０、４１、７）として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、各ニューラルネットワーク（２、３、４０、４１、７）の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク（２、３、４０、４１、７）には、畳み込み層及びプーリング層を備える畳み込みニューラルネットワークを用いてもよい。また、例えば、入力データとして時系列データを用いる場合、各ニューラルネットワーク（２、３、４０、４１、７）には、中間層から入力層等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークが用いられてもよい。なお、各ニューラルネットワーク（２、３、４０、４１、７）の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
【０１１０】
＜４．７＞
また、上記実施形態及び変形例では、各学習器及び評価用学習器は、ニューラルネットワークにより構成されている。しかしながら、各学習器及び評価用学習器の種類は、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。各学習器及び評価用学習器には、例えば、サポートベクターマシン、自己組織化マップ、強化学習により学習を行う学習器等が用いられてもよい。
【０１１１】
（付記１）
ハードウェアプロセッサと、
前記ハードウェアプロセッサで実行するプログラムを保持するメモリと、
を備える学習装置であって、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、
取得した前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、
サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、
前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、
を実行するように構成される、
学習装置。
【０１１２】
（付記２）
ハードウェアプロセッサにより、複数件の学習データで構成され、所定の能力を学習器に機械学習させるための第１の学習データ群を取得するステップと、
ハードウェアプロセッサにより、取得した前記第１の学習データ群を利用して、前記学習器の機械学習を実施することで、前記所定の能力を学習した第１の学習器を構築するステップと、
ハードウェアプロセッサにより、サンプルデータに対して前記所定の能力を発揮するように前記第１の学習器を動作させるステップと、
ハードウェアプロセッサにより、前記第１の学習器が前記サンプルデータに対して前記所定の能力を発揮した結果に基づいて、前記機械学習に利用した学習データの不足件数の程度を評価するステップと、
を備える、
学習方法。
【符号の説明】
【０１１３】
１・１Ａ・１Ｂ…学習装置、
１１…制御部、１２…記憶部、１３…外部インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…学習データ取得部、１１２…学習処理部、
１１３…不足件数評価部、
１２１…学習プログラム、
１２２…学習データ群、１２３…学習データ、
１２３１…画像データ、１２３２…検品結果データ、
１２４…部分学習データ群、
１２５…第１の追加学習データ群、１２６…（追加の）学習データ、
１２６１…画像データ、１２６２…検品結果データ、
１２７…第２の追加学習データ群、１２８…（追加の）学習データ、
１２８１…画像データ、１２８２…検品結果データ、
１２９…サンプルデータ、
１２９１…画像データ、１２９２…検品結果データ、
２…ニューラルネットワーク、
２１…入力層、２２……中間層（隠れ層）、２３…出力層、
３…ニューラルネットワーク、
３１…入力層、３２……中間層（隠れ層）、３３…出力層、
４０・４１…ニューラルネットワーク、
５…カメラ、６…対象物、
７…評価用ニューラルネットワーク（評価用学習器）
９…記憶媒体
【図１】
2018190140.tif 000003
【図２】
2018190140.tif 000004
【図３】
2018190140.tif 000005
【図４】
2018190140.tif 000006
【図５】
2018190140.tif 000007
【図６Ａ】
2018190140.tif 000008
【図６Ｂ】
2018190140.tif 000009
【図７】
2018190140.tif 000010
【図８】
2018190140.tif 000011