(57)【要約】【課題】多様なデータを生成可能な生成モデルを構築するための技術を提供する。【解決手段】本発明の一側面に係るモデル生成装置は、生成モデルを用いて、データを生成する生成部と、ローカル学習データを使用した機械学習により、与えられたデータがローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成されたデータを送信し、各識別モデルにデータに対する識別を実行させる送信部と、送信されたデータに対する各識別モデルによる識別の結果を受信する受信部と、受信された識別の結果を使用した機械学習により、複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように生成モデルを訓練する学習処理部と、を備える。【選択図】図１
2020115312.tif 000002
【特許請求の範囲】
【請求項１】
生成モデルを用いて、データを生成する生成部と、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させる送信部と、
送信された前記データに対する前記各識別モデルによる識別の結果を受信する受信部と、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練する学習処理部と、
を備える、
モデル生成装置。
【請求項２】
前記各識別モデルは、各学習装置に保持され、
前記送信部は、生成された前記データを前記各学習装置に送信することで、前記データに対する識別を前記各識別モデルに実行させ、
前記受信部は、前記各識別モデルによる識別の結果を前記各学習装置から受信する、
請求項１に記載のモデル生成装置。
【請求項３】
前記各識別モデルによる識別の結果は秘密計算により統合され、
前記学習処理部は、統合された前記識別の結果を使用した機械学習により、前記生成モデルを訓練する、
請求項２に記載のモデル生成装置。
【請求項４】
前記各学習装置を複数のグループのうちの少なくともいずれかに割り当てるグルーピング部を更に備え、
前記グループ毎に生成モデルを保持し、
前記受信部は、前記グループ毎に、前記各識別モデルによる識別の結果を前記各学習装置から受信し、
前記学習処理部は、前記グループ毎に、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルによる識別を誤らせるデータを生成するように前記生成モデルを訓練する、
請求項２又は３に記載のモデル生成装置。
【請求項５】
前記グルーピング部は、前記複数のグループを示すリストを前記各学習装置に配信して、前記各学習装置に対して、前記リストに示される前記複数のグループのうちから１つ以上のグループを選択させ、選択された前記１つ以上のグループに前記各学習装置を割り当てる、
請求項４に記載のモデル生成装置。
【請求項６】
前記グルーピング部は、
前記ローカル学習データに関する属性データを前記各学習装置から取得し、
前記各学習装置から取得した前記属性データをクラスタリングし、
前記クラスタリングの結果に基づいて、前記複数の学習装置それぞれを前記複数のグループのうちの少なくともいずれかに割り当てる、
請求項４に記載のモデル生成装置。
【請求項７】
複数の学習装置と、
モデル生成装置と、
を備え、
前記各学習装置は、
ローカル学習データを収集するステップと、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、
を実行し、
前記モデル生成装置は、
生成モデルを用いて、データを生成するステップと、
生成された前記データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記データに対する識別を実行させるステップと、
前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、
を実行する、
モデル生成システム。
【請求項８】
コンピュータが、
生成モデルを用いて、データを生成するステップと、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させるステップと、
送信された前記データに対する前記各識別モデルによる識別の結果を受信するステップと、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、
を実行する、
モデル生成方法。
【請求項９】
コンピュータに、
生成モデルを用いて、データを生成するステップと、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させるステップと、
送信された前記データに対する前記各識別モデルによる識別の結果を受信するステップと、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、
を実行させるための、
モデル生成プログラム。
【請求項１０】
複数の検査装置と、
モデル生成装置と、
を備え、
前記各検査装置は、
製品の写る製品画像データを含むローカル学習データを収集するステップと、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記製品画像データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、
を実行し、
前記モデル生成装置は、
生成モデルを用いて、画像データを生成するステップと、
生成された前記画像データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記画像データに対する識別を実行させるステップと、
前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるような画像データを生成するように前記生成モデルを訓練するステップと、
を実行する、
検査システム。
【請求項１１】
植物の栽培状況をそれぞれ監視する複数の監視装置と、
モデル生成装置と、
を備え、
前記各監視装置は、
前記植物の栽培状況に関する状況データを含むローカル学習データを収集するステップと、
ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記状況データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、
を実行し、
前記モデル生成装置は、
生成モデルを用いて、疑似状況データを生成するステップと、
生成された前記疑似状況データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記疑似状況データに対する識別を実行させるステップと、
前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、
受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるような疑似状況データを生成するように前記生成モデルを訓練するステップと、
を実行する、
監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル生成装置、モデル生成方法、モデル生成プログラム、モデル生成システム、検査システム、及び監視システムに関する。
【背景技術】
【０００２】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献１では、学習済みの第１のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第２のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０２６９８２号公報
【非特許文献】
【０００４】
【非特許文献１】Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, "Generative Adversarial Networks", Advances in neural information processing systems, 2672-2680, 2014
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、製品の写る画像データを含む学習データを使用した機械学習により、画像データに写る製品の状態を推定する能力を学習モデルに獲得させることができる。そのため、学習済みの学習モデルを推定器（識別器）として利用することで、対象画像データに写る検査対象の製品の良否を判定することができる。
【０００６】
また、このような学習モデルを利用しなくても、学習データとして収集された正常又は異常な製品の写る画像データ群と対象画像データとの比較に基づいて、対象画像データに写る検査対象の製品の良否を判定することができる。例えば、正常な製品の写る画像データ群と対象画像データとを比較した結果、対象画像データが画像データ群の分布に沿っている（すなわち、対象画像データが画像データ群に類似している）場合には、対象画像データに写る製品は正常であると判定することができる。一方で、対象画像データが画像データ群の分布から離れている場合には、対象画像データに写る製品は異常であると判定することができる。なお、以下では、このような良否の判定等の推論の学習のために収集された学習データを「推論用学習データ」とも称する。推定器の機械学習に使用する場合には、特に、推論の学習のために収集された学習データを「推定器用学習データ」と称してもよい。
【０００７】
本件発明者は、画像データを利用するこれら従来の検査方法には次のような問題点があることを見出した。すなわち、画像データを利用して製品の外観検査を高精度に実施するためには、外観検査の学習に利用する推論用学習データとして十分な量でかつ多様な画像データを収集するのが望まれる。例えば、上記の機械学習に使用する推論用学習データの量が少ない場合には、学習済みの推定器による外観検査の精度は不十分になってしまう。そのため、推定器の外観検査の能力を高めるためには、十分な量の推論用学習データを収集するのが望まれる。しかしながら、十分な量の推論用学習データを収集するのにはコストがかかってしまう。
【０００８】
そこで、本件発明者は、生成モデルを利用して、用意した画像から複数の異なる画像を量産することで、推論用学習データの量を増やすことを検討した。例えば、非特許文献１には、機械学習により、学習データとして用意した画像データから生成モデルを構築する方法が提案されている。この生成モデルは、機械学習により、学習データの分布に沿う画像データを生成するように訓練される。つまり、製品の写る画像データを学習データとして利用すれば、生成モデルは、製品の写り得る画像データを生成するように訓練される。そのため、この生成モデルを利用すれば、製品の写る画像データを生成することができる。したがって、外観検査の学習に利用可能な推論用学習データの量を適切に増やすことができ、これによって、外観検査の精度を高めるために十分な量の推論用学習データを収集するのにかかるコストを低減することができる。
【０００９】
しかしながら、本件発明者は、このような生成モデルを利用しても、次のような問題があることを見出した。すなわち、個々の現場では、学習データを収集するのには限界があるため、検査能力の向上に価値ある学習データ（例えば、製品に異常が発生した時の画像データ）を短期間で数多く収集するのは困難である。加えて、場所、環境、条件等に起因して、学習データとして得られる画像データには偏りが生じ得る。そのため、個々の現場では、多様な画像データを収集するのは困難である。よって、個々の現場で生成モデルを構築しても、得られた生成モデルでは、多様な画像データを生成することは困難である。
【００１０】
そこで、本件発明者は、この問題を解決するために、多数の現場で得られた画像データを集結し、集結した画像データを使用した機械学習を実施することで、多様な画像データを生成可能な生成モデルを構築することを検討した。例えば、同じ製品の外観検査を実施している異なる工場が存在し、各工場では、カメラの配置、照明等の撮影条件が異なっているとする。この場合、各工場で得られた画像データを集結することで、撮影条件の異なる多様な画像データを学習データとして得ることができる。また、各工場で発生した価値ある事象の表れた学習データ（例えば、製品に異常が発生した時の画像データ）を得ることができる。
【００１１】
しかしながら、各現場は、個々の事情に基づいて、独自に運営される。各現場は、基本的には他の現場とは無関係に学習データを収集する。そのため、各現場で得られる学習データは、例えば、撮影条件等の点で不均一である。また、そもそも各現場で同じ目的の検査が実施されているとは限らない。よって、各現場で得られた画像データそのままでは共通の機械学習に使用できない可能性がある。加えて、各現場で得られた大量の学習データをサーバに集結すると、サーバにかかる通信コストが膨大になってしまう。また、集結された不均一かつ大量の学習データを使用した機械学習により生成モデルを構築するのにかかる計算コストが大きくなってしまう。そのため、計算処理に利用するメモリの不足が生じてしまう、計算処理の時間が長くなってしまう、計算処理が所定時間内に完了しない等の不具合が生じてしまう可能性がある。更に、各現場で得られた学習データには秘匿性の高い学習データが含まれている場合がある。この場合に、各現場で得られた学習データを共通のネットワーク上のサーバに集結すると、その学習データの秘匿性が損なわれてしまう。
【００１２】
このように、生成モデルの機械学習を実施するために各現場で得られた学習データを集結するのには様々な技術的な障害が存在する。そのため、この学習データを集結する方法で、生成モデルにより生成される画像データの多様性を高めるのは現実的ではない。したがって、従来の方法では、多様な画像データを生成可能な生成モデルを構築することは困難であるという問題点があることを本件発明者は見出した。これに起因して、従来の方法では、画像データを利用した高精度な製品の外観検査を実現するのは困難である。
【００１３】
なお、この問題点は、製品の状態（良否）を推定する学習に利用可能な画像データを生成するように訓練された生成モデルを構築する場面に特有のものではない。所定のデータ、特に、所定の推論の学習に利用可能なデータを生成するように訓練された生成モデルを構築するあらゆる場面で同様の問題点が生じる。所定の推論の学習に利用可能なデータを生成モデルにより生成する場面とは、例えば、植物の栽培状況に関するデータから当該植物の状態を推定する場面、運転者を観察することで得られたデータから当該運転者の状態を推定する場面、気象に関するデータから発電装置の発電量を予測する場面、対象者のバイタルデータから当該対象者の健康状態を推定する場面等、である。これらの場面における所定の学習データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。これらの場面でも、個々の現場では、生成モデルを訓練するための多様な学習データを収集するのは困難である。また、生成モデルの機械学習を実施するために各現場で得られた学習データを集結するのには様々な技術的な障害が存在する。そのため、従来の方法では、多様なデータを生成可能な生成モデルを構築することは困難であるという問題点がある。これに起因して、従来の方法では、所定のデータを利用した高精度な推論を実現するのは困難である。
【００１４】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、多様なデータを生成可能な生成モデルを構築するための技術を提供することである。
【課題を解決するための手段】
【００１５】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１６】
すなわち、本発明の一側面に係るモデル生成装置は、生成モデルを用いて、データを生成する生成部と、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させる送信部と、送信された前記データに対する前記各識別モデルによる識別の結果を受信する受信部と、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練する学習処理部と、を備える。
【００１７】
当該構成に係るモデル生成装置は、生成モデルにより生成されたデータ（以下、「生成データ」とも記載する）を各識別モデルに送信し、当該データに対する識別を各識別モデルに実行させる。各識別モデルは、機械学習によって、与えられたデータがローカル学習データに含まれるデータか否かを識別するように構築されている。そして、当該構成に係るモデル生成装置は、送信された生成データに対する各識別モデルによる識別の結果を収集し、収集された識別の結果を使用して、生成モデルの機械学習を実行する。
【００１８】
よって、当該構成では、生成モデルの機械学習を実施するために、ローカル学習データそのものを収集するのではなく、各識別モデルの識別結果を収集する。これにより、ローカル学習データ及び各識別モデルが異なる装置に配置されたケースでは、モデル生成装置にかかる通信コストを抑えることができる。また、ローカル学習データそのものを生成モデルの機械学習に使用しなくてもよいため、モデル生成装置にかかる計算コストを抑えることができる。更に、ローカル学習データそのものをモデル生成装置に集結せずに済むため、ローカル学習データの内容が直接的に明らかになるのを防ぐことができる。つまり、ローカル学習データの秘匿性をある程度は担保することができる。したがって、当該構成によれば、学習データを集結する上記の方法に生じ得る種々の問題を解決することができる。
【００１９】
加えて、当該構成に係るモデル生成装置は、収集された識別の結果を使用した機械学習により、複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように生成モデルを訓練する。つまり、当該機械学習により、生成モデルは、少なくともいずれか一つの識別モデルの識別を誤らせる（つまり、だます）ようなデータを生成するように訓練される。これにより、各識別モデルの機械学習に使用された不均一なローカル学習データのいずれかの分布に従ったデータを生成可能な生成モデルを構築することができる。そのため、当該機械学習による訓練の結果、生成モデルは、各識別モデルの機械学習に使用されたローカル学習データの論理和の分布に含まれるようなデータを生成する能力を習得することができる。したがって、当該構成によれば、多様なデータを生成可能な生成モデルを構築する環境を実現することができる。構築された生成モデルにより生成されたデータは、所定の推論の学習に利用されてよい。
【００２０】
なお、生成モデル及び複数の識別モデルはそれぞれ、機械学習により各能力を獲得可能な学習モデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。生成モデル及び複数の識別モデルにはそれぞれ、例えば、ニューラルネットワーク等が用いられてよい。生成モデルは生成器と称されてよく、識別モデルは識別器と称されてもよい。なお、上記機械学習において、追加条件（例えば、ラベル）が与えられたデータをローカル学習データとして利用することで、追加条件に応じたデータを生成可能な条件付き生成モデルを構築することができる。生成モデルは、このような条件付き生成モデルであってもよい。追加条件は、生成モデルにより生成するデータの種別に関するものであればよく、例えば、生成するデータの属性、生成するデータに表れる特徴の属性等により与えられてもよい。生成するデータが画像データである場合、生成するデータの属性は、例えば、画像データの解像度、ピクセル数、欠損の有無等であってよい。また、生成するデータに表れる特徴の属性は、例えば、推論の対象となる対象物の属性、対象物の種別等であってよい。
【００２１】
ローカル学習データは、識別モデルの機械学習に使用される学習データであるが、ローカル学習データの利用は、識別モデルの機械学習に限られる訳ではない。ローカル学習データは、種々の利用目的で収集されてよい。例えば、外観検査の学習に利用する（つまり、推論用学習データとして利用する）ため、製品の写る画像データがローカル学習データとして収集されてよい。ローカル学習データに含まれるデータの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ローカル学習データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等により構成されてよい。全てのローカル学習データは、最終的には生成モデルにより生成させるデータの分布を定める。生成モデルは、ローカル学習データと同種のデータを生成するように構成される。学習済みの生成モデルは、ローカル学習データと同種のデータを量産するために利用されてよい。
【００２２】
上記一側面に係るモデル生成装置において、前記各識別モデルは、各学習装置に保持されてよく、前記送信部は、生成された前記データを前記各学習装置に送信することで、前記データに対する識別を前記各識別モデルに実行させてよく、前記受信部は、前記各識別モデルによる識別の結果を前記各学習装置から受信してもよい。当該構成によれば、各学習装置の各識別モデルの機械学習に使用されたローカル学習データを集結せずに、多様なデータを生成可能な生成モデルを構築することができる。
【００２３】
上記一側面に係るモデル生成装置において、前記各識別モデルによる識別の結果は秘密計算により統合されてよく、前記学習処理部は、統合された前記識別の結果を使用した機械学習により、前記生成モデルを訓練してもよい。当該構成によれば、各学習装置に保持された各識別モデルの機械学習に使用されたローカル学習データの秘匿性を更に高めることができる。
【００２４】
上記一側面に係るモデル生成装置は、前記各学習装置を複数のグループのうちの少なくともいずれかに割り当てるグルーピング部を更に備え、前記グループ毎に生成モデルを保持してもよい。そして、前記受信部は、前記グループ毎に、前記各識別モデルによる識別の結果を前記各学習装置から受信してもよく、前記学習処理部は、前記グループ毎に、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルによる識別を誤らせるデータを生成するように前記生成モデルを訓練してもよい。当該構成によれば、各学習装置をグループ分けし、多様なデータを生成可能な生成モデルをグループ毎に構築することができる。
【００２５】
上記一側面に係るモデル生成装置において、前記グルーピング部は、前記複数のグループを示すリストを前記各学習装置に配信して、前記各学習装置に対して、前記リストに示される前記複数のグループのうちから１つ以上のグループを選択させ、選択された前記１つ以上のグループに前記各学習装置を割り当ててもよい。当該構成によれば、簡易な方法により各学習装置をグループ分けすることができる。
【００２６】
上記一側面に係るモデル生成装置において、前記グルーピング部は、前記ローカル学習データに関する属性データを前記各学習装置から取得し、前記各学習装置から取得した前記属性データをクラスタリングし、前記クラスタリングの結果に基づいて、前記複数の学習装置それぞれを前記複数のグループのうちの少なくともいずれかに割り当ててもよい。当該構成によれば、ローカル学習データの属性に応じて、各学習装置をグループ分けすることができる。
【００２７】
なお、属性データは、ローカル学習データに関するあらゆる情報を含んでもよく、例えば、ローカル学習データに含まれるデータの種別を示す情報、データに表れる特徴を示す情報、データの利用目的を示す情報等を含んでもよい。データに表れる特徴は、当該データから推論可能なあらゆる要素を含んでよい。ローカル学習データが製品の写る画像データを含む場合、データに表れる特徴は、例えば、製品に含まれる欠陥の有無、製品に含まれる欠陥の種別等であってよい。データの利用目的は、実施の形態に応じて適宜決定されてよい。ローカル学習データに含まれるデータは、例えば、外観検査、栽培状況の監視等の所定の推論の学習に利用されてよい。
【００２８】
上記各形態に係るモデル生成装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係るモデル生成システムは、上記いずれかの形態に係るモデル生成装置及び複数の学習装置により構成されてよい。
【００２９】
例えば、本発明の一側面に係るモデル生成システムは、複数の学習装置と、モデル生成装置と、を備える。前記各学習装置は、ローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、データを生成するステップと、生成された前記データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。
【００３０】
また、例えば、本発明の一側面に係るモデル生成システムは、複数の学習装置と、モデル生成装置と、を備える。前記各学習装置は、ローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、データを生成するステップと、生成された前記データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。更に、各学習装置は、対象データを取得するステップと、特徴を推論するための推論用学習データとして収集されたデータ群であって、学習済みの生成モデルにより生成されたデータを含むデータ群を取得するステップと、データ群と対象データとの比較に基づいて、対象データに表れる特徴を推論するステップと、特徴を推論した結果に関する情報を出力するステップと、を実行するように構成される。
【００３１】
また、例えば、本発明の一側面に係るモデル生成システムは、複数の学習装置と、モデル生成装置と、を備える。前記各学習装置は、ローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、データを生成するステップと、生成された前記データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。更に、各学習装置は、機械学習により特徴を推論する能力を獲得するのに使用する推論用ローカル学習データであって、学習済みの生成モデルにより生成されたデータを含む推論用ローカル学習データを収集するステップと、収集された推論用ローカル学習データを使用した機械学習により、データに表れる特徴を推論する能力を獲得した学習済みの推定器を構築するステップと、対象データを取得するステップと、学習済みの推定器を利用して、対象データに表れる特徴を推定するステップと、特徴を推定した結果に関する情報を出力するステップと、を実行するように構成される。
【００３２】
また、例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、生成モデルを用いて、データを生成するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させるステップと、送信された前記データに対する前記各識別モデルによる識別の結果を受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、を実行する、情報処理方法である。
【００３３】
また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、生成モデルを用いて、データを生成するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データか否かを識別する能力をそれぞれ獲得した複数の学習済みの識別モデルそれぞれに生成された前記データを送信し、前記各識別モデルに前記データに対する識別を実行させるステップと、送信された前記データに対する前記各識別モデルによる識別の結果を受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように前記生成モデルを訓練するステップと、を実行させるための、プログラムである。
【００３４】
上記各形態は、所定のデータ、特に、所定の推論の学習に利用可能なデータを生成するように訓練された生成モデルを構築するあらゆる場面に適用可能である。上記各形態は、例えば、植物の栽培状況に関するデータから当該植物の状態を推定する場面、運転者を観察することで得られたデータから当該運転者の状態を推定する場面、気象に関するデータから発電装置の発電量を予測する場面、対象者のバイタルデータから当該対象者の健康状態を推定する場面等、に適用されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等であってよい。
【００３５】
例えば、本発明の一側面に係る画像生成システムは、複数の学習装置と、モデル生成装置と、を備える。前記各学習装置は、画像データを含むローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記画像データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、画像データを生成するステップと、生成された前記画像データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記画像データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるような画像データを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。
【００３６】
例えば、本発明の一側面に係るセンシングデータの生成システムは、複数の学習装置と、モデル生成装置と、を備える。前記各学習装置は、センサにより得られるセンシングデータを含むローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記センシングデータか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、センシングデータを生成するステップと、生成された前記センシングデータを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記センシングデータに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなセンシングデータを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。
【００３７】
例えば、本発明の一側面に係る検査システムは、複数の検査装置と、モデル生成装置と、を備える。前記各検査装置は、製品の写る製品画像データを含むローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記製品画像データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、画像データを生成するステップと、生成された前記画像データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記画像データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるような画像データを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。
【００３８】
また、例えば、本発明の一側面に係る監視システムは、植物の栽培状況をそれぞれ監視する複数の監視装置と、モデル生成装置と、を備える。前記各監視装置は、前記植物の栽培状況に関する状況データを含むローカル学習データを収集するステップと、ローカル学習データを使用した機械学習により、与えられたデータが当該ローカル学習データに含まれる前記状況データか否かを識別する能力を獲得した学習済みの識別モデルを構築するステップと、を実行するように構成される。前記モデル生成装置は、生成モデルを用いて、疑似状況データを生成するステップと、生成された前記疑似状況データを前記各学習装置に送信することで、前記各学習装置の前記識別モデルに前記疑似状況データに対する識別を実行させるステップと、前記各学習装置の前記識別モデルによる識別の結果を前記各学習装置から受信するステップと、受信された前記識別の結果を使用した機械学習により、前記複数の識別モデルのうちの少なくともいずれか一つの識別モデルの識別性能を低下させるような疑似状況データを生成するように前記生成モデルを訓練するステップと、を実行するように構成される。
【発明の効果】
【００３９】
本発明によれば、多様なデータを生成可能な生成モデルを構築することができる。
【図面の簡単な説明】
【００４０】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２Ａ】図２Ａは、比較例に係るモデル生成方法により構築される学習済みの生成モデルの問題点を説明するための図である。
【図２Ｂ】図２Ｂは、実施の形態に係るモデル生成装置により構築される学習済みの生成モデルの特徴を説明するための図である。
【図３】図３は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係る割当情報の構成の一例を模式的に例示する。
【図７Ａ】図７Ａは、実施の形態に学習装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図７Ｂ】図７Ｂは、実施の形態に学習装置の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【図８】図８は、実施の形態に係る学習装置による識別モデルの機械学習の処理手順の一例を例示する。
【図９】図９は、実施の形態に係るモデル生成装置による生成モデルの機械学習の処理手順の一例を例示する。
【図１０】図１０は、実施の形態に係る学習装置による所定の推論に関する処理手順の一例を例示する。
【図１１】図１１は、実施の形態に係るグルーピング処理を模式的に例示する。
【図１２】図１２は、実施の形態に係るモデル生成装置による学習装置のグルーピングに関する処理手順の一例を例示する。
【図１３】図１３は、実施の形態に係るモデル生成装置による学習装置のグルーピングに関する処理手順の一例を例示する。
【図１４】図１４は、識別モデル及び生成モデルの生成のために与えたローカル学習データを示す。
【図１５Ａ】図１５Ａは、比較例の方法により生成された学習済みの生成モデルによりデータを生成した結果を示す。
【図１５Ｂ】図１５Ｂは、実施例の方法により生成された学習済みの生成モデルによりデータを生成した結果を示す。
【図１６】図１６は、本発明が適用される他の場面の一例を模式的に例示する。
【図１７】図１７は、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図１８Ａ】図１８Ａは、他の形態に係る検査装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図１８Ｂ】図１８Ｂは、他の形態に係る検査装置の検査処理に関するソフトウェア構成の一例を模式的に例示する。
【図１９】図１９は、本発明が適用される他の場面の一例を模式的に例示する。
【図２０】図２０は、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図２１Ａ】図２１Ａは、他の形態に係る監視装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２１Ｂ】図２１Ｂは、他の形態に係る監視装置の監視処理に関するソフトウェア構成の一例を模式的に例示する。
【図２２】図２２は、本発明が適用される他の場面の一例を模式的に例示する。
【図２３】図２３は、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図２４Ａ】図２４Ａは、他の形態に係る監視装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２４Ｂ】図２４Ｂは、他の形態に係る監視装置の監視処理に関するソフトウェア構成の一例を模式的に例示する。
【図２５】図２５は、本発明が適用される他の場面の一例を模式的に例示する。
【図２６】図２６は、他の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【図２７Ａ】図２７Ａは、他の形態に係る予測装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図２７Ｂ】図２７Ｂは、他の形態に係る予測装置の予測処理に関するソフトウェア構成の一例を模式的に例示する。
【図２８】図２８は、本発明が適用される他の場面の一例を模式的に例示する。
【図２９】図２９は、他の形態に係る診断装置のハードウェア構成の一例を模式的に例示する。
【図３０Ａ】図３０Ａは、他の形態に係る診断装置の機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図３０Ｂ】図３０Ｂは、他の形態に係る診断装置の診断処理に関するソフトウェア構成の一例を模式的に例示する。
【図３１】図３１は、変形例に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図３２Ａ】図３２Ａは、変形例に係る学習装置の更なる機械学習に関するソフトウェア構成の一例を模式的に例示する。
【図３２Ｂ】図３２Ｂは、変形例に係る学習装置による更なる機械学習の処理手順の一例を例示する。
【図３３】図３３は、変形例に係る学習装置の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【図３４】図３４は、変形例に係る学習装置の構成の一例を模式的に例示する。
【図３５Ａ】図３５Ａは、変形例において秘密計算を実施する場面の一例を模式的に例示する。
【図３５Ｂ】図３５Ｂは、変形例において秘密計算を実施する場面の一例を模式的に例示する。
【発明を実施するための形態】
【００４１】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４２】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を適用した場面の一例を模式的に例示する。図１に示されるとおり、本実施形態に係るモデル生成システム１００は、モデル生成装置１及び複数の学習装置２を備えている。モデル生成装置１及び各学習装置２は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００４３】
本実施形態に係る各学習装置２は、ローカル学習データ３を使用して、識別モデル４０の機械学習を実行するように構成されたコンピュータである。具体的には、本実施形態に係る各学習装置２は、ローカル学習データ３を収集する。そして、各学習装置２は、ローカル学習データ３を使用した機械学習により、与えられたデータが当該ローカル学習データ３に含まれるか否かを識別する能力を獲得した学習済みの識別モデル４０を構築する。
【００４４】
このように、ローカル学習データ３は、識別モデル４０の機械学習に使用される学習データであるが、ローカル学習データ３の利用は、識別モデル４０の機械学習に限られる訳ではない。ローカル学習データ３は、種々の利用目的で収集されてよい。例えば、外観検査の学習に利用するため、製品の写る画像データがローカル学習データ３として収集されてよい。各学習装置２は、別の利用目的で収集したデータをローカル学習データ３として取り扱ってもよい。
【００４５】
本実施形態では、各学習装置２には、センサＳが接続されている。これにより、各学習装置２は、センサＳにより得られたセンシングデータに表れる特徴を推論する処理を実行可能に構成される。そのため、ローカル学習データ３は、センサＳにより得られたセンシングデータに含まれる何らかの特徴を推論するのに利用する目的で収集されてよい。つまり、ローカル学習データ３は、センサＳ又はこれと同種のセンサにより得られるデータの群により構成されてよい。
【００４６】
なお、センサＳは、何らかのデータを取得可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳは、例えば、カメラ、マイクロフォン、光度計、温度計、湿度計、バイタルセンサ等であってよい。カメラは、例えば、ＲＧＢ画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。一例として、製品の外観を撮影するカメラがセンサＳとして採用されてよい。この場合、センシングデータは製品の写る画像データであってよく、何らかの特徴を推論することは、画像データに写る製品の状態を推定することであってよい。
【００４７】
各学習装置２は、例えば、個別の現場に配置され、異なる利用者により利用されてよい。各学習装置２は、個々の事情に応じた推論の目的で、推論用学習データを収集してもよい。この場合、各学習装置２は、収集された推論用学習データをローカル学習データ３として利用してもよい。ただし、各学習装置２の配置及び利用者は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、少なくとも一部の学習装置２が、同じ現場に配置され、同じ利用者に利用されてもよい。
【００４８】
一方、本実施形態に係るモデル生成装置１は、ローカル学習データ３と同種のデータを生成可能な生成モデル４１を構築するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置１は、生成モデル４１を用いて、データ５０を生成する。次に、モデル生成装置１は、生成されたデータ５０を各学習装置２に送信することで、各学習装置２の識別モデル４０にデータ５０に対する識別を実行させる。各学習装置２は、識別モデル４０により、データ５０がローカル学習データ３に含まれるか否かを識別する。
【００４９】
本実施形態に係るモデル生成装置１は、各学習装置２の識別モデル４０による識別の結果５１を各学習装置２から受信する。そして、モデル生成装置１は、受信された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデルの識別性能を低下させるようなデータを生成するように生成モデル４１を訓練する。
【００５０】
なお、ローカル学習データ３に含まれるデータの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ローカル学習データ３は、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等により構成されてよい。全てのローカル学習データ３は、最終的には生成モデル４１により生成させるデータの分布を定める。生成モデル４１は、ローカル学習データ３と同種のデータを生成するように構成される。学習済みの生成モデル４１は、ローカル学習データ３と同種のデータを量産するために利用されてよい。同種のデータの量産は、例えば、所定の推論を行う能力を推定器に習得させるのに利用する推論用学習データの件数を増やすため、所定の推論を行う対象となる対象データと比較するデータの件数を増やすために行われてよい。
【００５１】
図１の例では、３つの学習装置２ａ〜２ｃが存在している。以下、説明の便宜の上、各学習装置を区別する場合に、ａ、ｂ、ｃ等の更なる符号を付し、そうではない場合には、「学習装置２」等のようにそれらの符号を省略する。各学習装置２ａ〜２ｃは、ローカル学習データ３ａ〜３ｃを収集し、得られた各自のローカル学習データ３ａ〜３ｃを使用して、各識別モデル４０ａ〜４０ｃの機械学習を実行する。これにより、各学習装置２ａ〜２ｃは、与えられたデータが自身のローカル学習データ３ａ〜３ｃに含まれるか否かを識別する能力を獲得した学習済みの識別モデル４０ａ〜４０ｃを構築する。
【００５２】
より詳細には、本実施形態では、各学習装置２ａ〜２ｃは、更に、生成モデル４１により生成されたデータ（後述するデータ５３）をモデル生成装置１から取得する。そして、各学習装置２ａ〜２ｃは、各自のローカル学習データ３ａ〜３ｃ及び生成モデル４１により生成されたデータを使用して、各識別モデル４０ａ〜４０ｃの機械学習を実行する。これにより、各学習装置２ａ〜２ｃは、与えられたデータが自身のローカル学習データ３ａ〜３ｃ由来であるか生成モデル４１由来であるかを識別する能力を各識別モデル４０ａ〜４０ｃに習得させる。
【００５３】
これに対して、モデル生成装置１は、生成モデル４１によりデータ５０を生成し、生成されたデータ５０を各学習装置２ａ〜２ｃに送信する。各学習装置２ａ〜２ｃは、自身の識別モデル４０ａ〜４０ｃにより、データ５０が自身のローカル学習データ３ａ〜３ｃに含まれるか否かを識別する。そして、各学習装置２ａ〜２ｃは、自身の識別モデル４０ａ〜４０ｃによる識別の結果５１ａ〜５１ｃをモデル生成装置１に返信する。
【００５４】
モデル生成装置１は、各学習装置２ａ〜２ｃの識別モデル４０ａ〜４０ｃによる識別の結果５１ａ〜５１ｃを受信する。そして、モデル生成装置１は、受信された識別の結果５１ａ〜５１ｃを使用した機械学習により、複数の識別モデル４０ａ〜４０ｃのうちの少なくともいずれか一つの識別性能を低下させるようなデータを生成するように生成モデル４１を訓練する。換言すると、モデル生成装置１は、複数の識別モデル４０ａ〜４０ｃのうちの少なくともいずれか一つが自身のローカル学習データ３ａ〜３ｃに含まれていると識別するようなデータを生成するように生成モデル４１を訓練する。なお、学習装置２の数は、図１の例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。学習装置２の数は、２つであってもよいし、４つ以上であってもよい。
【００５５】
以上のとおり、本実施形態では、生成モデル４１の機械学習を実施するために、ローカル学習データ３そのものを収集するのではなく、各識別モデル４０の識別の結果５１を収集する。これにより、モデル生成装置１にかかる通信コストを抑えることができる。また、ローカル学習データ３そのものを生成モデル４１の機械学習に使用しなくてもよいため、モデル生成装置１にかかる計算コストを抑えることができる。更に、ローカル学習データ３そのものをモデル生成装置１に集結せずに済むため、ローカル学習データ３の内容が直接的に明らかになるのを防ぐことができる。よって、ローカル学習データ３の秘匿性をある程度は担保することができる。
【００５６】
加えて、本実施形態では、生成モデル４１は、収集された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように訓練される。つまり、当該機械学習により、生成モデル４１は、少なくともいずれか一つの識別モデル４０の識別を誤らせるようなデータを生成するように訓練される。これにより、各識別モデル４０の機械学習に使用されたローカル学習データ３のいずれかの分布に従ったデータを生成可能な生成モデル４１を構築することができる。
【００５７】
図２Ａ及び図２Ｂを更に用いて、この効果について詳細に説明する。本実施形態と対極の学習方法として、全ての識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデルを訓練する方法が想定される。図２Ａは、この対極の方法により構築される学習済みの生成モデルにより生成可能なデータの分布を模式的に示す。一方、図２Ｂは、本実施形態により構築される学習済みの生成モデル４１により生成可能なデータの分布を模式的に示す。
【００５８】
全ての識別モデル４０の識別性能を低下させるためには、全てのローカル学習データ３に共通のデータを生成することになる。つまり、全ての識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデルを訓練した場合には、構築された学習済みの生成モデルにより生成可能なデータは、各学習装置２のローカル学習データ３の論理積に含まれるようなデータとなる。各学習装置２により収集されるローカル学習データ３の分布が同じであれば、この方法により構築された学習済みの生成モデルは、各学習装置２のローカル学習データ３の分布に従ったデータを生成可能である。
【００５９】
しかしながら、各学習装置２により収集されるローカル学習データ３の分布が同じであるとは限らない。特に、各学習装置２が個々の事情に基づいて独自に運営される場合には、基本的には、ローカル学習データ３は、他の学習装置２のローカル学習データ３とは無関係に収集される。そのため、各学習装置２により収集されるローカル学習データ３は不均一であり、その分布は大きく相違し得る。例えば、図２Ａに示されるように、各学習装置２ａ〜２ｃにより収集されるローカル学習データ３ａ〜３ｃの分布は異なり得る。
【００６０】
各学習装置２により収集されるローカル学習データ３の分布が大きく相違すると、その共通の部分（すなわち、論理積）は、図２Ａのハッチングで示されるとおり、極めて狭い範囲となってしまう。各学習装置２により収集されるローカル学習データ３の分布に共通の部分が存在しない場合には、生成モデルは、どの分布にも含まれないようなデータを生成するように構築されてしまう。したがって、全ての識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデルを訓練した場合、構築される学習済みの生成モデルにより生成可能なデータは非常に限られたものになってしまう。
【００６１】
これに対して、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させる場合には、各識別モデル４０の機械学習に使用されたローカル学習データ３の少なくともいずれかの分布に従うデータを生成すればよい。よって、本実施形態のとおり、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させるようなデータを生成するように生成モデル４１を訓練した場合には、生成モデル４１は、各識別モデル４０の機械学習に使用されたローカル学習データ３の論理和の分布に従ったデータを生成する能力を習得することができる。
【００６２】
そのため、各学習装置２により収集されるローカル学習データ３の分布が異なっていても、学習済みの生成モデル４１は、各分布に含まれ得るデータを生成することができる。例えば、図２Ｂのハッチングで示されるように、ローカル学習データ３ａ〜３ｃの分布が異なっていても、当該機械学習の結果、生成モデル４１は、ローカル学習データ３ａ〜３ｃの論理和の分布に含まれるようなデータを生成する能力を習得することができる。したがって、本実施形態によれば、多様なデータを生成可能な生成モデル４１を構築することができる。
【００６３】
複数の識別モデル４０及び生成モデル４１はそれぞれ、機械学習により各能力を獲得可能な学習モデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、後述するとおり、複数の識別モデル４０及び生成モデル４１はそれぞれ、ニューラルネットワークにより構成される。各識別モデル４０は識別器と称されてよく、生成モデル４１は生成器と称されてよい。
【００６４】
なお、本実施形態に係る各学習装置２は、センサＳにより得られたデータ（後述する対象データ２２３）に表れる特徴を推論する処理を実行する。本実施形態では、各学習装置２は、特徴を推論するための推論用学習データとして収集されたデータ群を取得する。このとき、各学習装置２は、学習済みの生成モデル４１を利用して生成されたデータを取得してもよい。学習済みの生成モデル４１によるデータの生成は、各学習装置２により実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、各学習装置２は、学習済みの生成モデル４１により生成されたデータを含むデータ群を取得してもよい。また、各学習装置２は、対象データを取得する。そして、各学習装置２は、対象データとデータ群との比較に基づいて、対象データに表れる特徴を推論する。各学習装置２は、特徴を推論した結果に関する情報を出力する。
【００６５】
上記のとおり、学習済みの生成モデル４１によれば、多様なデータを生成可能である。特に、学習済みの生成モデル４１は、各学習装置２単独では収集するのが困難であるが、他の学習装置２では得られるようなデータを生成可能に構成される。そのため、各学習装置２は、このような生成モデル４１により生成されたデータにより、推論に利用するデータ群に含まれるデータの件数を増やすだけでなく、データのバリエーションを豊富にすることができる。これによって、各学習装置２は、データ群との比較に基づく推論の精度を高めることができる。
【００６６】
§２  構成例
［ハードウェア構成］
＜モデル生成装置＞
次に、図３を用いて、本実施形態に係るモデル生成装置１のハードウェア構成の一例について説明する。図３は、本実施形態に係るモデル生成装置１のハードウェア構成の一例を模式的に例示する。
【００６７】
図３に示されるとおり、本実施形態に係るモデル生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図３では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００６８】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、モデル生成プログラム８１、学習結果データ１２１、グループリスト１２３、割当情報１２４等の各種情報を記憶する。
【００６９】
モデル生成プログラム８１は、生成モデル４１の機械学習に関する後述の情報処理（図９）をモデル生成装置１に実行させるためのプログラムである。モデル生成プログラム８１は、この情報処理の一連の命令を含む。学習結果データ１２１は、機械学習により構築された生成モデル４１に関する情報を示す。学習結果データ１２１は、モデル生成プログラム８１を実行した結果として得られる。グループリスト１２３は、各学習装置２を割り当てる候補となる複数のグループの一覧を示す。割当情報１２４は、各学習装置２と各グループとの対応関係を示す。詳細は後述する。
【００７０】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置２）と行うことができる。
【００７１】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を利用することで、モデル生成装置１を操作することができる。
【００７２】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記モデル生成プログラム８１、グループリスト１２３、及び割当情報１２４の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００７３】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モデル生成装置１は、この記憶媒体９１から、上記モデル生成プログラム８１、グループリスト１２３、及び割当情報１２４の少なくともいずれかを取得してもよい。
【００７４】
ここで、図３では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００７５】
なお、モデル生成装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。モデル生成装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。
【００７６】
＜学習装置＞
次に、図４を用いて、本実施形態に係る各学習装置２のハードウェア構成の一例について説明する。図４は、本実施形態に係る各学習装置２のハードウェア構成の一例を模式的に例示する。
【００７７】
図４に示されるとおり、本実施形態に係る各学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。なお、図４では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００７８】
各学習装置２の制御部２１〜ドライブ２６はそれぞれ、上記モデル生成装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部２１は、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、学習プログラム８２、推論プログラム８３、ローカル学習データ３、学習結果データ２２１等の各種情報を記憶する。
【００７９】
学習プログラム８２は、識別モデル４０の機械学習に関する後述の情報処理（図８）を学習装置２に実行させるためのプログラムである。学習プログラム８２は、この情報処理の一連の命令を含む。学習結果データ２２１は、機械学習により構築された識別モデル４０に関する情報を示す。学習結果データ２２１は、学習プログラム８２を実行した結果として得られる。また、推論プログラム８３は、センサＳにより得られるデータに対する所定の推論に関する後述の情報処理（図１０）を学習装置２に実行させるためのプログラムである。推論プログラム８３は、この情報処理の一連の命令を含む。ローカル学習データ３は、識別モデル４０の機械学習に利用される。詳細は後述する。
【００８０】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。各学習装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、モデル生成装置１）と行うことができる。
【００８１】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を利用することで、各学習装置２を操作することができる。
【００８２】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム８２、推論プログラム８３、及びローカル学習データ３のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、各学習装置２は、記憶媒体９２から、上記学習プログラム８２、推論プログラム８３、及びローカル学習データ３のうちの少なくともいずれかを取得してもよい。
【００８３】
外部インタフェース２７は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース２７の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、各学習装置２は、外部インタフェース２７を介して、センサＳに接続される。これにより、各学習装置２は、所定の推論を実行する対象となるセンシングデータをセンサＳから取得可能に構成される。ただし、センシングデータを取得するための構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、センサＳが通信インタフェースを備える場合、各学習装置２は、外部インタフェース２７ではなく、通信インタフェース２３を介して、センサＳに接続されてもよい。
【００８４】
なお、各学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７の少なくともいずれかは省略されてもよい。各学習装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。本実施形態では、各学習装置２のハードウェア構成は共通している。しかしながら、各学習装置２のハードウェア構成の関係は、このような例に限定されなくてもよい。一の学習装置２と他の学習装置２との間で、ハードウェア構成は異なっていてもよい。また、各学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００８５】
［ソフトウェア構成］
＜モデル生成装置＞
次に、図５を用いて、本実施形態に係るモデル生成装置１のソフトウェア構成の一例について説明する。図５は、本実施形態に係るモデル生成装置１のソフトウェア構成の一例を模式的に例示する。
【００８６】
モデル生成装置１の制御部１１は、記憶部１２に記憶されたモデル生成プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開されたモデル生成プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図５に示されるとおり、本実施形態に係るモデル生成装置１は、生成部１１１、送信部１１２、受信部１１３、学習処理部１１４、保存処理部１１５、及びグルーピング部１１６をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置１の各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００８７】
生成部１１１は、生成モデル４１を用いて、データ５０を生成する。本実施形態では、所定の確率分布からノイズ（潜在変数）を取得する。所定の確率分布は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の確率分布は、例えば、ガウス分布等であってよい。生成部１１１は、取得したノイズを生成モデル４１に入力し、生成モデル４１の演算処理を実行する。これにより、生成部１１１は、生成モデル４１からデータ５０を取得する。
【００８８】
送信部１１２は、生成されるデータ５０を各識別モデル４０に送信し、各識別モデル４０にデータ５０に対する識別を実行させる。受信部１１３は、送信されたデータ５０に対する各識別モデル４０による識別の結果５１を受信する。本実施形態では、各識別モデル４０は、各学習装置２に保持されている。そのため、送信部１１２は、生成されるデータ５０を各学習装置２に送信することで、データ５０に対する識別を各識別モデル４０に実行させる。また、受信部１１３は、各識別モデル４０による識別の結果５１を各学習装置２から受信する。
【００８９】
学習処理部１１４は、受信された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデル４１を訓練する。保存処理部１１５は、機械学習により構築された学習済みの生成モデル４１に関する情報を所定の記憶領域に保存する。
【００９０】
グルーピング部１１６は、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。これに応じて、モデル生成装置１は、グループ毎に生成モデル４１を保持してもよい。送信部１１２は、グループ毎に、対応する生成モデル４１により生成されたデータ５０を各学習装置２に送信することで、各識別モデル４０にデータ５０に対する識別を実行させてよい。受信部１１３は、グループ毎に、各識別モデル４０による識別の結果５１を各学習装置２から受信してもよい。そして、学習処理部１１４は、グループ毎に、受信された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデル４１を訓練してもよい。本実施形態では、グルーピング部１１６は、各学習装置２に対するグループの割り当て結果を割当情報１２４に格納する。
【００９１】
図６は、本実施形態に係る割当情報１２４のデータ構成の一例を模式的に例示する。本実施形態では、割当情報１２４は、テーブル形式の構造を有しており、各レコード（行データ）は、「ユーザＩＤ」フィールド及び「グループＩＤ」フィールドを有している。「ユーザＩＤ」フィールドには、各学習装置２を識別するための情報が格納され、「グループＩＤ」フィールドには、対象の学習装置２を割り当てたグループを識別するための情報が格納される。１つのレコードは、１つの割り当て結果を示す。ただし、割当情報１２４のデータ構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【００９２】
（生成モデル）
次に、生成モデル４１の一例について説明する。図５に示されるとおり、本実施形態では、生成モデル４１は、ニューラルネットワークにより構成される。具体的には、生成モデル４１は、３層構造のニューラルネットワークにより構成され、入力側から順に、入力層４１１、中間（隠れ）層４１２、及び出力層４１３を備えている。ただし、生成モデル４１の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、生成モデル４１の備える中間層の数は、１つに限定されなくてもよく、２つ以上であってもよい。
【００９３】
各層４１１〜４１３に含まれるニューロン（ノード）の数は、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図５の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層４１１〜４１３に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される生成モデル４１の演算パラメータの一例である。
【００９４】
本実施形態では、生成モデル４１がこのように構成されるため、生成部１１１は、所定の確率分布から得られたノイズを入力層４１１に入力し、ニューラルネットワークの演算処理を実行する。これにより、生成部１１１は、出力層４１３からの出力として、ノイズから生成されたデータ５０を取得する。
【００９５】
また、学習処理部１１４は、機械学習により、いずれか一つの識別モデル４０の識別性能を低下させるように算出された誤差に基づいて、生成モデル４１の演算パラメータの値を調整する。保存処理部１１５は、機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成し、生成した学習結果データ１２１を所定の記憶領域に保存する。
【００９６】
＜学習装置＞
（Ａ）学習処理
次に、図７Ａを用いて、本実施形態に係る各学習装置２の学習処理に関するソフトウェア構成の一例について説明する。図７Ａは、本実施形態に係る各学習装置２の学習処理に関するソフトウェア構成の一例を模式的に例示する。
【００９７】
各学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム８２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図７Ａに示されるとおり、本実施形態に係る各学習装置２は、学習データ収集部２１１、学習処理部２１２、及び保存処理部２１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習処理に関する各学習装置２の各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【００９８】
学習データ収集部２１１は、識別モデル４０の機械学習に使用するローカル学習データ３を収集する。学習データ収集部２１１は、例えば、後述する推論処理に利用する等の他の利用目的で収集されたデータをローカル学習データ３として取り扱ってもよい。学習処理部２１２は、収集されたローカル学習データ３を使用した機械学習により、与えられたデータがローカル学習データ３に含まれるか否かを識別する能力を獲得した学習済みの識別モデル４０を構築する。保存処理部２１３は、機械学習により構築された学習済みの識別モデル４０に関する情報を所定の記憶領域に保存する。
【００９９】
（識別モデル）
次に、識別モデル４０の一例について説明する。図７Ａに示されるとおり、本実施形態では、識別モデル４０は、ニューラルネットワークにより構成される。具体的には、識別モデル４０は、上記生成モデル４１と同様に、３層構造のニューラルネットワークにより構成され、入力側から順に、入力層４０１、中間（隠れ）層４０２、及び出力層４０３を備えている。ただし、識別モデル４０の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、識別モデル４０の備える中間層の数は、１つに限定されなくてもよく、２つ以上であってもよい。
【０１００】
上記生成モデル４１と同様に、識別モデル４０の各層４０１〜４０３に含まれるニューロン（ノード）の数も、実施の形態に応じて適宜選択されてよい。図７Ａの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各層４０１〜４０３に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される識別モデル４０の演算パラメータの一例である。
【０１０１】
本実施形態では、学習処理部２１２は、機械学習により、識別モデル４０に入力されたデータが、生成モデル４１により生成されたデータであるかローカル学習データ３に含まれるデータであるかを識別するように識別モデル４０を訓練する。つまり、識別モデル４０は、与えられたデータが生成モデル４１由来かローカル学習データ３由来かを識別するように訓練される。なお、図７Ａでは、ローカル学習データ３由来であることを「真」と表現し、生成モデル４１由来であることを「偽」と表現している。ただし、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１０２】
この機械学習の処理の一例として、学習処理部２１２は、まず、収集されたローカル学習データ３の他に、生成モデル４１により生成されたデータ５３を取得する。データ５３は、データ５０と同様に、所定の確率分布から抽出されたノイズを生成モデル４１の入力層４１１に入力し、生成モデル４１の演算処理を実行することで生成される。次に、学習処理部２１２は、ローカル学習データ３及びデータ５３を利用して、識別モデル４０の機械学習を実行する。
【０１０３】
生成モデル４１により生成されたデータ５３に対する識別の正解データは「偽」である。一方、ローカル学習データ３に含まれるデータに対する識別の正解データは「真」である。そのため、「偽」を示す正解データをデータ５３に関連付けることで、与えられたデータが生成モデル４１由来であることを識別する能力の習得に専ら関与する学習用データセットを生成することができる。また、ローカル学習データ３に含まれるデータに「真」を示す正解データを関連付けることで、与えられたデータがローカル学習データ３由来であることを識別する能力の習得に専ら関与する学習用データセットを生成することができる。なお、「真」は「１」で表現されてよく、「偽」は「０」で表現されてよい。学習処理部２１２による識別モデル４０の機械学習は、各学習用データセットを使用した教師あり学習とみなすことができる。
【０１０４】
すなわち、学習処理部２１２は、生成モデル４１により生成されたデータ５３を識別モデル４０の入力層４０１に入力し、識別モデル４０の演算処理を実行する。これにより、学習処理部２１２は、入力されたデータがローカル学習データ３由来か生成モデル４１由来かを識別した結果に対応する出力値を出力層４０３から取得する。この場面では、入力されたデータは生成モデル４１により生成されたデータ５３であるため、識別モデル４０は、「偽」と識別するのが正解である。学習処理部２１２は、生成モデル４１により生成されたデータ５３について、出力層４０３から得られる出力値とこの正解との誤差を算出する。
【０１０５】
また、学習処理部２１２は、ローカル学習データ３に含まれるデータを識別モデル４０の入力層４０１に入力し、識別モデル４０の演算処理を実行する。これにより、学習処理部２１２は、入力されたデータがローカル学習データ３由来か生成モデル４１由来かを識別した結果に対応する出力値を出力層４０３から取得する。この場面では、入力されたデータはローカル学習データ３に含まれるデータであるため、識別モデル４０は、「真」と識別するのが正解である。学習処理部２１２は、ローカル学習データ３に含まれるデータについて、出力層４０３から得られる出力値とこの正解との誤差を算出する。
【０１０６】
そして、学習処理部２１２は、算出される誤差の和が小さくなるように、識別モデル４０の演算パラメータの値を調節する。学習処理部２１２は、出力層４０３から得られる出力値と真偽の正解との誤差の和が閾値以下になるまで、上記一連の処理による識別モデル４０の演算パラメータの値の調節を繰り返す。これにより、学習処理部２１２は、与えられたデータが生成モデル４１により生成されたデータであるかローカル学習データ３に含まれるデータであるかを識別する能力を獲得するように識別モデル４０を訓練することができる。保存処理部２１３は、機械学習により構築された学習済みの識別モデル４０の構造及び演算パラメータを示す情報を学習結果データ２２１として生成し、生成した学習結果データ２２１を所定の記憶領域に保存する。
【０１０７】
（Ｂ）推論処理
次に、図７Ｂを用いて、本実施形態に係る各学習装置２の推論処理に関するソフトウェア構成の一例について説明する。図７Ｂは、本実施形態に係る各学習装置２の推論処理に関するソフトウェア構成の一例を模式的に例示する。
【０１０８】
各学習装置２の制御部２１は、記憶部２２に記憶された推論プログラム８３をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された推論プログラム８３をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図７Ｂに示されるとおり、本実施形態に係る各学習装置２は、対象データ取得部２１６、推論部２１７、及び出力部２１８をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論処理に関する各学習装置２の各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【０１０９】
対象データ取得部２１６は、推論の処理対象となる対象データ２２３を取得する。本実施形態では、対象データ取得部２１６は、対象データ２２３をセンサＳから取得する。推論部２１７は、特徴を推論するための推論用学習データとして収集されたデータ群２２５を取得する。データ群２２５は、推論する特徴に関する複数件のデータ２２５１により構成される。データ群２２５に含まれるデータ２２５１は、例えば、ローカル学習データ３に含まれるデータ、生成モデル４１により生成されたデータ等であってよい。推論部２１７は、学習済みの生成モデル４１を利用して生成されたデータを取得してもよい。学習済みの生成モデル４１によるデータの生成は、各学習装置２により実行されてもよいし、他のコンピュータにより実行されてもよい。学習済みの生成モデル４１によるデータの生成を各学習装置２が実行する場合、推論部２１７は、学習結果データ１２１を保持することで、学習済みの生成モデル４１を含む。推論部２１７は、学習済みの生成モデル４１を利用してデータを生成する。これにより、推論部２１７は、学習済みの生成モデル４１により生成されたデータを含むデータ群２２５を取得してもよい。そして、推論部２１７は、データ群２２５と対象データ２２３との比較に基づいて、対象データ２２３に表れる特徴を推論する。なお、この「推論」することは、例えば、グループ分け（分類、識別）により離散値（例えば、特定の特徴に対応するクラス）を導出すること、及び回帰により連続値（例えば、特定の特徴が現れている確率）を導出することのいずれかであってよい。出力部２１８は、特徴を推論した結果に関する情報を出力する。
【０１１０】
＜その他＞
モデル生成装置１及び各学習装置２の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置１及び各学習装置２の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置１及び各学習装置２それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【０１１１】
§３  動作例
［学習処理］
本実施形態では、各学習装置２による当該識別モデル４０の機械学習、及びモデル生成装置１による生成モデル４１の機械学習は交互に繰り返し実行されてよい。この繰り返しの回数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。これにより、識別モデル４０の識別精度及び生成モデル４１のデータ生成の精度を高めることができる。すなわち、識別モデル４０に、与えられたデータがローカル学習データ３か否かを適切に識別する能力を習得させることができる。また、生成モデル４１に、所定の確率分布から抽出されたノイズから、いずれかのローカル学習データ３の分布に含まれ得るデータを適切に生成する能力を習得させることができる。以下、各学習装置２及びモデル生成装置１の機械学習に関する動作例について説明する。
【０１１２】
（Ａ）各学習装置
まず、図８を用いて、識別モデル４０の機械学習に関する各学習装置２の動作例について説明する。図８は、各学習装置２による識別モデル４０の機械学習に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１１３】
（ステップＳ１０１）
ステップＳ１０１では、制御部２１は、学習データ収集部２１１として動作し、ローカル学習データ３を収集する。
【０１１４】
ローカル学習データ３を生成する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、ローカル学習データ３は、センサＳにより得られるデータに表れる特徴を推論するのに利用され得る。そのため、例えば、センサＳと同種のセンサを用意し、用意したセンサにより様々な条件で観察を行うことで、所定の特徴の表れた又は表れていない複数件のデータを取得する。ローカル学習データ３は、これにより取得された複数件のデータにより構成されてよい。なお、各件のデータには、当該各件のデータに表れる特徴を示すラベルが付与されてもよい。
【０１１５】
ローカル学習データ３は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、ローカル学習データ３の生成は、各学習装置２により行われてもよいし、各学習装置２以外の他のコンピュータにより行われてもよい。ローカル学習データ３を各学習装置２が生成する場合、制御部２１は、自動的に又は入力装置２４を介したオペレータの操作により手動的に上記処理を実行することで、ローカル学習データ３を収集してもよい。一方、ローカル学習データ３を他のコンピュータが生成する場合、制御部２１は、例えば、ネットワーク、記憶媒体９２等を介して、他のコンピュータにより生成されたローカル学習データ３を収集してもよい。ローカル学習データ３の一部が各学習装置２により生成され、他の部分が他のコンピュータにより生成されてもよい。
【０１１６】
ローカル学習データ３を構成するデータの件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、制御部２１は、推論に利用するデータ群２２５に含まれるデータ２２５１をローカル学習データ３として利用してもよい。ローカル学習データ３を収集すると、制御部２１は、次のステップＳ１０２に処理を進める。
【０１１７】
（ステップＳ１０２）
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータ５３を取得する。
【０１１８】
本実施形態では、モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１の入力層４１１に入力して、生成モデル４１の演算処理を実行する。すなわち、制御部１１は、生成モデル４１の入力層４１１にノイズを入力し、入力側から順に各層４１１〜４１３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、出力層４１３からの出力として、ノイズから生成されたデータ５３を取得する。制御部２１は、このようにして生成モデル４１により生成されたデータ５３を取得する。本実施形態では、生成されるデータ５３は、疑似的なセンシングデータである。
【０１１９】
データ５３を取得する経路は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、ネットワークを介してモデル生成装置１にアクセスすることで、当該モデル生成装置１から直接的にデータ５３を取得してもよい。この場合、モデル生成装置１の制御部１１は、各学習装置２からの要求に応じて、生成モデル４１によりデータ５３を生成してもよい。そして、制御部１１は、生成されたデータ５３を適宜各学習装置２に送信してもよい。これにより、制御部２１は、モデル生成装置１からデータ５３を取得してもよい。また、例えば、モデル生成装置１の制御部１１は、生成モデル４１により生成されたデータ５３をデータサーバ等の外部記憶装置に保存してもよい。データサーバは、例えば、ＮＡＳ（Network Attached Storage）等であってよい。この場合、制御部２１は、外部記憶装置にアクセスして、当該外部記憶装置からデータ５３を取得することで、モデル生成装置１から間接的にデータ５３を取得してもよい。
【０１２０】
取得するデータ５３の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。生成モデル４１により生成されたデータ５３を取得すると、制御部２１は、次のステップＳ１０３に処理を進める。なお、本ステップＳ１０２は、ステップＳ１０１よりも前に実行されてもよい。
【０１２１】
（ステップＳ１０３）
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、収集されたローカル学習データ３を使用した機械学習により、与えられたデータがローカル学習データ３に含まれるか否かを識別する能力を獲得した学習済みの識別モデル４０を構築する。本実施形態では、制御部２１は、ローカル学習データ３及び生成モデル４１により生成されたデータ５３を使用して、与えられたデータがローカル学習データ３由来か生成モデル４１由来かを識別するように識別モデル４０を訓練する。この機械学習の処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【０１２２】
具体的には、制御部２１は、生成モデル４１により生成されたデータ５３を識別モデル４０の入力層４０１に入力し、入力側から順に各層４０１〜４０３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、入力されたデータがローカル学習データ３由来か生成モデル４１由来かを識別した結果に対応する出力値を出力層４０３から取得する。この場面では、入力されたデータは生成モデル４１により生成されたデータ５３であるため、識別モデル４０は、「偽」と識別するのが正解である。制御部２１は、生成モデル４１により生成されたデータ５３について、出力層４０３から得られる出力値とこの正解との誤差を算出する。
【０１２３】
また、制御部２１は、ローカル学習データ３に含まれるデータを識別モデル４０の入力層４０１に入力し、入力側から順に各層４０１〜４０３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、入力されたデータがローカル学習データ３由来か生成モデル４１由来かを識別した結果に対応する出力値を出力層４０３から取得する。この場面では、入力されたデータはローカル学習データ３に含まれるデータであるため、識別モデル４０は、「真」と識別するのが正解である。制御部２１は、ローカル学習データ３に含まれるデータについて、出力層４０３から得られる出力値とこの正解との誤差を算出する。
【０１２４】
【数１】
2020115312.tif 000003
各誤差は、例えば、式１の損失関数により算出されてよい。式１のXiは、ｉ番目の学習装置２のローカル学習データ３の集合を示し、ｘは、Xiに含まれるサンプルを示す。Ｄiは、ｉ番目の学習装置２の識別モデル４０による識別の値を示す。ｚはノイズを示し、Ｇは、生成モデル４１により生成されたデータを示す。Ｅは、サンプルに対する期待値を示す。なお、式１の損失関数は一例であり、各誤差の計算は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１２５】
制御部２１は、誤差逆伝播法（Back propagation）により、算出した出力値の誤差の勾配を用いて、識別モデル４０における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部２１は、算出した各誤差に基づいて、識別モデル４０における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。例えば、制御部２１は、ローカル学習データ３及び生成モデル４１により生成されたデータ５３それぞれからサンプルを抽出し、抽出されたサンプルを使用して、上記の処理により演算パラメータの値を調節する。制御部２１は、この調節を所定回数繰り返す。調節を繰り返す回数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。これにより、制御部２１は、ローカル学習データ３及び生成モデル４１により生成されたデータ５３について、与えられたデータがローカル学習データ３由来か生成モデル４１由来かを適切に識別可能に訓練された識別モデル４０を構築することができる。この識別モデル４０の機械学習が完了すると、制御部２１は、次のステップＳ１０４に処理を進める。
【０１２６】
（ステップＳ１０４）
ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、機械学習により構築された学習済みの識別モデル４０に関する情報を所定の記憶領域に保存する。本実施形態では、制御部２１は、ステップＳ１０３の機械学習により構築された学習済みのニューラルネットワーク（識別モデル４０）の構造及び演算パラメータを示す情報を学習結果データ２２１として生成する。そして、制御部２１は、生成された学習結果データ２２１を所定の記憶領域に保存する。
【０１２７】
所定の記憶領域は、例えば、制御部２１内のＲＡＭ、記憶部２２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、ＣＤ、ＤＶＤ等であってよく、制御部２１は、ドライブ２６を介して記憶メディアに学習結果データ２２１を格納してもよい。外部記憶装置は、例えば、ＮＡＳ等のデータサーバであってよい。この場合、制御部２１は、通信インタフェース２３を利用して、ネットワークを介してデータサーバに学習結果データ２２１を格納してもよい。また、外部記憶装置は、例えば、学習装置２に接続された外付けの記憶装置であってもよい。
【０１２８】
これにより、学習結果データ２２１の保存が完了すると、制御部２１は、識別モデル４０の機械学習に関する一連の処理を終了する。
【０１２９】
なお、上記のとおり、各学習装置２による当該識別モデル４０の機械学習、及びモデル生成装置１による生成モデル４１の機械学習の交互の実行は繰り返されてもよい。この繰り返しの過程では、制御部２１は、ステップＳ１０４を省略して、暫定的な学習済みの識別モデル４０に関する情報をＲＡＭに一時保存してもよい。或いは、制御部２１は、本ステップＳ１０４を省略せずに、暫定的な学習済みの識別モデル４０に関する情報を学習結果データ２２１として所定の記憶領域に保存してもよい。また、繰り返しの過程では、制御部２１は、ステップＳ１０１の処理を省略してもよい。
【０１３０】
（Ｂ）モデル生成装置
次に、図９を用いて、生成モデル４１の機械学習に関するモデル生成装置１の動作例について説明する。図９は、モデル生成装置１による生成モデル４１の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１３１】
（ステップＳ２０１）
ステップＳ２０１では、生成部１１１として動作し、生成モデル４１を用いて、データ５０を生成する。初期段階では、生成モデル４１は、テンプレートにより与えられてもよいし、入力装置１４を介したオペレータの指定により与えられてもよい。識別モデル４０の機械学習及び生成モデル４１の機械学習の繰り返しの過程では、生成モデル４１は、前回の機械学習により得られた学習結果により与えられてよい。
【０１３２】
本実施形態では、制御部１１は、これらに基づいて、生成モデル４１の設定を行う。次に、制御部１１は、ガウス分布等の所定の確率分布から複数のノイズを抽出する。抽出するノイズの件数は、実施の形態に応じて適宜選択されてよい。そして、制御部１１は、抽出された各ノイズを生成モデル４１の入力層４１１に入力し、入力側から順に各層４１１〜４１３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、各ノイズに対応して生成されたデータ５０を出力層４１３から取得する。データ５０を生成すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１３３】
（ステップＳ２０２及びステップＳ２０３）
ステップＳ２０２では、制御部１１は、送信部１１２として動作し、生成されたデータ５０を各識別モデル４０に送信して、各識別モデル４０にデータ５０に対する識別を実行させる。ステップＳ２０３では、制御部１１は、受信部１１３として動作し、送信されたデータ５０に対する各識別モデル４０による識別の結果５１を受信する。
【０１３４】
本実施形態では、制御部１１は、通信インタフェース１３を利用して、ネットワークを介して各学習装置２にデータ５０を送信する。これにより、制御部１１は、データ５０に対する識別を各識別モデル４０に実行させる。また、制御部１１は、ネットワークを介して各学習装置２から各識別モデル４０による識別の結果５１を取得する。識別の結果５１を各学習装置２から取得すると、制御部１１は、次のステップＳ２０４に処理を進める。
【０１３５】
なお、データ５０を送信する経路及び識別の結果５１を受信する経路はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、ネットワークを介して各学習装置２に直接的にデータ５０を送信してもよい。また、例えば、制御部１１は、生成されたデータ５０をデータサーバ等の外部記憶装置に送信し、外部記憶装置に格納されたデータ５０を各学習装置２に取得させてもよい。これにより、制御部１１は、生成されたデータ５０を各学習装置２に間接的に送信してもよい。識別の結果５１を受信する経路についても同様である。
【０１３６】
（ステップＳ２０４）
ステップＳ２０４では、制御部１１は、学習処理部１１４として動作し、受信された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように生成モデル４１を訓練する。つまり、制御部１１は、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０が「真」と識別する（すなわち、ローカル学習データ３由来と識別する）ようなデータを生成するように生成モデル４１を訓練する。複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させるように誤差を算出する方法は、実施の形態に応じて適宜選択されてよい。本実施形態では、以下のとおり、この誤差の計算にソフトマックス関数を利用する。
【０１３７】
【数２】
2020115312.tif 000004
具体的に、上記ステップＳ２０２では、各学習装置２の制御部２１は、各識別モデル４０を利用して、生成モデル４１により生成されたデータ５０に対する識別を実行する。ｉ番目の識別モデル４０の出力値ｙiは、上記式２により表現される。制御部２１は、この識別モデル４０の出力値に基づいて、以下の式３の計算を実行する。
【０１３８】
【数３】
2020115312.tif 000005
まず、制御部２１は、exp(lyi)を計算する。そして、制御部２１は、他の学習装置２の演算結果を得て、式３におけるexp(lym)の総和を計算し、算出された総和を利用して、ソフトマックス関数S(lyi)を計算する。なお、ｌは、パラメータである。ｌの値を大きくすることで、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させる程度を高めることができる。一方、ｌの値を小さくすると、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させる程度を低めて、全ての識別モデル４０の識別性能を低下させる学習に近付けることができる。ｌの値は、適宜決定されてよい。例えば、ｌの値は、オペレータにより指定されてよい。また、例えば、ｌの値は、各学習装置２のローカル学習データ３の分布のばらつきに応じて決定されてよい。具体的には、各学習装置２のローカル学習データ３の分布のばらつきが小さい場合、各学習装置２は、互いに類似するデータをローカル学習データ３として保持している。この場合には、ｌの値は、小さな値に設定されてよい。一方、各学習装置２のローカル学習データ３の分布のばらつきが大きい場合、各学習装置２は、不均一なデータをローカル学習データ３として保持している。この場合には、ｌの値は、大きな値に設定されてよい。分布のばらつきは、例えば、分散等の指標により算出されてよい。
【０１３９】
【数４】
2020115312.tif 000006
【数５】
2020115312.tif 000007
次に、制御部２１は、上記式４のyiS(lyi)を計算する。更に、制御部２１は、他の学習装置２の演算結果を得て、Ｙを計算する。Ｙは、生成されたデータ５０に対する各識別モデル４０の出力を統合した結果に対応する。制御部２１は、算出されたＹに基づいて、上記式５のＦ（Ｙ）を計算する。Ｆ（Ｙ）は、生成モデル４１の損失関数（誤差）の一例である。なお、誤差を計算するための損失関数は、式５の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１４０】
【数６】
2020115312.tif 000008
そして、制御部２１は、算出されたＦ（Ｙ）に基づいて、上記式６のＶiを計算する。Ｖiは、識別モデル４０の出力側から入力側に誤差Ｆ（Ｙ）を逆伝播させて得られた勾配に対応する。上記ステップＳ２０３では、各学習装置２の制御部２１は、算出されたＶiを識別の結果５１として返信する。
【０１４１】
【数７】
2020115312.tif 000009
本ステップＳ２０４では、制御部１１は、各学習装置２から取得したＶiの総和Ｖ（式７）を計算する。これにより、制御部１１は、各識別モデル４０による識別の結果５１を統合する。そして、制御部１１は、この統合された識別の結果５１を使用した機械学習により、生成モデル４１を訓練する。具体的には、制御部１１は、算出された勾配Ｖを用いて、誤差逆伝播法により、生成モデル４１における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部１１は、算出した各誤差に基づいて、生成モデル４１における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１４２】
これにより、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させるように生成モデル４１の演算パラメータの値が調節される。すなわち、制御部１１は、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させるようなデータを生成するように訓練された生成モデル４１を構築することができる。生成モデル４１の機械学習が完了すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０１４３】
なお、各学習装置２から返信される識別の結果５１は、生成モデル４１の演算パラメータの更新に利用可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、モデル生成装置１が、各識別モデル４０の逆伝播の計算を実行可能である場合、制御部１１は、識別の結果５１として、各識別モデル４０の出力値を得てもよい。この場合、制御部１１が、各学習装置２の上記各演算処理を実行してもよい。また、複数の識別モデル４０のうちの少なくともいずれか一つの識別性能を低下させるように誤差を算出する方法は、ソフトマックス関数を用いた方法に限られなくてもよい。この誤差の計算には、ソフトマックス関数以外に、例えば、マックス関数等が用いられてもよい。
【０１４４】
（ステップＳ２０５）
ステップＳ２０５では、制御部１１は、保存処理部１１５として動作し、機械学習により構築された学習済みの生成モデル４１に関する情報を所定の記憶領域に保存する。本実施形態では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みのニューラルネットワーク（生成モデル４１）の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部１１内のＲＡＭ、記憶部１２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。これにより、学習結果データ１２１の保存が完了すると、制御部１１は、生成モデル４１の機械学習に関する一連の処理を終了する。
【０１４５】
なお、上記のとおり、各学習装置２による当該識別モデル４０の機械学習、及びモデル生成装置１による生成モデル４１の機械学習の交互の実行は繰り返されてもよい。この繰り返しの過程では、制御部１１は、ステップＳ２０５を省略して、暫定的な学習済みの生成モデル４１に関する情報（学習結果）をＲＡＭに一時保存してもよい。或いは、制御部１１は、ステップＳ２０５を省略せずに、暫定的な学習済みの生成モデル４１に関する情報を学習結果データ１２１として所定の記憶領域に保存してもよい。
【０１４６】
［推論処理］
次に、図１０を用いて、推論処理に関する各学習装置２の動作例について説明する。図１０は、各学習装置２による推論処理に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１４７】
（ステップＳ３０１）
ステップＳ３０１では、制御部２１は、対象データ取得部２１６として動作し、所定の推論を行う対象となる対象データ２２３を取得する。本実施形態では、各学習装置２は、外部インタフェース２７を介してセンサＳに接続されている。そのため、制御部２１は、外部インタフェース２７を介してセンサＳから対象データ２２３を取得する。
【０１４８】
ただし、対象データ２２３を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各学習装置２とは異なる他のコンピュータが、センサＳに接続されていてもよい。この場合、制御部２１は、他のコンピュータから対象データ２２３の送信を受け付けることで、対象データ２２３を取得してもよい。対象データ２２３を取得すると、制御部２１は、次のステップＳ３０２に処理を進める。
【０１４９】
（ステップＳ３０２）
ステップＳ３０２では、制御部２１は、推論部２１７として動作し、特徴を推論するための推論用学習データとして収集されたデータ群２２５を取得する。データ群２２５は、推論する特徴に関する複数件のデータ２２５１により構成される。データ群２２５に含まれるデータ２２５１は、例えば、ローカル学習データ３に含まれるデータ、生成モデル４１により生成されたデータ等であってよい。
【０１５０】
また、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータをデータ２２５１として取得してもよい。学習済みの生成モデル４１によるデータの生成は、各学習装置２により実行されてもよいし、他のコンピュータにより実行されてもよい。学習済みの生成モデル４１によるデータの生成を各学習装置２が実行する場合、制御部２１は、学習結果データ１２１を保持することで、学習済みの生成モデル４１を備える。制御部２１は、上記学習処理により生成された学習結果データ１２１を、例えば、ネットワーク、記憶媒体９２等を介して取得してもよい。この場合、制御部２１は、学習結果データ１２１を参照して、学習済みの生成モデル４１を設定する。また、制御部２１は、ガウス分布等の所定の確率分布から複数のノイズを抽出する。そして、制御部２１は、抽出されたノイズを生成モデル４１の入力層４１１に入力し、入力側から順に各層４１１〜４１３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、ノイズに対応して生成されたデータを出力層４１３から取得する。取得されたデータをデータ２２５１としてデータ群２２５に追加することで、制御部２１は、学習済みの生成モデル４１により生成されたデータを含むデータ群２２５を取得することができる。或いは、制御部２１は、ネットワーク、記憶媒体９２等を介して、他のコンピュータにより学習済みの生成モデル４１を利用して生成されたデータを取得してもよい。
【０１５１】
次に、制御部２１は、データ群２２５と対象データ２２３との比較に基づいて、対象データ２２３に表れる特徴を推論する。データ群２２５との比較に基づいて、対象データ２２３に表れる特徴を推論する方法は、実施の形態に応じて適宜選択されてよい。一例として、データ群２２５に含まれる各件のデータ２２５１が、所定の特徴の表れているデータであり、特徴の推論として、データ群２２５との比較により、対象データ２２３に当該所定の特徴が現れているか否かを推定する場面を想定する。例えば、対象データ２２３が製品の写る画像データであり、特徴の推論として、製品に欠陥が含まれるか否かを推定する場面では、データ群２２５を構成する各件のデータ２２５１が、欠陥を含む又は含まない製品の写る画像データであることがその所定の特徴の表れているデータの一例である。この場合、制御部２１は、データ群２２５と対象データ２２３との比較において、各件のデータ２２５１と対象データ２２３との類似性を算出してもよい。類似性は、例えば、ノルム（距離）等により算出されてよい。
【０１５２】
そして、制御部２１は、算出された類似性に基づいて、データ群２２５を構成するデータ２２５１の分布に対象データ２２３が含まれるか否かを判定してもよい。例えば、制御部２１は、算出された類似性と閾値とを比較し、算出された類似性が閾値以下である場合に、データ群２２５を構成するデータ２２５１の分布に対象データ２２３が含まれると判定してもよい。閾値は、適宜決定されてよい。このときには、制御部２１は、各件のデータ２２５１に表れている所定の特徴が対象データ２２３にも表れていると推定することができる。上記の例において、各件のデータ２２５１が欠陥を含む製品の写る画像データであった場合、制御部２１は、対象データ２２３に写る製品は欠陥を含んでいると推定することができる。一方、算出された類似性が閾値を超えている場合、制御部２１は、データ群２２５を構成するデータ２２５１の分布に対象データ２２３は含まれないと判定してもよい。このときには、制御部２１は、各件のデータ２２５１に表れている所定の特徴は対象データ２２３には表れていないと推定することができる。上記の例では、制御部２１は、対象データ２２３に写る製品は欠陥を含んでいないと推定することができる。
【０１５３】
複数の特徴に関して推論する場合には、データ群２２５は、特徴毎に収集されたデータ２２５１により構成されてよい。この場合、各件のデータ２２５１に表れる特徴を示すラベルが各件のデータ２２５１に付与され、このラベルに基づいて、各件のデータ２２５１が分類されてもよい。そして、制御部２１は、各件のデータ２２５１と対象データ２２３との類似性を特徴毎に算出して、対象データ２２３にその特徴が表れているか否かを推定してもよい。例えば、制御部２１は、対象データ２２３と類似性の最も高いデータ２２５１に表れる特徴が対象データ２２３にも表れていると推論してもよい。データ群２２５との比較により、対象データ２２３に表れる特徴を推論すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０１５４】
（ステップＳ３０３）
ステップＳ３０３では、制御部２１は、出力部２１８として動作し、特徴を推論した結果に関する情報を出力する。
【０１５５】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、ステップＳ３０２により特徴を推論した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、特徴を推論した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を推論の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論の結果に応じて警告等の特定のメッセージを出力すること、推論の結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置２５、制御対象装置等であってよい。推論の結果に関する情報の出力が完了すると、制御部２１は、所定の推論処理に関する一連の処理を終了する。
【０１５６】
［学習装置のグルーピング］
次に、図１１を用いて、各学習装置２のグルーピングの一例について説明する。図１１は、各学習装置２をグルーピングする場面の一例を模式的に例示する。
【０１５７】
モデル生成装置１による生成モデル４１は、各学習装置２において収集されたローカル学習データ３の分布に沿うデータを生成することを一つの目的として構築される。例えば、一の学習装置２で収集されたローカル学習データ３と他の学習装置２で収集されたローカル学習データ３とが同種のデータで構成されると想定する。この場合には、上記各機械学習の処理により、各学習装置２のローカル学習データ３の分布に沿うデータを生成可能な生成モデル４１を適切に構築することができる。一方、例えば、一の学習装置２で収集されたローカル学習データ３と他の学習装置２で収集されたローカル学習データ３とが異なる種類のデータで構成されると想定する。一のローカル学習データ３が画像データで構成され、他のローカル学習データ３が音データで構成されるケースがこれの一例である。この場合には、各学習装置２のローカル学習データ３の分布に沿うデータを生成可能な生成モデル４１を構築するのは困難である。
【０１５８】
そこで、本実施形態では、制御部１１は、グルーピング部１１６として動作し、各学習装置２を複数のグループのうちの少なくともいずれかに割り当ててもよい。各グループは、適宜設定されてよい。例えば、各グループは、ローカル学習データに含まれるデータの種別、データに表れる特徴、データの利用目的等に応じて適宜設定されてよい。図１１では、グループＡ及びグループＢの２つのグループに各学習装置２を割り当てる場面が例示されている。制御部１１は、この各学習装置２に対するグループの割り当て結果を割当情報１２４に格納する。
【０１５９】
このグルーピング処理を実行する場合、モデル生成装置１は、グループ毎に生成モデル４１を保持する。そして、制御部１１は、同一のグループ内で、換言すると、グループ毎に、上記ステップＳ２０１〜２０５の処理を実行する。すなわち、ステップＳ２０１では、制御部１１は、グループ毎に、対応する生成モデル４１を利用して、データ５０を生成する。ステップＳ２０２では、制御部１１は、グループ毎に、対応する生成モデル４１により生成されたデータ５０を各学習装置２に送信することで、各識別モデル４０にデータ５０に対する識別を実行させる。ステップＳ２０３では、制御部１１は、グループ毎に、各識別モデル４０による識別の結果５１を各学習装置２から受信する。ステップＳ２０４では、制御部１１は、グループ毎に、受信された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように対応する生成モデル４１を訓練する。そして、ステップＳ２０５では、制御部１１は、グループ毎に、機械学習により構築された学習済みの生成モデル４１に関する情報を所定の記憶領域に保存する。
【０１６０】
グルーピングの方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、制御部１１は、以下の２つの方法のちのいずれかの方法により、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。
【０１６１】
（Ａ）第１のグルーピング方法
まず、図１２を用いて、第１のグルーピング方法の一例について説明する。図１２は、第１のグルーピング方法による各学習装置２に対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第１のグルーピング方法では、制御部１１は、グループのリストから所望のグループを各学習装置２に選択させることで、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。
【０１６２】
なお、各学習装置２をグループに割り当てる方法として第１のグルーピング方法が採用された場合、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップＳ７０１〜ステップＳ７０３の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６３】
ステップＳ７０１では、制御部１１は、複数のグループを示すグループリスト１２３を各学習装置２に配信する。これにより、制御部１１は、各学習装置２に対して、グループリスト１２３に示される複数のグループの中から１つ以上のグループを選択させる。グループリスト１２３に含まれる各グループは、ローカル学習データ３、学習装置２、学習装置２の利用者等の属性に応じて設定されていてもよい。例えば、外観検査の例では、ライン番号、工場名、企業名等の属性に応じてグループが設定されていてもよい。また、各学習装置２からの要求により、グループリスト１２３に新たなグループが設定されてもよい。各学習装置２のオペレータは、出力装置２５に出力されたグループリスト１２３を参照し、入力装置２４を操作して、グループリスト１２３の中から１つ以上のグループを選択することができる。また、オペレータは、入力装置２４を操作して、グループリスト１２３に新たなグループを追加することができる。各学習装置２は、２つ以上のグループを選択してもよい。各学習装置２の制御部２１は、この操作に応じて、グループ選択の回答をモデル生成装置１に返信する。
【０１６４】
ステップＳ７０２では、制御部１１は、この選択の回答を各学習装置２から取得する。そして、ステップＳ７０３では、制御部１１は、取得された回答に基づいて、選択された１つ以上のグループに各学習装置２を割り当てる。１つ以上のグループの割り当てが完了すると、制御部１１は、第１のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第１のグルーピング方法によれば、制御部１１は、簡易な方法により各学習装置２をグループ分けすることができる。
【０１６５】
（Ｂ）第２のグルーピング方法
次に、図１３を用いて、第２のグルーピング方法の一例について説明する。図１３は、第２のグルーピング方法による各学習装置２に対するグループの割り当てに関する処理手順の一例を示すフローチャートである。第２のグルーピング方法では、制御部１１は、ローカル学習データ３の属性に応じて、各学習装置２を適切なグループに割り当てる。
【０１６６】
なお、各学習装置２をグループに割り当てる方法として第２のグルーピング方法が採用された場合、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てることは、以下のステップＳ８０１〜ステップＳ８０３の処理により構成される。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６７】
（ステップＳ８０１）
ステップＳ８０１では、制御部１１は、ローカル学習データ３に関する属性データを各学習装置２から取得する。属性データを取得する方法は、上記ステップＳ２０３において識別の結果５１を各学習装置２から取得する方法と同様であってよい。制御部１１は、各学習装置２から属性データを直接的に又は間接的に取得してよい。
【０１６８】
属性データは、ローカル学習データ３に関するあらゆる情報を含んでもよく、例えば、ローカル学習データ３に含まれるデータの種別を示す情報、データに表れる特徴を示す情報、データの利用目的を示す情報等を含んでもよい。データに表れる特徴は、当該データから推論可能なあらゆる要素を含んでよい。ローカル学習データ３が製品の写る画像データにより構成される場合、データに表れる特徴は、例えば、製品に含まれる欠陥の有無、製品に含まれる欠陥の種別等であってよい。また、データの利用目的は、実施の形態に応じて適宜決定されてよい。ローカル学習データ３に含まれるデータは、例えば、外観検査、栽培状況の監視等の所定の推論の学習に利用されてよい。属性データは、各学習装置２において、ステップＳ１０１により、ローカル学習データ３を収集する際に生成されてよい。属性データを取得すると、制御部１１は、次のステップＳ８０２に処理を進める。
【０１６９】
（ステップＳ８０２及びステップＳ８０３）
ステップＳ８０２では、制御部１１は、各学習装置２から取得された属性データをクラスタリングする。クラスタリングの方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。クラスタリングには、k平均法（k-meansクラスタリング）等の公知の方法が採用されてよい。
【０１７０】
ステップＳ８０３では、制御部１１は、クラスタリングの結果に基づいて、各学習装置２を複数のグループのうちの少なくともいずれかに割り当てる。一例として、制御部１１は、取得した属性データが同一のクラスに割り当てられた学習装置２を同一のグループに割り当てる。この場合、各グループは、属性データのクラスに応じて設定されてよい。また、制御部１１は、クラスタリングの結果に基づいて、各学習装置２を２つ以上のグループに割り当ててもよい。
【０１７１】
クラスタリングの結果に基づくグループの割り当てが完了すると、制御部１１は、第２のグルーピング方法によるグループの割り当てに関する一連の処理を終了する。この第２のグルーピング方法によれば、制御部１１は、ローカル学習データ３の属性に応じて、各学習装置２を適切なグループに割り当てることができる。
【０１７２】
以上の２つの方法の少なくともいずれかの方法を採用することで、制御部１１は、各学習装置２を適切にグループ分けすることができる。ただし、グルーピングの方法は、これらの例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、入力装置１４を介したオペレータによるグループ分けの指定を受け付けてもよい。この場合、制御部１１は、オペレータの指定に応じて各学習装置２のグループ分けを行ってもよい。
【０１７３】
［特徴］
以上のとおり、本実施形態に係るモデル生成装置１は、ステップＳ２０４により生成モデル４１の機械学習を実施するために、ステップＳ２０３において、ローカル学習データ３そのものを収集するのではなく、各識別モデル４０の識別の結果５１を収集する。これにより、モデル生成装置１にかかる通信コストを抑えることができる。また、ローカル学習データ３そのものを生成モデル４１の機械学習に使用しなくてもよいため、ステップＳ２０３において、モデル生成装置１にかかる計算コストを抑えることができる。更に、ローカル学習データ３そのものをモデル生成装置１に集結せずに済むため、ローカル学習データ３の内容が直接的に明らかになるのを防ぐことができる。よって、ローカル学習データ３の秘匿性をある程度は担保することができる。
【０１７４】
加えて、本実施形態では、ステップＳ２０４において、生成モデル４１は、収集された識別の結果５１を使用した機械学習により、複数の識別モデル４０のうちの少なくともいずれか一つの識別モデル４０の識別性能を低下させるようなデータを生成するように訓練される。つまり、当該機械学習により、生成モデル４１は、少なくともいずれか一つの識別モデル４０の識別を誤らせるようなデータを生成するように訓練される。これにより、各識別モデル４０の機械学習に使用されたローカル学習データ３のいずれかの分布に従ったデータを生成可能な生成モデル４１を構築することができる。そのため、学習済みの生成モデル４１は、各識別モデル４０の機械学習に使用されたローカル学習データ３の論理和の分布に従ったデータを生成することができる。つまり、各学習装置２により収集されるローカル学習データ３の分布が異なっていても、学習済みの生成モデル４１は、各分布に含まれ得るデータを生成することができる。したがって、本実施形態によれば、多様なデータを生成可能な生成モデル４１を構築することができる。
【０１７５】
なお、構築された学習済みの生成モデル４１は、推論用学習データの件数、本実施形態では、推論に利用するデータ群２２５を構成するデータ２２５１の件数を増やすのに利用されてよい。本実施形態により構築された生成モデル４１によれば、各学習装置２で収集されたローカル学習データ３の分布に含まれ得るデータを生成することができる。そのため、各学習装置２単独では収集するのが困難であるが、他の学習装置２では得られるようなデータを生成モデル４１により得ることができる。そのため、データ群２２５に含まれるデータ２２５１の件数を増やすだけでなく、データ２２５１のバリエーションを豊富にすることができ、これによって、ステップＳ３０２における推論の精度を高めることができる。
【０１７６】
［実施例］
上記効果を検証するために、実施例及び比較例に係る生成モデルを構築した。ただし、本発明は、以下の実施例に限定されるものではない。
【０１７７】
＜条件＞
・ローカル学習データの件数：３件
・ローカル学習データを構成するデータ：（ｖ，ｗ）で与えられる２次元の数値データ
−第１ローカル学習データ：（ｖ，ｗ）の平均（−０．６７，０．５）、標準偏差０．３の正規分布からランダムサンプリングされた数値
−第２ローカル学習データ：（ｖ，ｗ）の平均（０．６７，０．５）、標準偏差０．３の正規分布からランダムサンプリングされた数値
−第３ローカル学習データ：（ｖ，ｗ）の平均（０，−１）、標準偏差０．３の正規分布からランダムサンプリングされた数値
・ローカル学習データを構成するデータの件数：３００００（１００００サンプル×３ローカル分）件
・識別モデル：４層構造のニューラルネットワーク、ローカル学習データ毎に用意
・生成モデル：４層構造のニューラルネットワーク
・識別モデル及び生成モデルの機械学習の繰り返し回数：５０００回
生成モデルは、２００次元の入力層、１２８次元の全結合層、１２８次元の全結合層、及び２次元の全結合層を備える。識別モデルは、２次元の入力層、１２８次元の全結合層、１２８次元の全結合層、及び１次元の全結合層を備える。
【０１７８】
図１４は、各ローカル学習データＳ１〜Ｓ３を示す。３件のローカル学習データＳ１〜Ｓ３に対応して３つの識別モデルを用意した。与えられたデータが第１ローカル学習データＳ１由来か生成モデル由来かを識別するように第１識別モデルを訓練した。与えられたデータが第２ローカル学習データＳ２由来か生成モデル由来かを識別するように第２識別モデルを訓練した。与えられたデータが第３ローカル学習データＳ３由来か生成モデル由来かを識別するように第３識別モデルを訓練した。
【０１７９】
実施例では、上記実施形態の処理手順のとおり、３つの識別モデルのうちの少なくともいずれか一つの識別性能を低下させるようなデータを生成するように生成モデルを訓練した。比較例では、平均二乗誤差により誤差を計算し、３つの識別モデル全ての識別性能を低下させるようなデータを生成するように生成モデルを訓練した。この学習方法の点以外、比較例の処理手順は、実施例と同じに設定した。そして、実施例及び比較例それぞれにより得られた各生成モデルに、ガウス分布から抽出されたノイズを与えて、２次元の数値データを生成した。
【０１８０】
図１５Ａは、比較例の学習方法により得られた生成モデルにより生成された数値データを示す。図１５Ｂは、実施例の学習方法により得られた生成モデルにより生成された数値データを示す。図１５Ａ及び図１５Ｂでは、四角の点が、ローカル学習データＳ１〜Ｓ３を構成する数値データを示し、黒丸の点が、生成された数値データを示す。上記条件のとおり、数値データの分布が重複しないように３件のローカル学習データＳ１〜Ｓ３を用意した。その結果、図１５Ａに示されるとおり、比較例の学習方法では、生成モデルは、どのローカル学習データＳ１〜Ｓ３にも属さない数値データを生成するように訓練された。一方、図１５Ｂに示されるとおり、実施例の学習方法では、生成モデルは、各件のローカル学習データＳ１〜Ｓ３に属し得る数値データを生成するように訓練された。
【０１８１】
以上の検証結果から、全ての識別モデルの識別性能を低下させるようなデータを生成するように生成モデルを訓練した場合、構築される学習済みの生成モデルにより生成可能なデータは、非常に限られたものになってしまうことが分かった。特に、ローカル学習データの分布が重複しないようなケースでは、生成モデルは、どの分布にも含まれないようなデータを生成するように構築されてしまい、構築された生成モデルでは、ローカル学習データの分布に含まれ得るデータを生成することはできないことが分かった。つまり、比較例の学習方法により構築された生成モデルでは、意図したデータを生成することができず、有用なデータを得ることができないことが分かった。一方、本実施形態の学習方法によれば、各件のローカル学習データが不均一であり、ローカル学習データの分布が重複しないようなケースであっても、生成モデルは、各件のローカル学習データの論理和の分布に従ったデータを生成する能力を習得することができることが分かった。そのため、本実施形態によれば、各件のローカル学習データの分布に含まれ得る多様なデータを生成可能な生成モデルを構築することができることが分かった。つまり、本実施形態によれば、構築された生成モデルにより、有用なデータを得られることが検証できた。
【０１８２】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１８３】
＜４．１＞
上記実施形態に係るモデル生成装置１は、センサＳにより得られたセンシングデータに含まれる特徴を推論する場面に適用されている。しかしながら、上記実施形態の適用範囲は、このような例に限定される訳ではない。上記実施形態に係るモデル生成装置１は、所定のデータ、特に、所定の推論の学習に利用可能なデータを生成するあらゆる場面に適用可能である。以下、適用場面を限定した５つの変形例を例示する。
【０１８４】
（Ａ）外観検査の場面
図１６は、第１変形例に係る検査システム１００Ａの適用場面の一例を模式的に例示する。本変形例は、生産ラインで生産される製品ＲＡの状態を推定するのに利用可能なデータを生成する場面に上記実施形態に係るモデル生成装置１を適用した例である。図１６に示されるとおり、本変形例に係る検査システム１００Ａは、モデル生成装置１及び複数の検査装置２Ａを備えている。上記実施形態と同様に、モデル生成装置１及び各検査装置２Ａは、ネットワークを介して互いに接続されてよい。
【０１８５】
各検査装置２Ａは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各検査装置２Ａは、上記各学習装置２と同様に構成されてよい。本変形例では、各検査装置２Ａは、カメラＳＡに接続される。各検査装置２Ａは、カメラＳＡにより製品ＲＡを撮影することにより、当該製品ＲＡの写る画像データを取得する。カメラＳＡの種類は、特に限定されなくてもよい。カメラＳＡは、例えば、ＲＧＢ画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。各検査装置２Ａは、得られた画像データに基づいて、製品ＲＡの状態を検査する（つまり、製品ＲＡの良否を判定する）。
【０１８６】
なお、本変形例では、製品ＲＡの状態を推定するのに利用するデータとして、製品の写る画像データを採用する。しかしながら、製品ＲＡの状態推定（良否判定）に利用可能なデータは、画像データに限られなくてもよい。例えば、画像データと共に又は代わりに、マイクにより得られた音データ、エンコーダにより得られた測定データ等が状態推定に利用されてもよい。
【０１８７】
＜検査装置のハードウェア構成＞
図１７は、本変形例に係る各検査装置２Ａのハードウェア構成の一例を模式的に例示する。図１７に示されるとおり、本変形例に係る各検査装置２Ａは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各検査装置２Ａは、外部インタフェース２７を介してカメラＳＡに接続される。ただし、各検査装置２Ａのハードウェア構成は、このような例に限定されなくてもよい。各検査装置２Ａの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各検査装置２Ａは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ（programmable logic controller）等であってもよい。
【０１８８】
本変形例に係る各検査装置２Ａの記憶部２２は、学習プログラム８２Ａ、検査プログラム８３Ａ、ローカル学習データ３Ａ、学習結果データ２２１Ａ等の各種情報を記憶する。学習プログラム８２Ａ、検査プログラム８３Ａ、ローカル学習データ３Ａ、及び学習結果データ２２１Ａは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ａ、検査プログラム８３Ａ、及びローカル学習データ３Ａのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各検査装置２Ａは、記憶媒体９２から、学習プログラム８２Ａ、検査プログラム８３Ａ、及びローカル学習データ３Ａのうちの少なくともいずれかを取得してもよい。
【０１８９】
＜学習処理＞
図１８Ａは、本変形例に係る各検査装置２Ａの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各検査装置２Ａの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ａの実行により実現される。図１８Ａに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各検査装置２Ａの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各検査装置２Ａは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０１９０】
すなわち、ステップＳ１０１では、各検査装置２Ａの制御部２１は、学習データ収集部２１１Ａとして動作し、識別モデル４０Ａの機械学習に利用するローカル学習データ３Ａを収集する。本変形例では、識別モデル４０Ａは、上記実施形態に係る識別モデル４０と同様に、ニューラルネットワークにより構成される。ローカル学習データ３Ａは、製品の写る製品画像データ３１により構成される。製品画像データ３１は、データ２２５１に対応する。
【０１９１】
ローカル学習データ３Ａを生成する方法は、上記実施形態と同様に、実施の形態に応じて適宜選択されてよい。本変形例では、ローカル学習データ３Ａは、カメラＳＡにより得られる画像データに写る製品ＲＡの状態を推定するのに利用され得る。そのため、ローカル学習データ３Ａを構成する製品画像データ３１は、例えば、シミ、汚れ、傷等の欠陥を含む又は含まない製品ＲＡをカメラにより様々な条件で撮影することで得られてよい。これにより、ローカル学習データ３Ａが生成されてよい。
【０１９２】
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータを取得する。本変形例では、生成モデル４１は、製品の写り得る画像データを生成するように構成される。モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１に入力して、生成モデル４１の演算処理を実行する。これにより、制御部１１は、生成モデルからの出力として、画像データを取得する。制御部２１は、このようにして生成モデル４１により生成された画像データを取得する。
【０１９３】
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ローカル学習データ３Ａを使用した機械学習により、与えられた画像データがローカル学習データ３Ａに含まれる製品画像データ３１であるか否かを識別する能力を獲得した学習済みの識別モデル４０Ａを構築する。本変形例では、制御部２１は、ローカル学習データ３Ａ及び生成モデル４１により生成された画像データを使用して、与えられた画像データがローカル学習データ３Ａ由来か生成モデル４１由来かを識別するように識別モデル４０Ａを訓練する。ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、ステップＳ１０３の機械学習により構築された学習済みの識別モデル４０Ａの構造及び演算パラメータを示す情報を学習結果データ２２１Ａとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ａを所定の記憶領域に保存する。
【０１９４】
＜検査処理＞
図１８Ｂは、本変形例に係る各検査装置２Ａの検査処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各検査装置２Ａの検査処理に関するソフトウェア構成は、制御部２１による検査プログラム８３Ａの実行により実現される。図１８Ｂに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各検査装置２Ａの検査処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各検査装置２Ａは、上記各学習装置２と同様に、検査処理に関する一連の処理を実行する。
【０１９５】
すなわち、ステップＳ３０１では、各検査装置２Ａの制御部２１は、対象データ取得部２１６として動作し、外観検査の対象となる製品ＲＡの写る対象画像データ２２３ＡをカメラＳＡから取得する。
【０１９６】
ステップＳ３０２では、制御部２１は、検査部２１７Ａとして動作し、製品ＲＡの状態を判定するための推論用学習データとして収集されたデータ群２２５Ａを取得する。本変形例では、データ群２２５Ａは、複数件の製品画像データ２２５１Ａにより構成される。各件の製品画像データ２２５１Ａは、欠陥を含む又は含まない製品の写る画像データであってよい。データ群２２５Ａは、欠陥を含む製品の画像データ群及び欠陥を含まない製品の画像データ群のいずれかで構成されてもよいし、両方により構成されてもよい。また、上記実施形態と同様に、データ群２２５Ａに含まれる各件の製品画像データ２２５１Ａは、例えば、ローカル学習データ３Ａに含まれる製品画像データ３１、本変形例における生成モデル４１により生成された画像データ等であってよい。制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを製品画像データ２２５１Ａとして取得してもよい。学習済みの生成モデル４１によるデータの生成は、各検査装置２Ａにより実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを含むデータ群２２５Ａを取得してもよい。
【０１９７】
次に、制御部２１は、データ群２２５Ａと対象画像データ２２３Ａとの比較に基づいて、対象画像データ２２３Ａに写る製品ＲＡの状態（良否）を判定する。制御部２１は、上記実施形態と同様の方法で、データ群２２５Ａを構成する製品画像データ２２５１Ａと対象画像データ２２３Ａとを比較することにより、対象画像データ２２３Ａに写る製品ＲＡの状態を推定、すなわち、製品ＲＡに欠陥が含まれるか否かを判定することができる。
【０１９８】
なお、データ群２２５Ａに含まれる製品画像データ２２５１Ａの件数が不足している場合、制御部２１は、製品画像データ２２５１Ａを適宜ローカル学習データ３Ａに指定し、指定されたローカル学習データ３Ａについての生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、製品ＲＡの写り得る新たな画像データを生成し、生成された新たな画像データを製品画像データ２２５１Ａとしてデータ群２２５Ａに加えてよい。これにより、制御部２１は、データ群２２５Ａに含まれる製品画像データ２２５１Ａの件数を増加させてもよい。
【０１９９】
ステップＳ３０３では、制御部２１は、出力部２１８として動作し、製品ＲＡの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、製品ＲＡの状態を判定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、製品ＲＡに欠陥が含まれる場合に、そのことを知らせるための警告を出力装置２５に出力してもよい。また、例えば、各検査装置２Ａが製品ＲＡを搬送するコンベア装置（不図示）に接続される場合に、製品ＲＡの状態を判定した結果に基づいて、欠陥のない製品ＲＡと欠陥のある製品ＲＡとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【０２００】
＜モデル生成＞
本変形例では、モデル生成装置１は、上記のように構築された各識別モデル４０Ａを利用して、上記実施形態と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行する。
【０２０１】
すなわち、ステップＳ２０１では、モデル生成装置１の制御部１１は、生成モデル４１を用いて、画像データを生成する。ステップＳ２０２では、制御部１１は、生成された画像データを各識別モデル４０Ａに送信して、生成された画像データに対する識別を各識別モデル４０Ａに実行させる。ステップＳ２０３では、制御部１１は、送信された画像データに対する各識別モデル４０Ａによる識別の結果を受信する。本変形例では、制御部１１は、各検査装置２Ａに画像データを送信することで、画像データに対する識別を各識別モデル４０Ａに実行させる。そして、制御部１１は、各検査装置２Ａから各識別モデル４０Ａによる識別の結果を取得する。
【０２０２】
ステップＳ２０４では、制御部１１は、受信された識別の結果を利用した機械学習により、複数の識別モデル４０Ａのうちの少なくともいずれか一つの識別モデル４０Ａの識別性能を低下させるような画像データを生成するように生成モデル４１を訓練する。ステップＳ２０５では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。
【０２０３】
本変形例によれば、生産ラインで生産される製品ＲＡの状態を検査する場面において、その検査に利用可能でかつ多様な画像データを生成可能な生成モデル４１を構築することができる。この生成モデル４１を利用することで、検査に利用するデータ群２２５Ａを構成する製品画像データ２２５１Ａの件数を増やすことができる。本変形例では、この生成モデル４１により、各検査装置２Ａ単独では収集するのが困難であるが、他の検査装置２Ａでは得られている製品画像データを生成することができる。これにより、データ群２２５Ａに含まれる製品画像データ２２５１Ａの件数を増やすだけでなく、製品画像データ２２５１Ａのバリエーションを豊富にすることができる。つまり、ある現場では経験のない欠陥が他の現場で発生していたと想定する。この場合に、他の現場で得られたローカル学習データ３Ａが生成モデル４１の機械学習に反映されていれば、この生成モデル４１により、その欠陥を含む製品ＲＡの写る画像データを生成することができる。よって、この画像データをデータ群２２５Ａに追加することで、製品画像データ２２５１Ａのバリエーションを豊富にすることができる。したがって、本変形例によれば、ステップＳ３０２における検査の精度を高めることができる。例えば、その現場ではまだ経験のない欠陥を発見することができる。
【０２０４】
（Ｂ）栽培状況を監視する場面
図１９は、第２変形例に係る監視システム１００Ｂの適用場面の一例を模式的に例示する。本変形例は、植物ＧＢの栽培状況を推定するのに利用可能なデータを生成する場面に上記実施形態に係るモデル生成装置１を適用した例である。図１９に示されるとおり、本変形例に係る監視システム１００Ｂは、モデル生成装置１及び複数の監視装置２Ｂを備えている。上記実施形態と同様に、モデル生成装置１及び各監視装置２Ｂは、ネットワークを介して互いに接続されてよい。
【０２０５】
各監視装置２Ｂは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各監視装置２Ｂは、上記各学習装置２と同様に構成されてよい。本変形例では、各監視装置２Ｂは、センサＳＢに接続され、植物ＧＢの栽培状況を監視可能に構成される。また、本変形例では、各監視装置２Ｂは、栽培装置ＲＢに接続され、植物ＧＢの栽培状況に応じて栽培装置ＲＢの動作を制御可能に構成される。
【０２０６】
栽培装置ＲＢは、植物ＧＢの生育環境を制御して、植物ＧＢを栽培するように構成される。栽培装置ＲＢは、植物ＧＢの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。生育環境は、植物ＧＢを生育する状況に関し、例えば、植物ＧＢに光を照射する時間、植物ＧＢ周囲の温度、植物ＧＢに与える水の量等である。栽培装置ＲＢは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、ＬＥＤ（light emitting diode）照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物ＧＢに光を照射する時間を制御するために利用される。空調設備は、植物ＧＢ周囲の温度を制御するために利用される。散水装置は、植物ＧＢに与える水の量を制御するために利用される。
【０２０７】
各監視装置２Ｂは、センサＳＢにより植物ＧＢの栽培状況をセンシングすることにより、植物ＧＢの栽培状況に関する状況データとしてセンシングデータをセンサＳＢから取得する。栽培状況は、植物ＧＢを栽培するあらゆる要素に関し、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育状態は、例えば、植物ＧＢの成長度等により規定されてよい。センサＳＢは、植物ＧＢの栽培状況をセンシング可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳＢは、例えば、光度計、温度計、湿度計、カメラ等であってよい。カメラは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。各監視装置２Ｂは、得られた状況データに基づいて、植物ＧＢの栽培状況を推定し、推定された栽培状況に適した生育環境を実現するように栽培装置ＲＢの動作を制御する。ただし、各監視装置２Ｂの構成は、このような例に限定されなくてよい。各監視装置２Ｂは、栽培装置ＲＢに接続されておらず、栽培装置ＲＢの動作を制御可能に構成されていなくてもよい。
【０２０８】
＜監視装置のハードウェア構成＞
図２０は、本変形例に係る各監視装置２Ｂのハードウェア構成の一例を模式的に例示する。図２０に示されるとおり、本変形例に係る各監視装置２Ｂは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各監視装置２Ｂは、外部インタフェース２７を介して栽培装置ＲＢ及びセンサＳＢに接続される。ただし、各監視装置２Ｂのハードウェア構成は、このような例に限定されなくてもよい。各監視装置２Ｂの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各監視装置２Ｂは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ等であってもよい。
【０２０９】
本変形例に係る各監視装置２Ｂの記憶部２２は、学習プログラム８２Ｂ、監視プログラム８３Ｂ、ローカル学習データ３Ｂ、学習結果データ２２１Ｂ等の各種情報を記憶する。学習プログラム８２Ｂ、監視プログラム８３Ｂ、ローカル学習データ３Ｂ、及び学習結果データ２２１Ｂは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｂ、監視プログラム８３Ｂ、及びローカル学習データ３Ｂのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各監視装置２Ｂは、記憶媒体９２から、学習プログラム８２Ｂ、監視プログラム８３Ｂ、及びローカル学習データ３Ｂのうちの少なくともいずれかを取得してもよい。
【０２１０】
＜学習処理＞
図２１Ａは、本変形例に係る各監視装置２Ｂの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｂの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｂの実行により実現される。図２１Ａに示されるとおり、取り扱うデータがセンシングデータから植物ＧＢの栽培状況に関する状況データに置き換わる点を除き、各監視装置２Ｂの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｂは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２１１】
すなわち、ステップＳ１０１では、各監視装置２Ｂの制御部２１は、推論用学習データ収集部２１１Ｂとして動作し、識別モデル４０Ｂの機械学習に利用するローカル学習データ３Ｂを収集する。本変形例では、識別モデル４０Ｂは、上記実施形態に係る識別モデル４０と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｂは、植物ＧＢの栽培状況に関する状況データ３２により構成される。状況データ３２は、データ２２５１に対応する。
【０２１２】
ローカル学習データ３Ｂを生成する方法は、上記実施形態と同様に、実施の形態に応じて適宜選択されてよい。本変形例では、ローカル学習データ３Ｂは、植物ＧＢの栽培状況を推定するのに利用され得る。そのため、ローカル学習データ３Ｂを構成する状況データ３２は、植物ＧＢの栽培状況をセンサにより様々な条件でセンシングすることで得られてよい。これにより、ローカル学習データ３Ｂが生成されてよい。
【０２１３】
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータを取得する。本変形例では、生成モデル４１は、植物ＧＢの栽培状況に関する疑似的な状況データ（以下、「疑似状況データ」とも記載する）を生成するように構成される。モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１に入力して、生成モデル４１の演算処理を実行する。これにより、制御部１１は、生成モデルからの出力として、疑似状況データを取得する。制御部２１は、このようにして生成モデル４１により生成された疑似状況データを取得する。
【０２１４】
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ローカル学習データ３Ｂを使用した機械学習により、与えられたデータがローカル学習データ３Ｂに含まれる状況データ３２であるか否かを識別する能力を獲得した学習済みの識別モデル４０Ｂを構築する。本変形例では、制御部２１は、ローカル学習データ３Ｂ及び生成モデル４１により生成された疑似状況データを使用して、与えられたデータがローカル学習データ３Ｂ由来か生成モデル４１由来かを識別するように識別モデル４０Ｂを訓練する。ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、ステップＳ１０３の機械学習により構築された学習済みの識別モデル４０Ｂの構造及び演算パラメータを示す情報を学習結果データ２２１Ｂとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｂを所定の記憶領域に保存する。
【０２１５】
＜監視処理＞
図２１Ｂは、本変形例に係る各監視装置２Ｂの監視処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｂの監視処理に関するソフトウェア構成は、制御部２１による監視プログラム８３Ｂの実行により実現される。図２１Ｂに示されるとおり、取り扱うデータがセンシングデータから状況データに置き換わる点を除き、各監視装置２Ｂの監視処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｂは、上記各学習装置２と同様に、監視処理に関する一連の処理を実行する。
【０２１６】
すなわち、ステップＳ３０１では、各監視装置２Ｂの制御部２１は、対象データ取得部２１６として動作し、栽培状況を監視する対象となる植物ＧＢの栽培状況に関する対象状況データ２２３ＢをセンサＳＢから取得する。
【０２１７】
ステップＳ３０２では、制御部２１は、監視部２１７Ｂとして動作し、栽培状況を推定するための推論用学習データとして収集されたデータ群２２５Ｂを取得する。本変形例では、データ群２２５Ｂは、複数件の状況データ２２５１Ｂにより構成される。各件の状況データ２２５１Ｂは、植物ＧＢの特定の栽培状況に関するものであってよい。また、上記実施形態と同様に、データ群２２５Ｂに含まれる各件の状況データ２２５１Ｂは、例えば、ローカル学習データ３Ｂに含まれる状況データ３２、本変形例における生成モデル４１により生成された状況データ等であってよい。制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを状況データ２２５１Ｂとして取得してもよい。学習済みの生成モデル４１によるデータの生成は、各監視装置２Ｂにより実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを含むデータ群２２５Ｂを取得してもよい。
【０２１８】
次に、制御部２１は、データ群２２５Ｂと対象状況データ２２３Ｂとの比較に基づいて、対象状況データ２２３Ｂから植物ＧＢの栽培状況を推定する。制御部２１は、上記実施形態と同様の方法で、データ群２２５Ｂを構成する状況データ２２５１Ｂと対象状況データ２２３Ｂとを比較することにより、対象状況データ２２３Ｂから植物ＧＢの栽培状況を推定する。
【０２１９】
なお、データ群２２５Ｂに含まれる状況データ２２５１Ｂの件数が不足している場合、制御部２１は、状況データ２２５１Ｂを適宜ローカル学習データ３Ｂに指定し、指定されたローカル学習データ３Ｂについての生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、植物ＧＢの栽培状況に関し得る新たな状況データを生成し、生成された新たな状況データを状況データ２２５１Ｂとしてデータ群２２５Ｂに加えてよい。これにより、制御部２１は、データ群２２５Ｂに含まれる状況データ２２５１Ｂの件数を増加させてもよい。
【０２２０】
ステップＳ３０３では、制御部２１は、出力部２１８として動作し、植物ＧＢの栽培状況を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、植物ＧＢの栽培状況を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、推定された栽培状況に応じて、栽培装置ＲＢに与える制御指令を決定してもよい。栽培状況と制御指令との対応関係はテーブル形式等の参照情報により与えられてもよい。この参照情報は、記憶部２２、記憶媒体９２、外部記憶装置等に格納されていてもよく、制御部２１は、この参照情報を参照することで、推定した栽培状況に応じて制御指令を決定してもよい。そして、制御部２１は、決定された制御指令を栽培装置ＲＢに与えることで、栽培装置ＲＢの動作を制御してもよい。また、例えば、制御部２１は、決定された制御指令を示す情報を出力装置２５に出力し、植物ＧＢの管理者に栽培装置ＲＢの動作を制御するように促してもよい。
【０２２１】
＜モデル生成＞
本変形例では、モデル生成装置１は、上記のように構築された各識別モデル４０Ｂを利用して、上記実施形態と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行する。
【０２２２】
すなわち、ステップＳ２０１では、モデル生成装置１の制御部１１は、生成モデル４１を用いて、疑似状況データを生成する。ステップＳ２０２では、制御部１１は、生成された疑似状況データを各識別モデル４０Ｂに送信して、生成された疑似状況データに対する識別を各識別モデル４０Ｂに実行させる。ステップＳ２０３では、制御部１１は、送信された疑似状況データに対する各識別モデル４０Ｂによる識別の結果を受信する。本変形例では、制御部１１は、各監視装置２Ｂに疑似状況データを送信することで、疑似状況データに対する識別を各識別モデル４０Ｂに実行させる。そして、制御部１１は、各監視装置２Ｂから各識別モデル４０Ｂによる識別の結果を取得する。
【０２２３】
ステップＳ２０４では、制御部１１は、受信された識別の結果を利用した機械学習により、複数の識別モデル４０Ｂのうちの少なくともいずれか一つの識別モデル４０Ｂの識別性能を低下させるような状況データを生成するように生成モデル４１を訓練する。ステップＳ２０５では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。
【０２２４】
本変形例によれば、植物ＧＢの栽培状況を監視する場面において、その監視に利用可能でかつ多様な状況データを生成可能な生成モデル４１を構築することができる。この生成モデル４１を利用することで、監視に利用するデータ群２２５Ｂを構成する状況データ２２５１Ｂの件数を増やすことができる。本変形例では、この生成モデル４１により、各監視装置２Ｂ単独では収集するのが困難であるが、他の監視装置２Ｂでは得られている状況データを生成することができる。これにより、データ群２２５Ｂに含まれる状況データ２２５１Ｂの件数を増やすだけでなく、状況データ２２５１Ｂのバリエーションを豊富にすることができる。
【０２２５】
例えば、温暖な気候の地域で植物ＧＢの栽培状況を監視する監視装置２Ｂと、寒冷な気候の地域で植物ＧＢの栽培状況を監視する他の監視装置２Ｂとが存在すると想定する。この場面では、温暖な気候の地域の監視装置２Ｂでは、寒冷な気候の地域で発生しやすい妻財状況の経験が殆どないと想定される。そのため、監視装置２Ｂ単独では、そのような経験に関する状況データを得るのが困難であるため、異常気象等により温暖な気候の地域で寒冷な気候の地域で発生するような栽培状況になった際に、監視装置２Ｂは、その栽培状況を適切に推定できない可能性がある。これに対して、本変形例によれば、他の監視装置２Ｂにおいてその栽培状況の経験があり、それにより得られたローカル学習データ３Ｂが生成モデル４１の機械学習に反映されていれば、この生成モデル４１により、その栽培状況に関する状況データを生成することができる。よって、この状況データをデータ群２２５Ｂに追加することで、状況データ２２５１Ｂのバリエーションを豊富にすることができる。したがって、本変形例によれば、ステップＳ３０２における栽培状況の推定精度を高めることができる。例えば、その現場でまだ経験のない栽培状況を推定することができる。これにより、推定された栽培状況に応じて栽培装置ＲＢの動作を制御する場合には、栽培状況に適切なように栽培装置ＲＢの動作を制御する精度を高めることができる。
【０２２６】
（Ｃ）ドライバモニタリングの場面
図２２は、第３変形例に係る監視システム１００Ｃの適用場面の一例を模式的に例示する。本変形例は、車両を運転する運転者ＲＣの状態を推定するのに利用可能なデータを生成する場面に上記実施形態に係るモデル生成装置１を適用した例である。図２２に示されるとおり、本変形例に係る監視システム１００Ｃは、モデル生成装置１及び複数の監視装置２Ｃを備えている。上記実施形態と同様に、モデル生成装置１及び各監視装置２Ｃは、ネットワークを介して互いに接続されてよい。
【０２２７】
各監視装置２Ｃは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各監視装置２Ｃは、上記各学習装置２と同様に構成されてよい。各監視装置２Ｃは、運転者ＲＣを観測することで得られたデータに基づいて、当該運転者ＲＣの状態を推定する。推定に利用するデータは、運転者ＲＣの状態に関するものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。推定に利用するデータは、例えば、運転者ＲＣのバイタルデータ、運転者ＲＣの写り得る画像データ等であってよい。本変形例では、各監視装置２Ｃは、運転者ＲＣを撮影可能に配置されたカメラＳＣに接続される。カメラＳＣは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。各監視装置２Ｃは、カメラＳＣから得られた画像データに基づいて、運転者ＲＣの状態を推定する。推定の対象となる運転者ＲＣの状態は、実施の形態に応じて適宜決定されてよい。推定の対象となる運転者ＲＣの状態は、実施の形態に応じて適宜決定されてよく、例えば、運転者ＲＣの眠気の度合いを示す眠気度、運転者ＲＣの疲労の度合いを示す疲労度、運転者ＲＣの運転に対する余裕の度合いを示す余裕度、又はこれらの組み合わせを含んでもよい。
【０２２８】
＜監視装置のハードウェア構成＞
図２３は、本変形例に係る各監視装置２Ｃのハードウェア構成の一例を模式的に例示する。図２３に示されるとおり、本変形例に係る各監視装置２Ｃは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各監視装置２Ｃは、外部インタフェース２７を介してカメラＳＣに接続される。ただし、各監視装置２Ｃのハードウェア構成は、このような例に限定されなくてもよい。各監視装置２Ｃの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各監視装置２Ｃは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０２２９】
本変形例に係る各監視装置２Ｃの記憶部２２は、学習プログラム８２Ｃ、監視プログラム８３Ｃ、ローカル学習データ３Ｃ、学習結果データ２２１Ｃ等の各種情報を記憶する。学習プログラム８２Ｃ、監視プログラム８３Ｃ、ローカル学習データ３Ｃ、及び学習結果データ２２１Ｃは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｃ、監視プログラム８３Ｃ、及びローカル学習データ３Ｃのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各監視装置２Ｃは、記憶媒体９２から、学習プログラム８２Ｃ、監視プログラム８３Ｃ、及びローカル学習データ３Ｃのうちの少なくともいずれかを取得してもよい。
【０２３０】
＜学習処理＞
図２４Ａは、本変形例に係る各監視装置２Ｃの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｃの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｃの実行により実現される。図２４Ａに示されるとおり、取り扱うデータがセンシングデータから運転者ＲＣの写り得る画像データに置き換わる点を除き、各監視装置２Ｃの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｃは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２３１】
すなわち、ステップＳ１０１では、各監視装置２Ｃの制御部２１は、学習データ収集部２１１Ｃとして動作し、識別モデル４０Ｃの機械学習に利用するローカル学習データ３Ｃを収集する。本変形例では、識別モデル４０Ｃは、上記実施形態に係る識別モデル４０と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｃは、運転者の写る画像データ３３により構成される。画像データ３３は、データ２２５１に対応する。
【０２３２】
ローカル学習データ３Ｃを生成する方法は、上記実施形態と同様に、実施の形態に応じて適宜選択されてよい。本変形例では、ローカル学習データ３Ｃは、運転者ＲＣの状態を推定するのに利用され得る。そのため、ローカル学習データ３Ｃを構成する画像データ３３は、車両を運転する被験者（運転者）をカメラにより様々な状況で撮影することで得られてもよい。これにより、ローカル学習データ３Ｃが生成されてよい。
【０２３３】
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータを取得する。本変形例では、生成モデル４１は、運転者の写り得る画像データを生成するように構成される。モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１に入力して、生成モデル４１の演算処理を実行する。これにより、制御部１１は、生成モデルからの出力として、画像データを取得する。制御部２１は、このようにして生成モデル４１により生成された画像データを取得する。
【０２３４】
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ローカル学習データ３Ｃを使用した機械学習により、与えられたデータがローカル学習データ３Ｃに含まれる画像データ３３であるか否かを識別する能力を獲得した学習済みの識別モデル４０Ｃを構築する。本変形例では、制御部２１は、ローカル学習データ３Ｃ及び生成モデル４１により生成された画像データを使用して、与えられた画像データがローカル学習データ３Ｃ由来か生成モデル４１由来かを識別するように識別モデル４０Ｃを訓練する。ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、ステップＳ１０３の機械学習により構築された学習済みの識別モデル４０Ｃの構造及び演算パラメータを示す情報を学習結果データ２２１Ｃとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｃを所定の記憶領域に保存する。
【０２３５】
＜監視処理＞
図２４Ｂは、本変形例に係る各監視装置２Ｃの監視処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各監視装置２Ｃの監視処理に関するソフトウェア構成は、制御部２１による監視プログラム８３Ｃの実行により実現される。図２４Ｂに示されるとおり、取り扱うデータがセンシングデータから画像データに置き換わる点を除き、各監視装置２Ｃの監視処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各監視装置２Ｃは、上記各学習装置２と同様に、監視処理に関する一連の処理を実行する。
【０２３６】
すなわち、ステップＳ３０１では、各監視装置２Ｃの制御部２１は、対象データ取得部２１６として動作し、運転者ＲＣの写り得る対象画像データ２２３ＣをカメラＳＣから取得する。
【０２３７】
ステップＳ３０２では、制御部２１は、監視部２１７Ｃとして動作し、運転者の状態を推定するための推論用学習データとして収集されたデータ群２２５Ｃ取得する。本変形例では、データ群２２５Ｃは、複数件の画像データ２２５１Ｃにより構成される。各件の画像データ２２５１Ｃは、運転者の特定の状態に関するものであってよい。また、上記実施形態と同様に、データ群２２５Ｃに含まれる各件の画像データ２２５１Ｃは、例えば、ローカル学習データ３Ｃに含まれる画像データ３３、本変形例における生成モデル４１により生成された画像データ等であってよい。制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを画像データ２２５１Ｃとして取得してもよい。学習済みの生成モデル４１によるデータの生成は、各監視装置２Ｃにより実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを含むデータ群２２５Ｃを取得してもよい。
【０２３８】
次に、制御部２１は、データ群２２５Ｃと対象画像データ２２３Ｃとの比較に基づいて、対象画像データ２２３Ｃに写り得る運転者ＲＣの状態を推定する。制御部２１は、上記実施形態と同様の方法で、データ群２２５Ｃを構成する画像データ２２５１Ｃと対象画像データ２２３Ｃとを比較することにより、対象画像データ２２３Ｃに写る運転者ＲＣの状態を推定する。
【０２３９】
なお、データ群２２５Ｃに含まれる画像データ２２５１Ｃの件数が不足している場合、制御部２１は、画像データ２２５１Ｃを適宜ローカル学習データ３Ｃに指定し、指定されたローカル学習データ３Ｃについての生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、運転者の写り得る新たな画像データを生成し、生成された新たな画像データを画像データ２２５１Ｃとしてデータ群２２５Ｃに加えてよい。これにより、制御部２１は、データ群２２５Ｃに含まれる画像データ２２５１Ｃの件数を増加させてもよい。
【０２４０】
ステップ３０３では、制御部２１は、出力部２１８として動作し、運転者ＲＣの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、運転者ＲＣの状態を推定した結果をそのまま出力装置２５に出力してもよい。
【０２４１】
また、例えば、制御部２１は、運転者ＲＣの状態に応じて、警告等の特定のメッセージを出力装置２５に出力してもよい。一例として、運転者ＲＣの状態として、眠気度及び疲労度の少なくとも一方を推定した場合、制御部２１は、眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。閾値は適宜設定されてよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、駐車場等に停車し、休憩を取るように運転者ＲＣに促す警告を出力装置２５に出力してもよい。
【０２４２】
また、例えば、車両が自動運転動作可能に構成されている場合、制御部２１は、運転者ＲＣの状態を推定した結果に基づいて、車両の自動運転の動作を制御してもよい。一例として、車両が、システムにより車両の走行を制御する自動運転モード及び運転者ＲＣの操舵により車両の走行を制御する手動運転モードの切り替えが可能に構成されていると想定する。
【０２４３】
このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者ＲＣ又はシステムから受け付けた際に、制御部２１は、運転者ＲＣの推定された余裕度が閾値を超えているか否かを判定してもよい。そして、運転者ＲＣの余裕度が閾値を超えている場合に、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可してもよい。一方、運転者ＲＣの余裕度が閾値以下である場合には、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可せず、自動運転モードでの走行を維持してもよい。
【０２４４】
また、手動運転モードで車両が走行している際に、制御部２１は、眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、手動運転モードによる車両の走行を維持してもよい。
【０２４５】
また、手動運転モードで車両が走行している際に、制御部２１は、余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、制御部２１は、減速する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、運転者ＲＣの操作による車両の走行を維持してもよい。
【０２４６】
＜モデル生成＞
本変形例では、モデル生成装置１は、上記のように構築された各識別モデル４０Ｃを利用して、上記実施形態と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行する。
【０２４７】
すなわち、ステップＳ２０１では、モデル生成装置１の制御部１１は、生成モデル４１を用いて、画像データを生成する。ステップＳ２０２では、制御部１１は、生成された画像データを各識別モデル４０Ｃに送信して、生成された画像データに対する識別を各識別モデル４０Ｃに実行させる。ステップＳ２０３では、制御部１１は、送信された画像データに対する各識別モデル４０Ｃによる識別の結果を受信する。本変形例では、制御部１１は、各監視装置２Ｃに画像データを送信することで、画像データに対する識別を各識別モデル４０Ｃに実行させる。そして、制御部１１は、各監視装置２Ｃから各識別モデル４０Ｃによる識別の結果を取得する。
【０２４８】
ステップＳ２０４では、制御部１１は、受信された識別の結果を利用した機械学習により、複数の識別モデル４０Ｃのうちの少なくともいずれか一つの識別モデル４０Ｃの識別性能を低下させるような画像データを生成するように生成モデル４１を訓練する。ステップＳ２０５では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。
【０２４９】
本変形例によれば、運転者ＲＣの状態を監視する場面において、その監視に利用可能でかつ多様な画像データを生成可能な生成モデル４１を構築することができる。この生成モデル４１を利用することで、監視に利用するデータ群２２５Ｃを構成する画像データ２２５１Ｃの件数を増やすことができる。本変形例では、この生成モデル４１により、各監視装置２Ｃ単独では収集するのが困難であるが、他の監視装置２Ｃでは得られている特定の運転者ＲＣの属性及び運転環境の表れる画像データを生成することができる。これにより、データ群２２５Ｃに含まれる画像データ２２５１Ｃの件数を増やすだけでなく、画像データ２２５１Ｃのバリエーションを豊富にすることができる。したがって、本変形例によれば、ステップＳ３０３における運転者ＲＣの状態の推定精度を高めることができる。
【０２５０】
（Ｄ）発電量予測の場面
図２５は、第４変形例に係る予測システム１００Ｄの適用場面の一例を模式的に例示する。本変形例は、発電設備ＲＤにおける発電量の予測に利用可能なデータを生成する場面に上記実施形態に係るモデル生成装置１を適用した例である。図２５に示されるとおり、本変形例に係る予測システム１００Ｄは、モデル生成装置１及び複数の予測装置２Ｄを備えている。上記実施形態と同様に、モデル生成装置１及び各予測装置２Ｄは、ネットワークを介して互いに接続されてよい。
【０２５１】
各予測装置２Ｄは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各予測装置２Ｄは、上記各学習装置２と同様に構成されてよい。各予測装置２Ｄは、発電設備ＲＤの発電に関連するデータに基づいて、当該発電設備ＲＤにおける発電量を予測する。発電設備ＲＤの種類は、特に限定されなくてもよく、例えば、太陽光の発電設備であってよい。発電量の予測に利用するデータは、発電設備ＲＤの発電に関連し得るものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本変形例では、発電設備ＲＤは、太陽光の発電設備であり、各予測装置２Ｄは、気象データに基づいて、発電設備ＲＤの発電量を予測する。
【０２５２】
＜予測装置のハードウェア構成＞
図２６は、本変形例に係る各予測装置２Ｄのハードウェア構成の一例を模式的に例示する。図２６に示されるとおり、本変形例に係る各予測装置２Ｄは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。ただし、各予測装置２Ｄのハードウェア構成は、このような例に限定されなくてもよい。各予測装置２Ｄの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各予測装置２Ｄは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０２５３】
本変形例に係る各予測装置２Ｄの記憶部２２は、学習プログラム８２Ｄ、予測プログラム８３Ｄ、ローカル学習データ３Ｄ、学習結果データ２２１Ｄ等の各種情報を記憶する。学習プログラム８２Ｄ、予測プログラム８３Ｄ、ローカル学習データ３Ｄ、及び学習結果データ２２１Ｄは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｄ、予測プログラム８３Ｄ、及びローカル学習データ３Ｄのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各予測装置２Ｄは、記憶媒体９２から、学習プログラム８２Ｄ、予測プログラム８３Ｄ、及びローカル学習データ３Ｄのうちの少なくともいずれかを取得してもよい。
【０２５４】
＜学習処理＞
図２７Ａは、本変形例に係る各予測装置２Ｄの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各予測装置２Ｄの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｄの実行により実現される。図２７Ａに示されるとおり、取り扱うデータがセンシングデータから気象データに置き換わる点を除き、各予測装置２Ｄの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各予測装置２Ｄは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２５５】
すなわち、ステップＳ１０１では、各予測装置２Ｄの制御部２１は、学習データ収集部２１１Ｄとして動作し、識別モデル４０Ｄの機械学習に利用するローカル学習データ３Ｄを収集する。本変形例では、識別モデル４０Ｄは、上記実施形態に係る識別モデル４０と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｄは、気象データ３４により構成される。気象データ３４は、データ２２５１に対応する。気象データ３４は、例えば、天候、気温、降水量、湿度、風量等を示すデータを含んでよい。
【０２５６】
ローカル学習データ３Ｄを生成する方法は、上記実施形態と同様に、実施の形態に応じて適宜選択されてよい。本変形例では、ローカル学習データ３Ｄは、発電量を予測するのに利用され得る。そのため、ローカル学習データ３Ｄを構成する気象データ３４は、発電設備ＲＤの発電量と共に様々な気象条件で得られてよい。発電量は、例えば、発電設備ＲＤのセンサ、オペレータの入力等により与えられてよい。これにより、ローカル学習データ３Ｄが生成されてよい。
【０２５７】
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータを取得する。本変形例では、生成モデル４１は、疑似的な気象データ（以下、「疑似気象データ」とも記載する）を生成するように構成される。モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１に入力して、生成モデル４１の演算処理を実行する。これにより、制御部１１は、生成モデルからの出力として、疑似気象データを取得する。制御部２１は、このようにして生成モデル４１により生成された疑似気象データを取得する。
【０２５８】
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ローカル学習データ３Ｄを使用した機械学習により、与えられた気象データがローカル学習データ３Ｄに含まれる気象データ３４であるか否かを識別する能力を獲得した学習済みの識別モデル４０Ｄを構築する。本変形例では、制御部２１は、ローカル学習データ３Ｄ及び生成モデル４１により生成された疑似気象データを使用して、与えられた気象データがローカル学習データ３Ｄ由来か生成モデル４１由来かを識別するように識別モデル４０Ｄを訓練する。ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、ステップＳ１０３の機械学習により構築された学習済みの識別モデル４０Ｄの構造及び演算パラメータを示す情報を学習結果データ２２１Ｄとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｄを所定の記憶領域に保存する。
【０２５９】
＜予測処理＞
図２７Ｂは、本変形例に係る各予測装置２Ｄの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各予測装置２Ｄの予測処理に関するソフトウェア構成は、制御部２１による予測プログラム８３Ｄの実行により実現される。図２７Ｂに示されるとおり、取り扱うデータがセンシングデータから気象データに置き換わる点を除き、各予測装置２Ｄの予測処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各予測装置２Ｄは、上記各学習装置２と同様に、予測処理に関する一連の処理を実行する。
【０２６０】
すなわち、ステップＳ３０１では、各予測装置２Ｄの制御部２１は、対象データ取得部２１６として動作し、発電量を予測する対象となる発電設備ＲＤにおける気象条件に関する対象気象データ２２３Ｄを取得する。対象気象データ２２３Ｄの取得先は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、公知の気象データサーバから対象気象データ２２３Ｄを取得してもよい。また、例えば、各予測装置２Ｄが、発電設備ＲＤ周辺の気象条件を観測するセンサに接続される場合、制御部２１は、当該センサから対象気象データ２２３Ｄを取得してもよい。
【０２６１】
ステップＳ３０２では、制御部２１は、予測部２１７Ｄとして動作し、発電量を予測するための推論用学習データとして収集されたデータ群２２５Ｄを取得する。本変形例では、データ群２２５Ｄは、複数件の気象データ２２５１Ｄにより構成される。各件の気象データ２２５１Ｄは、特定の発電量に応じて取得されてよい。データ群２２５Ｄに含まれる各件の気象データ２２５１Ｄは、例えば、ローカル学習データ３Ｄに含まれる気象データ３４、本変形例における生成モデル４１により生成された気象データ等であってよい。制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを気象データ２２５１Ｄとして取得してもよい。学習済みの生成モデル４１によるデータの生成は、各予測装置３Ｄにより実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを含むデータ群２２５Ｄを取得することができる。
【０２６２】
次に、制御部２１は、データ群２２５Ｄと対象気象データ２２３Ｄとの比較に基づいて、対象気象データ２２３Ｄから発電量を予測する。制御部２１は、上記実施形態と同様の方法で、データ群２２５Ｄを構成する気象データ２２５１Ｄと対象気象データ２２３Ｄとを比較することにより、対象気象データ２２３Ｄから発電量を予測する。
【０２６３】
なお、データ群２２５Ｄに含まれる気象データ２２５１Ｄの件数が不足している場合、制御部２１は、気象データ２２５１Ｄを適宜ローカル学習データ３Ｄに指定し、指定されたローカル学習データ３Ｄについての生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、特定の発電量に関し得る新たな気象データを生成し、生成された新たな気象データを気象データ２２５１Ｄとしてデータ群２２５Ｄに加えてよい。これにより、制御部２１は、データ群２２５Ｄに含まれる気象データ２２５１Ｄの件数を増加させてもよい。
【０２６４】
ステップ３０３では、制御部２１は、出力部２１８として動作し、発電設備ＲＤの発電量を予測した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、発電設備ＲＤの発電量を予測した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、発電設備ＲＤの発電量と閾値とを比較し、発電設備ＲＤの発電量が閾値以下である場合に、他の発電設備により発電を行うことを促すメッセージを出力装置２５に出力してもよい。閾値は適宜設定されてよい。
【０２６５】
＜モデル生成＞
本変形例では、モデル生成装置１は、上記のように構築された各識別モデル４０Ｄを利用して、上記実施形態と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行する。
【０２６６】
すなわち、ステップＳ２０１では、モデル生成装置１の制御部１１は、生成モデル４１を用いて、疑似気象データを生成する。ステップＳ２０２では、制御部１１は、生成された疑似気象データを各識別モデル４０Ｄに送信して、生成された疑似気象データに対する識別を各識別モデル４０Ｄに実行させる。ステップＳ２０３では、制御部１１は、送信された疑似気象データに対する各識別モデル４０Ｄによる識別の結果を受信する。本変形例では、制御部１１は、各予測装置２Ｄに疑似気象データを送信することで、疑似気象データに対する識別を各識別モデル４０Ｄに実行させる。そして、制御部１１は、各予測装置２Ｄから各識別モデル４０Ｄによる識別の結果を取得する。
【０２６７】
ステップＳ２０４では、制御部１１は、受信された識別の結果を利用した機械学習により、複数の識別モデル４０Ｄのうちの少なくともいずれか一つの識別モデル４０Ｄの識別性能を低下させるような気象データを生成するように生成モデル４１を訓練する。ステップＳ２０５では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。
【０２６８】
本変形例によれば、発電設備ＲＤにおける発電量の予測する場面において、その予測に利用可能でかつ多様な気象データを生成可能な生成モデル４１を構築することができる。この生成モデル４１を利用することで、予測に利用するデータ群２２５Ｄを構成する気象データ２２５１Ｄの件数を増やすことができる。本変形例では、この生成モデル４１により、各予測装置２Ｄ単独では収集するのが困難であるが、他の予測装置２Ｄでは得られている特定の気象条件における発電設備ＲＤの発電量に応じた気象データを生成することができる。これにより、データ群２２５Ｄに含まれる気象データ２２５１Ｄの件数を増やすだけでなく、気象データ２２５１Ｄのバリエーションを豊富にすることができる。したがって、本変形例によれば、ステップＳ３０３における発電量の予測精度を高めることができる。
【０２６９】
（Ｅ）健康状態を診断する場面
図２８は、第５変形例に係る診断システム１００Ｅの適用場面の一例を模式的に例示する。本変形例は、対象者ＲＥの健康状態を推定（診断）するのに利用可能なデータを生成する場面に上記実施形態に係るモデル生成装置１を適用した例である。図２８に示されるとおり、本変形例に係る診断システム１００Ｅは、モデル生成装置１及び複数の診断装置２Ｅを備えている。上記実施形態と同様に、モデル生成装置１及び各診断装置２Ｅは、ネットワークを介して互いに接続されてよい。
【０２７０】
各診断装置２Ｅは、上記各学習装置２に対応する。取り扱うデータが異なる点を除き、各診断装置２Ｅは、上記各学習装置２と同様に構成されてよい。各診断装置２Ｅは、対象者ＲＥの健康状態に関連するデータに基づいて、当該対象者ＲＥの健康状態を診断する。診断に利用するデータは、対象者ＲＥの健康状態に関連し得るものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。診断に利用するデータは、例えば、画像データ、バイタルデータ等であってよい。バイタルデータは、バイタルに関するものであり、例えば、体温、血圧、脈拍等の測定結果を示すデータであってよい。本変形例では、各診断装置２Ｅは、バイタルセンサＳＥに接続される。各診断装置２Ｅは、バイタルセンサＳＥから得られたバイタルデータに基づいて、対象者ＲＥの健康状態を診断する。推定の対象となる健康状態は、実施の形態に応じて適宜決定されてよく、例えば、健康であるか否か、病気になる予兆があるか否か等を含んでよい。
【０２７１】
＜診断装置のハードウェア構成＞
図２９は、本変形例に係る各診断装置２Ｅのハードウェア構成の一例を模式的に例示する。図２９に示されるとおり、本変形例に係る各診断装置２Ｅは、上記各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。各診断装置２Ｅは、外部インタフェース２７を介してバイタルセンサＳＥに接続される。バイタルセンサＳＥは、例えば、体温計、血圧計、脈拍計等である。ただし、各診断装置２Ｅのハードウェア構成は、このような例に限定されなくてもよい。各診断装置２Ｅの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。各診断装置２Ｅは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０２７２】
本変形例に係る各診断装置２Ｅの記憶部２２は、学習プログラム８２Ｅ、診断プログラム８３Ｅ、ローカル学習データ３Ｅ、学習結果データ２２１Ｅ等の各種情報を記憶する。学習プログラム８２Ｅ、診断プログラム８３Ｅ、ローカル学習データ３Ｅ、及び学習結果データ２２１Ｅは、上記実施形態に係る学習プログラム８２、推論プログラム８３、ローカル学習データ３、及び学習結果データ２２１に対応する。学習プログラム８２Ｅ、診断プログラム８３Ｅ、及びローカル学習データ３Ｅのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、各診断装置２Ｅは、記憶媒体９２から、学習プログラム８２Ｅ、診断プログラム８３Ｅ、及びローカル学習データ３Ｅのうちの少なくともいずれかを取得してもよい。
【０２７３】
＜学習処理＞
図３０Ａは、本変形例に係る各診断装置２Ｅの学習処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各診断装置２Ｅの学習処理に関するソフトウェア構成は、制御部２１による学習プログラム８２Ｅの実行により実現される。図３０Ａに示されるとおり、取り扱うデータがセンシングデータからバイタルデータに置き換わる点を除き、各診断装置２Ｅの学習処理に関するソフトウェア構成は、上記各学習装置２の学習処理に関するソフトウェア構成と同様である。これにより、各診断装置２Ｅは、上記各学習装置２と同様に、機械学習に関する一連の処理を実行する。
【０２７４】
すなわち、ステップＳ１０１では、各診断装置２Ｅの制御部２１は、学習データ収集部２１１Ｅとして動作し、識別モデル４０Ｅの機械学習に利用するローカル学習データ３Ｅを収集する。本変形例では、識別モデル４０Ｅは、上記実施形態に係る識別モデル４０と同様に、ニューラルネットワークにより構成される。また、ローカル学習データ３Ｅは、バイタルデータ３６により構成される。
【０２７５】
ローカル学習データ３Ｅを生成する方法は、上記実施形態と同様に、実施の形態に応じて適宜選択されてよい。本変形例では、ローカル学習データ３Ｅは、対象者の健康状態を推定するのに利用され得る。そのため、ローカル学習データ３Ｅを構成するバイタルデータ３６は、様々な健康状態の被験者のバイタルをバイタルセンサで測定することで得られてよい。これにより、ローカル学習データ３Ｅが生成されてよい。
【０２７６】
ステップＳ１０２では、制御部２１は、学習処理部２１２として動作し、生成モデル４１により生成されたデータを取得する。本変形例では、生成モデル４１は、疑似的なバイタルデータ（以下、「疑似バイタルデータ」とも記載する）を生成するように構成される。モデル生成装置１の制御部１１は、所定の確率分布からノイズを抽出し、抽出されたノイズを生成モデル４１に入力して、生成モデル４１の演算処理を実行する。これにより、制御部１１は、生成モデルからの出力として、疑似バイタルデータを取得する。制御部２１は、このようにして生成モデル４１により生成された疑似バイタルデータを取得する。
【０２７７】
ステップＳ１０３では、制御部２１は、学習処理部２１２として動作し、ローカル学習データ３Ｅを使用した機械学習により、与えられたバイタルデータがローカル学習データ３Ｅに含まれるバイタルデータ３６であるか否かを識別する能力を獲得した学習済みの識別モデル４０Ｅを構築する。本変形例では、制御部２１は、ローカル学習データ３Ｅ及び生成モデル４１により生成された疑似バイタルデータを使用して、与えられたバイタルデータがローカル学習データ３Ｅ由来か生成モデル４１由来かを識別するように識別モデル４０Ｅを訓練する。ステップＳ１０４では、制御部２１は、保存処理部２１３として動作し、ステップＳ１０３の機械学習により構築された学習済みの識別モデル４０Ｅの構造及び演算パラメータを示す情報を学習結果データ２２１Ｅとして生成する。そして、制御部２１は、生成された学習結果データ２２１Ｅを所定の記憶領域に保存する。
【０２７８】
＜診断処理＞
図３０Ｂは、本変形例に係る各診断装置２Ｅの診断処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、各診断装置２Ｅの診断処理に関するソフトウェア構成は、制御部２１による診断プログラム８３Ｅの実行により実現される。図３０Ｂに示されるとおり、取り扱うデータがセンシングデータからバイタルデータに置き換わる点を除き、各診断装置２Ｅの診断処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、各診断装置２Ｅは、上記各学習装置２と同様に、診断処理に関する一連の処理を実行する。
【０２７９】
すなわち、ステップＳ３０１では、各診断装置２Ｅの制御部２１は、対象データ取得部２１６として動作し、対象者ＲＥのバイタルを測定した結果を示す対象バイタルデータ２２３ＥをバイタルセンサＳＥから取得する。
【０２８０】
ステップＳ３０２では、制御部２１は、診断部２１７Ｅとして動作し、対象者ＲＥの健康状態を診断するための推論用学習データとして収集されたデータ群２２５Ｅを取得する。本変形例では、データ群２２５Ｅは、複数件のバイタルデータ２２５１Ｅにより構成される。各件のバイタルデータ２２５１Ｅは、特定の健康状態に応じて取得されてよい。また、上記実施形態と同様に、データ群２２５Ｅに含まれる各件のバイタルデータ２２５１Ｅは、例えば、ローカル学習データ３Ｅに含まれるバイタルデータ３６、本変形例における生成モデル４１により生成されたバイタルデータ等であってよい。制御部２１は、学習済みの生成モデル４１を利用して生成されたデータをバイタルデータ２２５１Ｅとして取得してもよい。学習済みの生成モデル４１によるデータの生成は、各診断装置２Ｅにより実行されてもよいし、他のコンピュータにより実行されてもよい。これにより、制御部２１は、学習済みの生成モデル４１を利用して生成されたデータを含むデータ群２２５Ｅを取得してもよい。
【０２８１】
次に、制御部２１は、データ群２２５Ｅと対象バイタルデータ２２３Ｅとの比較に基づいて、対象者ＲＥの健康状態を診断する。制御部２１は、上記実施形態と同様の方法で、データ群２２５Ｅを構成するバイタルデータ２２５１Ｅと対象バイタルデータ２２３Ｅとを比較することにより、対象者ＲＥの健康状態を診断する。
【０２８２】
なお、データ群２２５Ｅに含まれるバイタルデータ２２５１Ｅの件数が不足している場合、制御部２１は、バイタルデータ２２５１Ｅを適宜ローカル学習データ３Ｅに指定し、指定されたローカル学習データ３Ｅについての生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、特定の健康状態に応じ得る新たなバイタルデータを生成し、生成された新たなバイタルデータをバイタルデータ２２５１Ｅとしてデータ群２２５Ｅに加えてよい。これにより、制御部２１は、データ群２２５Ｅに含まれるバイタルデータ２２５１Ｅの件数を増加させてもよい。
【０２８３】
ステップ３０３では、制御部２１は、出力部２１８として動作し、対象者ＲＥの健康状態を診断した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、対象者ＲＥの健康状態を診断した結果をそのまま出力装置２５に出力してもよい。また、例えば、診断された対象者ＲＥの健康状態が所定の病気の予兆を示す場合に、制御部２１は、病院での診査を促すメッセージを出力装置２５に出力してもよい。
【０２８４】
＜モデル生成＞
本変形例では、モデル生成装置１は、上記のように構築された各識別モデル４０Ｅを利用して、上記実施形態と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行する。
【０２８５】
すなわち、ステップＳ２０１では、モデル生成装置１の制御部１１は、生成モデル４１を用いて、疑似バイタルデータを生成する。ステップＳ２０２では、制御部１１は、生成された疑似バイタルデータを各識別モデル４０Ｅに送信して、生成された疑似バイタルデータに対する識別を各識別モデル４０Ｅに実行させる。ステップＳ２０３では、制御部１１は、送信された疑似バイタルデータに対する各識別モデル４０Ｅによる識別の結果を受信する。本変形例では、制御部１１は、各診断装置２Ｅに疑似バイタルデータを送信することで、疑似バイタルデータに対する識別を各識別モデル４０Ｅに実行させる。そして、制御部１１は、各診断装置２Ｅから各識別モデル４０Ｅによる識別の結果を取得する。
【０２８６】
ステップＳ２０４では、制御部１１は、受信された識別の結果を利用した機械学習により、複数の識別モデル４０Ｅのうちの少なくともいずれか一つの識別モデル４０Ｅの識別性能を低下させるような気象データを生成するように生成モデル４１を訓練する。ステップＳ２０５では、制御部１１は、ステップＳ２０４の機械学習により構築された学習済みの生成モデル４１の構造及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成された学習結果データ１２１を所定の記憶領域に保存する。
【０２８７】
本変形例によれば、対象者ＲＥの健康状態を診断する場面において、その診断に利用可能でかつ多様なバイタルデータを生成可能な生成モデル４１を構築することができる。この生成モデル４１を利用することで、診断に利用するデータ群２２５Ｅを構成するバイタルデータ２２５１Ｅの件数を増やすことができる。本変形例では、この生成モデル４１により、各診断装置２Ｅ単独では収集するのが困難であるが、他の診断装置２Ｅでは得られている特定の対象者の属性及び健康状態に応じたバイタルデータを生成することができる。これにより、データ群２２５Ｅに含まれるバイタルデータ２２５１Ｅの件数を増やすだけでなく、バイタルデータ２２５１Ｅのバリエーションを豊富にすることができる。したがって、本変形例によれば、ステップＳ３０３における対象者ＲＥの健康状態の推定精度を高めることができる。
【０２８８】
＜４．２＞
上記実施形態では、生成モデル４１により生成されたデータは、センサＳより得られた対象データ２２３に表れる特徴を推論するのに利用されるデータ群２２５を構成するデータとして利用可能である。また、各学習装置２は、上記ステップＳ３０２において、データ群２２５と対象データ２２３との比較に基づいて、対象データ２２３に表れる特徴を推論している。しかしながら、生成モデル４１により生成されるデータ及び推論処理の方法は、このような例に限定されなくてもよい。例えば、生成モデル４１により生成されるデータは、所定の推論を行う能力を推定器に獲得させるための機械学習に利用されてもよい。また、各学習装置２は、その機械学習により構築された学習済みの推定器を利用して、対象データ２２３に表れる特徴を推論してもよい。
【０２８９】
図３１は、本変形例に係る学習装置２Ｆのハードウェア構成の一例を模式的に例示する。本変形例に係る学習装置２Ｆは、所定の推論を行う能力を推定器に獲得させるための機械学習を更に実行する点、及びその機械学習により構築された学習済みの推定器を利用して所定の推論を行う点を除き、上記実施形態に係る各学習装置２と同様に構成される。具体的には、本変形例に係る学習装置２Ｆは、上記実施形態に係る各学習装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。ただし、学習装置２Ｆのハードウェア構成は、このような例に限定されなくてもよい。学習装置２Ｆの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。学習装置２Ｆは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってよい。
【０２９０】
本変形例に係る学習装置２Ｆの記憶部２２は、上記実施形態に加えて、推論学習プログラム８５、及び推論学習結果データ２２８を更に含む。推論学習プログラム８５は、推定器（後述する推定器４５）の機械学習に関する後述の情報処理（図３２Ｂ）を学習装置２Ｆに実行させるためのプログラムである。推論学習プログラム８５は、この情報処理の一連の命令を含む。推論学習プログラム８５は、記憶媒体９２に記憶されていてもよい。また、学習装置２Ｆは、記憶媒体９２から推論学習プログラム８５を取得してもよい。推論学習結果データ２２８は、学習済みの推定器に関する情報を示す。推論学習結果データ２２８は、推論学習プログラム８５を実行した結果として得られる。なお、推論プログラム８３Ｆは、上記実施形態に係る推論プログラム８３に対応する。推論プログラム８３Ｆは、学習済みの推定器を利用して推論処理を実行する点を除き、上記実施形態に係る推論プログラム８３と同様の命令を含む。
【０２９１】
本変形例では、学習装置２Ｆは、機械学習により特徴を推論する能力を獲得するのに使用する推論用ローカル学習データ（後述する推論用ローカル学習データ２２７）を収集する。このとき、学習装置２Ｆは、学習済みの生成モデル４１により生成されたデータを取得してもよい。上記実施形態と同様に、学習済みの生成モデル４１によるデータの生成は、学習装置２Ｆにより実行されてもよいし、他のコンピュータにより実行されてもよい。学習済みの生成モデル４１によるデータの生成を学習装置２Ｆが実行する場合、学習装置２Ｆは、学習結果データ１２１を保持することで、学習済みの生成モデル４１を備える。これにより、学習装置２Ｆは、学習済みの生成モデル４１により生成されたデータを含む推論用ローカル学習データを収集してもよい。次に、学習装置２Ｆは、収集された推論用ローカル学習データを使用した機械学習により、データに表れる特徴を推論する能力を獲得した学習済みの推定器を構築する。一方、推論処理では、学習装置２Ｆは、対象データ２２３を取得する。次に、学習装置２Ｆは、学習済みの推定器を利用して、対象データに表れる特徴を推定する。そして、学習装置２Ｆは、特徴を推定した結果に関する情報を出力する。
【０２９２】
＜推論の学習処理＞
図３２Ａは、本変形例に係る学習装置２Ｆの推論の学習処理に関するソフトウェア構成の一例を模式的に例示する。学習装置２Ｆの制御部２１は、上記学習プログラム８２等と同様に、推論学習プログラム８５を実行する。これにより、学習装置２Ｆは、学習データ収集部２９１、学習処理部２９２、及び保存処理部２９３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例では、推論の学習処理に関する学習装置２Ｆの各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【０２９３】
ただし、推論の学習処理に関するソフトウェア構成は、このような例に限定されなくてもよい。以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、学習装置２Ｆの推論の学習処理に関するソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。なお、それぞれを区別する場合、例えば、学習データ収集部２１１及び学習処理部２１２をそれぞれ「第１学習データ収集部」及び「第１学習処理部」と称し、学習データ収集部２９１及び学習処理部２９２をそれぞれ「第２学習データ収集部」及び「第２学習処理部」と称する等のように呼び分けてもよい。
【０２９４】
本変形例に係る学習装置２Ｆは、これらのソフトウェアモジュールを備えることで、推定器４５の機械学習を実行する。推定器４５は、上記識別モデル４０及び生成モデル４１と同様に、機械学習により所定の能力を獲得可能な学習モデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。図３２Ａに示されるとおり、本変形例に係る推定器４５は、上記識別モデル４０及び生成モデル４１と同様に、３層構造のニューラルネットワークにより構成されている。推定器４５は、入力側から順に、入力層４５１、中間（隠れ）層４５２、及び出力層４５３を備えている。ただし、推定器４５の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、推定器４５の備える中間層の数は、１つに限定されなくてもよく、２つ以上であってもよい。
【０２９５】
上記識別モデル４０及び生成モデル４１と同様に、推定器４５の各層４５１〜４５３に含まれるニューロン（ノード）の数も、実施の形態に応じて適宜選択されてよい。図３２Ａの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各層４５１〜４５３に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される推定器４５の演算パラメータの一例である。
【０２９６】
次に、図３２Ｂを更に用いて、本変形例に係る学習装置２Ｆの推論の機械学習に関する動作例について説明する。図３２Ｂは、本変形例に係る学習装置２Ｆによる推定器４５の機械学習に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２９７】
（ステップＳ１９１）
ステップＳ１９１では、制御部２１は、学習データ収集部２９１として動作し、推定器４５の機械学習に利用する推論用ローカル学習データ２２７を収集する。本変形例では、推定器４５がニューラルネットワークにより構成されるため、制御部２１は、訓練データ２２７１及び正解データ２２７２の組み合わせをそれぞれ含む複数の学習データセット２２７０により構成される推論用ローカル学習データ２２７を収集する。
【０２９８】
訓練データ２２７１（入力データ）は、所定の能力を発揮する対象となるデータである。本変形例では、訓練データ２２７１は、センサＳにより得られるセンシングデータと同種のデータであり、ローカル学習データ３を構成するデータであってよい。正解データ２２７２（教師データ）は、訓練データ２２７１に対して所定の能力を発揮した結果（正解）を示すデータである。正解データ２２７２には、上記ラベルが利用されてよい。
【０２９９】
各学習データセット２２７０を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサＳと同種のセンサを用意し、用意したセンサにより様々な条件で観測を行うことで、訓練データ２２７１を取得することができる。そして、取得された訓練データ２２７１に対して、当該訓練データ２２７１に表れる特徴を示す正解データ２２７２を関連付ける。これにより、各学習データセット２２７０を生成することができる。
【０３００】
各学習データセット２２７０は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット２２７０の生成は、学習装置２Ｆにより行われてもよいし、学習装置２Ｆ以外の他のコンピュータにより行われてもよい。各学習データセット２２７０を学習装置２Ｆが生成する場合、制御部２１は、自動的に又は入力装置２４を介したオペレータの操作により手動的に上記一連の処理を実行することで、複数の学習データセット２２７０により構成される推論用ローカル学習データ２２７を収集する。一方、各学習データセット２２７０を他のコンピュータが生成する場合、制御部２１は、例えば、ネットワーク、記憶媒体９２等を介して、他のコンピュータにより生成された複数の学習データセット２２７０により構成される推論用ローカル学習データ２２７を収集する。
【０３０１】
また、推論用ローカル学習データ２２７の少なくとも一部には、ローカル学習データ３が利用されてもよい。この場合、ローカル学習データ３を構成する各件のデータに上記正解データ２２７２を適宜付与することで、各学習データセット２２７０を生成することができる。
【０３０２】
更に、推論用ローカル学習データ２２７の少なくとも一部には、生成モデル４１により生成されたデータが利用されてよい。学習済みの生成モデル４１によるデータの生成は、各学習装置２により実行されてもよいし、他のコンピュータにより実行されてもよい。学習済みの生成モデル４１によるデータの生成を学習装置２Ｆが実行する場合、制御部２１は、学習結果データ１２１を保持することで、学習済みの生成モデル４１を備える。制御部２１は、上記学習処理により生成された学習結果データ１２１を、例えば、ネットワーク、記憶媒体９２等を介して取得してもよい。この場合、制御部２１は、学習結果データ１２１を参照して、学習済みの生成モデル４１を設定する。また、制御部２１は、ガウス分布等の所定の確率分布から複数のノイズを抽出する。そして、制御部２１は、抽出されたノイズを生成モデル４１の入力層４１１に入力し、入力側から順に各層４１１〜４１３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、ノイズに対応して生成されたデータを出力層４１３から取得する。取得されたデータを訓練データ２２７１として推論用ローカル学習データ２２７に追加することで、制御部２１は、学習済みの生成モデル４１により生成されたデータを含む推論用ローカル学習データ２２７を取得することができる。或いは、制御部２１は、ネットワーク、記憶媒体９２等を介して、他のコンピュータにより学習済みの生成モデル４１を利用して生成されたデータを取得してもよい。
【０３０３】
また、制御部２１は、推論用ローカル学習データ２２７に含まれる訓練データ２２７１により構成されるローカル学習データ３、及び／又は、推論用ローカル学習データ２２７とは別に用意されたローカル学習データ３について、生成モデル４１を構築するようにモデル生成装置１に要求してもよい。そして、制御部２１は、これにより構築された学習済みの生成モデル４１を利用して、センサＳにより得られるセンシングデータと同種の生成データ５５を生成し、生成された生成データ５５を訓練データ２２７１として利用してもよい。生成データ５５には、適宜正解データ２２７２が付与されてよい。これにより、制御部２１は、推論用ローカル学習データ２２７に含まれる学習データセット２２７０の件数を増加させてもよい。
【０３０４】
収集される学習データセット２２７０の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。推論用ローカル学習データ２２７を収集すると、制御部２１は、次のステップＳ１９２に処理を進める。
【０３０５】
（ステップＳ１９２）
ステップＳ１９２では、制御部２１は、学習処理部２９２として動作し、収集された推論用ローカル学習データ２２７を使用して、推定器４５の機械学習を実行する。この機械学習では、制御部２１は、各学習データセット２２７０について、訓練データ２２７１を入力層４５１に入力すると、正解データ２２７２と一致する出力値を出力層４５３から出力するように推定器４５を訓練する。これにより、制御部２１は、センサＳにより得られたデータに表れる特徴を推論する能力を獲得した学習済みの推定器４５を構築する。
【０３０６】
具体的に、制御部２１は、機械学習の処理対象となる推定器４５を用意する。用意する推定器４５の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部２１は、過去の機械学習を行うことで得られた学習結果データに基づいて、推定器４５を用意してもよい。
【０３０７】
次に、制御部２１は、ステップＳ１９１で取得した各学習データセット２２７０に含まれる訓練データ２２７１及び正解データ２２７２を利用して、推定器４５の学習処理を実行する。
【０３０８】
例えば、第１のステップでは、制御部２１は、各学習データセット２２７０について、訓練データ２２７１を入力層４５１に入力し、入力側から順に各層４５１〜４５３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、訓練データ２２７１に表れる特徴を推論した結果に対応する出力値を出力層４５３から取得する。第２のステップでは、制御部２１は、制御部２１は、取得した出力値と対応する正解データ２２７２の値との誤差を算出する。第３のステップでは、制御部２１は、誤差逆伝播法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第４のステップでは、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０３０９】
制御部２１は、上記第１〜第４のステップを繰り返すことで、各学習データセット２２７０について、訓練データ２２７１を入力すると、対応する正解データ２２７２と一致する出力値が出力層４５３から出力されるように、推定器４５の演算パラメータの値を調整する。例えば、制御部２１は、各学習データセット２２７０について、出力層４５３から得られる出力値と正解データ２２７２の値との誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返す。正解データ２２７２の値と出力層４５３の出力値とが一致することは、このような閾値による誤差が正解データ２２７２の値と出力層４５３の出力値との間に生じることを含んでよい。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部２１は、訓練データ２２７１の入力に対して、対応する正解データ２２７２と一致する出力値を出力するように訓練された学習済みの推定器４５を構築することができる。すなわち、制御部２１は、センサＳにより得られたデータに表れる特徴を推論する能力を獲得した学習済みの推定器４５を構築することができる。学習済みの推定器４５は、「識別器」等と称されてよい。推定器４５の機械学習が完了すると、制御部２１は、次のステップＳ１９３に処理を進める。
【０３１０】
（ステップＳ１９３）
ステップＳ１９３では、制御部２１は、保存処理部２９３として動作し、機械学習により構築された学習済みの推定器４５に関する情報を所定の記憶領域に保存する。本変形例では、制御部２１は、ステップＳ１９２の機械学習により構築された学習済みの推定器４５の構造及び演算パラメータを示す情報を推論学習結果データ２２８として生成する。そして、制御部２１は、生成された学習結果データ２２８を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部２１内のＲＡＭ、記憶部２２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【０３１１】
＜推論処理＞
図３３は、本変形例に係る学習装置２Ｆの推論処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、学習装置２Ｆの推論処理に関するソフトウェア構成は、制御部２１による推論プログラム８３Ｆの実行により実現される。図３２Ｂに示されるとおり、推論方法が異なる点を除き、学習装置２Ｆの推論処理に関するソフトウェア構成は、上記各学習装置２の推論処理に関するソフトウェア構成と同様である。これにより、学習装置２Ｆは、上記各学習装置２と同様に、推論処理に関する一連の処理を実行する。
【０３１２】
すなわち、ステップＳ３０１及びＳ３０３については、学習装置２Ｆの制御部２１は、上記実施形態と同様に実行する。一方、ステップＳ３０２では、学習装置２Ｆの制御部２１は、推論部２１７Ｆとして動作し、学習済みの推定器４５を利用して、対象データ２２３に表れる特徴を推論する。本実施形態では、推論部２１７Ｆは、推論学習結果データ２２８を保持することで、学習済みの推定器４５を含む。
【０３１３】
具体的に、制御部２１は、推論学習結果データ２２８を参照して、学習済みの推定器４５の設定を行う。次に、制御部２１は、取得された対象データ２２３を学習済みの推定器４５に入力し、当該学習済みの推定器４５の演算処理を実行する。すなわち、制御部２１は、学習済みの推定器４５の入力層４５１に対象データ２２３を入力し、入力側から順に各層４５１〜４５３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象データ２２３に含まれる特徴を推論した結果に対応する出力値を学習済みの推定器４５の出力層４５３から取得する。
【０３１４】
本変形例では、学習装置２Ｆは、学習済みの推定器４５を利用して、対象データ２２３に表れる特徴を推論するように構成される。このケースでは、学習済みの生成モデル４１により生成されたデータ（生成データ５５）により、推定器４５の機械学習に利用する推論用ローカル学習データ２２７の件数を増やすことができる。特に、生成モデル４１によれば、学習装置２Ｆ単独では収集するのが困難であるが、他の学習装置２Ｆでは得られるデータを生成することができる。そのため、推論用ローカル学習データ２２７に含まれる訓練データ２２７１のバリエーションを豊富にすることができ、これによって、機械学習により構築される学習済みの推定器４５の性能を高めることができる。つまり、ステップＳ３０２では、対象データ２２３に表れる特徴を精度よく推論することができる。
【０３１５】
なお、モデル生成装置１により生成モデル４１を生成する対象となる学習装置には、上記実施形態に係る学習装置２と同様の方法で推論処理を実行する学習装置と、本変形例に係る学習装置２Ｆと同様の方法で推論処理を実行する学習装置とが混在してもよい。また、上記変形例に係る検査装置２Ａ、監視装置２Ｂ、監視装置２Ｃ、予測装置２Ｄ、及び診断装置２Ｅについても、当該変形例と同様に、学習済みの推定器により各推論を実行するように構成されてもよい。
【０３１６】
＜４．３＞
上記実施形態では、各学習装置２は、学習処理及び推論処理の両方を実行するコンピュータにより構成されている。しかしながら、各学習装置２の構成は、このような例に限定されなくてもよい。複数の学習装置２の少なくともいずれかは、複数台のコンピュータにより構成されてよい。この場合、学習装置２は、学習処理と推論処理とが別々のコンピュータで実行されるように構成されてよい。
【０３１７】
図３４は、本変形例に係る学習装置２Ｇの構成の一例を模式的に例示する。本変形例では、学習装置２Ｇは、上記学習処理を実行するように構成される第１コンピュータ２００、及び上記推論処理を実行するように構成される第２コンピュータ２０１を備える。第１コンピュータ２００及び第２コンピュータ２０１それぞれのハードウェア構成は、上記実施形態に係る各学習装置２のハードウェア構成と同様であってよい。第１コンピュータ２００は、学習プログラム８２を実行することで、学習データ収集部２１１、学習処理部２１２、及び保存処理部２１３をソフトウェアモジュールとして備えるコンピュータとして動作する。第２コンピュータ２０１は、推論プログラム８３を実行することで、対象データ取得部２１６、推論部２１７、及び出力部２１８をソフトウェアモジュールとして備えるコンピュータとして動作する。この場合、第１コンピュータ２００を「学習装置」として取り扱ってもよい。なお、上記変形例に係る検査装置２Ａ、監視装置２Ｂ、監視装置２Ｃ、予測装置２Ｄ、及び診断装置２Ｅについても同様である。また、上記変形例に係る学習装置２Ｆと同様の方法で推論処理を実行するように構成する場合、学習装置２Ｇは、第３コンピュータ（不図示）を更に備えてもよい。この第３コンピュータが、推論学習プログラム８５を実行することで、上記学習データ収集部２９１、学習処理部２９２、及び保存処理部２９３をソフトウェアモジュールとして備えるコンピュータとして動作してもよい。
【０３１８】
＜４．４＞
上記実施形態では、各識別モデル４０による識別の結果５１を導出する過程で、各学習装置２は、式３及び式４の計算において、他の学習装置２の演算結果を利用して、演算結果を統合、すなわち、総和を計算している。また、モデル生成装置１は、式７の計算において、各学習装置２の演算の結果を利用して、当該演算の結果を統合している。これらの演算の結果は、ローカル学習データ３に関連するため、これらの演算の結果が開示されると、各学習装置２の保持するローカル学習データ３を推定することが可能となってしまう。そこで、各学習装置２の保持するローカル学習データ３の秘匿性を更に高めるため、各識別モデル４０による識別の結果５１は秘密計算により統合されてよい。秘密計算の方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本変形例では、秘密分散及び準同型暗号のいずれかを利用した方法が採用されてよい。
【０３１９】
（Ａ）秘密分散を利用する方法
図３５Ａは、秘密分散を利用して統合処理を実行する場面の一例を模式的に例示する。秘密分散を利用した方法では、それぞれ信頼性のある第三者機関として第１サーバ６１及び第２サーバ６２がネットワークに設置される。第１サーバ６１及び第２サーバ６２はそれぞれ、モデル生成装置１等と同様にハードウェアプロセッサ及びメモリを備えるコンピュータである。
【０３２０】
この方法では、まず、各学習装置２の制御部２１は、自身の演算結果を他のコンピュータに送信する際、乱数を生成する。自身の演算結果を他のコンピュータに送信する場面は、上記実施形態では、式３のexp(lyi)を他の学習装置２に送信する場面、式４のyiS(lyi)を他の学習装置２に送信する場面、式７の計算のために式６のＶiをモデル生成装置１に送信する場面である。式３及び式４の場面では、他のコンピュータは、他の学習装置２である。また、式７の場面では、他のコンピュータは、モデル生成装置１である。乱数を生成する方法は、実施の形態に応じて適宜選択されてよい。次に、制御部２１は、演算結果の値と生成された乱数との差分を算出する。そして、制御部２１は、算出された差分を第１サーバ６１に送信する一方で、生成された乱数を第２サーバ６２に送信する。
【０３２１】
これに応じて、第１サーバ６１は、以下の式８のとおり、各学習装置２から受信した差分の総和を計算する。一方、第２サーバ６２は、以下の式９のとおり、各学習装置２から受信した乱数の総和を計算する。
【０３２２】
【数８】
2020115312.tif 000010
【数９】
2020115312.tif 000011
なお、Ｙiは、ｉ番目の学習装置２による演算結果の値を示す。つまり、式３の場面では、Ｙiは、exp(lyi)であり、式４の場面では、Ｙiは、yiS(lyi)であり、式７の場面では、Ｙiは、Ｖiである。ｒiは、ｉ番目の学習装置２により生成された乱数を示す。
【０３２３】
第１サーバ６１及び第２サーバ６２はそれぞれ、総和の計算結果を他のコンピュータに送信する。他のコンピュータは、第１サーバ６１及び第２サーバ６２それぞれから受信した総和を加算する。これにより、各学習装置２の保持する演算結果を他のコンピュータにおいて特定されるのを防止しながら、他のコンピュータは、識別の結果５１に関する各学習装置２の演算結果を統合する（すなわち、総和の計算を行う）ことができる。
【０３２４】
なお、秘密分散の方式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。秘密分散の方式には、例えば、国際標準（ISO/IEC 19592-2:2017）の方式等が用いられてよい。また、モデル生成装置１が信頼性のあるサーバであれば、モデル生成装置１が、第１サーバ６１及び第２サーバ６２のいずれかとして動作してもよい。
【０３２５】
（Ｂ）準同型暗号を利用する方法
図３５Ｂは、準同型暗号を利用して統合処理を実行する場面の一例を模式的に例示する。準同型暗号を利用した方法では、信頼性のある第三者機関としてサーバ６５がネットワークに設置される。サーバ６５は、モデル生成装置１等と同様にハードウェアプロセッサ及びメモリを備えるコンピュータである。
【０３２６】
この方法では、まず、サーバ６５が、公開鍵及び秘密鍵を発行する。公開鍵は、準同型性を有するように生成される。つまり、公開鍵により暗号化された２つの暗号文が与えられた場合に、暗号化された状態のまま２つの暗号文の加算が可能であるように公開鍵が生成される。サーバ６５は、発行された公開鍵及び秘密鍵のうち公開鍵を各学習装置２に配信する。
【０３２７】
各学習装置２の制御部２１は、受信した公開鍵により、自身の演算結果を暗号化する。そして、制御部２１は、暗号化された演算結果を他のコンピュータに送信する。他のコンピュータは、以下の式１０のとおりに、各学習装置２から受信した演算結果の値を暗号化された状態のまま総和を計算する。
【０３２８】
【数１０】
2020115312.tif 000012
なお、Ｐは、公開鍵により暗号化されていることを示す。
【０３２９】
他のコンピュータは、暗号化された総和をサーバ６５に送信する。サーバ６５は、秘密鍵により、他のコンピュータから受信した暗号化された総和を復号化する。そして、サーバ６５は、復号化した演算結果の総和を他のコンピュータに返信する。これにより、各学習装置２の保持する演算結果を他のコンピュータにおいて特定されるのを防止しながら、他のコンピュータは、識別の結果５１に関する各学習装置２の演算結果を統合することができる。
【０３３０】
なお、準同型暗号の方式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。準同型暗号の方式には、例えば、modified-ElGamal暗号、Paillier暗号等が用いられてよい。また、モデル生成装置１が信頼性のあるサーバであれば、モデル生成装置１が、サーバ６５として動作してもよい。
【０３３１】
以上のとおり、本変形例によれば、上記２つの方法のうちのいずれかにより、各識別モデル４０による識別の結果５１を秘密計算により統合することができる。これにより、各学習装置２の保持するローカル学習データ３の秘匿性を更に高めることができる。
【０３３２】
＜４．５＞
上記実施形態及び変形例では、識別モデル４０、生成モデル４１、及び推定器４５は、３層構造の全結合ニューラルネットワークにより構成されている。しかしながら、識別モデル４０、生成モデル４１、及び推定器４５それぞれを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、識別モデル４０、生成モデル４１、及び推定器４５それぞれは、畳み込み層、プーリング層、及び全結合層を備える畳み込みニューラルネットワークにより構成されてよい。また、例えば、時系列データを利用する場合には、識別モデル４０、生成モデル４１、及び推定器４５それぞれは、再帰型ニューラルネットワークにより構成されてよい。識別モデル４０、生成モデル４１、及び推定器４５それぞれの種類は、実施の形態に応じて適宜選択されてよい。
【０３３３】
なお、上記機械学習において、追加条件（例えば、ラベル）が与えられたデータをローカル学習データ３として利用することで、追加条件に応じたデータを生成可能な条件付き生成モデルを構築することができる。上記生成モデル４１は、このような条件付き生成モデルであってもよい。この場合、各グループを示す情報を追加情報として与えることで、生成モデル４１、複数のグループそれぞれに対応するデータを生成可能に構築されてよい。追加条件は、生成モデル４１により生成するデータの種別に関するものであればよく、例えば、生成するデータの属性、生成するデータに表れる特徴の属性等により与えられてもよい。生成するデータが画像データである場合、生成するデータの属性は、例えば、画像データの解像度、ピクセル数、欠損の有無等であってよい。また、生成するデータに表れる特徴の属性は、例えば、推論の対象となる対象物の属性、対象物の種別等であってよい。
【０３３４】
＜４．６＞
上記実施形態において、各学習装置２により構築される識別モデル４０の数は、１つに限られなくてもよく、複数であってもよい。複数の識別モデル４０を保持する場合、各学習装置２は、識別モデル４０毎に個別にローカル学習データ３を収集してもよいし、少なくとも一部の識別モデル４０で少なくとも部分的に共通にローカル学習データ３を収集してもよい。
【０３３５】
また、上記実施形態では、各識別モデル４０は、各学習装置２に保持されている。しかしながら、各識別モデル４０の配置は、このような例に限定されなくてもよい。例えば、複数の識別モデル４０のうちの少なくとも一部は、モデル生成装置１に保持されていてもよい。
【０３３６】
また、上記実施形態において、グルーピングの処理は省略されてよい。第１のグルーピング方法を省略する場合、グループリスト１２３は省略されてよい。グルーピングの処理を省略する場合、割当情報１２４は省略されてよい。また、モデル生成装置１のソフトウェア構成からグルーピング部１１６は省略されてよい。
【０３３７】
また、上記実施形態において、データは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等の個別の種類のデータに置き換えられてよい。例えば、ローカル学習データ３が画像データを含むことで、モデル生成装置１及び複数の学習装置２により画像生成システムを構成することができる。また、例えば、ローカル学習データ３がセンサにより得られるセンシングデータを含むことで、モデル生成装置１及び複数の学習装置２によりセンシングデータの生成システムを構成することができる。
【符号の説明】
【０３３８】
１…モデル生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…生成部、１１２…送信部、１１３…受信部、
１１４…学習処理部、１１５…保存処理部、
１１６…グルーピング部、
１２１…学習結果データ、１２３…グループリスト、
１２４…割当情報、
８１…モデル生成プログラム、９１…記憶媒体、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
２７…外部インタフェース、
２１１…学習データ収集部、２１２…学習処理部、
２１３…保存処理部、
２１６…対象データ取得部、２１７…推論部、
２１８…出力部、
２２１…学習結果データ、２２３…対象データ、
２２５…データ群、
８２…学習プログラム、８３…推論プログラム、
９２…記憶媒体、
Ｓ…センサ、
３…ローカル学習データ、
４０…識別モデル、
４０１…入力層、４０２…中間（隠れ）層、
４０３…出力層、
４１…生成モデル、
４１１…入力層、４１２…中間（隠れ）層、
４１３…出力層、
５０…データ、５１…（識別の）結果
【図１】
2020115312.tif 000013
【図２Ａ】
2020115312.tif 000014
【図２Ｂ】
2020115312.tif 000015
【図３】
2020115312.tif 000016
【図４】
2020115312.tif 000017
【図５】
2020115312.tif 000018
【図６】
2020115312.tif 000019
【図７Ａ】
2020115312.tif 000020
【図７Ｂ】
2020115312.tif 000021
【図８】
2020115312.tif 000022
【図９】
2020115312.tif 000023
【図１０】
2020115312.tif 000024
【図１１】
2020115312.tif 000025
【図１２】
2020115312.tif 000026
【図１３】
2020115312.tif 000027
【図１４】
2020115312.tif 000028
【図１５Ａ】
2020115312.tif 000029
【図１５Ｂ】
2020115312.tif 000030
【図１６】
2020115312.tif 000031
【図１７】
2020115312.tif 000032
【図１８Ａ】
2020115312.tif 000033
【図１８Ｂ】
2020115312.tif 000034
【図１９】
2020115312.tif 000035
【図２０】
2020115312.tif 000036
【図２１Ａ】
2020115312.tif 000037
【図２１Ｂ】
2020115312.tif 000038
【図２２】
2020115312.tif 000039
【図２３】
2020115312.tif 000040
【図２４Ａ】
2020115312.tif 000041
【図２４Ｂ】
2020115312.tif 000042
【図２５】
2020115312.tif 000043
【図２６】
2020115312.tif 000044
【図２７Ａ】
2020115312.tif 000045
【図２７Ｂ】
2020115312.tif 000046
【図２８】
2020115312.tif 000047
【図２９】
2020115312.tif 000048
【図３０Ａ】
2020115312.tif 000049
【図３０Ｂ】
2020115312.tif 000050
【図３１】
2020115312.tif 000051
【図３２Ａ】
2020115312.tif 000052
【図３２Ｂ】
2020115312.tif 000053
【図３３】
2020115312.tif 000054
【図３４】
2020115312.tif 000055
【図３５Ａ】
2020115312.tif 000056
【図３５Ｂ】
2020115312.tif 000057