(57)【要約】【課題】導入コストが比較的に低廉で、かつデータの取得に関する属性の相違にロバストな学習済みのモデルを構築する。【解決手段】本発明の一側面に係る学習装置は、各学習データセットについて、第２メタ識別器による識別の結果がメタデータに適合するように第２符号器及び第２メタ識別器を訓練する第１訓練ステップ、推定器による推定の結果が正解データに適合するように各符号器及び推定器を訓練する第２訓練ステップ、第１メタ識別器による識別の結果がメタデータに適合するように第１メタ識別器を訓練する第３訓練ステップ、並びに、第１メタ識別器による識別の結果がメタデータに適合しないように第１符号器を訓練する第４訓練ステップを実行する。第３訓練ステップ及び第４訓練ステップは交互に繰り返し実行される。【選択図】図１
2020149504.tif 000002
【特許請求の範囲】
【請求項１】
訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、
第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施する学習処理部であって、
前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、
前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、
前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、
前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、
前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、
を含み、
前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、
学習処理部と、
を備える、
学習装置。
【請求項２】
前記複数の学習データセットに含まれる少なくとも１つ以上の第１の学習データセット、及び少なくとも１つ以上の第２の学習データセットは、それぞれの前記メタデータにより示される属性が相違するように異なるドメインから得られる、
請求項１に記載の学習装置。
【請求項３】
前記第１訓練ステップでは、前記第２符号器は、前記メタデータにより示される前記訓練データの取得に関する属性に対応する成分を前記第２特徴量が含むように訓練され、
前記第４訓練ステップでは、前記第１符号器は、前記各学習データセットの前記訓練データを取得するドメインに共通に現れる情報に対応する成分を前記第１特徴量が含むように訓練される、
請求項１又は２に記載の学習装置。
【請求項４】
前記各訓練ステップでは、前記訓練データと共にノイズが前記各符号器に入力されて、各訓練が実行される、
請求項１から３のいずれか１項に記載の学習装置。
【請求項５】
前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１符号器から前記第１特徴量として得られる出力値と前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として得られる出力値との相互情報量が少なくなるように、前記第１符号器及び前記第２符号器を訓練する第５訓練ステップを更に含む、
請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記第４訓練ステップでは、前記各学習データセットについて、前記メタデータに対応するダミーメタデータであって、対応する前記メタデータとは異なる値で構成されたダミーメタデータが取得され、
前記識別の結果が前記メタデータに適合しないように前記第１符号器を訓練することは、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記ダミーメタデータに適合するように前記第１符号器を訓練することにより構成される、
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
前記ダミーメタデータは、対応する学習データセットとは異なる学習データセットのメタデータにより構成される、
請求項６に記載の学習装置。
【請求項８】
前記学習モデルは、前記第１特徴量及び前記第２特徴量から前記入力データを復号化するように構成される復号器を更に含み、
前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記復号器により得られる復号化データが前記訓練データに適合するように、前記第１符号器、前記第２符号器及び前記復号器を訓練する第６訓練ステップを更に含む、
請求項１から７のいずれか１項に記載の学習装置。
【請求項９】
前記第１、第２、及び第６訓練ステップでは、前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として出力値が取得され、取得された当該出力値と共にノイズが前記第２メタ識別器、前記推定器、及び前記復号器に入力されて、各訓練が実行される、
請求項８に記載の学習装置。
【請求項１０】
前記データ取得部は、前記学習処理部が前記学習モデルの機械学習を実施した後に、前記複数の学習データセットのうちの少なくともいずれかの訓練データを前記第１符号器に与えることで前記第１符号器から前記第１特徴量として出力値を取得し、前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として出力値を取得し、及び前記第１符号器から取得された前記出力値を前記復号器に入力し、かつ前記第２符号器から得られた前記出力値と共にノイズを前記復号器に入力することで、前記復号器から前記復号化データとして出力データを取得し、
前記学習処理部は、取得された前記出力データを新たな訓練データとして利用して、前記学習モデルの機械学習を再度実施する、
請求項８又は９に記載の学習装置。
【請求項１１】
前記学習モデルは、前記第１符号器の出力値が入力され、前記第１特徴量から前記入力データに含まれる特徴を推定するように構成された他の推定器を更に含み、
前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記他の推定器から得られる推定の結果が前記正解データ又は前記訓練データに含まれる他の特徴を示す他の正解データに適合するように、前記第１符号器及び前記他の推定器を訓練する第７訓練ステップを更に含む、
請求項１から１０のいずれか１項に記載の学習装置。
【請求項１２】
前記訓練データは、道路を走行する車両を観察するセンサにより得られたセンシングデータであり、
前記メタデータは、前記取得に関する属性として、前記道路の属性、前記センサの観察角度、前記センサの設置間隔、前記センサの種類又はこれらの組み合わせを示し、
前記正解データは、前記特徴として、前記道路の交通状況に関する情報を示す、
請求項１から１１のいずれか１項に記載の学習装置。
【請求項１３】
前記訓練データは、被験者の状態を観察するセンサにより得られたセンシングデータであり、
前記メタデータは、前記取得に関する属性として、前記被験者の識別情報、前記センシングデータを取得した時間に関する属性、前記センサの設置状況に関する属性、前記センサの設置場所、又はこれらの組み合わせを示し、
前記正解データは、前記特徴として、前記被験者の状態を示す、
請求項１から１１のいずれか１項に記載の学習装置。
【請求項１４】
前記訓練データは、製品の写る画像データであり、
前記メタデータは、前記取得に関する属性として、前記製品の属性、前記製品の撮影条件、前記製品を製造する工場の属性又はこれらの組み合わせを示し、
前記正解データは、前記特徴として、前記製品の状態を示す、
請求項１から１１のいずれか１項に記載の学習装置。
【請求項１５】
対象データを取得するデータ取得部と、
請求項１から１４のいずれか１項に記載の学習装置により訓練された前記第１符号器、前記第２符号器、及び前記推定器を利用して、取得された対象データに含まれる特徴を推定する推定部と、
前記特徴を推定した結果に関する情報を出力する出力部と、
を備える、
推定装置。
【請求項１６】
対象データを取得するデータ取得部と、
請求項１１に記載の学習装置により訓練された前記第１符号器及び前記他の推定器を利用して、取得された対象データに含まれる特徴を推定する推定部と、
前記特徴を推定した結果に関する情報を出力する出力部と、
を備える、
推定装置。
【請求項１７】
前記学習装置により訓練された前記第２符号器及び前記第２メタ識別器を利用して、前記対象データの取得に関する属性を識別し、当該識別の結果に基づいて、前記特徴を推定した結果を採用するか否かを判定する評価部を更に備える、
請求項１５又は１６に記載の推定装置。
【請求項１８】
対象データを取得するデータ取得部と、
請求項８から１０のいずれか１項に記載の学習装置により訓練された前記第１符号器に前記対象データを与えることで前記第１符号器から前記第１特徴量として出力値を取得し、訓練された前記復号器を利用して、前記第２符号器から取得される出力値を与えずに、前記第１符号器から取得された前記出力値から前記対象データを復号化することで、復号化データを生成するデータ生成部と、
生成された前記復号化データを所定の記憶領域に保存する保存処理部と、
を備える、
データ生成装置。
【請求項１９】
コンピュータが、
訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施するステップであって、
前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、
前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、
前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、
前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、
前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、
を含み、
前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、
ステップと、
を実行する、
学習方法。
【請求項２０】
コンピュータに、
訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施するステップであって、
前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、
前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、
前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、
前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、
前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、
前記機械学習を実施することは、
前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、
前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、
を含み、
前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、
ステップと、
を実行させるための、
学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、推定装置、データ生成装置、学習方法、及び学習プログラムに関する。
【背景技術】
【０００２】
道路に設置されたカメラ等の各種センサにより得られたデータを用いて、交通に関する様々な事象を推定するシステムの開発が行われている。例えば、特許文献１には、エリアの状況を示すエリア情報に基づいて、緊急車両、輸送手段、移動販売等に所定の対象に関する需要を予測する方法が提案されている。具体的には、エリア情報、及び当該エリア情報に対応する所定の対象に関する需要を示す正解データにより構成される学習データを使用して、回帰モデル、ニューラルネットワーク等の機械学習を実施する。この機械学習により構築された学習済みのモデルを利用して、エリアの状況を示すエリア情報から所定の対象に関する需要を予測する。
【０００３】
機械学習により構築された学習済みのモデルによれば、与えられた訓練データと同種の未知のデータに対して、回帰、分類等の推定（予測を含む）タスクを実行することができる。ただし、学習済みのモデルによる推定の精度は、与えられた学習データ（詳細には、訓練データ）を取得した条件等の取得の属性に依存し得る。例えば、道路に設定されたセンサから得られるデータを訓練データとして用いて、当該道路の交通流を予測する場面を想定する。この場面において、データに現れる道路の交通流の特性は、様々な要因により相違し得る。
【０００４】
要因の一例として、観測対象が相違すると、データに現れる交通流の特性は根本的に相違し得る。例えば、分岐点、合流点、直線道路、曲がり道等の道路の属性に起因して、交通流の特性は相違し得る。また、同じ地点を観測している（すなわち、観測対象が同じ）場合でも、データを取得する方法に起因して、得られるデータに現れる交通流の特性は相違し得る。例えば、道路近傍で側方から測定することで得られたデータと道路よりやや離れた上方の位置から測定することで得られたデータとでは、データに現れる交通流の状態は相違し得る。
【０００５】
そのため、学習済みのモデルによる推定の精度は、訓練データを取得した条件等の取得の属性に依存し得る。例えば、分岐及び合流のない直線の道路を観測するセンサにより得られたデータからこの道路の交通流を予測するように訓練された学習済みのモデルを構築したと想定する。この場合、合流点を含む曲がり道の道路を観測するセンサにより得られたデータに対してこの学習済みのモデルを利用したとすると、この学習済みのモデルは誤った予測をする可能性が高い。同様に、道路から離れた上方の位置より当該道路を観測するセンサにより得られたデータから当該道路の交通流を予測するように訓練された学習済みのモデルを構築したと想定する。この場合、同じ道路を側方から観測する別のセンサにより得られたデータに対してこの学習済みのモデルを利用したとすると、この学習済みのモデルは誤った予測をする可能性が高い。つまり、訓練データの取得の属性と推定タスクの対象となる未知のデータの取得の属性とが異なれば、学習済みのモデルは適切に推定できなくなる可能性がある。
【０００６】
これに対して、想定されるあらゆる要因を考慮して、学習済みのモデルを構築することが考えられる。例えば、複数の地点で得られたデータを１つのモデルの機械学習に使用することが考えられる。しかしながら、この場合には、その複数の地点を含むエリアでの交通流を予測するように訓練された学習済みのモデルを構築することは可能であるものの、当該モデルの構造が複雑になってしまい、学習済みのモデルを他のエリアに転用するのは困難である。更には、学習データが膨大になり、学習が収束しない可能性がある。
【０００７】
そのため、あらゆる要因に対応する入力を受け付けるようにモデルの構造を複雑にするのではなく、訓練データにより得られた学習の成果を、取得の属性の異なる未知のデータに適用可能に何らかの方策を行うのが好ましい。この試みの一つとして、ドメイン適応が知られている。ドメイン適応とは、あるドメインで取得された学習データを利用して所定のタスクを遂行する能力を習得した学習済みのモデルを他のドメインで取得されたデータに適応させる手法である。非特許文献１には、このドメイン適応の手法の一つが提案されている。
【０００８】
具体的には、非特許文献１では、まず、訓練データとなるソース画像データ及び当該ソース画像データに写る対象物を示す正解データ（ラベル）の組み合わせにより構成されたデータセットを用意する。また、これに対応するソース抽出器及び分類器を用意する。そして、事前学習として、用意されたデータセットにより、ソース抽出器及び分類器を訓練する。ソース抽出器は、入力された画像データから特徴量を抽出するように訓練される。分類器は、ソース画像データから抽出された特徴量に基づいて、当該ソース画像データに写る対象物を分類するように訓練される。
【０００９】
次に、推定タスクの対象となる対象画像データを用意する。また、これに対応する対象抽出器と、ソース抽出器及び対象抽出器の出力を識別するための識別器とを用意する。そして、ソース抽出器によりソース画像データから抽出された特徴量と対象抽出器により対象画像データから抽出された特徴量とを識別するように識別器を訓練するのに対して、この識別器による識別が誤るように対象抽出器を敵対的に訓練する。この敵対的学習により、対象抽出器は、ソース抽出器と共通の特徴空間に対象画像データをマッピングする、すなわち、ソース抽出器と共通の特徴を抽出するように訓練される。その結果、ソース画像データで訓練された分類器を対象画像データにも適用することができるようになる。つまり、訓練された対象抽出器と分類器とを利用することで、ソース画像データと同じように、対象画像データに写る対象物を分類することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１９−０２８４８９号公報
【非特許文献】
【００１１】
【非特許文献１】Eric Tzeng, et al. "Adversarral Discriminative Domain Adaptation" arXiv preprint arXiv:1702.05464, 2017.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
非特許文献１の方法によれば、推定タスクの対象となる未知のデータと訓練データとの間で取得の属性が相違する場合でも、学習済みのモデルは、当該未知のデータに対して推定タスクを適切に実行可能であることを期待することができる。しかしながら、本件発明者は、この非特許文献１による従来の方法には、次のような問題点があることを見出した。すなわち、この方法では、対象画像データを取得するドメイン毎に対象抽出器を生成することになるため、導入コストが高いという問題点がある。
【００１３】
また、推定タスクによっては、データの取得に関する属性の相違を考慮したほうがよい可能性がある。例えば、道路を観測するセンサから得られたデータからその道路で渋滞の生じる可能性を予測する学習済みのモデルを構築する場面を想定する。このケースにおいて、一車線及び二車線の道路それぞれを観測する各センサから得られたデータが訓練データには含まれており、学習済みのモデルは、一車線よりも二車線の道路の方が渋滞の生じる可能性が低いとの知見を当該訓練データにより得ていると更に想定する。この場合、三車線の道路を観測するセンサから得られた未知のデータに対して、訓練データと取得に関する属性が相違するものの、学習済みのモデルは、比較的に高い精度でこの道路の渋滞予測を行うことができる可能性がある。
【００１４】
これに対して、従来の方法では、対象抽出器の敵対的学習により、対象画像データを取得するドメインに特有の事象に関する情報は損失する。更には、対象画像データを取得するドメインとソース画像データを取得するドメインとで共通する事象に関する全ての情報が対象抽出器の学習に反映されるとは限らず、この共通する事象に関する一部の情報が損失する可能性がある。したがって、従来の方法では、このような情報の損失が生じることで、学習済みのモデルによる推定タスクの精度が低くなってしまう可能性があるという問題点がある。
【００１５】
なお、このような問題点は、道路の状況を観測するセンサにより得られたデータから当該道路の状況を推定するための学習済みのモデルを構築する場面に特有のものではない。所定のデータに対して所定の推定タスクを行うための学習済みのモデルを構築するあらゆる場面でこの問題が生じ得る。所定の推定タスクを行うための学習済みのモデルを構築する場面とは、例えば、対象者の状態を観察するセンサにより得られたデータから当該対象者の状態を推定するための学習済みのモデルを構築する場面、カメラにより得られた画像データに写る人物の属性を推定するための学習済みのモデルを構築する場面、車載データにより得られるデータから車両に与える指令を推定するための学習済みのモデルを構築する場面、顧客情報からレコメンドの的中率を推定するための学習済みのモデルを構築する場面、画像データに写る製品の状態を推定するための学習済みのモデルを構築する場面等である。これらの場面で利用される所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。これらの場面でも、従来の方法では、対象データを取得するドメイン毎に対象抽出器を生成することになるため、導入コストが高いという問題点がある。また、対象抽出器の学習において、情報の損失が生じることで、学習済みのモデルによる推定タスクの精度が低くなってしまう可能性があるという問題点がある。
【００１６】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、導入コストが比較的に低廉で、かつデータの取得に関する属性の相違にロバストな学習済みのモデルを構築するための技術を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１８】
すなわち、本発明の一側面に係る学習装置は、訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施する学習処理部であって、前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、を含み、前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、学習処理部と、を備える。
【００１９】
当該構成に係る学習装置では、４つの訓練ステップにより、学習モデルの各部分の機械学習が行われる。第１訓練ステップでは、第２符号器及び第２メタ識別器が、各学習データセットについて、訓練データを第２符号器に与えることで第２メタ識別器から得られる識別の結果がメタデータに適合するように訓練される。この訓練の結果により、訓練データの取得に関する属性を第２メタ識別器が適切に識別可能となるように、第２符号器により得られる第２特徴量には、当該取得に関する属性に対応する成分が含まれるようになる。第２訓練ステップでは、第１符号器、第２符号器、及び推定器が、各学習データセットについて、訓練データを第１符号器及び第２符号器に与えることで推定器から得られる推定の結果が正解データに適合するように訓練される。この訓練の結果により、第１符号器及び第２符号器による得られる第１特徴量及び第２特徴量には、訓練データに含まれる特徴、すなわち、推定タスクの正解に対応する成分が含まれるようになる。
【００２０】
第３訓練ステップでは、訓練データを第１符号器に与えることで第１メタ識別器から得られる識別の結果がメタデータに適合するように第１メタ識別器を訓練する。これに対して、第４訓練ステップでは、訓練データを第１符号器に与えることで第１メタ識別器から得られる識別の結果がメタデータに適合しないように第１符号器を訓練する。すなわち、第３訓練ステップ及び第４訓練ステップでは、第１符号器及び第１メタ識別器の敵対的学習を実施する。これにより、第１メタ識別器の識別性能が向上するのに対応して、この第１メタ識別器による識別が失敗するように、第１符号器により得られる第１特徴量には、訓練データの取得に関する属性に対応する成分が含まれないようになる。
【００２１】
すなわち、当該構成に係る機械学習の結果、訓練データに含まれる特徴に関して、第２符号器の符号化により得られる第２特徴量には、メタデータに対応する成分が含まれやすくなるのに対して、第１符号器の符号化により得られる第１特徴量には、メタデータ以外の情報に対応する成分が含まれやすくなる。推定器は、この両方の特徴量から訓練データに含まれる特徴を推定するように訓練される。したがって、学習済みの第１符号器、第２符号器、及び推定器を利用することで、データを取得するドメインに特有の情報、及び共通の情報の両方に基づいて、データに含まれる特徴を推定するタスクを実行することができる。そのため、データを取得するドメインに特有の情報が推定タスクに有益であるケースで、学習済みのモデルによる推定の精度を高めることができる。
【００２２】
また、データの取得に関する属性に特有の情報が推定タスクの精度に悪影響を及ぼす場合には、第２符号器により得られる第２特徴量は利用せずに、第１符号器により得られる第１特徴量に基づいて、データに含まれる特徴を推定するようにすればよい。これにより、推定タスクを実行する際に、メタデータに対応する成分の影響を除外することができる。そのため、データの取得に関する属性に特有の情報が推定タスクの精度に悪影響を及ぼすケース（例えば、データを取得するドメインに共通に現れる事象を推定するケース）でも、学習済みのモデルによる推定の精度を高めることができる。
【００２３】
加えて、学習済みの第２符号器に入力データを入力することで、当該第２符号器から第２特徴量として得られる出力値は、当該入力データのドメイン（すなわち、データの取得に関する属性）を推定した結果に対応する。この推定の結果が正しければ、第２符号器から得られる出力値を第２メタ識別器に入力することで、第２メタ識別器から得られる出力値（メタデータの識別結果）は、入力データの取得に関する属性に適合する。そのため、未知のデータを第２符号器に入力し、第２メタ識別器から得られる識別の結果が未知のデータの取得に関する属性に適合しているか否かにより、上記学習済みのモデルにより推定タスクを適切に遂行可能か否か、を判定することができる。これにより、学習済みのモデルが適切に推定タスクを実行できない未知のデータが与えられているときに、この未知のデータに対して当該学習済みのモデルにより推定タスクを実行するのを避けることができる。また、異なるドメインのデータで学習済みの複数のモデルが存在する場合には、未知のデータに対して適切な学習済みのモデルを選択することができる。
【００２４】
更に、当該構成では、第１符号器及び第２符号器の２つの符号器が用意される。第１符号器が、メタデータ以外の情報に対応する成分を含む特徴量（第１特徴量）を抽出する役割を果たす。第２符号器が、メタデータに対応する特徴量（第２特徴量）を抽出する役割を果たす。異なるドメインから得られたデータに第１符号器及び第２符号器を共通に利用することができる。そのため、当該構成によれば、データを取得するドメイン毎に抽出器を用意しなくてよい。
【００２５】
したがって、当該構成によれば、データを取得するドメイン毎に学習済みの抽出器を用意する手間を省略することができる。また、データの取得に関する属性に特有の情報が推定タスクに有用なケース及び悪影響を及ぼすケースの両方で、比較的に高精度に推定タスクを実行可能な学習済みのモデルを構築することができる。更には、学習済みの第２符号器及び第２メタ識別器を利用することで、学習済みのモデルが未知のデータに対して適切に推定タスクを遂行可能か否か、を評価することができる。この評価の結果に基づいて、適切に推定タスクを遂行不能な未知のデータに対して学習済みのモデルが利用されるのを防止したり、未知のデータに適切な学習済みのモデルを選択したりすることができる。そのため、当該構成によれば、導入コストが比較的に低廉で、かつデータの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００２６】
なお、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器はそれぞれ、演算に利用される演算パラメータであって、機械学習により調整される演算パラメータを備える。このような第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器の種類はそれぞれ、機械学習可能なモデル（学習器）であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器それぞれには、例えば、ニューラルネットワーク、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器それぞれにニューラルネットワークが用いられる場合、各ニューロン間の結合の重み、各ニューロンの閾値等が、上記演算パラメータの一例である。各特徴量のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【００２７】
訓練データの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。訓練データには、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等が利用されてよい。センサは、例えば、画像センサ（カメラ）、赤外線センサ、音センサ（マイクロフォン）、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサは、例えば、環境センサ、バイタルセンサ、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。車載センサは、例えば、画像センサ、レーザセンサ、マイクロ波センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度（音声）センサ、ガス（ＣＯ２等）センサ、電流センサ、スマートメータ（家電、照明等の電力使用量を計測するセンサ）等であってよい。訓練データは、複数の異なる種類のデータにより構成されてよい。この場合、第１符号器及び第２符号器はそれぞれ、訓練データの種類毎に用意されてよい。すなわち、第１符号器及び第２符号器はそれぞれ複数の部分符号器を備えてよい。各部分符号器は、対応する種類の訓練データの入力を受け付けて、入力された対応する種類の訓練データを特徴量に変換するように構成されてよい。
【００２８】
メタデータは、訓練データの取得に関する属性を示すように構成される。この訓練データの取得に関する属性は、訓練データを取得した何らかの条件を識別可能なあらゆる情報を含んでよい。例えば、当該訓練データの取得に関する属性は、訓練データを取得した時間に関する属性を含んでもよい。時間に関する属性は、例えば、時間帯の種別、曜日の種別、平日及び休日の別、月の種別、季節の種別等を含んでもよい。時間帯の種別は、朝、昼、夜等の区分により表現されてもよいし、７時から９時まで等のように所定の時間の区分により表現されてもよい。
【００２９】
また、訓練データがセンサにより得られる場合、訓練データの取得に関する属性は、センサに関連するあらゆる種類の情報を含んでよい。例えば、訓練データの取得に関する属性は、センサの利用形態に関する属性、センサの仕様に関する属性、センサの観測環境に関する属性等を含んでもよい。センサの利用形態に関する属性は、例えば、センサの動作設定に関する属性、センサの設置状況に関する属性等を含んでもよい。センサの動作設定に関する属性は、例えば、計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等を含んでもよい。センサの設置状況に関する属性は、例えば、センサの設置角度、センサ周囲の温度、センサと観測対象との間の距離、センサの設置間隔等を含んでもよい。センサの仕様に関する属性は、例えば、センサの性能に関する属性、センサの機器情報に関する属性、センサの初期設置条件に関する属性等を含んでもよい。センサの性能に関する属性は、例えば、センサの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等を含んでもよい。センサの機器情報に関する属性は、例えば、センサの種別、センサの名称、センサの説明等を含んでもよい。センサの初期設置条件に関する属性は、例えば、設置場所の固有名詞等の情報を含んでもよい。センサの観測環境に関する属性は、例えば、場所、天候、気温、湿度、照度等を含んでもよい。
【００３０】
また、訓練データが対象物に対して得られる場合、訓練データの取得に関する属性は、当該対象物に関するあらゆる種類の情報を含んでもよい。訓練データがセンサにより得られる場合、センサによる観測対象が当該対象物であってよい。訓練データの取得に関する属性は、例えば、対象物の種別、対象物を識別するための識別情報等を含んでもよい。対象物が人物である場合、訓練データの取得に関する属性は、例えば、人物（被験者）の識別子、性別、年齢、体格、人種等の識別情報（個人情報）を含んでもよい。また、訓練データが人物の何らかの行動に対して得られる場合には、訓練データの取得に関する属性は、人物の行動に関するあらゆる種類の情報を含んでもよい。
【００３１】
正解データは、訓練データに含まれる特徴、すなわち、訓練データに対する推定タスクの正解を示すように構成される。訓練データに含まれる特徴は、分類、回帰等の推定（予測を含む）タスクの対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。特徴を推定することには、分類すること、回帰すること等が含まれてよい。特徴は、データから推定可能なあらゆる要素を含んでよい。特徴を推定することには、未来の何らかの要素を予測することが含まれてよい。この場合、特徴は、未来に現れる要素の予兆を含んでよい。正解データは、習得させる推定タスクに応じて適宜決定されてよい。正解データは、例えば、特徴のカテゴリを示す情報、特徴の表れる確率を示す情報、特徴の値を示す情報、特徴の写る範囲を示す情報等により構成されてよい。なお、第２訓練ステップ以外の訓練ステップでは、この正解データを含まない学習データセット、すなわち、正解データ及びメタデータの組み合わせにより構成された学習データセットが更に利用されてよい。
【００３２】
上記一側面に係る学習装置において、前記複数の学習データセットに含まれる少なくとも１つ以上の第１の学習データセット、及び少なくとも１つ以上の第２の学習データセットは、それぞれの前記メタデータにより示される属性が相違するように異なるドメインから得られてよい。当該構成によれば、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００３３】
なお、異なるドメインとは、訓練データの取得に関する属性が相違することであり、メタデータが複数の属性を示す場合には、少なくとも一部の属性が相違することである。ドメインは、例えば、データを取得する条件等のデータの取得に関する属性を規定する。一例として、カメラによりデータを取得する場面を想定した場合、カメラの向き、カメラの解像度、環境の明るさ、撮影対象等の撮影条件が異なれば、訓練データの取得に関する属性が相違する。この場合、それぞれの撮影条件は異なるドメインの一例である。
【００３４】
上記一側面に係る学習装置において、前記第１訓練ステップでは、前記第２符号器は、前記メタデータにより示される前記訓練データの取得に関する属性に対応する成分を前記第２特徴量が含むように訓練されてよく、第４訓練ステップでは、前記第１符号器は、前記各学習データセットの前記訓練データを取得するドメインに共通に現れる情報に対応する成分を前記第１特徴量が含むように訓練されてよい。当該構成によれば、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。なお、ドメインに共通に現れる情報とは、例えば、メタデータにより示される訓練データの取得に関する属性に依存しない情報である。一例として、異なる撮影条件及び背景で数字を撮影した画像データが与えられた場合、数字の種別は、ドメインに共通に現れる情報である。
【００３５】
上記一側面に係る学習装置において、前記各訓練ステップでは、前記訓練データと共にノイズが前記各符号器に入力されて、各訓練が実行されてよい。複数の学習データセットのうちの一部の訓練データと他の訓練データとのランダム性が極めて相違する場合、又は他の訓練データに比べて一部の訓練データに大きな欠損が存在する場合、その相違の特性に対応する成分を第１特徴量に入らないようにするのは困難である。すなわち、その相違の特性を第１符号器に学習させないようにするのは困難である。そのため、これらの場合には、第１メタ識別器がその相違の特性から取得の属性を識別することができてしまい、第４訓練ステップにおいて、第１メタ識別器による識別が失敗するように第１符号器を訓練することが困難となってしまう可能性がある。これに対して、当該構成では、訓練データにと共にノイズを各符号器に入力するようにすることで、その相違の特性を埋めることができ、これによって、第４訓練ステップを適切に完了することができるようになる。したがって、当該構成によれば、上記のような訓練データが与えられた場合でも、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００３６】
上記一側面に係る学習装置において、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１符号器から前記第１特徴量として得られる出力値と前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として得られる出力値との相互情報量が少なくなるように、前記第１符号器及び前記第２符号器を訓練する第５訓練ステップを更に含んでもよい。当該構成によれば、第５訓練ステップの成果により、メタデータに対応する成分は第２特徴量に含まれやすくなるのに対して、メタデータ以外の情報に対応する成分が、第１特徴量に更に含まれやすく、かつ第２特徴量に含まれ難くすることができる。これにより、メタデータに対応する成分及びそれ以外の情報に対応する成分を第２特徴量及び第１特徴量に適切に分配することができる。その結果、特に、データを取得するドメインに共通に現れる事象を第１特徴量から推定するケースで、学習済みのモデルによる推定の精度を高めることができる。
【００３７】
上記一側面に係る学習装置において、前記第４訓練ステップでは、前記各学習データセットについて、前記メタデータに対応するダミーメタデータであって、対応する前記メタデータとは異なる値で構成されたダミーメタデータが取得されてよい。そして、前記識別の結果が前記メタデータに適合しないように前記第１符号器を訓練することは、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記ダミーメタデータに適合するように前記第１符号器を訓練することにより構成されてよい。当該構成によれば、第４訓練ステップの処理を簡易化することができる。
【００３８】
上記一側面に係る学習装置において、前記ダミーメタデータは、対応する学習データセットとは異なる学習データセットのメタデータにより構成されてよい。当該構成によれば、ダミーメタデータを生成する計算量を抑えることができ、第４訓練ステップの処理コストを低減することができる。
【００３９】
対象の学習データセットについて、ダミーメタデータとして利用するメタデータを取得する他の学習データセットを選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、複数の学習データセットから他の学習データセットをランダムに選択し、選択された学習データセットのメタデータを対象の学習データセットのダミーメタデータとして利用してもよい。また、例えば、学習データセットの訓練データとメタデータとの対応関係を任意の方向にずらすことで、対象の学習データセットに割り当てられた他の学習データセットのメタデータをダミーメタデータとして利用してもよい。また、例えば、複数の学習データセットの中から１つの学習データセットを選択し、選択された学習データセットのメタデータを全ての学習データセットのダミーメタデータとして利用してもよい。
【００４０】
なお、ダミーメタデータを生成する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。この方法の他、例えば、ダミーメタデータは、メタデータの値を反転することで生成されてよい。また、例えば、ダミーメタデータは、メタデータの値とは相違するランダムな値（例えば、乱数）により構成されてよい。複数の学習データセットのうちダミーメタデータとメタデータとが一致する学習データセットが存在してもよい。この場合、当該学習データセットを訓練にそのまま利用してもよいし、当該学習データセットのダミーメタデータを変更するようにしてもよい。
【００４１】
また、第１メタ識別器から得られる識別の結果がメタデータに適合しないように第１符号器を訓練する方法は、このダミーメタデータを与える方法に限られなくてもよい。例えば、第１メタ識別器の出力値とメタデータとの誤差が大きくなる方向の勾配を算出し、算出された勾配を逆伝播することで、第１符号器を訓練してもよい。
【００４２】
上記一側面に係る学習装置において、前記学習モデルは、前記第１特徴量及び前記第２特徴量から前記入力データを復号化するように構成される復号器を更に含んでよい。前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記復号器により得られる復号化データが前記訓練データに適合するように、前記第１符号器、前記第２符号器及び前記復号器を訓練する第６訓練ステップを更に含んでよい。当該構成によれば、復号器の訓練により、第１特徴量及び第２特徴量から入力データを復元可能であることが保証される。すなわち、第１特徴量及び第２特徴量において、入力データに関する情報の欠損がないことを保証することができる。したがって、当該構成によれば、上記いずれのケースにおいても、特徴量に変換する過程で情報の欠損を抑えることができるため、データの取得に関する属性の相違にロバストで、高精度に推定タスクを遂行可能な学習済みのモデルを構築することができる。
【００４３】
上記一側面に係る学習装置において、前記第１、第２、及び第６訓練ステップでは、前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として出力値が取得され、取得された当該出力値と共にノイズが前記第２メタ識別器、前記推定器、及び前記復号器に入力されて、各訓練が実行されてよい。当該構成によれば、第２特徴量にノイズを付与した訓練を実施することで、データの取得に関する属性の相違するドメインを学習することができる。これにより、データの取得に関する属性の相違にロバストで、高精度に推定タスクを遂行可能な学習済みのモデルを構築することができる。なお、第２特徴量と共にノイズを入力する形態は、このような例に限定されなくてもよい。例えば、第１、第２、及び第６訓練ステップのうちの少なくともいずれかにおいて、ノイズの入力が省略されてもよい。
【００４４】
上記一側面に係る学習装置において、前記データ取得部は、前記学習処理部が前記学習モデルの機械学習を実施した後に、前記複数の学習データセットのうちの少なくともいずれかの訓練データを前記第１符号器に与えることで前記第１符号器から前記第１特徴量として出力値を取得し、前記訓練データを前記第２符号器に与えることで前記第２符号器から前記第２特徴量として出力値を取得し、及び前記第１符号器から取得された前記出力値を前記復号器に入力し、かつ前記第２符号器から得られた前記出力値と共にノイズを前記復号器に入力することで、前記復号器から前記復号化データとして出力データを取得してもよい。前記学習処理部は、取得された前記出力データを新たな訓練データとして利用して、前記学習モデルの機械学習を再度実施してもよい。当該構成によれば、第２特徴量と共にノイズを入力することで得られた復号化データを新たな訓練データとして機械学習に使用することで、データの取得に関する属性の相違するドメインを学習することができる。これにより、データの取得に関する属性の相違にロバストで、高精度に推定タスクを遂行可能な学習済みのモデルを構築することができる。
【００４５】
なお、新たな訓練データに関連付けられる正解データは適宜取得されてよい。例えば、正解データにより示される特徴が訓練データの取得に関する属性に依存しない場合、新たな訓練データの生成に利用した元の訓練データに関連付けられた正解データを新たな訓練データに関連付けてよい。また、例えば、推定器による推定の結果を正解データとして新たな訓練データに関連付けてもよい。また、例えば、新たな正解データを生成し、生成された新たな正解データを新たな訓練データに関連付けてもよい。同様に、新たな訓練データに関連付けるメタデータは適宜取得されてよい。例えば、第２特徴量と共にノイズを入力することで第２メタ識別器から得られた識別の結果をメタデータとして新たな訓練データとして関連付けてもよい。また、例えば、新たなメタデータを生成し、生成された新たなメタデータを新たな訓練データに関連付けてもよい。
【００４６】
上記一側面に係る学習装置において、前記学習モデルは、前記第１符号器の出力値が入力され、前記第１特徴量から前記入力データに含まれる特徴を推定するように構成された他の推定器を更に含んでもよい。前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記他の推定器から得られる推定の結果が前記正解データ又は前記訓練データに含まれる他の特徴を示す他の正解データに適合するように、前記第１符号器及び前記他の推定器を訓練する第７訓練ステップを更に含んでもよい。当該構成によれば、第７訓練ステップの機械学習により、特徴の推定に利用可能な情報に対応する成分が第１特徴量に含まれることを保証することができる。これにより、特に、データを取得するドメインに共通に現れる事象を第１特徴量から推定するケースで、学習済みのモデルによる推定の精度を高めることができる。
【００４７】
なお、学習済みの他の推定器は、第１特徴量に基づいて推定タスクを遂行するのに利用されてよい。他の正解データにより示される他の特徴は、正解データにより示される特徴とは別の特徴であって、ドメインに共通に現れる特徴であることが望ましい。他の推定器から得られる推定の結果が正解データに適合するように第１符号器及び他の推定器を訓練するケースでは、正解データにより示される特徴は、ドメインに共通に現れる特徴であることが望ましい。
【００４８】
上記各側面に係る学習装置は、所定のデータに対して所定の推定タスクを行うための学習済みのモデルを構築するあらゆる場面に適用されてよい。上記各側面に係る学習装置は、例えば、道路の状況を観測するセンサにより得られたデータから当該道路の状況を推定するための学習済みのモデルを構築する場面、対象者の状態を観察するセンサにより得られたデータから当該対象者の状態を推定するための学習済みのモデルを構築する場面、カメラにより得られた画像データに写る人物の属性を推定するための学習済みのモデルを構築する場面、車載データにより得られるデータから車両に与える指令を推定するための学習済みのモデルを構築する場面、顧客情報からレコメンドの的中率を推定するための学習済みのモデルを構築する場面、画像データに写る製品の状態を推定するための学習済みのモデルを構築する場面等に適用されてよい。
【００４９】
例えば、上記一側面に係る学習装置において、前記訓練データは、道路を走行する車両を観察するセンサにより得られたセンシングデータであってよい。前記メタデータは、前記取得に関する属性として、前記道路の属性、前記センサの観察角度、前記センサの設置間隔、前記センサの種類又はこれらの組み合わせを示してよい。前記正解データは、前記特徴として、前記道路の交通状況に関する情報を示してよい。当該構成によれば、道路を観察するセンサにより得られたセンシングデータから道路の交通状況を推定する場面において、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００５０】
また、例えば、上記一側面に係る学習装置において、前記訓練データは、被験者の状態を観察するセンサにより得られたセンシングデータであってよい。前記メタデータは、前記取得に関する属性として、前記被験者の識別情報、前記センシングデータを取得した時間に関する属性、前記センサの設置状況に関する属性、前記センサの設置場所、又はこれらの組み合わせを示してよい。前記正解データは、前記特徴として、前記被験者の状態を示してよい。当該構成によれば、対象者の状態を観察するセンサにより得られたセンシングデータから当該対象者の状態を推定するための学習済みのモデルを構築する場面において、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００５１】
また、例えば、上記一側面に係る学習装置において、前記訓練データは、製品の写る画像データであってよい。前記メタデータは、製品の属性、製品の撮影条件、製品を製造する工場の属性又はこれらの組み合わせを示してもよい。前記正解データは、前記特徴として、製品の状態を示してもよい。当該構成によれば、画像データに写る製品の状態を推定するための学習済みのモデルを構築する場面において、データの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【００５２】
なお、画像データに写る製品は、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品は、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。製品の状態は、例えば、欠陥に関するものであってよい。この場合、製品の状態は、製品に欠陥が含まれるか否か、製品に含まれる欠陥の種類、製品に含まれる欠陥の範囲又はこれらの組み合わせにより表現されてよい。これに応じて、特徴は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等の製品の欠陥に関するものであってよい。
【００５３】
また、本発明の一側面に係る学習装置は、画像データ、前記画像データの取得に関する属性を示すメタデータ、及び前記画像データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施する学習処理部であって、前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記画像データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、前記各学習データセットについて、前記画像データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、前記各学習データセットについて、前記画像データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、前記各学習データセットについて、前記画像データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、を含み、前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、学習処理部と、を備える。
【００５４】
また、本発明の一側面に係る学習装置は、センシングデータ、前記センシングデータの取得に関する属性を示すメタデータ、及び前記センシングデータに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施する学習処理部であって、前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記センシングデータを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、前記各学習データセットについて、前記センシングデータを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、前記各学習データセットについて、前記センシングデータを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、前記各学習データセットについて、前記センシングデータを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、を含み、前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、学習処理部と、を備える。
【００５５】
また、本発明の形態は、上記学習装置に限られなくてもよい。本発明の一側面は、上記学習装置により構築された学習済みの学習モデルを利用する装置であってもよい。例えば、本発明の一側面は、上記学習装置により構築された学習済みの学習モデルを利用して、所定のデータに対して所定の推定タスクを実行するように構成された推定装置であってもよい。この推定装置は、適用場面における推定タスクの種類に応じて、予測装置、監視装置、診断装置、検査装置等の称されてよい。また、例えば、本発明の一側面は、上記学習装置により構築された復号器を含む学習済みの学習モデルを利用して、新たなデータを生成するように構成されたデータ生成装置であってもよい。
【００５６】
例えば、本発明の一側面に係る推定装置は、対象データを取得するデータ取得部と、上記いずれかの側面に係る学習装置により訓練された前記第１符号器、前記第２符号器、及び前記推定器を利用して、取得された対象データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。
【００５７】
また、例えば、本発明の一側面に係る推定装置は、対象データを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器及び前記他の推定器を利用して、取得された対象データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。なお、他の推定器は、学習装置による学習装置の機械学習とは無関係に構築された学習済みの推定器に置き換えられてもよい。
【００５８】
また、上記一側面に係る推定装置は、前記学習装置により訓練された前記第２符号器及び前記第２メタ識別器を利用して、前記対象データの取得に関する属性を識別し、当該識別の結果に基づいて、前記特徴を推定した結果を採用するか否かを判定する評価部を更に備えてもよい。なお、推定した結果を採用しないことは、推定部による推定処理を実行した後、当該推定の結果を破棄すること、及び推定処理を実行しないことを含んでよい。
【００５９】
また、例えば、本発明の一側面に係る推定装置は、対象画像データを取得するデータ取得部と、上記いずれかの側面に係る学習装置により訓練された前記第１符号器、前記第２符号器、及び前記推定器を利用して、取得された対象画像データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。
【００６０】
また、例えば、本発明の一側面に係る推定装置は、対象画像データを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器及び前記他の推定器を利用して、取得された対象画像データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。他の推定器は、学習装置による学習装置の機械学習とは無関係に構築された学習済みの推定器に置き換えられてもよい。
【００６１】
また、上記一側面に係る推定装置は、前記学習装置により訓練された前記第２符号器及び前記第２メタ識別器を利用して、前記対象画像データの取得に関する属性を識別し、当該識別の結果に基づいて、前記特徴を推定した結果を採用するか否かを判定する評価部を更に備えてもよい。なお、推定した結果を採用しないことは、推定部による推定処理を実行した後、当該推定の結果を破棄すること、及び推定処理を実行しないことを含んでよい。
【００６２】
また、例えば、本発明の一側面に係る推定装置は、対象センシングデータを取得するデータ取得部と、上記いずれかの側面に係る学習装置により訓練された前記第１符号器、前記第２符号器、及び前記推定器を利用して、取得された対象センシングデータに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。
【００６３】
また、例えば、本発明の一側面に係る推定装置は、対象センシングデータを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器及び前記他の推定器を利用して、取得された対象センシングデータに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。他の推定器は、学習装置による学習装置の機械学習とは無関係に構築された学習済みの推定器に置き換えられてもよい。
【００６４】
また、上記一側面に係る推定装置は、前記学習装置により訓練された前記第２符号器及び前記第２メタ識別器を利用して、前記対象センシングデータの取得に関する属性を識別し、当該識別の結果に基づいて、前記特徴を推定した結果を採用するか否かを判定する評価部を更に備えてもよい。なお、推定した結果を採用しないことは、推定部による推定処理を実行した後、当該推定の結果を破棄すること、及び推定処理を実行しないことを含んでよい。
【００６５】
また、例えば、本発明の一側面に係るデータ生成装置は、対象データを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器に前記対象データを与えることで前記第１符号器から前記第１特徴量として出力値を取得し、訓練された前記復号器を利用して、前記第２符号器から取得される出力値を与えずに、前記第１符号器から取得された前記出力値から前記対象データを復号化することで、復号化データを生成するデータ生成部と、生成された前記復号化データを所定の記憶領域に保存する保存処理部と、を備える。
【００６６】
また、例えば、本発明の一側面に係るデータ生成装置は、対象画像データを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器に前記対象画像データを与えることで前記第１符号器から前記第１特徴量として出力値を取得し、訓練された前記復号器を利用して、前記第２符号器から取得される出力値を与えずに、前記第１符号器から取得された前記出力値から前記対象画像データを復号化することで、復号化データを生成するデータ生成部と、生成された前記復号化データを所定の記憶領域に保存する保存処理部と、を備える。
【００６７】
また、例えば、本発明の一側面に係るデータ生成装置は、対象センシングデータを取得するデータ取得部と、上記一側面に係る学習装置により訓練された前記第１符号器に前記対象センシングデータを与えることで前記第１符号器から前記第１特徴量として出力値を取得し、訓練された前記復号器を利用して、前記第２符号器から取得される出力値を与えずに、前記第１符号器から取得された前記出力値から前記対象センシングデータを復号化することで、復号化データを生成するデータ生成部と、生成された前記復号化データを所定の記憶領域に保存する保存処理部と、を備える。
【００６８】
また、上記各形態に係る学習装置、推定装置、及びデータ利用装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係る学習装置と、いずれかの形態に係る推定装置及びデータ生成装置の少なくともいずれかとにより構成されるシステムであってよい。
【００６９】
例えば、本発明の一側面に係る学習方法は、コンピュータが、訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施するステップであって、前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、を含み、前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、ステップと、を実行する、情報処理方法である。
【００７０】
また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、訓練データ、前記訓練データの取得に関する属性を示すメタデータ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、第１符号器、第２符号器、第１メタ識別器、第２メタ識別器、及び推定器を含む学習モデルの機械学習を実施するステップであって、前記第１符号器は、与えられた入力データを第１特徴量に変換するように構成され、前記第２符号器は、前記入力データを第２特徴量に変換するように構成され、前記第１メタ識別器は、前記第１符号器の出力値が入力され、前記入力データの取得に関する属性を前記第１特徴量から識別するように構成され、前記第２メタ識別器は、前記第２符号器の出力値が入力され、前記入力データの取得に関する属性を前記第２特徴量から識別するように構成され、前記推定器は、前記第１符号器及び前記第２符号器の出力値が入力され、前記第１特徴量及び前記第２特徴量から前記入力データに含まれる特徴を推定するように構成され、前記機械学習を実施することは、前記各学習データセットについて、前記訓練データを前記第２符号器に与えることで前記第２メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第２符号器及び前記第２メタ識別器を訓練する第１訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器及び前記第２符号器に与えることで前記推定器から得られる推定の結果が前記正解データに適合するように、前記第１符号器、前記第２符号器及び前記推定器を訓練する第２訓練ステップ、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合するように、前記第１メタ識別器を訓練する第３訓練ステップ、並びに、前記各学習データセットについて、前記訓練データを前記第１符号器に与えることで前記第１メタ識別器から得られる識別の結果が前記メタデータに適合しないように、前記第１符号器を訓練する第４訓練ステップ、を含み、前記第３訓練ステップ及び前記第４訓練ステップを交互に繰り返し実行する、ステップと、を実行させるための、プログラムである。
【発明の効果】
【００７１】
本発明によれば、導入コストが比較的に低廉で、かつデータの取得に関する属性の相違にロバストな学習済みのモデルを構築することができる。
【図面の簡単な説明】
【００７２】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るデータ生成装置のハードウェア構成の一例を模式的に例示する。
【図５Ａ】図５Ａは、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図５Ｂ】図５Ｂは、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図５Ｃ】図５Ｃは、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図５Ｄ】図５Ｄは、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係るデータ生成装置のソフトウェア構成の一例を模式的に例示する。
【図８】図８は、実施の形態に係る学習装置の処理手順の一例を例示する。
【図９】図９は、実施の形態に係る学習装置の機械学習の処理手順の一例を例示する。
【図１０】図１０は、実施の形態に係る推定装置の処理手順の一例を例示する。
【図１１】図１１は、実施の形態に係るデータ生成装置の処理手順の一例を例示する。
【図１２】図１２は、本発明が適用される他の場面の一例を模式的に例示する。
【図１３Ａ】図１３Ａは、他の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【図１３Ｂ】図１３Ｂは、他の形態に係る予測装置のソフトウェア構成の一例を模式的に例示する。
【図１４】図１４は、本発明が適用される他の場面の一例を模式的に例示する。
【図１５Ａ】図１５Ａは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図１５Ｂ】図１５Ｂは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【図１６】図１６は、本発明が適用される他の場面の一例を模式的に例示する。
【図１７】図１７は、本発明が適用される他の場面の一例を模式的に例示する。
【図１８Ａ】図１８Ａは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図１８Ｂ】図１３Ｂは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【図１９】図１９は、本発明が適用される他の場面の一例を模式的に例示する。
【図２０Ａ】図２０Ａは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図２０Ｂ】図２０Ｂは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【図２１】図２１は、本発明が適用される他の場面の一例を模式的に例示する。
【図２２Ａ】図２２Ａは、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図２２Ｂ】図２２Ｂは、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【図２３】図２３は、本発明が適用される他の場面の一例を模式的に例示する。
【図２４Ａ】図２４Ａは、他の形態に係る推奨装置のハードウェア構成の一例を模式的に例示する。
【図２４Ｂ】図２４Ｂは、他の形態に係る推奨装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００７３】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００７４】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を適用した場面の一例を模式的に例示する。
【００７５】
図１に示されるとおり、本実施形態に係るシステムは、学習装置１、推定装置２、及びデータ生成装置３を備えている。学習装置１及び推定装置２により、学習モデル５の機械学習を実施し、当該機械学習の成果を利用して、対象データに含まれる特徴を推定する推定システムが構成される。また、学習装置１及びデータ生成装置３により、学習モデル５の機械学習を実施し、当該機械学習の成果を利用して、対象データに関連する新たなデータを生成するデータ生成システムが構成される。
【００７６】
本実施形態に係る学習装置１は、学習モデル５の機械学習を実施するように構成されたコンピュータである。具体的に、本実施形態に係る学習装置１は、複数の学習データセット１２１を取得する。各学習データセット１２１は、訓練データ１２２、当該訓練データ１２２の取得に関する属性を示すメタデータ１２３、及び当該訓練データ１２２に含まれる特徴（すなわち、当該訓練データ１２２に対する推定タスクの正解）を示す正解データ１２４の組み合わせにより構成される。
【００７７】
訓練データ１２２の種類は、特に限定されなくてもよく、学習モデル５に習得させる推定タスクに応じて適宜選択されてよい。訓練データ１２２には、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等であってよい。図１の例では、センサＳにより得られるセンシングデータに含まれる特徴を推定する能力を学習モデル５に習得させる場面が想定されている。そのため、本実施形態では、訓練データ１２２は、センサＳ又はこれと同種のセンサ（以下、同種のセンサを含んでセンサＳと称する）により得られるセンシングデータである。
【００７８】
センサＳの種類は、特に限定されなくてもよく、学習モデル５に習得させる推定タスクに応じて適宜選択されてよい。センサＳは、例えば、画像センサ（カメラ）、赤外線センサ、音センサ（マイクロフォン）、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサＳは、例えば、環境センサ、バイタルセンサ、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。車載センサは、例えば、画像センサ、レーザセンサ、マイクロ波センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度（音声）センサ、ガス（ＣＯ２等）センサ、電流センサ、スマートメータ（家電、照明等の電力使用量を計測するセンサ）等であってよい。
【００７９】
メタデータ１２３は、訓練データ１２２の取得に関する属性を示すように構成される。この訓練データ１２２の取得に関する属性は、訓練データ１２２を取得した何らかの条件を識別可能なあらゆる情報を含んでよい。例えば、当該訓練データ１２２の取得に関する属性は、訓練データ１２２を取得した時間に関する属性を含んでもよい。時間に関する属性は、例えば、時間帯の種別、曜日の種別、平日及び休日の別、月の種別、季節の種別等を含んでもよい。時間帯の種別は、朝、昼、夜等の区分により表現されてもよいし、７時から９時まで等のように所定の時間の区分により表現されてもよい。
【００８０】
また、本実施形態では、訓練データ１２２は、センサＳにより得られるため、訓練データ１２２の取得に関する属性は、センサＳに関連するあらゆる種類の情報を含んでよい。例えば、訓練データ１２２の取得に関する属性は、センサＳの利用形態に関する属性、センサＳの仕様に関する属性、センサＳの観測環境に関する属性等を含んでもよい。センサＳの利用形態に関する属性は、例えば、センサＳの動作設定に関する属性、センサＳの設置状況に関する属性等を含んでもよい。センサＳの動作設定に関する属性は、例えば、計測範囲の設定値、計測範囲の分解能の設定値、サンプリング周波数の設定値等を含んでもよい。センサＳの設置状況に関する属性は、例えば、センサＳの設置角度、センサＳの周囲の温度、センサＳと観測対象との間の距離、センサＳの設置間隔等を含んでもよい。センサＳの仕様に関する属性は、例えば、センサＳの性能に関する属性、センサＳの機器情報に関する属性、センサＳの初期設置条件に関する属性等を含んでもよい。センサＳの性能に関する属性は、例えば、センサＳの感度限界、ダイナミックレンジ、空間分解能の設定可能範囲、サンプリング周波数の設定可能範囲等を含んでもよい。センサＳの機器情報に関する属性は、例えば、センサＳの種別、センサＳの名称、センサＳの説明等を含んでもよい。センサＳの初期設置条件に関する属性は、例えば、設置場所の固有名詞等の情報を含んでもよい。センサＳの観測環境に関する属性は、例えば、場所、天候、気温、湿度、照度等を含んでもよい。
【００８１】
また、訓練データ１２２が何らかの対象物に対して得られる場合、訓練データ１２２の取得に関する属性は、当該対象物に関するあらゆる種類の情報を含んでもよい。本実施形態では、センサＳによる観察対象が当該対象物であってよい。訓練データ１２２の取得に関する属性は、例えば、対象物の種別、対象物を識別するための識別情報等を含んでもよい。対象物が人物である場合、訓練データ１２２の取得に関する属性は、例えば、人物（被験者）の識別子、性別、年齢、体格、人種等の識別情報（個人情報）を含んでもよい。また、訓練データ１２２が人物の何らかの行動に対して得られる場合には、訓練データ１２２の取得に関する属性は、人物の行動に関するあらゆる種類の情報を含んでもよい。
【００８２】
正解データ１２４は、訓練データ１２２に含まれる特徴、すなわち、訓練データ１２２に対する推定タスクの正解を示すように構成される。訓練データ１２２に含まれる特徴は、分類、回帰等の推定（予測を含む）タスクの対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。特徴を推定することには、分類すること、回帰すること等が含まれてよい。特徴は、データから推定可能なあらゆる要素を含んでよい。特徴を推定することには、未来の何らかの要素を予測することが含まれてよい。この場合、特徴は、未来に現れる要素の予兆を含んでよい。正解データ１２４は、習得させる推定タスクに応じて適宜決定されてよい。正解データ１２４は、例えば、特徴のカテゴリを示す情報、特徴の表れる確率を示す情報、特徴の値を示す情報、特徴の写る範囲を示す情報等により構成されてよい。
【００８３】
一例として、道路の交通状況を予測する場面では、センサＳには、道路を走行する車両を観察するセンサとして、カメラ、超音波センサ、赤外線センサ等が用いられてよい。これに応じて、訓練データ１２２は、画像データ、単位時間当たりの車両の通過台数の計測結果を示すデータ、平均速度の計測結果を示すデータ等であってよい。メタデータ１２３は、道路の属性、センサＳの観察角度、センサＳの設置間隔、センサＳの種類等を示す情報により構成されてよい。道路の属性は、例えば、直線道路であるか否か、曲がり道であるか否か、有料道路の料金所があるか否か、合流点であるか否か、分岐点であるか否か等により示されてよい。正解データ１２４は、道路の交通状況に関する情報により構成されてよい。交通状況は、訓練データ１２２により現れる現在のものであってもよいし、未来のものであってもよい。道路の交通状況に関する情報は、例えば、渋滞発生の有無、渋滞発生の確率、発生した渋滞の継続時間、センサＳの設置場所から所定の場所までの所要時間等により表現されてよい。渋滞発生の有無は、所定時間後に渋滞が発生するか否かにより表現されてもよい。
【００８４】
本実施形態に係る学習装置１は、取得された複数の学習データセット１２１を使用して、学習モデル５の機械学習を実施する。本実施形態では、学習モデル５は、第１符号器５１、第２符号器５２、第１メタ識別器５３、第２メタ識別器５４、及び推定器５５を含んでいる。第１符号器５１は、与えられた入力データを第１特徴量に変換するように構成される。第２符号器５２は、与えられた入力データを第２特徴量に変換するように構成される。各特徴量のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第１メタ識別器５３は、第１符号器５１の出力値（第１特徴量）が入力され、入力された第１特徴量から入力データの取得に関する属性を識別するように構成される。第２メタ識別器５４は、第２符号器５２の出力値（第２特徴量）が入力され、入力された第２特徴量から入力データの取得に関する属性を識別するように構成される。推定器５５は、第１符号器５１及び第２符号器５２の出力値（第１特徴量及び第２特徴量）が入力され、入力された第１特徴量及び第２特徴量から入力データに含まれる特徴を推定するように構成される。
【００８５】
本実施形態では、機械学習を実施することは、第１〜第４訓練ステップを含む。第１訓練ステップでは、学習装置１は、各学習データセット１２１について、訓練データ１２２を第２符号器５２に与えることで第２メタ識別器５４から得られる識別の結果がメタデータ１２３に適合するように、第２符号器５２及び第２メタ識別器５４を訓練する。第２訓練ステップでは、学習装置１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１及び第２符号器５２に与えることで推定器５５から得られる推定の結果が正解データ１２４に適合するように、第１符号器５１、第２符号器５２及び推定器５５を訓練する。
【００８６】
第３訓練ステップでは、学習装置１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合するように、第１メタ識別器５３を訓練する。第４訓練ステップでは、学習装置１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように、第１符号器５１を訓練する。学習装置１は、第３訓練ステップ及び第４訓練ステップを交互に繰り返し実行する。なお、以下、説明の便宜上、各メタ識別器（５３、５４）により得られる識別の結果を「メタ識別」とも記載する。
【００８７】
本実施形態に係る推定装置２は、学習済みの学習モデル５を利用して、対象データに対して推定タスクを遂行するように構成されたコンピュータである。本実施形態では、推定装置２には、センサＳが接続されている。推定装置２は、センサＳから対象データを取得する。推定装置２は、学習済みの学習モデル５を利用して、取得された対象データに含まれる特徴を推定する。そして、推定装置２は、推定の結果に関する情報を出力する。
【００８８】
本実施形態に係るデータ生成装置３は、学習済みの学習モデル５を利用して、対象データに関連する新たなデータを生成するように構成されたコンピュータである。本実施形態では、データ生成装置３には、センサＳが接続されている。データ生成装置３は、センサＳから対象データを取得する。データ生成装置３は、学習済みの学習モデル５を利用して、取得された対象データに関連する新たなデータを生成する。新たなデータは、取得された対象データから抽出された第１特徴量及び第２特徴量の少なくともいずれかであってよい。また、新たなデータは、後述する復号器により生成された復号化データであってもよい。データ生成装置３は、生成された新たなデータを所定の記憶領域に保存する。
【００８９】
以上のとおり、本実施形態では、学習装置１の第１訓練ステップにより、訓練データ１２２の取得に関する属性を第２メタ識別器５４が適切に識別可能となるように、学習済みの第２符号器５２により得られる第２特徴量には、当該取得に関する属性に対応する成分が含まれるようになる。また、第２訓練ステップにより、学習済みの第１符号器５１及び第２符号器５２により得られる第１特徴量及び第２特徴量には、訓練データ１２２に含まれる特徴（すなわち、推定タスクの正解）に対応する成分が含まれるようになる。更に、本実施形態では、第３訓練ステップ及び第４訓練ステップにより、第１符号器５１及び第１メタ識別器５３の敵対的学習を実施する。これにより、第１メタ識別器５３の識別性能が向上するのに対応して、この第１メタ識別器５３による識別が失敗するように、学習済みの第１符号器５１により得られる第１特徴量には、訓練データ１２２の取得に関する属性に対応する成分が含まれないようになる。
【００９０】
すなわち、本実施形態では、上記機械学習の結果、訓練データ１２２に含まれる特徴に関して、学習済みの第２符号器５２の符号化により得られる第２特徴量には、メタデータ１２３に対応する成分が含まれやすくなる。これに対して、学習済みの第１符号器５１により得られる第１特徴量には、訓練データ１２２に含まれる特徴に関する、メタデータ１２３以外の情報に対応する成分が含まれやすくなる。推定器５５は、この両方の特徴量から訓練データ１２２に含まれる特徴を推定するように訓練される。一例として、上記道路の交通状況を予測する場面では、第１特徴量は、ドメインに共通の情報として、スポット的に発生する交通流の数及びその増減の変化傾向に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、定常的に表れる地形起因の交通流の傾向、及び複数の地点で共起する交通流の傾向に対応する成分を含むようになる。推定器５５は、これら両方の情報に基づいて、渋滞発生の確率、渋滞の有無等を推定するタスクを遂行することができる。したがって、本実施形態に係る推定装置２では、学習済みの第１符号器５１、第２符号器５２、及び推定器５５を利用することで、対象データを取得するドメインに特有の情報、及び共通の情報の両方に基づいて、対象データに含まれる特徴を推定するタスクを実行することができる。そのため、対象データを取得するドメインに特有の情報が推定タスクに有益であるケースで、対象データに含まれる特徴を推定する精度を高めることができる。
【００９１】
また、対象データの取得に関する属性に特有の情報が推定タスクの精度に悪影響を及ぼす場合、推定装置２は、学習済みの第２符号器５２により得られる第２特徴量は利用せずに、学習済みの第１符号器５１により得られる第１特徴量に基づいて、対象データに含まれる特徴を推定することができる。これにより、推定タスクを実行する際に、対象データの取得に関する属性に対応する成分の影響を除外することができる。そのため、対象データの取得に関する属性の情報が推定タスクの精度に悪影響を及ぼすケースにおいても、対象データに含まれる特徴を推定する精度を高めることができる。
【００９２】
加えて、学習済みの第２符号器５２に入力データを入力することで、当該第２符号器５２から第２特徴量として得られる出力値は、当該入力データのドメイン（すなわち、入力データの取得に関する属性）を推定した結果に対応する。この推定の結果が正しければ、第２符号器５２から得られる出力値を学習済みの第２メタ識別器５４に入力することで、当該第２メタ識別器５４から得られる出力値（すなわち、メタ識別の結果）は、入力データの取得に関する属性に適合する。そのため、本実施形態に係る推定装置２では、対象データを第２符号器５２に入力し、第２メタ識別器５４から得られるメタ識別の結果が対象データの取得に関する属性に適合しているか否かにより、当該対象データに対して学習済みの学習モデル５が推定タスクを適切に遂行可能か否か、を判定することができる。これにより、学習済みの学習モデル５が適切に推定タスクを遂行できない対象データが与えられているときに、この対象データに対して推定タスクを遂行するのを避けることができる。また、異なるドメインから得られた学習データセットにより学習済みの複数の学習モデル５が存在する場合には、対象データに対して適切な学習済みの学習モデル５を選択することができる。
【００９３】
更に、本実施形態では、第１符号器５１及び第２符号器５２の２つの符号器が用意される。第１符号器５１が、データの取得に関する属性以外の情報に対応する成分を含む特徴量（第１特徴量）を抽出する役割を果たす。第２符号器５２が、データの取得に関する属性に対応する特徴量（第２特徴量）を抽出する役割を果たす。異なるドメインから得られた対象データに第１符号器５１及び第２符号器５２を共通に利用することができる。そのため、本実施形態では、対象データを取得するドメイン毎に抽出器を用意しなくてもよい。
【００９４】
したがって、本実施形態によれば、対象データを取得するドメイン毎に学習済みの抽出器を用意する手間を省略することができる。また、対象データの取得に関する属性に特有の情報が推定タスクに有用なケース及び悪影響を及ぼすケースの両方で、比較的に高精度に推定タスクを実行可能な学習済みの学習モデル５を構築することができる。更には、学習済みの第２符号器５２及び第２メタ識別器５４を利用することで、学習済みの学習モデル５が対象データに対して適切に推定タスクを遂行可能か否か、を評価することができる。この評価の結果に基づいて、適切に推定タスクを遂行不能な対象データに対して学習済みの学習モデル５が利用されるのを防止したり、対象データに適切な学習済みの学習モデル５を選択したりすることができる。そのため、本実施形態によれば、導入コストが比較的に低廉で、かつ対象データの取得に関する属性の相違にロバストな学習済みの学習モデル５を構築することができる。
【００９５】
なお、図１の例では、学習装置１、推定装置２、及びデータ生成装置３は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、各装置１〜３の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習装置１、推定装置２、及びデータ生成装置３では、記憶媒体を利用して、データがやりとりされてよい。
【００９６】
また、図１の例では、学習装置１、推定装置２、及びデータ生成装置３は、それぞれ別個のコンピュータである。しかしながら、本実施形態に係るシステムの構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、学習装置１、推定装置２、及びデータ生成装置３のうちの少なくともいずれかのペアは一体のコンピュータであってよい。また、例えば、学習装置１、推定装置２、及びデータ生成装置３のうちの少なくともいずれかは、複数台のコンピュータにより構成されてよい。
【００９７】
§２  構成例
［ハードウェア構成］
次に、図２を用いて、本実施形態に係る学習装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る学習装置１のハードウェア構成の一例を模式的に例示する。
【００９８】
図２に示されるとおり、本実施形態に係る学習装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００９９】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、学習プログラム８１、複数の学習データセット１２１、学習結果データ１２８等の各種情報を記憶する。
【０１００】
学習プログラム８１は、学習モデル５の機械学習に関する後述の情報処理（図８、図９）を学習装置１に実行させるためのプログラムである。学習プログラム８１は、当該情報処理の一連の命令を含む。複数の学習データセット１２１は、当該学習モデル５の機械学習に利用される。学習結果データ１２８は、学習済みの学習モデル５に関する情報を示す。学習結果データ１２８は、学習プログラム８１の実行結果として得られる。詳細は後述する。
【０１０１】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、推定装置２、データ生成装置３）と行うことができる。
【０１０２】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を介して、学習装置１を操作することができる。入力装置１４及び出力装置１５は、タッチパネルディスプレイ等により一体的に構成されてもよい。
【０１０３】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記学習プログラム８１及び複数の学習データセット１２１の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【０１０４】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置１は、この記憶媒体９１から、上記学習プログラム８１及び複数の学習データセット１２１の少なくともいずれかを取得してもよい。
【０１０５】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【０１０６】
なお、学習装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。学習装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ（Personal Computer）等であってもよい。
【０１０７】
＜推定装置＞
次に、図３を用いて、本実施形態に係る推定装置２のハードウェア構成の一例について説明する。図３は、本実施形態に係る推定装置２のハードウェア構成の一例を模式的に例示する。
【０１０８】
図３に示されるとおり、本実施形態に係る推定装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。なお、図３では、外部インタフェースを「外部Ｉ／Ｆ」と記載している。本実施形態に係る推定装置２の制御部２１〜ドライブ２６はそれぞれ、上記学習装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。
【０１０９】
すなわち、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部２２は、推定プログラム８２、学習結果データ１２８等の各種情報を記憶する。
【０１１０】
推定プログラム８２は、学習済みの学習モデル５を利用して、対象データに含まれる特徴を推定する後述の情報処理（図１０）を推定装置２に実行させるためのプログラムである。推定プログラム８２は、当該情報処理の一連の命令を含む。詳細は後述する。
【０１１１】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推定装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置１）と行うことができる。
【０１１２】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を介して、推定装置２を操作することができる。入力装置２４及び出力装置２５は、タッチパネルディスプレイ等により一体的に構成されてもよい。
【０１１３】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記推定プログラム８２及び学習結果データ１２８のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、推定装置２は、記憶媒体９２から、上記推定プログラム８２及び学習結果データ１２８のうちの少なくともいずれかを取得してもよい。記憶媒体９２の種類は、ディスク型であってもよいし、ディスク型以外であってもよい。
【０１１４】
外部インタフェース２７は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース２７の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、推定装置２は、外部インタフェース２７を介して、センサＳに接続される。
【０１１５】
センサＳは、推定タスクの対象となる対象データを取得するのに利用される。センサＳの種類及び配置場所は、特に限定されなくてもよく、遂行する推定タスクの種類に応じて適宜決定されてよい。なお、センサＳとの接続方法は、このような例に限定されなくてよい。例えば、センサＳが通信インタフェースを備えている場合、推定装置２は、外部インタフェース２７ではなく、通信インタフェース２３を介して、センサＳに接続されてよい。
【０１１６】
なお、推定装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７の少なくともいずれかは省略されてもよい。推定装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０１１７】
＜データ生成装置＞
次に、図４を用いて、本実施形態に係るデータ生成装置３のハードウェア構成の一例について説明する。図４は、本実施形態に係るデータ生成装置３のハードウェア構成の一例を模式的に例示する。
【０１１８】
図４に示されるとおり、本実施形態に係るデータ生成装置３は、制御部３１、記憶部３２、通信インタフェース３３、入力装置３４、出力装置３５、ドライブ３６、及び外部インタフェース３７が電気的に接続されたコンピュータである。データ生成装置３の制御部３１〜外部インタフェース３７はそれぞれ、上記推定装置２の制御部２１〜外部インタフェース２７それぞれと同様に構成されてよい。
【０１１９】
すなわち、制御部３１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部３２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部３２は、生成プログラム８３、学習結果データ１２８等の各種情報を記憶する。
【０１２０】
生成プログラム８３は、学習済みの学習モデル５を利用して、対象データに関連する新たなデータを生成する後述の情報処理（図１１）をデータ生成装置３に実行させるためのプログラムである。生成プログラム８３は、当該情報処理の一連の命令を含む。詳細は後述する。
【０１２１】
通信インタフェース３３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。データ生成装置３は、この通信インタフェース３３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置１）と行うことができる。
【０１２２】
入力装置３４は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置３５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置３４及び出力装置３５を介して、データ生成装置３を操作することができる。入力装置３４及び出力装置３５は、タッチパネルディスプレイ等により一体的に構成されてもよい。
【０１２３】
ドライブ３６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９３に記憶されたプログラムを読み込むためのドライブ装置である。上記生成プログラム８３及び学習結果データ１２８のうちの少なくともいずれかは、記憶媒体９３に記憶されていてもよい。また、データ生成装置３は、記憶媒体９３から、上記生成プログラム８３及び学習結果データ１２８のうちの少なくともいずれかを取得してもよい。記憶媒体９３の種類は、ディスク型であってもよいし、ディスク型以外であってもよい。
【０１２４】
外部インタフェース３７は、例えば、ＵＳＢポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース３７の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、データ生成装置３は、外部インタフェース３７を介して、センサＳに接続される。センサＳの種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。なお、センサＳとの接続方法は、このような例に限定されなくてよい。例えば、センサＳが通信インタフェースを備えている場合、データ生成装置３は、外部インタフェース３７ではなく、通信インタフェース３３を介して、センサＳに接続されてよい。
【０１２５】
なお、データ生成装置３の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部３１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部３２は、制御部３１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース３３、入力装置３４、出力装置３５、ドライブ３６及び外部インタフェース３７の少なくともいずれかは省略されてもよい。データ生成装置３は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、データ生成装置３は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０１２６】
［ソフトウェア構成］
＜学習装置＞
次に、図５Ａ〜図５Ｄを用いて、本実施形態に係る学習装置１のソフトウェア構成の一例について説明する。図５Ａ〜図５Ｄは、本実施形態に係る学習装置１のソフトウェア構成及び各モジュールによる情報処理の過程の一例を模式的に例示する。
【０１２７】
学習装置１の制御部１１は、記憶部１２に記憶された学習プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＣＰＵにより、ＲＡＭに展開された学習プログラム８１を解釈して、当該学習プログラム８１に含まれる一連の命令群を実行することで、各構成要素を制御する。これにより、図５Ａ〜図５Ｄに示されるとおり、本実施形態に係る学習装置１は、データ取得部１１１、学習処理部１１２、及び保存処理部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置１の各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【０１２８】
データ取得部１１１は、複数の学習データセット１２１を取得する。本実施形態では、各学習データセット１２１は、訓練データ１２２、訓練データ１２２の取得に関する属性を示すメタデータ１２３、訓練データ１２２に含まれる特徴を示す正解データ１２４、及び訓練データ１２２に含まれる他の特徴を示す他の正解データ１２５の組み合わせにより構成される。複数の学習データセット１２１に含まれる少なくとも１つ以上の第１の学習データセット、及び少なくとも１つ以上の第２の学習データセットは、それぞれのメタデータ１２３により示される属性が相違するように異なるドメインから取得されてよい。
【０１２９】
他の正解データ１２５により示される他の特徴は、正解データ１２４により示される特徴とは別であり、訓練データ１２２を取得するドメインに共通に現れる特徴であることが望ましい。ドメインに共通に現れる情報とは、例えば、メタデータ１２３により示される訓練データ１２２の取得に関する属性に依存しない情報である。一例として、外観検査に利用する学習済みのモデルを構築するために、製品の写る画像データが訓練データ１２２として与えられている場面を想定する。この場面において、製品に生じる欠陥の有無は、画像データの取得に関する属性に依存し難い情報である。そのため、他の正解データ１２５は、訓練データ１２２に含まれる他の特徴として、欠陥の有無を示してよい。この場合、正解データ１２４は、訓練データ１２２に含まれる特徴として、例えば、欠陥の種別等のこれら以外の情報を示してよい。ドメインに共通に現れる特徴を示す他の正解データ１２５が与えられる場合には、正解データ１２４は、ドメインに特有の情報により推定精度が向上し得る特徴を示すのが好ましい。
【０１３０】
学習処理部１１２は、取得された複数の学習データセット１２１を使用して、学習モデル５の機械学習を実施する。上記のとおり、学習モデル５は、第１符号器５１、第２符号器５２、第１メタ識別器５３、第２メタ識別器５４、及び推定器５５を含んでいる。本実施形態では、学習モデル５は、これらに加えて、復号器５６及び他の推定器５７を更に含んでいる。第１符号器５１及び第２符号器５２は入力側に並列に配置される。第１符号器５１の出力は、第１メタ識別器５３、推定器５５、復号器５６、及び他の推定器５７の入力に接続している。第２符号器５２の出力は、第２メタ識別器５４、推定器５５、及び復号器５６の入力に接続している。これにより、第１符号器５１の出力値（第１特徴量）は、第１メタ識別器５３及び他の推定器５７それぞれに入力される。第２符号器５２の出力値（第２特徴量）は、第２メタ識別器５４に入力される。第１符号器５１及び第２符号器５２の出力値（第１特徴量及び第２特徴量）は、推定器５５及び復号器５６それぞれに入力される。
【０１３１】
第１符号器５１は、与えられた入力データを第１特徴量に変換するように構成される。第２符号器５２は、与えられた入力データを第２特徴量に変換するように構成される。第１メタ識別器５３は、第１符号器５１により得られた第１特徴量から入力データの取得に関する属性を識別するように構成される。第２メタ識別器５４は、第２符号器５２により得られた第２特徴量から入力データの取得に関する属性を識別するように構成される。推定器５５は、第１符号器５１及び第２符号器５２により得られた第１特徴量及び第２特徴量から入力データに含まれる特徴を推定するように構成される。復号器５６は、第１符号器５１及び第２符号器５２により得られた第１特徴量及び第２特徴量から入力データを復号化するように構成される。他の推定器５７は、第１符号器５１により得られた第１特徴量から入力データに含まれる特徴（正解データ１２４により示される特徴又は他の正解データ１２５により示される他の特徴）を推定するように構成される。
【０１３２】
学習フェーズでは、各学習データセット１２１の訓練データ１２２が入力データである。一方、利用フェーズでは、対象データ（後述する対象データ（２２１、３２１））が入力データである。入力データは、画像データ及び音データにより構成される等のように、複数の異なる種類のデータにより構成されてよい。この場合、第１符号器５１及び第２符号器５２はそれぞれ、入力データの種類毎に用意されてよい。すなわち、第１符号器５１及び第２符号器５２はそれぞれ複数の部分符号器を備えてよい。各部分符号器は、対応する種類のデータの入力を受け付けて、入力された対応する種類のデータを特徴量に変換するように構成されてよい。この場合、入力データの種類毎に第１特徴量及び第２特徴量が算出される。算出された各第１特徴量は、第１メタ識別器５３、推定器５５、復号器５６、及び他の推定器５７に入力される。また、算出された各第２特徴量は、第２メタ識別器５４、推定器５５、及び復号器５６に入力される。
【０１３３】
図５Ｂ及び図５Ｃに示されるとおり、機械学習の処理は、上記第１〜第４訓練ステップを含んでいる。図５Ｂに示されるとおり、第１訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第２符号器５２に与えることで第２メタ識別器５４から得られる識別の結果がメタデータ１２３に適合するように、第２符号器５２及び第２メタ識別器５４を訓練する。第１訓練ステップにより、第２符号器５２は、メタデータ１２３により示される訓練データ１２２の取得に関する属性に対応する成分を第２特徴量が含むように訓練され得る。第２訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１及び第２符号器５２に与えることで推定器５５から得られる推定の結果が正解データ１２４に適合するように、第１符号器５１、第２符号器５２及び推定器５５を訓練する。
【０１３４】
図５Ｃに示されるとおり、第３訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合するように、第１メタ識別器５３を訓練する。第４訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように、第１符号器５１を訓練する。学習処理部１１２は、第３訓練ステップ及び第４訓練ステップを交互に繰り返し実行する。第４訓練ステップにより、第１符号器５１は、各学習データセット１２１の訓練データ１２２を取得するドメインに共通に現れる情報に対応する成分を第１特徴量が含むように訓練され得る。
【０１３５】
図５Ｂに示されるとおり、本実施形態では、機械学習の処理は、これら第１〜第４訓練ステップに加えて、第５〜第７訓練ステップを更に含んでいる。第５訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１符号器５１から第１特徴量として得られる出力値と訓練データ１２２を第２符号器５２に与えることで第２符号器５２から第２特徴量として得られる出力値との相互情報量が少なくなるように、第１符号器５１及び第２符号器５２を訓練する。第６訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１及び第２符号器５２に与えることで復号器５６により得られる復号化データが訓練データ１２２に適合するように、第１符号器５１、第２符号器５２、及び復号器５６を訓練する。
【０１３６】
第７訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで他の推定器５７から得られる推定の結果が正解データ１２４又は他の正解データ１２５に適合するように、第１符号器５１及び他の推定器５７を訓練する。第７訓練ステップにおいて、正解データ１２４を使用し、他の正解データ１２５を使用しない場合、当該他の正解データ１２５は、各学習データセット１２１から省略されてよい。この場合、正解データ１２４により示される特徴は、訓練データ１２２を取得するドメインに共通に現れる特徴であることが望ましい。
【０１３７】
保存処理部１１３は、学習済みの学習モデル５に関する情報を学習結果データ１２８として生成する。そして、保存処理部１１３は、生成された学習結果データ１２８を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部１１内のＲＡＭ、記憶部１２、記憶媒体９１、外部記憶装置又はこれらの組み合わせであってよい。
【０１３８】
（各器の構成）
次に、各器５１〜５７の構成について説明する。各器５１〜５７には、機械学習を実施可能な任意のモデルが利用されてよい。図５Ａに示されるとおり、本実施形態では、各器５１〜５７は、深層学習に用いられる多層構造のニューラルネットワークにより構成されている。各器５１〜５７は、入力層（５１１、５２１、５３１、５４１、５５１、５６１、５７１）、中間（隠れ）層（５１２、５２２、５３２、５４２、５５２、５６２、５７２）、及び出力層（５１３、５２３、５３３、５４３、５５３、５６３、５７３）を備えている。
【０１３９】
ただし、各器５１〜５７の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層（５１２、５２２、５３２、５４２、５５２、５６２、５７２）の数は、１つに限定されなくてもよく、２つ以上であってもよい。また、各器５１〜５７の少なくともいずれかの組み合わせでは、少なくとも部分的に構造が一致していてもよい。或いは、各器５１〜５７の構造は、一致していなくてもよい。
【０１４０】
各層（５１１〜５１３、５２１〜５２３、５３１〜５３３、５４１〜５４３、５５１〜５５３、５６１〜５６３、５７１〜５７３）は１又は複数のニューロン（ノード）を備えている。各層（５１１〜５１３、５２１〜５２３、５３１〜５３３、５４１〜５４３、５５１〜５５３、５６１〜５６３、５７１〜５７３）に含まれるニューロン（ノード）の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１４１】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。また、各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層（５１１〜５１３、５２１〜５２３、５３１〜５３３、５４１〜５４３、５５１〜５５３、５６１〜５６３、５７１〜５７３）に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、各器５１〜５７の演算パラメータの一例である。
【０１４２】
各器５１〜５７の演算パラメータは、各器５１〜５７の演算処理に利用され、機械学習の上記各訓練ステップにより調整される。具体的には、第１訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第２符号器５２の入力層５２１に入力し、第２メタ識別器５４の出力層５４３から出力値（メタ識別の結果）を取得する。学習処理部１１２は、取得される出力値とメタデータ１２３との誤差が小さくなるように、第２符号器５２及び第２メタ識別器５４の演算パラメータの値を調整する。
【０１４３】
第２訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５１２）に入力し、推定器５５の出力層５５３から出力値（識別の結果）を取得する。学習処理部１１２は、取得される出力値と正解データ１２４との誤差が小さくなるように、第１符号器５１、第２符号器５２及び推定器５５の演算パラメータの値を調整する。
【０１４４】
第３訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、第１メタ識別器５３の出力層５３３から出力値（メタ識別の結果）を取得する。学習処理部１１２は、取得される出力値とメタデータ１２３との誤差が小さくなるように、第１メタ識別器５３の演算パラメータの値を調整する。第３訓練ステップでは、第１メタ識別器５３の演算パラメータの値は調整されるのに対して、第１符号器５１の演算パラメータの値は固定される。
【０１４５】
これに対して、第４訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、第１メタ識別器５３の出力層５３３から出力値（メタ識別の結果）を取得する。学習処理部１１２は、取得される出力値とメタデータ１２３との誤差が大きくなるように、第１符号器５１の演算パラメータの値を調整する。第４訓練ステップでは、第１符号器５１の演算パラメータの値は調整されるのに対して、第１メタ識別器５３の演算パラメータの値は固定される。
【０１４６】
なお、第４訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、メタデータ１２３に対応するダミーメタデータ１２９であって、対応するメタデータ１２３とは異なる値で構成されたダミーメタデータ１２９を取得してもよい。この場合、第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように第１符号器５１を訓練することは、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がダミーメタデータ１２９に適合するように第１符号器５１を訓練することにより構成されてよい。換言すると、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力することで第１メタ識別器５３の出力層５３３から得られる出力値とダミーメタデータ１２９との誤差が小さくなるように、第１符号器５１の演算パラメータの値を調整してよい。
【０１４７】
第５訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５２１）に入力し、各符号器（５１、５２）の出力層（５１３、５２３）から出力値（第１特徴量及び第２特徴量）を取得する。学習処理部１１２は、第１符号器５１から得られる第１特徴量及び第２符号器５２から得られる第２特徴量の間の相互情報量を算出する。そして、学習処理部１１２は、算出された相互情報量から導出される誤差が小さくなるように、第１符号器５１及び第２符号器５２の少なくとも一方の演算パラメータの値を調整する。相互情報量から導出される誤差は、相互情報量の値そのままでもよいし、二乗したり、対数をとったりする等の所定の演算を相互情報量の値に適用することで算出されてもよい。
【０１４８】
第６訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５２１）を入力し、復号器５６の出力層５６３から出力データ（復元化データ）を取得する。学習処理部１１２は、取得される出力データと訓練データ１２２との誤差が小さくなるように、第１符号器５１、第２符号器５２、及び復号器５６の演算パラメータの値を調整する。
【０１４９】
第７訓練ステップでは、学習処理部１１２は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、他の推定器５７の出力層５７３から出力値（推定の結果）を取得する。学習処理部１１２は、取得される出力値と正解データ１２４又は他の正解データ１２５との誤差が小さくなるように、第１符号器５１及び他の推定器５７の演算パラメータの値を調整する。
【０１５０】
なお、第３訓練ステップ及び第４訓練ステップを交互に繰り返し実行する際に、第１、第２、及び第５〜第７訓練ステップも繰り返し実行されてよい。換言すると、学習処理部１１２は、第１〜第７訓練ステップによる演算パラメータの値の調整を繰り返す過程で、第３訓練ステップ及び第４訓練ステップによる演算パラメータの値の調整を交互に繰り返してもよい。或いは、第１、第２、及び第５〜第７訓練ステップは、第３訓練ステップ及び第４訓練ステップによる敵対的学習の事前学習として実行されてよい。換言すると、学習処理部１１２は、第１、第２、及び第５〜第７訓練ステップによる演算パラメータの値の調整が完了した後に、第３訓練ステップ及び第４訓練ステップによる演算パラメータの値の調整を交互に繰り返してもよい。
【０１５１】
また、第１、第２、及び第５〜第７訓練ステップは個別に実行されてよい。換言すると、学習処理部１１２は、第１、第２、及び第５〜第７訓練ステップそれぞれによる演算パラメータの値の調整を別々に実行してもよい。或いは、第１、第２、及び第５〜第７訓練ステップの少なくともいずれかの組み合わせは同時に実行されてよい。例えば、第１訓練ステップ及び第２訓練ステップを同時に実行する場面を想定する。この場面では、学習処理部１１２は、訓練データ１２２を各符号器（５１、５２）に入力し、第２メタ識別器５４及び推定器５５それぞれから出力値を取得してよい。続いて、学習処理部１１２は、第２メタ識別器５４の出力値とメタデータ１２３との誤差、及び推定器５５の出力値と正解データ１２４との誤差を算出してもよい。そして、学習処理部１１２は、各誤差が小さくなるように、第１符号器５１、第２符号器５２、第２メタ識別器５４及び推定器５５の演算パラメータの値を調整してもよい。
【０１５２】
また、本実施形態において、上記第１〜第７訓練ステップでは、訓練データ１２２と共にノイズ６１が各符号器（５１、５２）に入力されてよい。その上で、上記各訓練が実行されてよい。なお、訓練データ１２２と共にノイズ６１を入力する形態は、このような例に限定されなくてもよい。第１〜第７訓練ステップの少なくともいずれかにおいて、ノイズ６１の入力は省略されてよい。
【０１５３】
また、本実施形態において、第１、第２、第６訓練ステップでは、訓練データ１２２を第２符号器５２に与えることで第２符号器５２から第２特徴量として出力値が取得されてよい。そして、取得された出力値（第２特徴量）と共にノイズ６２が第２メタ識別器５４、推定器５５、及び復号器５６に入力されて、各訓練が実行されてよい。なお、第２特徴量と共にノイズ６２を入力する形態は、このような例に限定されなくてもよい。第１、第２、及び第６訓練ステップのうちの少なくともいずれかにおいて、ノイズ６２の入力が省略されてよい。
【０１５４】
更に、図５Ｄに示されるとおり、本実施形態において、データ取得部１１１は、学習処理部１１２が学習モデル５の機械学習を実施した後に、複数の学習データセット１２１の少なくともいずれかの訓練データ１２２を第１符号器５１に与えることで、第１符号器５１から第１特徴量としての出力値を取得してもよい。また、データ取得部１１１は、当該訓練データ１２２を第２符号器５２にも与えることで、第２符号器５２から第２特徴量としての出力値を取得してもよい。そして、データ取得部１１１は、第１符号器５１から取得された出力値（第１特徴量）を復号器５６に入力し、かつ第２符号器５２から取得された出力値（第２特徴量）と共にノイズ６３を復号器５６に入力することで、復号器５６から復号化データとして出力データを取得してよい。第２特徴量と共にノイズ６３を入力する方法及びノイズ６３の種類は、特に限定されなくてもよく、上記ノイズ６２と同様であってよい。学習処理部１１２は、取得された出力データを新たな訓練データ１９２として使用して、学習モデル５の機械学習を再度実施してもよい。なお、学習データセット１２１と同様に、新たな訓練データ１９２には、メタデータ１９３、正解データ１９４、及び他の正解データ１９５が関連付けられてよい。メタデータ１９３、正解データ１９４、及び他の正解データ１９５はそれぞれ適宜取得されてよい。
【０１５５】
保存処理部１１３は、上記機械学習により構築された学習済みの学習モデル５の各器５１〜５７の構造及び演算パラメータの値を示す情報を学習結果データ１２８として生成する。各器５１〜５７の構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。システム内で各器５１〜５７の構造が共通化される場合、この構造に関する情報は学習結果データ１２８から省略されてよい。保存処理部１１３は、生成された学習結果データ１２８を所定の記憶領域に保存する。
【０１５６】
＜推定装置＞
次に、図６を用いて、本実施形態に係る推定装置２のソフトウェア構成の一例について説明する。図６は、本実施形態に係る推定装置２のソフトウェア構成の一例を模式的に例示する。
【０１５７】
推定装置２の制御部２１は、記憶部２２に記憶された推定プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＣＰＵにより、ＲＡＭに展開された推定プログラム８２を解釈して、当該推定プログラム８２に含まれる一連の命令群を実行することで、各構成要素を制御する。これにより、図６に示されるとおり、本実施形態に係る推定装置２は、データ取得部２１１、評価部２１２、推定部２１３、及び出力部２１４をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推定装置２の各ソフトウェアモジュールは、上記学習装置１と同様に、制御部２１（ＣＰＵ）により実現される。
【０１５８】
データ取得部２１１は、推定タスクの実行対象となる対象データ２２１を取得する。本実施形態では、データ取得部２１１は、センサＳから対象データ２２１を取得する。評価部２１２及び推定部２１３は、学習結果データ１２８を保持することで、学習済みの学習モデル５を備えている。推定部２１３は、学習装置１により訓練された第１符号器５１、第２符号器５２、及び推定器５５を利用して、取得された対象データ２２１に含まれる特徴を推定してもよい。或いは、推定部２１３は、学習装置１により訓練された第１符号器５１及び他の推定器５７を利用して、取得された対象データ２２１に含まれる特徴を推定してもよい。出力部２１４は、特徴を推定した結果に関する情報を出力する。
【０１５９】
評価部２１２は、学習装置１により訓練された第２符号器５２及び第２メタ識別器５４を利用して、対象データ２２１の取得に関する属性を識別する。そして、評価部２１２は、当該識別の結果に基づいて、推定部２１３により特徴を推定した結果を採用するか否かを判定する。推定した結果を採用しないことは、推定部２１３による推定処理を実行した後に、当該推定の結果を破棄すること、及び推定処理を実行しないことを含んでよい。
【０１６０】
なお、推定装置２（評価部２１２及び推定部２１３）は、必ずしも学習済みの学習モデル５の全ての構成要素を保持しなければならない訳ではない。学習済みの学習モデル５において、推定装置２の利用しない部分は省略されてよい。この場合、推定装置２の保持する学習結果データ１２８からその部分に対応する情報が省略されてよい。
【０１６１】
＜データ生成装置＞
次に、図７を用いて、本実施形態に係るデータ生成装置３のソフトウェア構成の一例について説明する。図７は、本実施形態に係るデータ生成装置３のソフトウェア構成の一例を模式的に例示する。
【０１６２】
データ生成装置３の制御部３１は、記憶部３２に記憶された生成プログラム８３をＲＡＭに展開する。そして、制御部３１は、ＣＰＵにより、ＲＡＭに展開された生成プログラム８３を解釈して、当該生成プログラム８３に含まれる一連の命令群を実行することで、各構成要素を制御する。これにより、図７に示されるとおり、本実施形態に係るデータ生成装置３は、データ取得部３１１、生成部３１２、及び保存処理部３１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、データ生成装置３の各ソフトウェアモジュールは、上記学習装置１及び推定装置２と同様に、制御部３１（ＣＰＵ）により実現される。
【０１６３】
データ取得部３１１は、新たなデータを生成する元となる対象データ３２１を取得する。本実施形態では、データ取得部３１１は、センサＳから対象データ３２１を取得する。生成部３１２は、学習結果データ１２８を保持することで、学習済みの学習モデル５を備えている。生成部３１２は、学習装置１により訓練された第１符号器５１に対象データ３２１を与えることで第１符号器５１から第１特徴量として出力値を取得する。そして、生成部３１２は、訓練された復号器５６を利用して、第２符号器５２から取得される出力値（第２特徴量）を与えずに、第１符号器５１から取得された出力値（第１特徴量）から対象データ３２１を復号化することで、復号化データを生成する。保存処理部３１３は、生成された復号化データを新たなデータとして所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部３１内のＲＡＭ、記憶部３２、記憶媒体９３、外部記憶装置又はこれらの組み合わせであってよい。
【０１６４】
なお、データ生成装置３により生成される新たなデータは復号化データに限定されなくてもよい。データ生成装置３は、第１符号器５１及び第２符号器５２の少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方を生成してもよい。この場合、保存処理部３１３は、生成された第１特徴量及び第２特徴量の少なくとも一方を新たなデータとして所定の記憶領域に保存してもよい。
【０１６５】
また、データ生成装置３（生成部３１２）は、必ずしも学習済みの学習モデル５の全ての構成要素を保持しなければならない訳ではない。学習済みの学習モデル５において、データ生成装置３の利用しない部分は省略されてよい。この場合、データ生成装置３の保持する学習結果データ１２８からその部分に対応する情報が省略されてよい。
【０１６６】
＜その他＞
学習装置１、推定装置２及びデータ生成装置３の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置１、推定装置２及びデータ生成装置３の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、学習装置１、推定装置２及びデータ生成装置３それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【０１６７】
§３  動作例
［学習装置］
次に、図８を用いて、学習装置１の動作例について説明する。図８は、本実施形態に係る学習装置１の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、学習方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６８】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、データ取得部１１１として動作し、複数の学習データセット１２１を取得する。本実施形態では、制御部１１は、訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５の組み合わせによりそれぞれ構成される複数の学習データセット１２１を取得する。
【０１６９】
各学習データセット１２１を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサＳを用意し、用意したセンサＳにより様々な条件で観測を行うことで生成されるセンシングデータを訓練データ１２２として取得する。観測の対象は、学習モデル５に習得させる推定タスクに応じて適宜選択されてよい。取得された訓練データ１２２に対して、メタデータ１２３、正解データ１２４、及び他の正解データ１２５を適宜取得する。
【０１７０】
メタデータ１２３は、オペレータの入力により与えられてもよい。或いは、メタデータ１２３は、センサＳの利用形態、仕様、観測環境等を示す参照情報から得られてもよい。また、正解データ１２４、及び他の正解データ１２５は、オペレータの入力により与えられてもよい。或いは、正解データ１２４、及び他の正解データ１２５は、学習済みの推定器により訓練データ１２２に含まれる特徴を推定した結果に基づいて与えられてもよい。訓練データ１２２に対して、取得されたメタデータ１２３、正解データ１２４、及び他の正解データ１２５を関連付ける。これにより、各学習データセット１２１を生成することができる。
【０１７１】
各学習データセット１２１は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各学習データセット１２１の生成は、学習装置１により行われてもよいし、学習装置１以外の他のコンピュータにより行われてもよい。各学習データセット１２１を学習装置１が生成する場合、制御部１１は、自動的に又はオペレータの入力装置１４を介した操作により手動的に上記一連の処理を実行することで、複数の学習データセット１２１を取得する。一方、各学習データセット１２１を他のコンピュータが生成する場合、制御部１１は、例えば、ネットワーク、記憶媒体９１等を介して、他のコンピュータにより生成された複数の学習データセット１２１を取得する。複数の学習データセット１２１のうち一部の学習データセットが学習装置１により生成され、その他の学習データセットが１又は複数の他のコンピュータにより生成されてもよい。
【０１７２】
なお、複数の学習データセット１２１に含まれる少なくとも１つ以上の第１の学習データセット、及び少なくとも１つ以上の第２の学習データセットは、それぞれのメタデータ１２３により示される属性が相違するように異なるドメインから取得されてよい。異なるドメインとは、訓練データ１２２の取得に関する属性が相違することであり、メタデータ１２３が複数の属性を示す場合には、少なくとも一部の属性が相違することである。ドメインは、例えば、データを取得する条件等のデータの取得に関する属性を規定する。一例として、センサＳがカメラである場合、カメラの向き、カメラの解像度、環境の明るさ、撮影対象等の撮影条件が異なれば、訓練データ１２２の取得に関する属性が相違する。この場合、それぞれの撮影条件が異なるドメインの一例である。
【０１７３】
取得される学習データセット１２１の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の学習データセット１２１を取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０１７４】
（ステップＳ１０２）
ステップＳ１０２では、制御部１１は、学習処理部１１２として動作し、取得された複数の学習データセット１２１を使用して、学習モデル５の機械学習を実施する。本実施形態では、学習モデル５は、第１符号器５１、第２符号器５２、第１メタ識別器５３、第２メタ識別器５４、推定器５５、復号器５６及び他の推定器５７を含む。制御部１１は、第１〜第７訓練ステップにより、学習モデル５の各器５１〜５７を訓練する。各訓練ステップの処理順序は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【０１７５】
＜機械学習＞
図９を更に用いて、ステップＳ１０２における機械学習の処理の一例を詳細に説明する。図９は、本実施形態に係る学習装置１による機械学習の処理手順の一例を例示するフローチャートである。本実施形態に係るステップＳ１０２の処理は、以下のステップＳ２０１〜Ｓ２０８の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。
【０１７６】
ステップＳ２０１を実行する前に、制御部１１は、機械学習の処理対象となる学習モデル５を用意する。用意する学習モデル５の各器５１〜５７の構造、及び演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。テンプレートは、ニューラルネットワークの構造に関する情報、及びニューラルネットワークの演算パラメータの初期値に関する情報を含んでよい。各器５１〜５７の構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。再学習を行う場合、制御部１１は、過去の機械学習により得られた学習結果データに基づいて、処理対象となる学習モデル５を用意してもよい。
【０１７７】
（ステップＳ２０１）
ステップＳ２０１では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第２符号器５２に与えることで第２メタ識別器５４から得られる識別の結果がメタデータ１２３に適合するように、第２符号器５２及び第２メタ識別器５４を訓練する。ステップＳ２０１は、第１訓練ステップの一例である。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用し、メタデータ１２３を教師データとして利用して、第２符号器５２及び第２メタ識別器５４を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【０１７８】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を第２符号器５２に入力し、第２符号器５２及び第２メタ識別器５４の演算処理を実行する。すなわち、制御部１１は、訓練データ１２２を第２符号器５２の入力層５２１に入力し、入力側から順に各層（５２１〜５２３、５４１〜５４３）に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部１１は、第２メタ識別器５４の出力層５４３から、訓練データ１２２の取得に関する属性を第２特徴量から識別した結果に対応する出力値を取得する。
【０１７９】
第２のステップでは、制御部１１は、出力層５４３から取得された出力値とメタデータ１２３との誤差を損失関数に基づいて算出する。損失関数には、平均二乗誤差、交差エントロピー誤差等の公知の損失関数が用いられてよい。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播（Back propagation）法により、算出された勾配を逆伝播することで、各層（５２１〜５２３、５４１〜５４３）に含まれる演算パラメータ（例えば、各ニューロン間の結合の重み、各ニューロンの閾値等）の誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、演算パラメータの値を更新する。
【０１８０】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５４３から出力される出力値とメタデータ１２３との誤差が小さくなるように、第２符号器５２及び第２メタ識別器５４の演算パラメータの値を調整する。繰り返す回数は適宜決定されてよい。例えば、演算パラメータの値の調整を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、設定値により与えられてもよいし、オペレータの指定により与えられてもよい。この場合、制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返す。また、例えば、誤差の和が閾値以下になるまで、制御部１１は、上記第１〜第４のステップを繰り返してもよい。
【０１８１】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を第２符号器５２に入力すると、メタデータ１２３に適合する出力値が第２メタ識別器５４から出力されるように訓練された第２符号器５２及び第２メタ識別器５４を構築することができる。この「適合する」ことは、閾値等により許容可能な差異が、出力層の出力値と教師データとの間で生じることを含んでもよい。ステップＳ２０１の機械学習により、第２符号器５２は、メタデータ１２３により示される訓練データ１２２の取得に関する属性に対応する成分を第２特徴量が含むように訓練され得る。第２符号器５２及び第２メタ識別器５４の訓練が完了すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１８２】
（ステップＳ２０２）
ステップＳ２０２では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１及び第２符号器５２に与えることで推定器５５から得られる推定の結果が正解データ１２４に適合するように、第１符号器５１、第２符号器５２及び推定器５５を訓練する。ステップＳ２０２は、第２訓練ステップの一例である。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用し、正解データ１２４を教師データとして利用して、第１符号器５１、第２符号器５２及び推定器５５を構成するニューラルネットワークの学習処理を実行する。この学習処理において、各符号器（５１、５２）及び推定器５５の演算パラメータの値を調整する方法は、上記ステップＳ２０１と同様であってよい。
【０１８３】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５１２）に入力し、第１符号器５１、第２符号器５２及び推定器５５の演算処理を実行する。この演算処理により、制御部１１は、推定器５５の出力層５５３から、訓練データ１２２に含まれる特徴を第１特徴量及び第２特徴量から推定した結果に対応する出力値を取得する。
【０１８４】
第２のステップでは、制御部１１は、出力層５５３から取得された出力値と正解データ１２４との誤差を損失関数に基づいて算出する。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を逆伝播することで、各層（５１１〜５１３、５２１〜５２３、５５１〜５５３）に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、演算パラメータの値を更新する。
【０１８５】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５５３から出力される出力値と正解データ１２４との誤差が小さくなるように、第１符号器５１、第２符号器５２及び推定器５５の演算パラメータの値を調整する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０１８６】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）に入力すると、正解データ１２４に適合する出力値が推定器５５から出力されるように訓練された第１符号器５１、第２符号器５２及び推定器５５を構築することができる。第１符号器５１、第２符号器５２及び推定器５５の訓練が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０１８７】
（ステップＳ２０３）
ステップＳ２０３では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１及び第２符号器５２に与えることで復号器５６により得られる復号化データが訓練データ１２２に適合するように、第１符号器５１、第２符号器５２、及び復号器５６を訓練する。ステップＳ２０３は、第６訓練ステップの一例である。本実施形態では、制御部１１は、訓練データ１２２を入力データ及び教師データとして利用して、第１符号器５１、第２符号器５２及び復号器５６を構成するニューラルネットワークの学習処理を実行する。この学習処理において、各符号器（５１、５２）及び復号器５６の演算パラメータの値を調整する方法は、上記ステップＳ２０１等と同様であってよい。
【０１８８】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５１２）に入力し、第１符号器５１、第２符号器５２及び復号器５６の演算処理を実行する。この演算処理により、制御部１１は、復号器５６の出力層５６３から、第１特徴量及び第２特徴量から訓練データ１２２を復号化した結果に対応する出力データを取得する。
【０１８９】
第２のステップでは、制御部１１は、出力層５６３から取得された出力データと訓練データ１２２との誤差を損失関数に基づいて算出する。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を逆伝播することで、各層（５１１〜５１３、５２１〜５２３、５６１〜５６３）に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、演算パラメータの値を更新する。
【０１９０】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５６３から出力される出力データと訓練データ１２２との誤差が小さくなるように、第１符号器５１、第２符号器５２及び復号器５６の演算パラメータの値を調整する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０１９１】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）に入力すると、訓練データ１２２に適合する復号化データが復号器５６から出力されるように訓練された第１符号器５１、第２符号器５２及び復号器５６を構築することができる。第１符号器５１、第２符号器５２及び復号器５６の訓練が完了すると、制御部１１は、次のステップＳ２０４に処理を進める。
【０１９２】
（ステップＳ２０４）
ステップＳ２０４では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで他の推定器５７から得られる推定の結果が正解データ１２４又は他の正解データ１２５に適合するように、第１符号器５１及び他の推定器５７を訓練する。ステップＳ２０４は、第７訓練ステップの一例である。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用し、正解データ１２４又は他の正解データ１２５を教師データとして利用して、第１符号器５１及び他の推定器５７を構成するニューラルネットワークの学習処理を実行する。この学習処理において、第１符号器５１及び他の推定器５７の演算パラメータの値を調整する方法は、上記ステップＳ２０１等と同様であってよい。
【０１９３】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、第１符号器５１及び他の推定器５７の演算処理を実行する。この演算処理により、制御部１１は、他の推定器５７の出力層５７３から、訓練データ１２２に含まれる特徴を第１特徴量から推定した結果に対応する出力値を取得する。
【０１９４】
第２のステップでは、制御部１１は、出力層５７３から取得された出力値と正解データ１２４又は他の正解データ１２５との誤差を損失関数に基づいて算出する。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を逆伝播することで、各層（５１１〜５１３、５７１〜５７３）に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、演算パラメータの値を更新する。
【０１９５】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５７３から出力される出力値と正解データ１２４又は他の正解データ１２５との誤差が小さくなるように、第１符号器５１及び他の推定器５７の演算パラメータの値を調整する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０１９６】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を第１符号器５１に入力すると、正解データ１２４又は他の正解データ１２５に適合する出力値が他の推定器５７から出力されるように訓練された第１符号器５１及び他の推定器５７を構築することができる。第１符号器５１及び他の推定器５７の訓練が完了すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０１９７】
（ステップＳ２０５）
ステップＳ２０５では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１符号器５１から得られる出力値（第１特徴量）と訓練データ１２２を第２符号器５２に与えることで第２符号器５２から得られる出力値（第２特徴量）との相互情報量が少なくなるように、第１符号器５１及び第２符号器５２を訓練する。ステップＳ２０５は、第５訓練ステップの一例である。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用して、相互情報量が小さくなるように（例えば、相互情報量が０となることを教師データとして利用して）、第１符号器５１及び第２符号器５２を構成するニューラルネットワークの学習処理を実行する。この学習処理において、第１符号器５１及び第２符号器５２の少なくともいずれか一方の演算パラメータの値を調整する方法は、上記ステップＳ２０１等と基本的には同様である。
【０１９８】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）の入力層（５１１、５２１）に入力し、各符号器（５１、５２）の演算処理を実行する。この演算処理には、制御部１１は、各符号器（５１、５２）の出力層（５１３、５２３）から、訓練データ１２２を各特徴量に変換した結果に対応する出力値を取得する。
【０１９９】
第２のステップでは、制御部１１は、第１符号器５１及び第２符号器５２から得られた出力値（第１特徴量及び第２特徴量）間の相互情報量を算出し、損失関数に基づいて相互情報量から誤差を導出する。相互情報量の計算手法には公知の方法が採用されてよい。また、損失関数が絶対値を算出するように定義されることで、相互情報量の値がそのまま誤差として利用されてもよい。或いは、損失関数は、二乗したり、対数をとったりする等の所定の演算を相互情報量の値に適用するように定義されてもよい。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、第１符号器５１及び第２符号器５２の少なくとも一方に算出された勾配を逆伝播する。これにより、制御部１１は、第１符号器５１の各層５１１〜５１３及び第２符号器５２の各層５２１〜５２３の少なくとも一方に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、演算パラメータの値を更新する。
【０２００】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、第１符号器５１の出力層５１３から出力される出力値と第２符号器５２の出力層５２３から出力される出力値との相互情報量が少なくなるように、第１符号器５１及び第２符号器５２の少なくとも一方の演算パラメータの値を調整する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０２０１】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を各符号器（５１、５２）に入力すると、相互情報量の少ない出力値が各符号器（５１、５２）から出力されるように訓練された各符号器（５１、５２）を構築することができる。各符号器（５１、５２）の訓練が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０２０２】
（ステップＳ２０６）
ステップＳ２０６では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合するように、第１メタ識別器５３を訓練する。ステップＳ２０６は、第３訓練ステップの一例である。このステップＳ２０６では、第１メタ識別器５３の演算パラメータの値は調整されるのに対して、第１符号器５１の演算パラメータの値は固定される。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用し、メタデータ１２３を教師データとして利用して、第１メタ識別器５３を構成するニューラルネットワークの学習処理を実行する。この学習処理において、第１メタ識別器５３の演算パラメータの値を調整する方法は、第１符号器５１の演算パラメータの値を固定する点を除き、ステップＳ２０１等と同様であってよい。
【０２０３】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、第１符号器５１及び第１メタ識別器５３の演算処理を実行する。この演算処理により、制御部１１は、第１メタ識別器５３の出力層５３３から、訓練データ１２２の取得に関する属性を第１特徴量から識別した結果に対応する出力値を取得する。
【０２０４】
第２のステップでは、制御部１１は、出力層５３３から出力された出力値とメタデータ１２３との誤差を損失関数に基づいて算出する。第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を逆伝播する。制御部１１は、この勾配の逆伝播を、第１メタ識別器５３の入力層５３１までで停止する。これにより、制御部１１は、第１メタ識別器５３の各層５３１〜５３３に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、第１メタ識別器５３の演算パラメータの値を更新する。
【０２０５】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５３３から出力される出力値とメタデータ１２３との誤差が小さくなるように、第１メタ識別器５３の演算パラメータの値を調節する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０２０６】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を第１符号器５１に入力すると、メタデータ１２３に適合する出力値が第１メタ識別器５３から出力されるように訓練された第１メタ識別器５３を構築することができる。第１メタ識別器５３の訓練が完了すると、制御部１１は、次のステップＳ２０７に処理を進める。
【０２０７】
（ステップＳ２０７）
ステップＳ２０７では、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１に与えることで第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように、第１符号器５１を訓練する。ステップＳ２０７は、第４訓練ステップの一例である。このステップＳ２０７では、第１符号器５１の演算パラメータの値は調整されるのに対して、第１メタ識別器５３の演算パラメータの値は固定される。本実施形態では、制御部１１は、訓練データ１２２を入力データとして利用し、メタデータ１２３に適合しないように（例えば、ダミーメタデータ１２９を教師データとして利用して）、第１符号器５１を構成するニューラルネットワークの学習処理を実行する。この学習処理において、第１符号器５１の演算パラメータの値を調整する方法は、第１メタ識別器５３の演算パラメータの値を固定する点を除き、ステップＳ２０１等と同様であってよい。
【０２０８】
一例として、第１のステップでは、制御部１１は、各学習データセット１２１について、訓練データ１２２を第１符号器５１の入力層５１１に入力し、第１符号器５１及び第１メタ識別器５３の演算処理を実行する。この演算処理により、制御部１１は、第１メタ識別器５３の出力層５３３から、訓練データ１２２の取得に関する属性を第１特徴量から識別した結果に対応する出力値を取得する。
【０２０９】
第２のステップでは、制御部１１は、各学習データセット１２１について、メタデータ１２３に対応するダミーメタデータ１２９であって、対応するメタデータ１２３とは異なる値で構成されたダミーメタデータ１２９を取得する。制御部１１は、出力層５３３から出力された出力値と取得されたダミーメタデータ１２９との誤差を損失関数に基づいて算出する。
【０２１０】
ダミーメタデータ１２９は、第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように第１符号器５１を訓練することが可能なように適宜与えられてよい。例えば、ダミーメタデータ１２９は、対応する学習データセット１２１とは異なる他の学習データセット１２１のメタデータ１２３により構成されてよい。すなわち、制御部１１は、ダミーメタデータ１２９を取得する対象となる学習データセット１２１とは別の他の学習データセット１２１を選択し、選択された他の学習データセット１２１のメタデータ１２３を対象の学習データセット１２１のダミーメタデータ１２９として利用してよい。
【０２１１】
対象の学習データセット１２１について、ダミーメタデータ１２９として利用するメタデータ１２３を取得する他の学習データセット１２１を選択する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、複数の学習データセット１２１から他の学習データセット１２１をランダムに選択し、選択された学習データセット１２１のメタデータ１２３を対象の学習データセット１２１のダミーメタデータ１２９として利用してもよい。また、例えば、制御部１１は、学習データセット１２１における訓練データ１２２とメタデータ１２３との対応関係を任意の方向にずらすことで、対象の学習データセット１２１に割り当てられた他の学習データセット１２１のメタデータ１２３をダミーメタデータ１２９として利用してもよい。また、例えば、制御部１１は、複数の学習データセット１２１の中から１つの学習データセット１２１を選択し、選択された学習データセット１２１のメタデータ１２３を全ての学習データセット１２１のダミーメタデータ１２９として利用してもよい。この方法によれば、ダミーメタデータ１２９を生成する計算量を抑えることができ、本ステップＳ２０７の処理コストを低減することができる。
【０２１２】
なお、ダミーメタデータ１２９を生成する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記他の学習データセット１２１から選択する方法の他、例えば、制御部１１は、メタデータ１２３の値を反転することで、ダミーメタデータ１２９を生成してもよい。また、例えば、制御部１１は、メタデータ１２３の値とは相違するランダムな値（例えば、乱数）により構成されるダミーメタデータ１２９を生成してもよい。複数の学習データセット１２１のうちダミーメタデータ１２９とメタデータ１２３とが一致する学習データセット１２１が存在してもよい。この場合、制御部１１は、当該学習データセット１２１を訓練にそのまま利用してもよいし、当該学習データセット１２１のダミーメタデータ１２９を適宜変更してもよい。
【０２１３】
第３のステップでは、制御部１１は、算出された誤差の小さくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、第１メタ識別器５３の出力層５３３から第１符号器５１の入力層５１１まで、算出された勾配を逆伝播する。この過程で、制御部１１は、第１メタ識別器５３に含まれる演算パラメータの誤差の算出については省略し、第１符号器５１に含まれる演算パラメータの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、第１符号器５１の演算パラメータの値を更新する。
【０２１４】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各学習データセット１２１について、出力層５３３から出力される出力値とダミーメタデータ１２９との誤差が小さくなるように、第１符号器５１の演算パラメータの値を調節する。制御部１１は、繰り返し回数が規定回数に到達するまで、上記第１〜第４のステップを繰り返してもよい。或いは、制御部１１は、誤差の和が閾値以下になるまで、上記第１〜第４のステップを繰り返してもよい。
【０２１５】
この機械学習の結果、各学習データセット１２１について、訓練データ１２２を第１符号器５１に入力すると、ダミーメタデータ１２９に適合する出力値が第１メタ識別器５３から出力されるように訓練された第１符号器５１を構築することができる。すなわち、このダミーメタデータ１２９を利用した機械学習により、第１符号器５１は、第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しないように訓練される。このダミーメタデータ１２９を利用した方法によれば、制御部１１は、本ステップＳ２０７の処理を上記ステップＳ２０１等の処理と同様に実行することができる。そのため、本ステップＳ２０７の処理を簡易化することができる。本ステップＳ２０７の機械学習により、第１符号器５１は、各学習データセット１２１の訓練データ１２２の取得に関する属性以外の情報、例えば、訓練データ１２２を取得するドメインに共通に現れる情報に対応する成分を第１特徴量が含むように訓練され得る。第１符号器５１の訓練が完了すると、制御部１１は、次のステップＳ２０８に処理を進める。
【０２１６】
なお、第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しなくなるように第１符号器５１を訓練する方法は、このダミーメタデータ１２９を利用する方法に限られなくてもよい。例えば、上記第２のステップにおいて、制御部１１は、各学習データセット１２１について、出力層５３３から出力された出力値とメタデータ１２３との誤差を算出してもよい。そして、第３のステップでは、制御部１１は、算出された誤差の大きくなる方向に当該誤差の勾配を算出し、誤差逆伝播法により、算出された勾配を第１符号器５１の入力層５１１まで逆伝播してもよい。この過程で、制御部１１は、第１符号器５１に含まれる演算パラメータの誤差を算出してよい。そして、第４のステップでは、制御部１１は、算出された各誤差に基づいて、第１符号器５１の演算パラメータの値を更新してもよい。この方法によっても、制御部１１は、第１メタ識別器５３から得られる識別の結果がメタデータ１２３に適合しなくなるように第１符号器５１を訓練することができる。
【０２１７】
（ステップＳ２０８）
ステップＳ２０８では、制御部１１は、ステップＳ２０１〜ステップＳ２０７の処理を繰り返すか否かを判定する。処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、設定値により与えられてもよいし、オペレータの指定により与えられてもよい。この場合、制御部１１は、ステップＳ２０１〜ステップＳ２０７の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部１１は、ステップＳ２０１に処理を戻し、ステップＳ２０１〜ステップＳ２０７の処理を繰り返す。本実施形態では、このステップＳ２０１〜ステップＳ２０７の処理が繰り返される過程で、ステップＳ２０６及びステップＳ２０７が交互に繰り返し実行される。一方、実行回数が規定回数に到達していると判定した場合には、制御部１１は、本実施形態に係る機械学習の処理を終了し、次のステップＳ１０３に処理を進める。
【０２１８】
（機械学習の結果）
以上の一連の訓練ステップのうちステップＳ２０１により、訓練データ１２２の取得に関する属性を第２メタ識別器５４が適切に識別可能となるように、学習済みの第２符号器５２により得られる第２特徴量には、当該取得に関する属性に対応する成分が含まれるようになる。また、ステップＳ２０２により、学習済みの第１符号器５１及び第２符号器５２により得られる第１特徴量及び第２特徴量には、訓練データ１２２に含まれる特徴（すなわち、推定タスクの正解）に対応する成分が含まれるようになる。更に、本実施形態では、ステップＳ２０６及びステップＳ２０７の処理を交互に実行することにより、第１符号器５１及び第１メタ識別器５３の敵対的学習が実施される。
【０２１９】
ステップＳ２０６では、第１メタ識別器５３の出力値がメタデータ１２３に適合するように第１メタ識別器５３の演算パラメータの値は調整されるのに対して、第１符号器５１の演算パラメータの値は固定される。一方、ステップＳ２０７では、第１メタ識別器５３の出力値がメタデータ１２３に適合しないように第１符号器５１の演算パラメータの値は調整されるのに対して、第１メタ識別器５３の演算パラメータの値は固定される。すなわち、ステップＳ２０６では、その段階での第１符号器５１の、メタデータ１２３に対応する成分が含まれないように訓練データ１２２を第１特徴量に変換する能力に対して、そのような第１特徴量からメタデータ１２３を識別する第１メタ識別器５３の能力の向上が図られる。これに対して、ステップＳ２０７では、その段階での第１メタ識別器５３のメタ識別の能力を基準として、メタデータ１２３に対応する成分が含まれないように訓練データ１２２を第１特徴量に変換する第１符号器５１の能力の向上が図られる。
【０２２０】
つまり、ステップＳ２０６及びステップＳ２０７の処理を交互に実行することで、第１符号器５１及び第１メタ識別器５３それぞれの上記能力が向上する。これにより、第１メタ識別器５３の識別性能が向上するのに対応して、この第１メタ識別器５３による識別が失敗するように、学習済みの第１符号器５１により得られる第１特徴量には、訓練データ１２２の取得に関する属性に対応する成分が含まれないようになる。第１特徴量には、メタデータ１２３以外の成分、例えば、各学習データセット１２１の訓練データ１２２を取得するドメインに共通に現れる情報に対応する成分が含まれるようになっていく。
【０２２１】
したがって、本実施形態では、ステップＳ２０１、ステップＳ２０２、ステップＳ２０６、及びステップＳ２０７の機械学習の結果、学習済みの第２符号器５２の符号化により得られる第２特徴量には、メタデータ１２３に対応する成分が含まれやすくなる。これに対して、学習済みの第１符号器５１により得られる第１特徴量には、訓練データ１２２に含まれる特徴に関する、メタデータ１２３以外の情報に対応する成分が含まれやすくなる。推定器５５は、この両方の特徴量から訓練データ１２２に含まれる特徴を推定するように訓練される。よって、学習済みの第１符号器５１、第２符号器５２、及び推定器５５を利用することにより、対象データを取得するドメインに特有の情報、及び共通の情報の両方に基づいて、対象データに含まれる特徴を推定するタスクを実行することができる。そのため、対象データを取得するドメインに特有の情報が推定タスクに有益であるケースで、対象データに含まれる特徴を推定する精度を高めることができる。
【０２２２】
また、対象データの取得に関する属性に特有の情報が推定タスクの精度に悪影響を及ぼす場合には、学習済みの第２符号器５２により得られる第２特徴量は利用せずに、学習済みの第１符号器５１により得られる第１特徴量に基づいて、対象データに含まれる特徴を推定することができる。本実施形態では、学習済みの第１符号器５１及び他の推定器５７を利用することで、対象データの取得に関する属性に対応する成分の影響を除外して、当該対象データに含まれる特徴を推定することができる。よって、本実施形態によれば、対象データの取得に関する属性の情報が推定タスクの精度に悪影響を及ぼすケースにおいても、対象データに含まれる特徴を推定する精度を高めることができる。
【０２２３】
また、ステップＳ２０３の機械学習により、各符号器（５１、５２）と共に復号器５６を訓練することで、第１特徴量及び第２特徴量から入力データを復元可能であることすることができる。すなわち、第１特徴量及び第２特徴量において、入力データに関する情報の欠損がないことを保証することができる。したがって、本実施形態によれば、入力データを特徴量に変換する過程で情報の欠損を抑えることができるため、推定器５５及び他の推定器５７それぞれによる推定タスクの精度を高めることができる。
【０２２４】
また、ステップＳ２０４の機械学習により、正解データ１２４又は他の正解データ１２５により示される特徴の推定に利用可能な情報に対応する成分が第１特徴量に含まれることを保証することができる。これにより、第１特徴量が推定タスクに価値のない情報になるのを防止することができ、第１特徴量に基づく推定タスクの精度を高めることができる。
【０２２５】
また、ステップＳ２０５の機械学習により、第１特徴量及び第２特徴量の間の相互情報量が少なくなる。その結果、メタデータ１２３に対応する成分は第２特徴量により含まれやすくなるのに対して、メタデータ１２３以外の情報に対応する成分が、第１特徴量に含まれやすく、かつ第２特徴量に含まれ難くすることができる。つまり、メタデータ１２３に対応する成分及びそれ以外の情報に対応する成分を第２特徴量及び第１特徴量に適切に分配することができる。よって、本実施形態によれば、メタデータ１２３以外の有用な情報が第１特徴量に含まれやすいようにし、これにより、第１特徴量に基づく推定タスクの精度を高めることができる。
【０２２６】
（その他）
学習モデル５の機械学習の処理手順は、上記の例に限定されなくてもよく、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２２７】
（Ａ）交互に繰り返す手順
例えば、上記実施形態では、制御部１１は、ステップＳ２０１〜ステップＳ２０７の一連の処理を繰り返し実行する過程で、ステップＳ２０６及びステップＳ２０７の処理を交互に繰り返し実行している。しかしながら、ステップＳ２０６及びステップＳ２０７の処理を交互に繰り返し実行する方法は、このような例に限定されなくてもよい。例えば、制御部１１は、ステップＳ２０１〜ステップＳ２０５の処理を事前学習として実行してもよい。この場合、ステップＳ２０１〜ステップＳ２０５の処理による演算パラメータの値の調整が完了した後に、制御部１１は、ステップＳ２０６及びステップＳ２０７による演算パラメータの値の調整を交互に繰り返してもよい。
【０２２８】
（Ｂ）更新処理の手順
また、上記実施形態では、ステップＳ２０１〜ステップＳ２０５の処理は個別に実行されている。しかしながら、ステップＳ２０１〜ステップＳ２０５の処理により演算パラメータの値を調整する方法は、このような例に限定されなくてもよい。例えば、制御部１１は、ステップＳ２０１〜ステップＳ２０５の少なくともいずれかの組み合わせを同時に実行してもよい。例えば、ステップＳ２０１及びステップＳ２０２の処理を同時に実行する場面を想定する。この場面では、第１のステップにおいて、制御部１１は、訓練データ１２２を各符号器（５１、５２）に入力し、第２メタ識別器５４及び推定器５５それぞれから出力値を取得してよい。第２のステップにおいて、制御部１１は、第２メタ識別器５４の出力値とメタデータ１２３との誤差、及び推定器５５の出力値と正解データ１２４との誤差を算出してもよい。第３のステップにおいて、制御部１１は、各誤差の勾配を逆伝播し、第１符号器５１、第２符号器５２、第２メタ識別器５４及び推定器５５に含まれる演算パラメータの誤差を算出してもよい。そして、第４のステップにおいて、制御部１１は、算出された各誤差に基づいて、各演算パラメータの値を更新してもよい。
【０２２９】
（Ｃ）訓練データに対するノイズの追加
また、本実施形態において、上記ステップＳ２０１〜ステップＳ２０７では、制御部１１は、訓練データ１２２と共にノイズ６１を各符号器（５１、５２）に入力してもよい。その上で、制御部１１は、各ステップＳ２０１〜ステップＳ２０７の処理を実行してもよい。
【０２３０】
訓練データ１２２と共にノイズ６１を入力する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、訓練データ１２２にノイズ６１を付与してよい。そして、制御部１１は、ノイズ６１の付与された訓練データ１２２を各符号器（５１、５２）に入力してもよい。
【０２３１】
また、例えば、各符号器（５１、５２）の入力は、訓練データ１２２の第１のチャンネルに加えて、ノイズ６１の第２のチャンネルを備えてよい。本実施形態では、各符号器（５１、５２）の入力層（５１１、５２１）が、訓練データ１２２を入力するための第１のニューロン（ノード）、及びノイズ６１を入力するための第２のニューロン（ノード）を備えてよい。第１のニューロンが第１のチャンネルの一例であり、第２のニューロンが第２のチャンネルの一例である。この場合、制御部１１は、各符号器（５１、５２）の第１のチャンネルに訓練データ１２２を入力し、かつ第２のチャンネルにノイズ６１を入力することで、訓練データ１２２と共にノイズ６１を入力することができる。
【０２３２】
ノイズ６１の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ノイズ６１は、例えば、ランダムなノイズ等であってよい。なお、訓練データ１２２と共にノイズ６１を入力する形態は、このような例に限定されなくてもよい。ステップＳ２０１〜ステップＳ２０７のうちの少なくともいずれかにおいて、ノイズ６１の入力は省略されてよい。
【０２３３】
複数の学習データセット１２１のうちの一部の訓練データ１２２と他の訓練データ１２２とのランダム性が極めて相違する場合、又は他の訓練データ１２２に比べて一部の訓練データ１２２に大きな欠損が存在する場合、その相違の特性に対応する成分を第１特徴量に入らないようにするのは困難である。すなわち、その相違の特性を第１符号器５１に学習させないようにするのは困難である。そのため、これらの場合には、第１メタ識別器５３がその相違の特性から取得の属性を識別することができてしまい、ステップＳ２０７において、第１メタ識別器５３による識別が失敗するように第１符号器５１を訓練することが困難となってしまう可能性がある。これに対して、訓練データ１２２と共にノイズ６１を入力することで、その相違の特性を埋めることができ、これによって、ステップＳ２０７の処理を適切に完了することができるようになる。
【０２３４】
（Ｄ）第２特徴量に対するノイズの追加
また、本実施形態において、ステップＳ２０１〜ステップＳ２０３では、制御部１１は、訓練データ１２２を第２符号器５２に与えることで第２符号器５２から出力値（第２特徴量）を取得してもよい。そして、制御部１１は、取得された出力値（第２特徴量）と共にノイズ６２を第２メタ識別器５４、推定器５５、及び復号器５６に入力し、各ステップＳ２０１〜ステップＳ２０３による訓練を実行してもよい。
【０２３５】
第２特徴量と共にノイズ６２を入力する方法は、特に限定されなくてもよく、上記ノイズ６１と同様に、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、第２符号器５２の出力値（第２特徴量）にノイズ６２を付与してよい。そして、制御部１１は、ノイズ６２の付与された第２特徴量を第２メタ識別器５４、推定器５５、及び復号器５６それぞれに入力してもよい。
【０２３６】
また、例えば、第２メタ識別器５４、推定器５５、及び復号器５６の入力は、第２特徴量の第１のチャンネルに加えて、ノイズ６２のチャンネルを備えてもよい。本実施形態では、第２メタ識別器５４、推定器５５、及び復号器５６それぞれの入力層（５４１、５５１、５６１）が、第２特徴量を入力するための第１のニューロン（ノード）、及びノイズ６２を入力するための第２のニューロン（ノード）を備えてよい。第１のニューロンが第１のチャンネルの一例であり、第２のニューロンが第２のチャンネルの一例である。この場合、制御部１１は、第２メタ識別器５４、推定器５５、及び復号器５６それぞれの第１のチャンネルに第２特徴量を入力し、かつ第２のチャンネルにノイズ６２を入力することで、第２特徴量と共にノイズ６２を入力することができる。推定器５５及び復号器５６はそれぞれ、これらのチャンネルに加えて、第１特徴量のチャンネルを備える。ステップＳ２０２及びステップＳ２０３それぞれでは、制御部１１は、上記入力と共に、推定器５５及び復号器５６それぞれの当該チャンネルに第１特徴量を入力する。
【０２３７】
ノイズ６２の種類は、特に限定されなくてもよく、上記ノイズ６１と同様に、実施の形態に応じて適宜選択されてよい。ノイズ６２は、例えば、ランダムなノイズ等であってよい。なお、第２特徴量と共にノイズ６２を入力する形態は、このような例に限定されなくてもよい。ステップＳ２０１〜ステップＳ２０３のうちの少なくともいずれかにおいて、ノイズ６２の入力が省略されてよい。
【０２３８】
この第２特徴量と共にノイズ６２を入力して、上記各訓練を実施することにより、第２メタ識別器５４、推定器５５、及び復号器５６それぞれに、データの取得に関する属性がノイズ６２により相違するドメインを学習させることができる。これにより、データの取得に関する属性の相違にロバストで、高精度に推定タスクを遂行可能な学習済みの学習モデル５（第２メタ識別器５４、推定器５５、及び復号器５６）を構築することができる。
【０２３９】
（Ｅ）学習データセット
上記実施形態において、ステップＳ２０１、ステップＳ２０３、ステップＳ２０５〜ステップＳ２０７の機械学習で使用される学習データセット１２１から、正解データ１２４及び他の正解データ１２５が省略されてよい。また、ステップＳ２０２〜ステップＳ２０５の機械学習で使用される学習データセット１２１から、メタデータ１２３が省略されてよい。それぞれデータの省略された学習データセットが各ステップの機械学習に使用されてよい。
【０２４０】
（ステップＳ１０３）
図８に戻り、ステップＳ１０３では、制御部１１は、保存処理部１１３として動作し、学習済みの学習モデル５の各器５１〜５７の構造及び演算パラメータの値を示す情報を学習結果データ１２８として生成する。各器５１〜５７の構造は、例えば、ニューラルネットワークの層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定される。システム内で各器５１〜５７の構造が共通化される場合、この構造に関する情報は学習結果データ１２８から省略されてよい。制御部１１は、生成された学習結果データ１２８を所定の記憶領域に保存する。
【０２４１】
所定の記憶領域は、例えば、制御部１１内のＲＡＭ、記憶部１２、記憶媒体９１、外部記憶装置又はこれらの組み合わせであってよい。外部記憶装置は、例えば、ＮＡＳ（Network Attached Storage）等のデータサーバであってもよい。この場合、制御部１１は、通信インタフェース１３を利用して、ネットワークを介してデータサーバに学習結果データ１２８を格納してもよい。また、外部記憶装置は、例えば、学習装置１に接続された外付けの記憶装置であってよい。学習結果データ１２８を保存すると、制御部１１は、本動作例に係る一連の処理を終了する。
【０２４２】
なお、生成された学習結果データ１２８は、任意のタイミングで推定装置２及びデータ生成装置３に提供されてよい。例えば、制御部１１は、ステップＳ１０３の処理として又はステップＳ１０３の処理とは別に、学習結果データ１２８を推定装置２及びデータ生成装置３に転送してもよい。推定装置２及びデータ生成装置３はそれぞれ、この転送を受け付けることで、学習結果データ１２８を取得してもよい。また、例えば、推定装置２及びデータ生成装置３はそれぞれ、通信インタフェース（２３、３３）を利用して、学習装置１又はデータサーバにネットワークを介してアクセスすることで、学習結果データ１２８を取得してもよい。学習結果データ１２８は、推定装置２及びデータ生成装置３それぞれに予め組み込まれてもよい。
【０２４３】
また、制御部１１は、上記一連の処理を繰り返してもよい。この繰り返しの際に、制御部１１は、学習済みの第１符号器５１、第２符号器５２及び復号器５６を利用して、新たな訓練データ１９２を生成してもよい。
【０２４４】
具体的には、制御部１１は、学習モデル５の機械学習を実施した後に、データ取得部１１１として動作し、複数の学習データセット１２１の少なくともいずれかの訓練データ１２２を第１符号器５１に入力し、第１符号器５１の演算処理を実行してもよい。これにより、制御部１１は、第１符号器５１から出力値（第１特徴量）を取得してもよい。また、制御部１１は、当該訓練データ１２２を第２符号器５２にも入力し、第２符号器５２の演算処理を実行することで、第２符号器５２から出力値（第２特徴量）を取得してもよい。
【０２４５】
そして、制御部１１は、第１符号器５１から取得された第１特徴量を復号器５６に入力し、かつ第２符号器５２から取得された第２特徴量と共にノイズ６３を復号器５６に入力し、復号器５６の演算処理を実行してもよい。これにより、制御部１１は、復号器５６から出力データ（復号化データ）を取得してもよい。第２特徴量と共にノイズ６３を入力する方法及びノイズ６３の種類は、特に限定されなくてもよく、上記ノイズ６２と同様であってよい。
【０２４６】
制御部１１は、学習処理部１１２として動作し、取得された復号化データを新たな訓練データ１９２として使用して、学習モデル５の機械学習を再度実施してもよい。なお、学習データセット１２１と同様に、新たな訓練データ１９２には、メタデータ１９３、正解データ１９４、及び他の正解データ１９５が関連付けられてよい。メタデータ１９３、正解データ１９４、及び他の正解データ１９５はそれぞれ適宜取得されてよい。
【０２４７】
メタデータ１９３を取得する方法の一例として、例えば、制御部１１は、第２符号器５２から取得された第２特徴量と共にノイズ６３を第２メタ識別器５４に入力し、第２メタ識別器５４の演算処理を実行してもよい。制御部１１は、この演算処理により第２メタ識別器５４から得られる出力値（メタ識別の結果）をメタデータ１９３として取得し、取得されたメタデータ１９３を訓練データ１９２に関連付けてもよい。また、例えば、制御部１１は、入力装置１４を介したオペレータの入力を受け付けて、オペレータの入力に応じてメタデータ１９３を生成してもよい。そして、制御部１１は、生成されたメタデータ１９３を訓練データ１９２に関連付けてもよい。
【０２４８】
正解データ１９４を取得する方法の一例として、例えば、制御部１１は、第１特徴量、第２特徴量、及びノイズ６３を推定器５５に入力し、推定器５５の演算処理を実行してもよい。制御部１１は、この演算処理により推定器５５から得られる出力値（識別の結果）を正解データ１９４として取得し、取得された正解データ１９４を訓練データ１９２に関連付けてもよい。また、例えば、制御部１１は、入力装置１４を介したオペレータの入力を受け付けて、オペレータの入力に応じて正解データ１９４を生成してもよい。そして、制御部１１は、生成された正解データ１９４を訓練データ１９２に関連付けてもよい。また、例えば、新たな訓練データ１９２の生成に利用した元の訓練データ１２２に関連付けられている正解データ１２４により示される特徴が訓練データ１２２の取得に関する属性に依存しない場合、当該正解データ１２４が、正解データ１９４としても利用されてよい。
【０２４９】
他の正解データ１９５を取得する方法の一例として、例えば、制御部１１は、入力装置１４を介したオペレータの入力を受け付けて、オペレータの入力に応じて他の正解データ１９５を生成してもよい。そして、制御部１１は、生成された他の正解データ１９５を訓練データ１９２に関連付けてもよい。また、例えば、新たな訓練データ１９２の生成に利用した元の訓練データ１２２に関連付けられている他の正解データ１２５により示される特徴が訓練データ１２２の取得に関する属性に依存しない場合、当該他の正解データ１２５が、他の正解データ１９５としても利用されてよい。
【０２５０】
訓練データ１９２に対してメタデータ１９３が得られている場合、制御部１１は、上記ステップＳ２０１、ステップＳ２０６、及びステップＳ２０７の機械学習の処理に、当該訓練データ１９２を使用することができる。訓練データ１９２に対して正解データ１９４が得られている場合、制御部１１は、上記ステップＳ２０２及びステップＳ２０４の機械学習の処理に、当該訓練データ１９２を使用することができる。訓練データ１９２に対して他の正解データ１９５が得られている場合、制御部１１は、上記ステップＳ２０４の機械学習の処理に、当該訓練データ１９２を使用することができる。また、メタデータ１９３、正解データ１９４、及び他の正解データ１９５のいずれも得られていない場合であっても、制御部１１は、上記ステップＳ２０３及びステップＳ２０５の機械学習の処理に、当該訓練データ１９２を使用することができる。
【０２５１】
訓練データ１９２を使用した機械学習により、データの取得に関する属性がノイズ６３により相違するドメインを学習モデル５に学習させることができる。これにより、データの取得に関する属性の相違にロバストで、高精度に推定タスクを遂行可能な学習済みの学習モデル５を構築することができる。なお、訓練データ１９２の使用方法は、このような例に限定されなくてもよい。例えば、制御部１１は、訓練データ１９２を入力データとし、訓練データ１９２を生成する際に復号器５６に入力した第２特徴量及びノイズ６３を教師データとして利用し、第２符号器５２を構成するニューラルネットワークの学習処理を実行してもよい。このように、生成された訓練データ１９２は、学習モデル５の構成要素の部分的な機械学習に使用されてもよい。
【０２５２】
［推定装置］
次に、図１０を用いて、推定装置２の動作例について説明する。図１０は、本実施形態に係る推定装置２の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２５３】
（ステップＳ５０１）
ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、推定タスクを遂行する対象となる対象データ２２１を取得する。本実施形態では、推定装置２は、外部インタフェース２７を介して、センサＳに接続されている。そのため、制御部２１は、外部インタフェース２７を介して、センサＳにより生成されるセンシングデータを対象データ２２１として取得する。
【０２５４】
ただし、対象データ２２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、推定装置２とは異なる他のコンピュータにセンサＳが接続されていてもよい。この場合、制御部２１は、他のコンピュータから対象データ２２１の送信を受け付けることで、対象データ２２１を取得してもよい。対象データ２２１を取得すると、制御部２１は、次のステップＳ５０２に処理を進める。
【０２５５】
（ステップＳ５０２）
ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２及び第２メタ識別器５４を利用して、対象データ２２１の取得に関する属性を識別する。
【０２５６】
本実施形態では、制御部２１は、学習結果データ１２８を参照して、学習済みの第２符号器５２及び第２メタ識別器５４の設定を行う。続いて、制御部２１は、取得された対象データ２２１を第２符号器５２に入力し、第２符号器５２及び第２メタ識別器５４の演算処理を実行する。すなわち、制御部２１は、第２符号器５２の入力層５２１に対象データ２２１を入力し、入力側から順に各層（５２１〜５２３、５４１〜５４３）に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部２１は、対象データ２２１の取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４の出力層５４３から取得する。つまり、制御部２１は、第２メタ識別器５４の出力値を取得することで、対象データ２２１の取得に関する属性を識別することができる。対象データ２２１の取得に関する属性を識別すると、制御部２１は、次のステップＳ５０３に処理を進める。
【０２５７】
（ステップＳ５０３及びステップＳ５０４）
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象データ２２１の取得に関する属性を識別した結果に基づいて、推定器５５又は他の推定器５７による対象データ２２１に含まれる特徴の推定結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０２５８】
ステップＳ５０２による識別の結果が対象データ２２１の取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５又は他の推定器５７による推定結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象データ２２１の取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５又は他の推定器５７による推定結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本動作例に係る一連の処理を終了する。この場合、制御部２１は、得られた対象データ２２１に対して推定タスクを適切に遂行不能である可能性が高いことを通知するメッセージを出力装置２５に出力してもよい。
【０２５９】
なお、対象データ２２１の取得に関する属性の正解値は適宜取得されてよい。制御部２１は、例えば、制御部２１は、入力装置２４を介したオペレータの入力を受け付けて、当該オペレータの入力に基づいて、対象データ２２１の取得に関する属性の正解値を取得してもよい。また、例えば、制御部２１は、センサＳの利用形態、仕様、観測環境等を示す参照情報を参照することで、対象データ２２１の取得に関する属性の正解値を取得してもよい。この参照情報は、例えば、制御部２１内のＲＡＭ、記憶部２２、記憶媒体９２、センサＳの記憶領域、外部記憶装置等の所定の記憶領域に保持されていてよい。
【０２６０】
（ステップＳ５０５）
ステップＳ５０５では、制御部２１は、推定部２１３として動作し、学習装置１により訓練された第１符号器５１、第２符号器５２、及び推定器５５を利用して、取得された対象データ２２１に含まれる特徴を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１及び他の推定器５７を利用して、取得された対象データ２２１に含まれる特徴を推定する。
【０２６１】
第１符号器５１、第２符号器５２、及び推定器５５を推定タスクに利用する場合、制御部２１は、学習結果データ１２８を参照し、学習済みの第１符号器５１及び推定器５５の設定を更に行う。この設定処理は、上記ステップＳ５０２と同時に実行されてよい。制御部２１は、対象データ２２１を各符号器（５１、５２）の入力層（５１１、５２１）に入力し、第１符号器５１、第２符号器５２、及び推定器５５の演算処理を実行する。これにより、制御部２１は、対象データ２２１に含まれる特徴を推定した結果に対応する出力値を推定器５５の出力層５５３から取得する。
【０２６２】
一方、第１符号器５１及び他の推定器５７を推定タスクに利用する場合、制御部２１は、学習結果データ１２８を参照し、学習済みの第１符号器５１及び他の推定器５７の設定を行う。この設定処理は、上記ステップＳ５０２と同時に実行されてよい。制御部２１は、対象データ２２１を第１符号器５１の入力層５１１に入力し、第１符号器５１及び他の推定器５７の演算処理を実行する。これにより、制御部２１は、対象データ２２１に含まれる特徴を推定した結果に対応する出力値を他の推定器５７の出力層５７３から取得する。
【０２６３】
対象データ２２１の取得に関する属性に特有の情報が推定タスクに有用なケースでは、前者の方法により対象データ２２１に含まれる特徴を推定するのが好ましい。一方、対象データ２２１の取得に関する属性に特有の情報が推定タスクに悪影響を及ぼすケースでは、後者の方法により対象データ２２１に含まれる特徴を推定するのが好ましい。一例として、道路を走行する車両を観察するセンサにより得られたセンシングデータから当該道路の交通状況を推定する場面を想定する。この場面では、例えば、渋滞発生の確率、所定の場所までの所要時間等のセンサの観察場所に特有の交通状況を推定する場合には、前者の方法により推定タスクを遂行するのが好ましい。一方、観察時点における渋滞発生の有無、走行する車両台数の検出等のセンサの観察場所に比較的に依存性の低い交通状況を推定する場合には、後者の方法により推定タスクを遂行するのが好ましい。対象データ２２１に含まれる特徴の推定が完了すると、制御部２１は、次のステップＳ５０６に処理を進める。
【０２６４】
なお、本ステップＳ５０５で利用される他の推定器５７は、学習装置１の上記一連の機械学習ではない別の機械学習で訓練された別の推定器に置き換えられてよい。すなわち、後者の方法において、制御部２１は、他の推定器５７ではなく、別の推定器を利用してもよい。第１符号器５１の出力値を入力データとして使用し、他の正解データ１２５を教師データとして使用した機械学習により、当該別の推定器を構築することができる。この別の推定器の機械学習は、学習装置１により実施されてもよいし、推定装置２により実施されてもよいし、学習装置１及び推定装置２とは異なる別のコンピュータにより実施されてもよい。この場合、推定装置２は、別の推定器に関する学習結果データを任意のタイミングで取得してよい。
【０２６５】
（ステップＳ５０６）
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、特徴を推定した結果に関する情報を出力する。
【０２６６】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、対象データ２２１に含まれる特徴を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、推定の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定の結果に応じて警告等の特定のメッセージを出力すること、推定の結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置２５、制御対象装置等であってよい。推定の結果に関する情報の出力が完了すると、制御部２１は、本動作例に係る一連の処理を終了する。
【０２６７】
（その他）
（Ａ）処理順序について
なお、上記処理手順の一例では、制御部２１は、ステップＳ５０５による推定処理を実行する前に、推定処理の結果を採用するか否かを判定し、推定処理の結果を採用しないと判定した場合には、ステップＳ５０５及びステップＳ５０６の処理の実行を省略している。しかしながら、推定処理の結果を採用しない方法は、このような例に限定されなくてもよい。例えば、制御部２１は、ステップＳ５０５の処理を実行した後に、ステップＳ５０２及びステップＳ５０３の処理を実行してもよい。そして、推定処理の結果を採用しないと判定した場合には、制御部２１は、ステップＳ５０５の処理の結果を破棄し、ステップＳ５０６の処理の実行を省略してもよい。一方、推定処理の結果を採用すると判定した場合に、制御部２１は、ステップＳ５０６の処理を実行してもよい。
【０２６８】
（Ｂ）複数の学習モデル５が存在するケース
また、複数の学習済みの学習モデル５が取得されている場合、制御部２１は、上記評価の結果に基づいて、複数の学習済みの学習モデル５から、対象データ２２１に対して適切に推定タスクを遂行可能な学習済みの学習モデル５を選択してもよい。第２メタ識別器５４によるメタ識別の結果が対象データ２２１の取得に関する属性の正解値に適合する学習済みの学習モデル５が、対象データ２２１に対して適切に推定タスクを遂行可能なものである。制御部２１は、選択された学習済みの学習モデル５をステップＳ５０５の処理に利用してもよい。
【０２６９】
（Ｃ）他の評価方法の一例
また、上記処理手順の一例では、学習済みの第２符号器５２及び第２メタ識別器５４を利用して、対象データ２２１に対して推定タスクを適切に遂行可能か否か、を評価している。しかしながら、この評価方法は、このような例に限定されなくてもよい。例えば、制御部２１は、学習済みの第１符号器５１、第２符号器５２、及び復号器５６を利用してもよい。
【０２７０】
すなわち、上記ステップＳ５０２では、制御部２１は、取得された対象データ２２１を各符号器（５１、５２）の入力層（５１１、５２１）に入力し、第１符号器５１、第２符号器５２、及び復号器５６の演算処理を実行する。これにより、制御部２１は、第１特徴量及び第２特徴量から対象データ２２１を復号化した結果に対応する出力データ（復号化データ）を復号器５６の出力層５６３から取得する。
【０２７１】
取得された復号化データが対象データ２２１から乖離するほど、対象データ２２１に対して推定タスクを適切に遂行不能である可能性が高いことを示す。そこで、制御部２１は、取得された復号化データと対象データ２２１とを比較し、比較の結果に基づいて、復号化データが対象データ３２１に適合するか否かに応じて、推定器５５又は他の推定器５７による対象データ２２１に含まれる特徴の推定結果を採用するか否かを判定してもよい。復号化データと対象データ２２１との比較は、任意の方法で行われてよい。例えば、制御部２１は、当該比較処理として、復号化データと対象データ２２１との一致度を算出してもよい。この場合、制御部２１は、復号化データと対象データ２２１との一致度が閾値以上であることに応じて、推定器５５又は他の推定器５７による推定結果を採用すると判定してもよい。一方、制御部２１は、復号化データと対象データ２２１との一致度が閾値未満であることに応じて、推定器５５又は他の推定器５７による推定結果を採用しないと判定してもよい。閾値は適宜決定されてよい。
【０２７２】
［データ生成装置］
次に、図１１を用いて、データ生成装置３の動作例について説明する。図１１は、本実施形態に係るデータ生成装置３の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２７３】
（ステップＳ７０１）
ステップＳ７０１では、制御部３１は、データ取得部３１１として動作し、新たなデータを生成する元となる対象データ３２１を取得する。本実施形態では、データ生成装置３は、外部インタフェース３７を介して、センサＳに接続されている。そのため、制御部３１は、外部インタフェース３７を介して、センサＳにより生成されるセンシングデータを対象データ３２１として取得する。
【０２７４】
ただし、対象データ３２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、データ生成装置３とは異なる他のコンピュータにセンサＳが接続されていてもよい。この場合、制御部３１は、他のコンピュータから対象データ３２１の送信を受け付けることで、対象データ３２１を取得してもよい。対象データ３２１を取得すると、制御部３１は、次のステップＳ７０２に処理を進める。
【０２７５】
（ステップＳ７０２及びステップＳ７０３）
ステップＳ７０２では、制御部３１は、生成部３１２として動作し、学習装置１により訓練された第１符号器５１に対象データ３２１を与えることで第１符号器５１から出力値（第１特徴量）を取得する。次のステップＳ７０３では、制御部３１は、訓練された復号器５６を利用して、第２符号器５２から取得される出力値（第２特徴量）を与えずに、第１符号器５１より取得された出力値（第１特徴量）から対象データ３２１を復号化することで、復号化データを生成する。
【０２７６】
本実施形態では、制御部３１は、学習結果データ１２８を参照して、学習済みの第１符号器５１及び復号器５６の設定を行う。制御部３１は、対象データ３２１を第１符号器５１の入力層５１１に入力し、第１符号器５１の演算処理を実行する。これにより、制御部３１は、第１符号器５１の出力層５１３から出力値（第１特徴量）を取得する。
【０２７７】
続いて、制御部３１は、第１符号器５１から取得された第１特徴量を復号器５６の入力層５６１の対応するニューロンに入力する。一方、制御部３１は、復号器５６の入力層５６１における第２特徴量の入力を受け付けるニューロン（ノード）には、対象データ３２１から得られる第２特徴量とは無関係なデータを入力する。
【０２７８】
例えば、制御部３１は、第２特徴量とは無関係なデータとして、ゼロ値で構成された数値データを入力層５６１の対応するニューロンに入力してもよい。また、例えば、制御部３１は、第２特徴量とは無関係なデータとして、ランダムな値で構成された数値データを入力層５６１の対応するニューロンに入力してもよい。
【０２７９】
また、例えば、制御部３１は、学習結果データ１２８を参照して、学習済みの第２符号器５２の設定を更に行ってよい。そして、制御部３１は、対象データ３２１とは無関係なデータを第２符号器５２に入力し、第２符号器５２の演算処理を実行してもよい。対象データ３２１とは無関係なデータは、例えば、ゼロ値で構成された数値データ、ランダムな値で構成された数値データ、対象データ３２１を少なくとも部分的に変換したデータ、対象データ３２１とは相違する条件で取得されたデータ等であってよい。対象データ３２１の変換は、公知の数値変換方法により行われてよい。制御部３１は、この演算処理により第２符号器５２の出力層５２３から得られる出力値を、対象データ３２１から得られる第２特徴量とは無関係なデータとして入力層５６１の対応するニューロンに入力してもよい。
【０２８０】
第１符号器５１から取得された第１特徴量及び対象データ３２１から得られる第２特徴量とは無関係なデータを入力層５６１の対応するニューロンに入力した後、制御部３１は、復号器５６の演算処理を実行する。これにより、制御部３１は、第２特徴量を与えずに、第１特徴量から対象データ３２１を復号化した結果に対応する出力データ（復号化データ）を復号器５６の出力層５６３から取得する。この演算処理により復号化データを生成すると、制御部３１は、次のステップＳ７０４に処理を進める。
【０２８１】
（ステップＳ７０４）
ステップＳ７０４では、制御部３１は、保存処理部３１３として動作し、生成された復号化データを新たなデータとして所定の記憶領域に保存する。所定の記憶領域は、例えば、例えば、制御部３１内のＲＡＭ、記憶部３２、記憶媒体９３、外部記憶装置又はこれらの組み合わせであってよい。外部記憶装置は、例えば、ＮＡＳ等のデータサーバであってもよい。この場合、制御部３１は、通信インタフェース３３を利用して、ネットワークを介してデータサーバに復号化データを格納してもよい。また、外部記憶装置は、例えば、データ生成装置３に接続された外付けの記憶装置であってよい。
【０２８２】
生成される復号化データは、第２特徴量に関する情報（すなわち、対象データ３２１の取得に関する属性に対応する情報）を対象データ３２１から除外することで得られるデータに相当する。つまり、対象データ３２１からドメインに特有の情報を除外したデータを生成する場面に本実施形態を利用することができる。例えば、機械学習に使用した各学習データセット１２１において、訓練データ１２２が人物に対して得られており、メタデータ１２３が人物の個人情報を含んでいる場合、対象者の個人情報を除外した復号化データを生成することができる。生成された復号化データは、例えば、ドメインに共通に現れる特徴の分析、又は対象データからその特徴を推定するように構成される推定器の機械学習に利用されてよい。
【０２８３】
制御部３１は、これらの用途いずれかに利用可能に、生成された復号化データを所定の記憶領域に保存してよい。例えば、制御部３１は、生成された復号化データを、これらの用途のいずれかで復号化データを利用するコンピュータにアクセス可能な記憶領域に保存してもよい。復号化データの保存が完了すると、制御部３１は、本動作例に係る一連の処理を終了する。
【０２８４】
なお、データ生成装置３により生成される新たなデータは復号化データに限定されなくてもよい。制御部３１は、第１符号器５１及び第２符号器５２の少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方を生成してもよい。この場合、制御部３１は、生成された第１特徴量及び第２特徴量の少なくとも一方を新たなデータとして所定の記憶領域に保存してもよい。
【０２８５】
第１特徴量は、対象データ３２１の取得に関する属性以外の情報（例えば、各ドメインに共通に現れる情報）に対応する成分を含みやすい。他方、第２特徴量は、対象データ３２１の取得に関する属性（すなわち、ドメインに特有の情報）に対応する成分を含みやすい。そのため、第１特徴量は、例えば、ドメインに共通に現れる特徴の分析、又は対象データからその特徴を推定するように構成される推定器の機械学習に利用されてよい。第２特徴量は、例えば、ドメインに特有の情報の分析、又は対象データからその特徴を推定するように構成される推定器の機械学習に利用されてよい。
【０２８６】
また、制御部３１は、上記訓練データ１９２と同様の方法で、新たなデータを生成してもよい。すなわち、制御部３１は、対象データ３２１を各符号器（５１、５２）の入力層（５１１、５２１）に入力し、各符号器（５１、５２）の演算処理を実行してもよい。これにより、制御部３１は、各符号器（５１、５２）の出力層（５１３、５２３）から各特徴量を取得してもよい。そして、制御部３１は、第１特徴量、第２特徴量、及びノイズを復号器５６の入力層５６１に入力し、復号器５６の演算処理を実行してもよい。これにより、制御部３１は、復号器５６の出力層５６３から復号化データを取得してもよい。制御部３１は、取得された復号化データを所定の記憶領域に保存してもよい。この生成方法によれば、対象データ３２１に対して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成することができる。データ生成装置３は、上記学習装置１の訓練データ１２２を対象データ３２１として取得し、この方法により生成された復号化データを訓練データ１９２として学習装置１に返信してもよい。これにより、学習装置１の保持する訓練データの量を増加させることができ、その訓練データが機械学習に使用されることで、比較的に高精度に推定タスクを実行可能な学習済みの学習モデル５を構築することができる。
【０２８７】
また、制御部３１は、上記推定装置２と同様の評価方法により、対象データ３２１に対して各符号器（５１、５２）が適切に特徴量を算出可能か否か、を評価してもよい。第２メタ識別器５４によるメタ識別の結果が対象データ３２１の取得に関する属性の正解値に適合する、又は復号器５６により得られる復号化データが対象データ３２１に適合する場合に、制御部３１は、上記一連の処理により生成されたデータを採用してもよい。一方、第２メタ識別器５４によるメタ識別の結果が対象データ３２１の取得に関する属性の正解値に適合しない、又は復号器５６により得られる復号化データが対象データ３２１に適合しない場合、制御部３１は、データの生成に関する上記一連の処理を省略してもよい。或いは、制御部３１は、上記一連の処理により生成されたデータを破棄してもよい。
【０２８８】
［特徴］
以上のとおり、本実施形態では、ステップＳ２０１〜ステップＳ２０８の機械学習により、学習済みの第１符号器５１、第２符号器５２、及び推定器５５は、対象データを取得するドメインに特有の情報、及び共通の情報の両方に基づいて、対象データに含まれる特徴を推定するタスクを実行する能力を習得することができる。また、学習済みの第１符号器５１及び他の推定器５７は、ドメインに特有の情報の影響を除外して、ドメインに共通の情報に基づいて、対象データに含まれる特徴を推定するタスクを実行する能力を習得することができる。そのため、推定装置２のステップＳ５０５において、対象データ２２１の取得に関する属性に特有の情報が推定タスクに有用なケース及び悪影響を及ぼすケースの両方で、比較的に高精度に推定タスクを実行可能な学習済みの学習モデル５を構築することができる。
【０２８９】
また、本実施形態では、異なるドメインから得られた対象データ（２１１、３１１）に第１符号器５１及び第２符号器５２を共通に利用することができる。そのため、本実施形態では、対象データ（２１１、３１１）を取得するドメイン毎に学習済みの抽出器を用意する手間を省略することができる。
【０２９０】
更には、学習済みの第２符号器５２及び第２メタ識別器５４を利用することで、ステップＳ５０２〜ステップＳ５０４の処理により、学習済みの学習モデル５が対象データ２２１に対して適切に推定タスクを遂行可能か否か、を評価することができる。この評価の結果に基づいて、適切に推定タスクを遂行不能な対象データ２２１に対して学習済みの学習モデル５が利用されるのを防止したり、対象データ２２１に適切な学習済みの学習モデル５を選択したりすることができる。
【０２９１】
したがって、本実施形態によれば、導入コストが比較的に低廉で、かつ対象データの取得に関する属性の相違にロバストな学習済みの学習モデル５を構築することができる。
【０２９２】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０２９３】
＜４．１＞
上記実施形態に係る学習装置１、推定装置２、及びデータ生成装置３は、センサＳにより得られるセンシングデータに含まれる特徴を推定する場面に適用されている。しかしながら、上記実施形態の適用範囲は、このような例に限定される訳ではない。上記実施形態は、センサ以外から得られたデータに含まれる特徴を推定する場面に適用されてよい。上記実施形態は、所定のデータに対して所定の推定タスクを遂行するあらゆる場面に適用可能である。以下、適用場面を限定した変形例を例示する。
【０２９４】
（Ａ）交通状況を予測する場面
図１２は、第１変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、道路を走行する車両の交通状況を予測する場面に上記実施形態を適用した例である。図１２に示されるとおり、本実施形態に係るシステムは、学習装置１、予測装置２Ａ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、予測装置２Ａ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０２９５】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、交通状況の予測を学習するための複数の学習データセット１２１Ａを取得する。各学習データセット１２１Ａ、上記学習データセット１２１と同様に、訓練データ１２２Ａ、メタデータ１２３Ａ、正解データ１２４Ａ、及び他の正解データ１２５Ａの組み合わせにより構成される。訓練データ１２２Ａ、メタデータ１２３Ａ、正解データ１２４Ａ、及び他の正解データ１２５Ａはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０２９６】
訓練データ１２２Ａは、例えば、道路を走行する車両を観察するセンサＳＡ又はこれと同種のセンサ（以下、同種のセンサを含んでセンサＳＡと称する）により得られたセンシングデータである。センサＳＡは、道路を走行する車両を観察可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳＡは、例えば、カメラ、超音波センサ、赤外線センサ等であってよい。訓練データ１２２Ａは、例えば、画像データ、単位時間当たりの車両の通過台数の計測結果を示すデータ、通過する車両の平均速度の計測結果を示すデータ等により構成されてよい。
【０２９７】
メタデータ１２３Ａは、訓練データ１２２Ａの取得に関する属性として、例えば、道路の属性、センサＳＡの観察角度、センサＳＡの設置間隔、センサＳＡの種類、又はこれらの組み合わせを示す。道路の属性は、例えば、直線道路であるか否か、曲がり道であるか否か、有料道路の料金所があるか否か、合流点であるか否か、分岐点であるか否か等により示されてよい。
【０２９８】
正解データ１２４Ａ及び他の正解データ１２５Ａはそれぞれ、訓練データ１２２Ａに含まれる特徴として、例えば、道路の交通状況に関する情報を示す。本変形例では、正解データ１２４Ａ及び他の正解データ１２５Ａはそれぞれ、訓練データ１２２Ａの取得された時点から未来の時点における道路の交通状況に関する情報を示してよい。道路の交通状況に関する情報は、例えば、渋滞発生の有無、渋滞発生の確率、発生した渋滞の継続時間、センサＳＡの設置場所から所定の場所までの所要時間等の情報を含んでよい。渋滞発生の有無は、所定時間後に渋滞が発生するか否かにより表現されてもよい。
【０２９９】
なお、複数の道路区間それぞれにセンサＳＡが設置されており、各道路区間における渋滞発生の確率を予測するために、各センサＳＡにより得られたセンシングデータを訓練データ１２２Ａとして収集した場面を想定する。この場面において、第１の道路区間と第２の道路区間との間で、得られた訓練データ１２２Ａにおいて、渋滞発生時のデータと渋滞未発生時のデータとの割合が大きく相違すると、学習モデル５の機械学習が適切に実施できない可能性がある。この場合には、データの割合を調整するために、一部のデータを削除したり、新たなデータを追加したりする等の前処理が実施されてよい。
【０３００】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ａ、メタデータ１２３Ａ、正解データ１２４Ａ、及び他の正解データ１２５Ａの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ａを使用して、上記実施形態と同様に、学習モデル５Ａの機械学習を実施する。学習モデル５Ａは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ａは、第１符号器５１Ａ、第２符号器５２Ａ、第１メタ識別器５３Ａ、第２メタ識別器５４Ａ、推定器５５Ａ、復号器５６Ａ、及び他の推定器５７Ａを含んでいる。各器５１Ａ〜５７Ａは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ａ〜５７Ａの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０３０１】
当該機械学習により、第２符号器５２Ａは、メタデータ１２３Ａにより示される訓練データ１２２Ａの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ａを変換するように訓練される。第１符号器５１Ａは、訓練データ１２２Ａの取得に関する属性以外の情報、例えば、訓練データ１２２Ａを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ａを変換するように訓練される。学習モデル５Ａにおける推定器５５Ａ又は他の推定器５７Ａを含む部分は、センサＳＡにより得られたセンシングデータから交通状況を予測する能力を獲得する。また、学習モデル５Ａにおける復号器５６Ａを含む部分は、センサＳＡにより得られたセンシングデータと同種の復号化データを生成する能力を獲得する。
【０３０２】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ａに関する情報を学習結果データ１２８Ａとして生成し、生成された学習結果データ１２８Ａを所定の記憶領域に保存する。生成された学習結果データ１２８Ａは、任意のタイミングで予測装置２Ａ及びデータ生成装置３に提供されてよい。
【０３０３】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ａ及び復号器５６Ａを利用して、対象センシングデータから復号化データを生成することができる。復号化データは、対象センシングデータの取得に関する属性に対応する情報を当該対象センシングデータから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ａ、第２符号器５２Ａ、及び復号器５６Ａを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ａ及び第２符号器５２Ａの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０３０４】
予測装置２Ａは、上記推定装置２に対応する。予測装置２Ａは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。本変形例では、予測装置２Ａは、ネットワークを介してセンサＳＡに接続される。予測装置２Ａは、センサＳＡから対象センシングデータを取得する。そして、予測装置２Ａは、学習装置１により構築された学習済みの学習モデル５Ａを利用して、取得された対象センシングデータに基づいて、対象の道路の交通状況を予測する。
【０３０５】
＜予測装置のハードウェア構成＞
図１３Ａは、本変形例に係る予測装置２Ａのハードウェア構成の一例を模式的に例示する。図１３Ａに示されるとおり、本変形例に係る予測装置２Ａは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。予測装置２Ａは、通信インタフェース２３を介してセンサＳＡに接続される。センサＳＡは、交通状況を監視する所定の道路に適宜配置されてよい。ただし、予測装置２Ａのハードウェア構成は、このような例に限定されなくてもよい。予測装置２Ａの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。予測装置２Ａは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってよい。
【０３０６】
本変形例に係る予測装置２Ａの記憶部２２は、予測プログラム８２Ａ、学習結果データ１２８Ａ等の各種情報を記憶する。予測プログラム８２Ａ及び学習結果データ１２８Ａは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。予測プログラム８２Ａ及び学習結果データ１２８Ａのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、予測装置２Ａは、記憶媒体９２から、予測プログラム８２Ａ及び学習結果データ１２８Ａのうちの少なくともいずれかを取得してもよい。
【０３０７】
＜予測装置のソフトウェア構成及び動作例＞
図１３Ｂは、本変形例に係る予測装置２Ａのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、予測装置２Ａのソフトウェア構成は、制御部２１による予測プログラム８２Ａの実行により実現される。図１３Ｂに示されるとおり、道路を走行する車両を観察するセンサＳＡにより得られるセンシングデータを取り扱う点を除き、予測装置２Ａのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、予測装置２Ａは、上記推定装置２の推定処理と同様に、予測処理に関する一連の処理を実行する。
【０３０８】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、対象の道路における交通状況の反映された対象センシングデータ２２１ＡをセンサＳＡから取得する。ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ａ及び第２メタ識別器５４Ａを利用して、対象センシングデータ２２１Ａの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ａを参照し、学習済みの第２符号器５２Ａ及び第２メタ識別器５４Ａの設定を行う。続いて、制御部２１は、取得された対象センシングデータ２２１Ａを第２符号器５２Ａに入力し、第２符号器５２Ａ及び第２メタ識別器５４Ａの演算処理を実行する。この演算処理により、制御部２１は、対象センシングデータ２２１Ａの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ａから取得する。
【０３０９】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象センシングデータ２２１Ａの取得に関する属性を識別した結果に基づいて、推定器５５Ａ又は他の推定器５７Ａによる予測の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０３１０】
ステップＳ５０２による識別の結果が対象センシングデータ２２１Ａの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ａ又は他の推定器５７Ａによる予測の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象センシングデータ２２１Ａの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ａ又は他の推定器５７Ａによる予測の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０３１１】
ステップＳ５０５では、制御部２１は、予測部２１３Ａとして動作し、学習装置１により訓練された第１符号器５１Ａ、第２符号器５２Ａ、及び推定器５５Ａを利用して、対象センシングデータ２２１Ａから対象の道路における交通状況を予測する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ａ及び他の推定器５７Ａを利用して、対象センシングデータ２２１Ａから対象の道路における交通状況を予測する。
【０３１２】
具体的には、制御部２１は、学習結果データ１２８Ａを参照し、学習済みの第１符号器５１Ａ及び推定器５５Ａの設定を更に行う。制御部２１は、対象センシングデータ２２１Ａを各符号器（５１Ａ、５２Ａ）に入力し、第１符号器５１Ａ、第２符号器５２Ａ、及び推定器５５Ａの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ａから対象の道路における交通状況を予測した結果に対応する出力値を推定器５５Ａから取得する。
【０３１３】
或いは、制御部２１は、学習結果データ１２８Ａを参照し、学習済みの第１符号器５１Ａ及び他の推定器５７Ａの設定を行う。制御部２１は、対象センシングデータ２２１Ａを第１符号器５１Ａに入力し、第１符号器５１Ａ及び他の推定器５７Ａの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ａから対象の道路における交通状況を予測した結果に対応する出力値を他の推定器５７Ａから取得する。
【０３１４】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、対象の道路における交通状況を予測した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、交通状況を予測した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、交通状況を予測した結果を対象の道路の周辺に存在する車両の車載装置又はユーザ端末に配信してもよい。配信する範囲は適宜決定されてよい。この場合、制御部２１は、車両の車載装置又はユーザ端末から位置情報を取得し、取得された位置情報に基づいて、配信する対象の車載装置又はユーザ端末を特定してよい。
【０３１５】
また、例えば、ステップＳ５０５の処理により、対象の道路における交通渋滞の発生確率を予測した場面を想定する。この場面において、対象の道路において渋滞の発生確率が閾値以上である場合に、制御部２１は、渋滞発生の確率が高いことを通知するためのメッセージを出力してもよい。閾値は適宜決定されてよい。また、制御部２１は、対象の道路の周辺に存在する車両の車載装置又はユーザ端末に当該メッセージを配信してもよい。当該メッセージには、対象の道路を含むルートよりも渋滞の発生確率の低い迂回ルートを示す情報が含まれてもよい。更に、自動運転の動作を制御する制御装置を車両が備えている場面を想定する。この場面では、制御部２１は、対象の道路において渋滞の発生確率が閾値以上である場合に、対象の道路を避けたルートを走行するように指示するための指令を、対象の道路の周辺に存在する車両の制御装置に配信してもよい。これに応じて、車両の制御装置は、対象の道路を避けたルートを走行するように車両の自動運転を制御してもよい。
【０３１６】
本変形例によれば、センシングデータから交通状況を予測する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ａを構築することができる。
【０３１７】
一例として、渋滞発生の確率又は渋滞の有無の予測は、道路の属性に依存する傾向がある。例えば、一車線の道路よりも二車線の道路の方が交通渋滞の発生する確率は低い。また、例えば、直線道路に比べて合流点の多い道路では交通渋滞の発生する確率が高い。そのため、渋滞発生の確率又は渋滞の有無を予測する場面では、データを取得するドメインに特有の情報が推定タスクに有用であると考えられる。これに対して、交通流の数及びその増減の変化傾向は、道路の属性に依存し難いため、発生した渋滞の継続時間を推定する場面では、データを取得するドメインに特有の情報が推定タスクの精度に悪影響を及ぼすと考えられる。
【０３１８】
そこで、センサＳＡは、例えば、カメラであってよい。カメラは、道路に設置されていてもよいし、その道路を移動する人物が保持していてもよい。これに応じて、訓練データ１２２Ａは、例えば、画像データであってよい。メタデータ１２３Ａは、例えば、道路の属性及びセンサＳＡの設置間隔を示すように設定されてよい。正解データ１２４Ａは、例えば、渋滞発生の確率又は渋滞の有無を示すように設定されてよい。他の正解データ１２５Ｂは、例えば、発生した渋滞の継続時間を示すように設定されてよい。
【０３１９】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、スポット的に発生する交通流の数及びその増減の変化傾向に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、定常的に表れる地形起因の交通流の傾向、及び複数の地点で共起する交通流の傾向に対応する成分を含むようになる。定常的に表れる地形起因の交通流の傾向とは、例えば、サグ部で速度低下及び渋滞が生じやすい等の傾向である。また、複数の地点で共起するとは、例えば、高速道路の合流地点で渋滞が発生した場合に、その合流地点よりも手前の直線道路の地点でも渋滞が生じる可能性が高い等のように、ある地点の交通流が他の地点の交通流に影響を及ぼすことである。
【０３２０】
その結果、予測装置２Ａにおいて、学習済みの第１符号器５１Ａ、第２符号器５２Ａ、及び推定器５５Ａを利用することで、上記ドメインに特有の情報及び共通する情報の両方に基づいて、渋滞発生の確率又は渋滞の有無を予測する推定タスクを遂行することができる。そのため、対象の道路で渋滞発生の確率又は渋滞の有無を比較的に高い精度で予測することができる。また、予測装置２Ａにおいて、学習済みの第１符号器５１Ａ及び他の推定器５７を利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、発生した渋滞の継続時間を予測する推定タスクを遂行することができる。そのため、対象の道路における渋滞の継続時間を比較的に高い精度で予測することができる。
【０３２１】
（Ｂ）対象者の状態を推定する場面
図１４は、第２変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、対象者の状態を推定する場面に上記実施形態を適用した例である。図１４では、対象者の状態を推定する場面の一例として、車両の運転者ＲＢの状態を監視する場面が例示されている。運転者ＲＢは、対象者の一例である。図１４に示されるとおり、本実施形態に係るシステムは、学習装置１、監視装置２Ｂ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、監視装置２Ｂ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０３２２】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、対象者の状態を推定するタスクを学習するための複数の学習データセット１２１Ｂを取得する。各学習データセット１２１Ｂ、上記学習データセット１２１と同様に、訓練データ１２２Ｂ、メタデータ１２３Ｂ、正解データ１２４Ｂ、及び他の正解データ１２５Ｂの組み合わせにより構成される。訓練データ１２２Ｂ、メタデータ１２３Ｂ、正解データ１２４Ｂ、及び他の正解データ１２５Ｂはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０３２３】
訓練データ１２２Ｂは、例えば、被験者の状態を観察するセンサＳＢ又はこれと同種のセンサ（以下、同種のセンサを含んでセンサＳＢと称する）により得られたセンシングデータである。被験者は、例えば、車両を運転する運転者である。センサＳＢは、対象者の状態を観察可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳＢは、例えば、カメラ、バイタルセンサ、又はこれらの組み合わせであってよい。カメラは、例えば、一般的なＲＧＢカメラ、深度カメラ、赤外線カメラ等であってよい。また、バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。訓練データ１２２Ｂは、例えば、画像データ、バイタルデータ等により構成されてよい。
【０３２４】
メタデータ１２３Ｂは、訓練データ１２２Ｂの取得に関する属性として、例えば、被験者の識別情報、センシングデータを取得した時間に関する属性、センサＳＢの設置状況に関する属性、センサＳＢの設置場所、又はこれらの組み合わせを示す。被験者の識別情報は、例えば、被験者を識別するための情報（識別子）、性別、年齢、体格、人種等を含んでよい。時間に関する属性は、例えば、時間帯の種別、曜日の種別、平日及び休日の別、月の種別、季節の種別等を含んでよい。センサＳＢの設置状況に関する属性は、例えば、センサＳＢの設置角度、センサＳＢの周囲の温度、センサＳＢと被験者との間の距離、センサＳＢの設置間隔等を含んでよい。
【０３２５】
正解データ１２４Ｂ及び他の正解データ１２５Ｂはそれぞれ、訓練データ１２２Ｂに含まれる特徴として、例えば、被験者の状態を示す。被験者の状態は、例えば、被験者の健康状態を含んでよい。健康状態は、例えば、所定の疾患を発症する確率、体調変化が生じる確率等により表現されてよい。本変形例では、被験者の状態は、例えば、被験者の眠気の度合いを示す眠気度、被験者の疲労の度合いを示す疲労度、被験者の運転に対する余裕の度合いを示す余裕度、又はこれらの組み合わせを含んでよい。
【０３２６】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ｂ、メタデータ１２３Ｂ、正解データ１２４Ｂ、及び他の正解データ１２５Ｂの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ｂを使用して、上記実施形態と同様に、学習モデル５Ｂの機械学習を実施する。学習モデル５Ｂは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ｂは、第１符号器５１Ｂ、第２符号器５２Ｂ、第１メタ識別器５３Ｂ、第２メタ識別器５４Ｂ、推定器５５Ｂ、復号器５６Ｂ、及び他の推定器５７Ｂを含んでいる。各器５１Ｂ〜５７Ｂは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ｂ〜５７Ｂの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０３２７】
当該機械学習により、第２符号器５２Ｂは、メタデータ１２３Ｂにより示される訓練データ１２２Ｂの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ｂを変換するように訓練される。第１符号器５１Ｂは、訓練データ１２２Ｂの取得に関する属性以外の情報、例えば、訓練データ１２２Ｂを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ｂを変換するように訓練される。学習モデル５Ｂにおける推定器５５Ｂ又は他の推定器５７Ｂを含む部分は、センサＳＢにより得られたセンシングデータから運転者の状態を推定する能力を獲得する。また、学習モデル５Ｂにおける復号器５６Ｂを含む部分は、センサＳＢにより得られたセンシングデータと同種の復号化データを生成する能力を獲得する。
【０３２８】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ｂに関する情報を学習結果データ１２８Ｂとして生成し、生成された学習結果データ１２８Ｂを所定の記憶領域に保存する。生成された学習結果データ１２８Ｂは、任意のタイミングで監視装置２Ｂ及びデータ生成装置３に提供されてよい。
【０３２９】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ｂ及び復号器５６Ｂを利用して、対象センシングデータから復号化データを生成することができる。復号化データは、対象センシングデータの取得に関する属性に対応する情報を当該対象センシングデータから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ｂ、第２符号器５２Ｂ、及び復号器５６Ｂを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ｂ及び第２符号器５２Ｂの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０３３０】
監視装置２Ｂは、上記推定装置２に対応する。監視装置２Ｂは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。本変形例では、監視装置２Ｂは、センサＳＢに接続されている。監視装置２Ｂは、センサＳＢから対象センシングデータを取得する。そして、監視装置２Ｂは、学習装置１により構築された学習済みの学習モデル５Ｂを利用して、取得された対象センシングデータに基づいて、運転者ＲＢの状態を推定する。
【０３３１】
＜監視装置のハードウェア構成＞
図１５Ａは、本変形例に係る監視装置２Ｂのハードウェア構成の一例を模式的に例示する。図１５Ａに示されるとおり、本変形例に係る監視装置２Ｂは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。監視装置２Ｂは、外部インタフェース２７を介してセンサＳＢに接続される。センサＳＢは、運転者ＲＢの状態を観察可能な場所に適宜配置されてよい。例えば、センサＳＢがカメラである場合、センサＳＢは、運転者ＲＢを撮影可能なように運転席の近傍に配置されてよい。また、例えば、センサＳＢがバイタルセンサである場合、センサＳＢは、運転者ＲＢのバイタルを測定可能に適宜取り付けられてよい。ただし、監視装置２Ｂのハードウェア構成は、このような例に限定されなくてもよい。監視装置２Ｂの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置２Ｂは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０３３２】
本変形例に係る監視装置２Ｂの記憶部２２は、監視プログラム８２Ｂ、学習結果データ１２８Ｂ等の各種情報を記憶する。監視プログラム８２Ｂ及び学習結果データ１２８Ｂは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。監視プログラム８２Ｂ及び学習結果データ１２８Ｂのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、監視装置２Ｂは、記憶媒体９２から、監視プログラム８２Ｂ及び学習結果データ１２８Ｂのうちの少なくともいずれかを取得してもよい。
【０３３３】
＜監視装置のソフトウェア構成及び動作例＞
図１５Ｂは、本変形例に係る監視装置２Ｂのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置２Ｂのソフトウェア構成は、制御部２１による監視プログラム８２Ｂの実行により実現される。図１５Ｂに示されるとおり、運転者ＲＢの状態を観察するセンサＳＢにより得られるセンシングデータを取り扱う点を除き、監視装置２Ｂのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、監視装置２Ｂは、上記推定装置２の推定処理と同様に、監視処理に関する一連の処理を実行する。
【０３３４】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、運転者ＲＢの状態の反映された対象センシングデータ２２１ＢをセンサＳＢから取得する。ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ｂ及び第２メタ識別器５４Ｂを利用して、対象センシングデータ２２１Ｂの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ｂを参照し、学習済みの第２符号器５２Ｂ及び第２メタ識別器５４Ｂの設定を行う。続いて、制御部２１は、取得された対象センシングデータ２２１Ｂを第２符号器５２Ｂに入力し、第２符号器５２Ｂ及び第２メタ識別器５４Ｂの演算処理を実行する。この演算処理により、制御部２１は、対象センシングデータ２２１Ｂの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ｂから取得する。
【０３３５】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象センシングデータ２２１Ｂの取得に関する属性を識別した結果に基づいて、推定器５５Ｂ又は他の推定器５７Ｂによる推定の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０３３６】
ステップＳ５０２による識別の結果が対象センシングデータ２２１Ｂの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ｂ又は他の推定器５７Ｂによる推定の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象センシングデータ２２１Ｂの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ｂ又は他の推定器５７Ｂによる推定の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０３３７】
ステップＳ５０５では、制御部２１は、監視部２１３Ｂとして動作し、学習装置１により訓練された第１符号器５１Ｂ、第２符号器５２Ｂ、及び推定器５５Ｂを利用して、対象センシングデータ２２１Ｂから運転者ＲＢの状態を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ｂ及び他の推定器５７Ｂを利用して、対象センシングデータ２２１Ｂから運転者ＲＢの状態を推定する。
【０３３８】
具体的には、制御部２１は、学習結果データ１２８Ｂを参照し、学習済みの第１符号器５１Ｂ及び推定器５５Ｂの設定を更に行う。制御部２１は、対象センシングデータ２２１Ｂを各符号器（５１Ｂ、５２Ｂ）に入力し、第１符号器５１Ｂ、第２符号器５２Ｂ、及び推定器５５Ｂの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ｂから運転者ＲＢの状態を推定した結果に対応する出力値を推定器５５Ｂから取得する。
【０３３９】
或いは、制御部２１は、学習結果データ１２８Ｂを参照し、学習済みの第１符号器５１Ｂ及び他の推定器５７Ｂの設定を行う。制御部２１は、対象センシングデータ２２１Ｂを第１符号器５１Ｂに入力し、第１符号器５１Ｂ及び他の推定器５７Ｂの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ｂから運転者ＲＢの状態を推定した結果に対応する出力値を他の推定器５７Ｂから取得する。
【０３４０】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、運転者ＲＢの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、運転者ＲＢの状態を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、推定の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を推定の結果に関する情報として出力してもよい。
【０３４１】
当該情報処理の一例として、制御部２１は、推定される運転者ＲＢの状態に応じて、警告等の特定のメッセージを出力装置２５に出力してもよい。具体例として、運転者ＲＢの眠気度及び疲労度の少なくとも一方を運転者ＲＢの状態として推定した場合、制御部２１は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。閾値は適宜設定されてよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、駐車場等に停車し、休憩を取るように運転者ＲＢに促す警告を出力装置２５に出力してもよい。
【０３４２】
また、例えば、自動運転の動作を制御する制御装置（不図示）を車両が備えている場合、制御部２１は、運転者ＲＢの状態を推定した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。一例として、制御装置が、車両の走行を制御する自動運転モード及び運転者ＲＢの操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。
【０３４３】
このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者ＲＢ又はシステムから受け付けた際に、制御部２１は、推定された運転者ＲＢの余裕度が閾値を超えているか否かを判定してもよい。そして、運転者ＲＢの余裕度が閾値を超えている場合に、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、運転者ＲＢの余裕度が閾値以下である場合には、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
【０３４４】
また、手動運転モードで車両が走行している際に、制御部２１は、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、制御部２１は、手動運転モードによる車両の走行を維持するようにしてもよい。
【０３４５】
また、手動運転モードで車両が走行している際に、制御部２１は、推定された余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、制御部２１は、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、制御部２１は、運転者ＲＢの操作による車両の走行を維持してもよい。なお、車両の制御装置と監視装置２Ｂとは一体のコンピュータにより構成されてよい。
【０３４６】
本変形例によれば、センシングデータから運転者の状態を推定する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ｂを構築することができる。
【０３４７】
一例として、上記眠気度、疲労度、余裕度等を含む体調の変化は、対象者の属性との関係性は低く、血圧等のバイタルの相対的な変化から推定することができる。そのため、体調の変化を推定する場面では、データを取得するドメインに特有の情報は推定タスクの精度に悪影響を及ぼすと考えられる。一方で、所定の疾患（例えば、生活習慣病）の発症リスクは対象者の属性に依存し得る。そのため、所定の疾患を発症する確率を推定する場面では、データを取得するドメインに特有の情報は推定タスクに有用であると考えられる。
【０３４８】
そこで、センサＳＢは、例えば、血圧計等のバイタルセンサであってよい。これに応じて、訓練データ１２２Ｂは、例えば、血圧等のバイタルの測定データであってよい。メタデータ１２３Ｂは、例えば、対象者（被験者）の識別情報、及びデータを取得した時間（例えば、測定時間）に関する属性を示すように設定されてよい。正解データ１２４Ｂは、例えば、所定の疾患を発症する確率を示すように設定されてよい。他の正解データ１２５Ｂは、例えば、体調変化の生じる確率を示すように設定されてよい。
【０３４９】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、血圧値等のバイタル値の平均及び増減幅に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、対象者の属性及びデータを取得した時間に基づくバイアスに対応する成分を含むようになる。
【０３５０】
その結果、監視装置２Ｂにおいて、学習済みの第１符号器５１Ｂ及び他の推定器５７Ｂを利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、運転者ＲＢの体調変化を推定するタスクを遂行することができる。そのため、運転者ＲＢの体調変化を比較的に高い精度で推定することができる。また、監視装置２Ｂにおいて、学習済みの第１符号器５１Ｂ、第２符号器５２Ｂ、及び推定器５５Ｂを利用することで、上記ドメインに特有の情報及び共通の情報に基づいて、運転者ＲＢが所定の疾患を発症する確率を推定するタスクを遂行することができる。そのため、運転者ＲＢが所定の疾患を発症する確率を比較的に高い精度で推定することができる。
【０３５１】
なお、状態を推定する対象となる対象者は、図１４に例示される車両の運転者ＲＢに限られなくてもよく、あらゆる人物を含んでよい。状態を予測する対象となる対象者は、例えば、オフィス、工場等で作業を行う作業者、バイタルを計測される被計測者等を含んでもよい。
【０３５２】
図１６は、対象者の状態を推定する他の場面の一例を模式的に例示する。図１６に例示されるシステムは、学習装置１、診断装置２Ｂ２、及びデータ生成装置３を備えている。診断装置２Ｂ２は、上記監視装置２Ｂに対応する。図１６の例では、診断装置２Ｂ２は、バイタルセンサＳＢ２に接続され、このバイタルセンサＳＢ２により被計測者の対象センシングデータを取得する。バイタルセンサＳＢ２は、上記センサＳＢの一例である。診断装置２Ｂ２は、上記監視装置２Ｂと同様の処理により、被計測者の状態を推定する。被計測者の状態には、当該被計測者の健康状態が含まれてよい。健康状態は、例えば、健康であるか否か、病気になる予兆があるか否か等を含んでよい。正解データ１２４Ｂ及び他の正解データ１２５Ｂはそれぞれ、例えば、人物の健康状態の種別、対象の病気になる確率等を示すように構成されてよい。
【０３５３】
（Ｃ）外観検査の場面
図１７は、第３変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、製品ＲＣの外観検査を行う場面に上記実施形態を適用した例である。図１７に示されるとおり、本実施形態に係るシステムは、学習装置１、検査装置２Ｃ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、検査装置２Ｃ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０３５４】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、製品ＲＣの状態を推定するタスクを学習するための複数の学習データセット１２１Ｃを取得する。各学習データセット１２１Ｃ、上記学習データセット１２１と同様に、訓練データ１２２Ｃ、メタデータ１２３Ｃ、正解データ１２４Ｃ、及び他の正解データ１２５Ｃの組み合わせにより構成される。訓練データ１２２Ｃ、メタデータ１２３Ｃ、正解データ１２４Ｃ、及び他の正解データ１２５Ｃはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０３５５】
訓練データ１２２Ｃは、例えば、製品ＲＣの写る画像データである。訓練データ１２２Ｃは、カメラＳＣ又はこれと同種のカメラ（以下、同種のカメラを含んでカメラＳＣと称する）により製品ＲＣ又はこれと同種の製品（以下、同種の製品を含んで製品ＲＣと称する）を撮影することで得られてよい。カメラＳＣは、例えば、一般的なＲＧＢカメラ、深度カメラ、赤外線カメラ等であってよい。
【０３５６】
製品ＲＣは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品は、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。
【０３５７】
メタデータ１２３Ｃは、訓練データ１２２Ｃの取得に関する属性として、例えば、製品ＲＣの属性、製品ＲＣの撮影条件、製品ＲＣを製造する工場の属性又はこれらの組み合わせを示す。製品ＲＣの属性は、例えば、製品ＲＣの種別、識別子、素材、外観（例えば、三次元形状）等を含んでよい。製品ＲＣの撮影条件は、例えば、カメラＳＣの撮影角度、製品ＲＣの向き、照明の条件、カメラＳＣと製品ＲＣとの間の距離、カメラＳＣの性能に関する属性、背景条件等を含んでよい。カメラＳＣの性能に関する属性は、例えば、得られる画像データの種別（ＲＧＢ画像か否か等）、解像度等を含んでよい。製品ＲＣを製造する工場の属性は、例えば、工場の識別子、製品ＲＣの生産能力等を含んでよい。
【０３５８】
正解データ１２４Ｃ及び他の正解データ１２５Ｃはそれぞれ、訓練データ１２２Ｃに含まれる特徴として、例えば、製品ＲＣの状態を示す。製品ＲＣの状態は、例えば、欠陥に関するものであってよい。一例として、製品ＲＣの状態は、製品ＲＣに欠陥が含まれるか否か、製品ＲＣに含まれる欠陥の種類、製品ＲＣに含まれる欠陥の範囲又はこれらの組み合わせにより表現されてよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
【０３５９】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ｃ、メタデータ１２３Ｃ、正解データ１２４Ｃ、及び他の正解データ１２５Ｃの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ｃを使用して、上記実施形態と同様に、学習モデル５Ｃの機械学習を実施する。学習モデル５Ｃは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ｃは、第１符号器５１Ｃ、第２符号器５２Ｃ、第１メタ識別器５３Ｃ、第２メタ識別器５４Ｃ、推定器５５Ｃ、復号器５６Ｃ、及び他の推定器５７Ｃを含んでいる。各器５１Ｃ〜５７Ｃは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ｃ〜５７Ｃの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０３６０】
当該機械学習により、第２符号器５２Ｃは、メタデータ１２３Ｃにより示される訓練データ１２２Ｃの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ｃを変換するように訓練される。第１符号器５１Ｃは、訓練データ１２２Ｃの取得に関する属性以外の情報、例えば、訓練データ１２２Ｃを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ｃを変換するように訓練される。学習モデル５Ｃにおける推定器５５Ｃ又は他の推定器５７Ｃを含む部分は、カメラＳＣにより得られた画像データに写る製品ＲＣの状態を推定する能力を獲得する。また、学習モデル５Ｃにおける復号器５６Ｃを含む部分は、カメラＳＣにより得られた画像データと同種の復号化データを生成する能力を獲得する。
【０３６１】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ｃに関する情報を学習結果データ１２８Ｃとして生成し、生成された学習結果データ１２８Ｃを所定の記憶領域に保存する。生成された学習結果データ１２８Ｃは、任意のタイミングで検査装置２Ｃ及びデータ生成装置３に提供されてよい。
【０３６２】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ｃ及び復号器５６Ｃを利用して、対象画像データから復号化データを生成することができる。復号化データは、対象画像データの取得に関する属性に対応する情報を当該対象画像データから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ｃ、第２符号器５２Ｃ、及び復号器５６Ｃを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ｃ及び第２符号器５２Ｃの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０３６３】
検査装置２Ｃは、上記推定装置２に対応する。検査装置２Ｃは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。本変形例では、検査装置２Ｃは、カメラＳＣに接続されている。検査装置２Ｃは、カメラＳＣから対象画像データを取得する。そして、検査装置２Ｃは、学習装置１により構築された学習済みの学習モデル５Ｃを利用して、取得された対象画像データに基づいて、製品ＲＣの状態を推定ことで、製品ＲＣの外観検査を実施する。
【０３６４】
＜検査装置のハードウェア構成＞
図１８Ａは、本変形例に係る検査装置２Ｃのハードウェア構成の一例を模式的に例示する。図１８Ａに示されるとおり、本変形例に係る検査装置２Ｃは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。検査装置２Ｃは、外部インタフェース２７を介してカメラＳＣに接続される。カメラＳＣは、製品ＲＣを撮影可能な場所に適宜配置されてよい。例えば、カメラＳＣは、製品ＲＣを搬送するコンベア装置の近傍に配置されてよい。ただし、検査装置２Ｃのハードウェア構成は、このような例に限定されなくてもよい。検査装置２Ｃの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置２Ｃは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ（programmable logic controller）等であってもよい。
【０３６５】
本変形例に係る検査装置２Ｃの記憶部２２は、検査プログラム８２Ｃ、学習結果データ１２８Ｃ等の各種情報を記憶する。検査プログラム８２Ｃ及び学習結果データ１２８Ｃは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。検査プログラム８２Ｃ及び学習結果データ１２８Ｃのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、検査装置２Ｃは、記憶媒体９２から、検査プログラム８２Ｃ及び学習結果データ１２８Ｃのうちの少なくともいずれかを取得してもよい。
【０３６６】
＜検査装置のソフトウェア構成及び動作例＞
図１８Ｂは、本変形例に係る検査装置２Ｃのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置２Ｃのソフトウェア構成は、制御部２１による検査プログラム８２Ｃの実行により実現される。図１８Ｂに示されるとおり、カメラＳＣにより得られる製品ＲＣの写る画像データを取り扱う点を除き、検査装置２Ｃのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、検査装置２Ｃは、上記推定装置２の推定処理と同様に、検査処理に関する一連の処理を実行する。
【０３６７】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、製品ＲＣの写る対象画像データ２２１ＣをカメラＳＣから取得する。ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ｃ及び第２メタ識別器５４Ｃを利用して、対象画像データ２２１Ｃの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ｃを参照し、学習済みの第２符号器５２Ｃ及び第２メタ識別器５４Ｃの設定を行う。続いて、制御部２１は、取得された対象画像データ２２１Ｃを第２符号器５２Ｃに入力し、第２符号器５２Ｃ及び第２メタ識別器５４Ｃの演算処理を実行する。この演算処理により、制御部２１は、対象画像データ２２１Ｃの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ｃから取得する。
【０３６８】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象画像データ２２１Ｃの取得に関する属性を識別した結果に基づいて、推定器５５Ｃ又は他の推定器５７Ｃによる推定の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０３６９】
ステップＳ５０２による識別の結果が対象画像データ２２１Ｃの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ｃ又は他の推定器５７Ｃによる推定の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象画像データ２２１Ｃの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ｃ又は他の推定器５７Ｃによる推定の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０３７０】
ステップＳ５０５では、制御部２１は、検査部２１３Ｃとして動作し、学習装置１により訓練された第１符号器５１Ｃ、第２符号器５２Ｃ、及び推定器５５Ｃを利用して、対象画像データ２２１Ｃに写る製品ＲＣの状態を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ｃ及び他の推定器５７Ｃを利用して、対象画像データ２２１Ｃに写る製品ＲＣの状態を推定する。
【０３７１】
具体的には、制御部２１は、学習結果データ１２８Ｃを参照し、学習済みの第１符号器５１Ｃ及び推定器５５Ｃの設定を更に行う。制御部２１は、対象画像データ２２１Ｃを各符号器（５１Ｃ、５２Ｃ）に入力し、第１符号器５１Ｃ、第２符号器５２Ｃ、及び推定器５５Ｃの演算処理を実行する。これにより、制御部２１は、対象画像データ２２１Ｃに写る製品ＲＣの状態を推定した結果に対応する出力値を推定器５５Ｃから取得する。
【０３７２】
或いは、制御部２１は、学習結果データ１２８Ｃを参照し、学習済みの第１符号器５１Ｃ及び他の推定器５７Ｃの設定を行う。制御部２１は、対象画像データ２２１Ｃを第１符号器５１Ｃに入力し、第１符号器５１Ｃ及び他の推定器５７Ｃの演算処理を実行する。これにより、制御部２１は、対象画像データ２２１Ｃに写る製品ＲＣの状態を推定した結果に対応する出力値を他の推定器５７Ｃから取得する。
【０３７３】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、製品ＲＣの状態を推定した結果に関する情報を出力する。出力先及び出力情報はそれぞれ、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、製品ＲＣの状態を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、製品ＲＣに欠陥が含まれる場合に、そのことを知らせるための警告を出力装置２５に出力してもよい。また、例えば、検査装置２Ｃが製品ＲＣを搬送するコンベア装置（不図示）に接続される場合、製品ＲＣの状態を推定した結果に基づいて、欠陥のない製品ＲＣと欠陥のある製品ＲＣとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【０３７４】
本変形例によれば、画像データに写る製品の状態を推定する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ｃを構築することができる。
【０３７５】
製品ＲＣに欠陥が存在するか否かを推定する場面では、欠陥の写る状態に変動を及ぼし得る、製品ＲＣの表面材質、コンベアの背景の柄、照明条件等のドメインに特有の情報が推定精度に悪影響を及ぼす可能性がある。一方で、製品ＲＣに生じる欠陥は、当該製品ＲＣの種別に依存し得る。そのため、製品ＲＣに存在する欠陥の種別を推定する場面では、製品ＲＣの種類等のドメインに特有の情報が欠陥の種別の推定に有用である可能性がある。
【０３７６】
そこで、メタデータ１２３Ｃは、例えば、製品ＲＣの種別、製品ＲＣの素材、製品ＲＣの外観、製品ＲＣの向き、照明条件、及び背景条件を示すように設定されてよい。正解データ１２４Ｃは、例えば、欠陥の種別を示すように設定されてよい。他の正解データ１２５Ｃは、例えば、欠陥の有無を示すように設定されてよい。
【０３７７】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、欠陥の外観に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、背景条件（例えば、コンベアの柄）、製品ＲＣの外観、欠陥の外観と種類との対応関係、及び製品ＲＣの種別毎の所定の欠陥の発生確率に対応する成分を含むようになる。
【０３７８】
その結果、検査装置２Ｃにおいて、学習済みの第１符号器５１Ｃ及び他の推定器５７Ｃを利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、欠陥の有無を推定するタスクを遂行することができる。そのため、製品ＲＣに欠陥が存在するか否かを比較的に高い精度で推定することができる。また、検査装置２Ｃにおいて、学習済みの第１符号器５１Ｃ、第２符号器５２Ｃ、及び推定器５５Ｃを利用することで、上記ドメインに特有の情報及び共通の情報に基づいて、欠陥の種別を推定するタスクを遂行することができる。そのため、製品ＲＣに欠陥が存在する場合に、その欠陥の種別を比較的に高い精度で推定することができる。
【０３７９】
（Ｄ）人物検出の場面
図１９は、第４変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、画像データに写る人物の属性を推定する場面に上記実施形態を適用した例である。図１９に示されるとおり、本実施形態に係るシステムは、学習装置１、監視装置２Ｄ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、監視装置２Ｄ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０３８０】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、人物の属性を推定するタスクを学習するための複数の学習データセット１２１Ｄを取得する。各学習データセット１２１Ｄ、上記学習データセット１２１と同様に、訓練データ１２２Ｄ、メタデータ１２３Ｄ、正解データ１２４Ｄ、及び他の正解データ１２５Ｄの組み合わせにより構成される。訓練データ１２２Ｄ、メタデータ１２３Ｄ、正解データ１２４Ｄ、及び他の正解データ１２５Ｄはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０３８１】
訓練データ１２２Ｄは、例えば、被験者等の人物の写る画像データである。訓練データ１２２Ｄは、カメラＳＤ又はこれと同種のカメラ（以下、同種のカメラを含んでカメラＳＤと称する）により被験者を撮影することで得られてよい。カメラＳＤは、例えば、一般的なＲＧＢカメラ、深度カメラ、赤外線カメラ等であってよい。
【０３８２】
メタデータ１２３Ｄは、訓練データ１２２Ｄの取得に関する属性として、例えば、カメラＳＤの動作設定に関する属性、カメラＳＤの設置状況に関する属性、訓練データ１２２Ｄを取得した時間に関する属性、カメラＳＤの設置場所に関する属性又はこれらの組み合わせを示す。カメラＳＤの動作設定に関する属性は、例えば、計測範囲の設定値、解像度、サンプリング周波数の設定値を含んでよい。カメラＳＤの設置状況に関する属性は、例えば、カメラＳＤの設置角度等を含んでよい。時間に関する属性は、例えば、時間帯の種別、曜日の種別、平日及び休日の別、月の種別、季節の種別等を含んでよい。
【０３８３】
正解データ１２４Ｄ及び他の正解データ１２５Ｄはそれぞれ、訓練データ１２２Ｄに含まれる特徴として、例えば、人物の写る範囲（バウンディングボックス）、人物の識別情報、人物の状態又はこれらの組み合わせを示す。人物の識別情報は、例えば、人物の識別子、名前、性別、年齢、体格、人種等を含んでもよい。人物の状態は、例えば、人物の行動、人物の姿勢等を含んでもよい。なお、正解データ１２４Ｄ又は他の正解データ１２５Ｄが人物のバウンディングボックスを示す場合、人物の属性を推定することは、画像データ内の人物の写る範囲を検出することを含む。
【０３８４】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ｄ、メタデータ１２３Ｄ、正解データ１２４Ｄ、及び他の正解データ１２５Ｄの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ｄを使用して、上記実施形態と同様に、学習モデル５Ｄの機械学習を実施する。学習モデル５Ｄは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ｄは、第１符号器５１Ｄ、第２符号器５２Ｄ、第１メタ識別器５３Ｄ、第２メタ識別器５４Ｄ、推定器５５Ｄ、復号器５６Ｄ、及び他の推定器５７Ｄを含んでいる。各器５１Ｄ〜５７Ｄは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ｄ〜５７Ｄの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０３８５】
当該機械学習により、第２符号器５２Ｄは、メタデータ１２３Ｄにより示される訓練データ１２２Ｄの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ｄを変換するように訓練される。第１符号器５１Ｄは、訓練データ１２２Ｄの取得に関する属性以外の情報、例えば、訓練データ１２２Ｄを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ｄを変換するように訓練される。学習モデル５Ｄにおける推定器５５Ｄ又は他の推定器５７Ｄを含む部分は、カメラＳＤにより得られた画像データから人物の属性を推定する能力を獲得する。また、学習モデル５Ｄにおける復号器５６Ｄを含む部分は、カメラＳＤにより得られた画像データと同種の復号化データを生成する能力を獲得する。
【０３８６】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ｄに関する情報を学習結果データ１２８Ｄとして生成し、生成された学習結果データ１２８Ｄを所定の記憶領域に保存する。生成された学習結果データ１２８Ｄは、任意のタイミングで監視装置２Ｄ及びデータ生成装置３に提供されてよい。
【０３８７】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ｄ及び復号器５６Ｄを利用して、対象画像データから復号化データを生成することができる。復号化データは、対象画像データの取得に関する属性に対応する情報を当該対象画像データから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ｄ、第２符号器５２Ｄ、及び復号器５６Ｄを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ｄ及び第２符号器５２Ｄの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０３８８】
監視装置２Ｄは、上記推定装置２に対応する。監視装置２Ｄは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。本変形例では、監視装置２Ｄは、ネットワークを介してカメラＳＤに接続される。監視装置２Ｄは、カメラＳＤから対象画像データを取得する。そして、監視装置２Ｄは、学習装置１により構築された学習済みの学習モデル５Ｄを利用して、取得された対象画像データに写る人物の属性を推定する。
【０３８９】
＜監視装置のハードウェア構成＞
図２０Ａは、本変形例に係る監視装置２Ｄのハードウェア構成の一例を模式的に例示する。図２０Ａに示されるとおり、本変形例に係る監視装置２Ｄは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。監視装置２Ｄは、通信インタフェース２３を介してカメラＳＤに接続される。カメラＳＤは適宜配置されてよい。一例として、カメラＳＤは、駅のホーム、街頭、店舗内等に設置されてよい。ただし、監視装置２Ｄのハードウェア構成は、このような例に限定されなくてもよい。監視装置２Ｄの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置２Ｄは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってよい。
【０３９０】
本変形例に係る監視装置２Ｄの記憶部２２は、監視プログラム８２Ｄ、学習結果データ１２８Ｄ等の各種情報を記憶する。監視プログラム８２Ｄ及び学習結果データ１２８Ｄは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。監視プログラム８２Ｄ及び学習結果データ１２８Ｄのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、監視装置２Ｄは、記憶媒体９２から、監視プログラム８２Ｄ及び学習結果データ１２８Ｄのうちの少なくともいずれかを取得してもよい。
【０３９１】
＜監視装置のソフトウェア構成及び動作例＞
図２０Ｂは、本変形例に係る監視装置２Ｄのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置２Ｄのソフトウェア構成は、制御部２１による監視プログラム８２Ｄの実行により実現される。図２０Ｂに示されるとおり、カメラＳＤにより得られる人物の写る画像データを取り扱う点を除き、監視装置２Ｄのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、監視装置２Ｄは、上記推定装置２の推定処理と同様に、監視処理に関する一連の処理を実行する。
【０３９２】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、人物の写り得る対象画像データ２２１ＤをカメラＳＤから取得する。ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ｄ及び第２メタ識別器５４Ｄを利用して、対象画像データ２２１Ｄの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ｄを参照し、学習済みの第２符号器５２Ｄ及び第２メタ識別器５４Ｄの設定を行う。続いて、制御部２１は、取得された対象画像データ２２１Ｄを第２符号器５２Ｄに入力し、第２符号器５２Ｄ及び第２メタ識別器５４Ｄの演算処理を実行する。この演算処理により、制御部２１は、対象画像データ２２１Ｄの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ｄから取得する。
【０３９３】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象画像データ２２１Ｄの取得に関する属性を識別した結果に基づいて、推定器５５Ｄ又は他の推定器５７Ｄによる推定の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０３９４】
ステップＳ５０２による識別の結果が対象画像データ２２１Ｄの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ｄ又は他の推定器５７Ｄによる推定の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象画像データ２２１Ｄの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ｄ又は他の推定器５７Ｄによる推定の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０３９５】
ステップＳ５０５では、制御部２１は、監視部２１３Ｄとして動作し、学習装置１により訓練された第１符号器５１Ｄ、第２符号器５２Ｄ、及び推定器５５Ｄを利用して、対象画像データ２２１Ｄに写る人物の属性を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ｄ及び他の推定器５７Ｄを利用して、対象画像データ２２１Ｄに写る人物の属性を推定する。
【０３９６】
具体的には、制御部２１は、学習結果データ１２８Ｄを参照し、学習済みの第１符号器５１Ｄ及び推定器５５Ｄの設定を更に行う。制御部２１は、対象画像データ２２１Ｄを各符号器（５１Ｄ、５２Ｄ）に入力し、第１符号器５１Ｄ、第２符号器５２Ｄ、及び推定器５５Ｄの演算処理を実行する。これにより、制御部２１は、対象画像データ２２１Ｄに写る人物の属性を推定した結果に対応する出力値を推定器５５Ｄから取得する。
【０３９７】
或いは、制御部２１は、学習結果データ１２８Ｄを参照し、学習済みの第１符号器５１Ｄ及び他の推定器５７Ｄの設定を行う。制御部２１は、対象画像データ２２１Ｄを第１符号器５１Ｄに入力し、第１符号器５１Ｄ及び他の推定器５７Ｄの演算処理を実行する。これにより、制御部２１は、対象画像データ２２１Ｄに写る人物の属性を推定した結果に対応する出力値を他の推定器５７Ｄから取得する。
【０３９８】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、人物の属性を推定した結果に関する情報を出力する。例えば、制御部２１は、人物の属性を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、人物の写る範囲を人物の属性として推定した場合、制御部２１は、対象画像データ２２１Ｄを出力し、出力される対象画像データ２２１Ｄ上で推定される人物の写る範囲を示してもよい。また、例えば、カメラＳＤが駅のホーム等に設置されており、駅のホームから転落する予兆がある等のイベントを人物の状態として推定した場合に、制御部２１は、推定されるイベントの種別に応じた警告等のメッセージを出力してもよい。
【０３９９】
本変形例によれば、画像データに写る人物の属性を推定する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ｄを構築することができる。
【０４００】
一例として、人物の写る範囲を推定する場面では、人物の写る状態に変動を及ぼし得る、カメラＳＤの解像度、撮影の時間帯、撮影の季節等のドメインに特有の情報が推定精度に悪影響を及ぼす可能性がある。一方で、行動、姿勢等の人物の状態は、人物の存在する場所に依存し得る。そのため、人物の状態を推定する場面では、カメラＳＤの設置場所等のドメインに特有の情報が人物の状態の推定に有用である可能性がある。
【０４０１】
そこで、メタデータ１２３Ｄは、例えば、カメラＳＤの設置場所、カメラＳＤの解像度、撮影の時間帯、及び撮影の季節を示すように設定されてよい。正解データ１２４Ｄは、例えば、人物の状態を示すように設定されてよい。他の正解データ１２５Ｄは、例えば、人物の写る範囲を示すように設定されてよい。
【０４０２】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、バイアスの除去された人物の外観（例えば、平均的な人物の外観）に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、カメラＳＤの設置場所、カメラＳＤの解像度、撮影の時間帯、及び撮影の季節による人物の写り方、並びに地点毎の人物の姿勢の発生確率に対応する成分を含むようになる。
【０４０３】
その結果、監視装置２Ｄにおいて、学習済みの第１符号器５１Ｄ及び他の推定器５７Ｄを利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、人物の写る範囲を推定するタスクを遂行することができる。そのため、対象画像データ２２１Ｄ内において人物の写る範囲を比較的に高い精度で推定することができる。また、監視装置２Ｄにおいて、学習済みの第１符号器５１Ｄ、第２符号器５２Ｄ、及び推定器５５Ｄを利用することで、上記ドメインに特有の情報及び共通の情報の両方に基づいて、人物の状態を推定するタスクを遂行することができる。そのため、行動、姿勢等の人物の状態を比較的に高い精度で推定することができる。
【０４０４】
（Ｅ）運転状況を監視する場面
図２１は、第５変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、車載センサにより得られるセンシングデータから車両外部の状況を推定する場面に上記実施形態を適用した例である。図２１に示されるとおり、本実施形態に係るシステムは、学習装置１、監視装置２Ｅ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、監視装置２Ｅ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０４０５】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、車両外部の状況を推定するタスクを学習するための複数の学習データセット１２１Ｅを取得する。各学習データセット１２１Ｅ、上記学習データセット１２１と同様に、訓練データ１２２Ｅ、メタデータ１２３Ｅ、正解データ１２４Ｅ、及び他の正解データ１２５Ｅの組み合わせにより構成される。訓練データ１２２Ｅ、メタデータ１２３Ｅ、正解データ１２４Ｅ、及び他の正解データ１２５Ｅはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０４０６】
訓練データ１２２Ｅは、例えば、車載センサにより得られるセンシングデータである。訓練データ１２２Ｅは、車載センサＳＥ又はこれと同種のセンサ（以下、同種のセンサを含んで車載センサＳＥと称する）により車両外部周辺の状況を撮影することで得られてよい。車載センサＳＥは、例えば、カメラ、Lidarセンサ、ミリ波レーダ、超音波センサ等であってよい。カメラは、例えば、一般的なＲＧＢカメラ、深度カメラ、赤外線カメラ等であってよい。訓練データ１２２Ｅは、例えば、画像データ、各種センサの測定データ等により構成されてよい。
【０４０７】
メタデータ１２３Ｅは、訓練データ１２２Ｅの取得に関する属性として、例えば、車両の属性、車載センサＳＥの観測環境に関する属性、又はこれらの組み合わせを示す。車両の属性は、例えば、車両の種別、車両の識別番号、車両の仕様等を含んでよい。観測環境に関する属性は、例えば、場所、天候、気温、湿度、照度等を含んでもよい。更に、観測環境に関する属性は、例えば、市街地であるか否か、田舎道であるか否か、道路の種別等の景観に関する情報を含んでもよい。
【０４０８】
正解データ１２４Ｅ及び他の正解データ１２５Ｅはそれぞれ、訓練データ１２２Ｅに含まれる特徴として、例えば、車両の外部環境に関する情報、事故のリスク、車両外部の状況に応じた車両に対する動作指令、又はこれらの組み合わせを示す。車両の外部環境に関する情報は、例えば、車両の走行する道路に関する情報、車両の走行方向に存在する物体に関する情報等を含んでよい。車両の走行する道路に関する情報は、例えば、走行車線の種別、道路の種別等を示す情報含んでよい。車両の走行方向に存在する物体は、例えば、道路、信号機、障害物（人、物）等であってよい。車両の走行方向に存在する物体に関する情報は、例えば、道路の路面状態、信号機の点灯状態、障害物の有無、障害物の種別、障害物の寸法、障害物の大きさ、障害物の速度、障害物のイベント情報等を含んでよい。障害物のイベント情報は、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等を示してよい。このイベント情報は、例えば、障害物の有無、障害物の速度等のその他の情報により表現されてよい。事故のリスクは、例えば、事故の種別及びその事故の発生確率により示されてよい。車両外部の状況に応じた車両に対する動作指令は、例えば、アクセル量、ブレーキ量、ハンドル操舵角、ライトの点灯、クラクションの使用等により規定されてよい。なお、正解データ１２４Ｅ又は他の正解データ１２５Ｅが車両外部の状況に応じた車両に対する動作指令を示す場合、車両外部の状況を推定することは、車両外部の状況に応じて車両に対する動作指令を決定することを含む。
【０４０９】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ｅ、メタデータ１２３Ｅ、正解データ１２４Ｅ、及び他の正解データ１２５Ｅの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ｅを使用して、上記実施形態と同様に、学習モデル５Ｅの機械学習を実施する。学習モデル５Ｅは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ｅは、第１符号器５１Ｅ、第２符号器５２Ｅ、第１メタ識別器５３Ｅ、第２メタ識別器５４Ｅ、推定器５５Ｅ、復号器５６Ｅ、及び他の推定器５７Ｅを含んでいる。各器５１Ｅ〜５７Ｅは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ｅ〜５７Ｅの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０４１０】
当該機械学習により、第２符号器５２Ｅは、メタデータ１２３Ｅにより示される訓練データ１２２Ｅの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ｅを変換するように訓練される。第１符号器５１Ｅは、訓練データ１２２Ｅの取得に関する属性以外の情報、例えば、訓練データ１２２Ｅを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ｅを変換するように訓練される。学習モデル５Ｅにおける推定器５５Ｅ又は他の推定器５７Ｅを含む部分は、車載センサＳＥにより得られたセンシングデータから車両外部の状況を推定する能力を獲得する。また、学習モデル５Ｅにおける復号器５６Ｅを含む部分は、車載センサＳＥにより得られたセンシングデータと同種の復号化データを生成する能力を獲得する。
【０４１１】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ｅに関する情報を学習結果データ１２８Ｅとして生成し、生成された学習結果データ１２８Ｅを所定の記憶領域に保存する。生成された学習結果データ１２８Ｅは、任意のタイミングで監視装置２Ｅ及びデータ生成装置３に提供されてよい。
【０４１２】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ｅ及び復号器５６Ｅを利用して、対象センシングデータから復号化データを生成することができる。復号化データは、対象センシングデータの取得に関する属性に対応する情報を当該対象センシングデータから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ｅ、第２符号器５２Ｅ、及び復号器５６Ｅを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ｅ及び第２符号器５２Ｅの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０４１３】
監視装置２Ｅは、上記推定装置２に対応する。監視装置２Ｅは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。本変形例では、監視装置２Ｅは、車載センサＳＥに接続されている。監視装置２Ｅは、車載センサＳＥから対象センシングデータを取得する。そして、監視装置２Ｅは、学習装置１により構築された学習済みの学習モデル５Ｅを利用して、取得された対象センシングデータから車両外部の状況を推定する。
【０４１４】
＜監視装置のハードウェア構成＞
図２２Ａは、本変形例に係る監視装置２Ｅのハードウェア構成の一例を模式的に例示する。図２２Ａに示されるとおり、本変形例に係る監視装置２Ｅは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。監視装置２Ｅは、外部インタフェース２７を介して車載センサＳＥに接続される。車載センサＳＥは、車両外部の状況を監視可能であれば、実施の形態に応じて適宜配置されてよい。ただし、監視装置２Ｅのハードウェア構成は、このような例に限定されなくてもよい。監視装置２Ｅの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置２Ｅは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０４１５】
本変形例に係る監視装置２Ｅの記憶部２２は、監視プログラム８２Ｅ、学習結果データ１２８Ｅ等の各種情報を記憶する。監視プログラム８２Ｅ及び学習結果データ１２８Ｅは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。監視プログラム８２Ｅ及び学習結果データ１２８Ｅのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、監視装置２Ｅは、記憶媒体９２から、監視プログラム８２Ｅ及び学習結果データ１２８Ｅのうちの少なくともいずれかを取得してもよい。
【０４１６】
＜監視装置のソフトウェア構成及び動作例＞
図２２Ｂは、本変形例に係る監視装置２Ｅのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置２Ｅのソフトウェア構成は、制御部２１による監視プログラム８２Ｅの実行により実現される。図２２Ｂに示されるとおり、車載センサＳＥにより得られるセンシングデータを取り扱う点を除き、監視装置２Ｅのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、監視装置２Ｅは、上記推定装置２の推定処理と同様に、監視処理に関する一連の処理を実行する。
【０４１７】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、車両外部の状況の反映された対象センシングデータ２２１Ｅを車載センサＳＥから取得する。ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ｅ及び第２メタ識別器５４Ｅを利用して、対象センシングデータ２２１Ｅの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ｅを参照し、学習済みの第２符号器５２Ｅ及び第２メタ識別器５４Ｅの設定を行う。続いて、制御部２１は、取得された対象センシングデータ２２１Ｅを第２符号器５２Ｅに入力し、第２符号器５２Ｅ及び第２メタ識別器５４Ｅの演算処理を実行する。この演算処理により、制御部２１は、対象センシングデータ２２１Ｅの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ｅから取得する。
【０４１８】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象センシングデータ２２１Ｅの取得に関する属性を識別した結果に基づいて、推定器５５Ｅ又は他の推定器５７Ｅによる推定の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０４１９】
ステップＳ５０２による識別の結果が対象センシングデータ２２１Ｅの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ｅ又は他の推定器５７Ｅによる推定の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象センシングデータ２２１Ｅの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ｅ又は他の推定器５７Ｅによる推定の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０４２０】
ステップＳ５０５では、制御部２１は、監視部２１３Ｅとして動作し、学習装置１により訓練された第１符号器５１Ｅ、第２符号器５２Ｅ、及び推定器５５Ｅを利用して、対象センシングデータ２２１Ｅから車両外部の状況を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ｅ及び他の推定器５７Ｅを利用して、対象センシングデータ２２１Ｅから車両外部の状況を推定する。
【０４２１】
具体的には、制御部２１は、学習結果データ１２８Ｅを参照し、学習済みの第１符号器５１Ｅ及び推定器５５Ｅの設定を更に行う。制御部２１は、対象センシングデータ２２１Ｅを各符号器（５１Ｅ、５２Ｅ）に入力し、第１符号器５１Ｅ、第２符号器５２Ｅ、及び推定器５５Ｅの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ｅから車両外部の状況を推定した結果に対応する出力値を推定器５５Ｅから取得する。
【０４２２】
或いは、制御部２１は、学習結果データ１２８Ｅを参照し、学習済みの第１符号器５１Ｅ及び他の推定器５７Ｅの設定を行う。制御部２１は、対象センシングデータ２２１Ｅを第１符号器５１Ｅに入力し、第１符号器５１Ｅ及び他の推定器５７Ｅの演算処理を実行する。これにより、制御部２１は、対象センシングデータ２２１Ｅから車両外部の状況を推定した結果に対応する出力値を他の推定器５７Ｅから取得する。
【０４２３】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、車両外部の状況を推定した結果に関する情報を出力する。例えば、制御部２１は、車両外部の状況を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、推定される車両の外部環境及び事故のリスクの少なくとも一方に基づいて、車両の走行に危険の生じる可能性があるか否かを判定してもよい。車両の走行に危険の生じる可能性があると判定するケースは、実施の形態に応じて適宜設定されてよい。例えば、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントが生じると推定されているケース、事故の発生確率が閾値以上であるケース等において、制御部２１は、車両の走行に危険の生じる可能性があると判定してもよい。閾値は適宜設定されてよい。車両の走行に危険の生じる可能性があると判定した場合に、制御部２１は、その危険を知らせるための警告を出力装置２５に出力してもよい。
【０４２４】
また、車両外部の状況に応じた車両に対する動作指令を示す正解データ１２４Ｅ又は他の正解データ１２５Ｅが与えられている場合、制御部２１は、車両外部の状況を推定した結果として、車両外部の状況に応じた車両に対する動作指令を取得する。制御部２１は、取得された動作指令に基づいて車両の動作を直接的に制御してもよい。或いは、車両が、当該車両の動作を制御する制御装置を備える場合、制御部２１は、取得された動作指令を制御装置に与えることで、車両の動作を間接的に制御してもよい。
【０４２５】
なお、推定結果に基づいて、車両の動作を制御する方法は、このような例に限定されなくてもよい。制御部２１は、例えば、上記車両の外部環境又は事故リスクの推定結果に基づいて、車両の動作方針を決定してもよい。推定結果と車両の動作方針との対応関係は、例えば、データテーブル等のデータにより与えられてよい。このデータは、例えば、制御部２１内のＲＡＭ、記憶部２２、記憶媒体９２、外部記憶装置、又はこれらの組み合わせに保持されていてよい。制御部２１は、このデータを参照することで、車両の外部環境又は事故リスクを推定した結果に応じて、車両の動作方針を決定してよい。車両の動作方針は、例えば、アクセル量、ブレーキ量、ハンドル操舵角、ライトの点灯、クラクションの使用等により規定されてよい。そして、制御部２１は、決定された動作方針に従って、車両の動作を直接的に又は間接的に制御してもよい。
【０４２６】
本変形例によれば、センシングデータから車両外部の状況を推定する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ｅを構築することができる。
【０４２７】
一例として、車両の外部環境が同じであっても、車両に対する動作指令及び事故のリスクは、車両の走行する道路の種別、天候等に応じて相違し得る。そのため、車両外部の状況に応じた動作指令又は事故のリスクを推定する場面では、観測環境に関する属性等のドメインに特有の情報が動作指令の決定に有用である可能性がある。これに対して、車両の外部環境を推定する場面では、背景の相違が外乱となって、推定タスクの精度に悪影響を及ぼす可能性がある。
【０４２８】
そこで、車載センサＳＥは、例えば、カメラ、Lidarセンサ、ミリ波レーダ等であってよい。訓練データ１２２Ｅは、例えば、画像データ、測定データ等であってよい。メタデータ１２３Ｅは、例えば、車両の種別、天候、道路の種別、市街地であるか否か、及び田舎道であるか否かを示すように設定されてよい。正解データ１２４Ｅは、車両外部の状況に応じた車両に対する動作指令又は事故のリスクを示すように設定されてよい。他の正解データ１２５Ｅは、車両の外部環境に関する情報を示すように設定されてよい。
【０４２９】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、訓練データ１２２Ｅに表れる道路の形状、歩行者、及び他の車両に関する情報に対応する成分を含むようになる。一方、第２特徴量は、ドメインに特有の情報として、訓練データ１２２Ｅに表れる道路の種別、天候、及び風景に関する情報に対応する成分を含むようになる。
【０４３０】
その結果、監視装置２Ｅにおいて、学習済みの第１符号器５１Ｅ及び他の推定器５７Ｅを利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、車両の外部環境を推定するタスクを遂行することができる。そのため、車両の外部環境を比較的に高い精度で推定することができる。また、監視装置２Ｅにおいて、学習済みの第１符号器５１Ｅ、第２符号器５２Ｅ、及び推定器５５Ｅを利用することで、上記ドメインに特有の情報及び共通の情報の両方に基づいて、車両外部の状況に応じた車両に対する動作指令又は事故のリスクを推定するタスクを遂行することができる。そのため、車両外部の状況に応じた車両に対する動作指令又は事故のリスクを比較的に高い精度で推定することができる。
（Ｆ）物品又はサービスを推奨する場面
図２３は、第６変形例に係るシステムの適用場面の一例を模式的に例示する。本変形例は、顧客の購買、ウェブの閲覧等の行動の履歴データに基づいて推奨される物品又はサービスを推定する場面に上記実施形態を適用した例である。図２３に示されるとおり、本実施形態に係るシステムは、学習装置１、推奨装置２Ｆ、及びデータ生成装置３を備えている。上記実施形態と同様に、学習装置１、推奨装置２Ｆ、及びデータ生成装置３は、ネットワークを介して互いに接続されてよい。本変形例に係るシステムは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。
【０４３１】
本変形例に係る学習装置１は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、機械学習の情報処理を実行する。すなわち、ステップＳ１０１では、学習装置１は、顧客に推奨される商品又はサービスを推奨するタスクを学習するための複数の学習データセット１２１Ｆを取得する。各学習データセット１２１Ｆ、上記学習データセット１２１と同様に、訓練データ１２２Ｆ、メタデータ１２３Ｆ、正解データ１２４Ｆ、及び他の正解データ１２５Ｆの組み合わせにより構成される。訓練データ１２２Ｆ、メタデータ１２３Ｆ、正解データ１２４Ｆ、及び他の正解データ１２５Ｆはそれぞれ、上記実施形態に係る訓練データ１２２、メタデータ１２３、正解データ１２４、及び他の正解データ１２５それぞれに対応する。
【０４３２】
訓練データ１２２Ｆは、例えば、顧客の履歴データである。履歴データは、例えば、顧客の購買、ウェブにおける広告の閲覧、検索、リンクの軌跡、過去に推奨された商品又はサービス等を示す情報を含んでよい。履歴データは、例えば、ＰＣ、携帯電話等のユーザ端末を顧客が操作することにより蓄積されてよい。履歴データの蓄積場所は、例えば、顧客のユーザ端末、閲覧に供されたウェブサーバ等であってよい。訓練データ１２２Ｆは、対象の商品又はサービスを示すデータはラベルとして更に含んでもよい。つまり、本変形例では、学習モデル５Ｆは、条件付きの学習モデルであってよい。以下、訓練データ１２２Ｆは、対象の商品又はサービスを示すデータはラベルとして更に含むものとして説明する。ただし、学習モデル５Ｆの構成は、このような例に限定されなくてもよい。例えば、学習モデル５Ｆは、商品又はサービスのカテゴリ毎に用意され、カテゴリ毎の的中率を出力するように構成されてよい。この場合、訓練データ１２２Ｆは、ラベルを含んでいなくてもよい。
【０４３３】
メタデータ１２３Ｆは、訓練データ１２２Ｆの取得に関する属性として、例えば、顧客の識別情報、推奨情報を掲載する媒体の種別又はこれらの組み合わせを示す。顧客の識別情報は、例えば、顧客の識別子、性別、年齢、体格、人種等を含んでもよい。推奨情報を掲載する媒体は、例えば、ウェブページ、メールマガジン、デジタルサイネージ等であってよい。
【０４３４】
正解データ１２４Ｆ及び他の正解データ１２５Ｆはそれぞれ、訓練データ１２２Ｆに含まれる特徴として、例えば、対象の商品又はサービスを所定の媒体で推奨した際の的中率を示す。的中率は、例えば、対象の商品又はサービスを推奨された全顧客数に対する対象の商品又はサービスを購入した顧客数により算出されてよい。的中率は、商品又はサービスのカテゴリ毎に与えられてもよい。
【０４３５】
ステップＳ１０２では、学習装置１は、このような訓練データ１２２Ｆ、メタデータ１２３Ｆ、正解データ１２４Ｆ、及び他の正解データ１２５Ｆの組み合わせによりそれぞれ構成された複数の学習データセット１２１Ｆを使用して、上記実施形態と同様に、学習モデル５Ｆの機械学習を実施する。学習モデル５Ｆは、上記実施形態に係る学習モデル５と同様に構成されてよい。すなわち、学習モデル５Ｆは、第１符号器５１Ｆ、第２符号器５２Ｆ、第１メタ識別器５３Ｆ、第２メタ識別器５４Ｆ、推定器５５Ｆ、復号器５６Ｆ、及び他の推定器５７Ｆを含んでいる。各器５１Ｆ〜５７Ｆは、上記実施形態に係る各器５１〜５７に対応する。各器５１Ｆ〜５７Ｆの構成は、上記実施形態に係る各器５１〜５７と同様であってよい。
【０４３６】
当該機械学習により、第２符号器５２Ｆは、メタデータ１２３Ｆにより示される訓練データ１２２Ｆの取得に関する属性に対応する成分を含む第２特徴量に当該訓練データ１２２Ｆを変換するように訓練される。第１符号器５１Ｆは、訓練データ１２２Ｆの取得に関する属性以外の情報、例えば、訓練データ１２２Ｆを取得するドメインに共通に現れる情報に対応する成分を含む第１特徴量に当該訓練データ１２２Ｆを変換するように訓練される。学習モデル５Ｆにおける推定器５５Ｆ又は他の推定器５７Ｆを含む部分は、商品又はサービスを推奨した際の的中率を推定する能力を獲得する。また、学習モデル５Ｆにおける復号器５６Ｆを含む部分は、顧客の履歴データと同種の復号化データを生成する能力を獲得する。
【０４３７】
ステップＳ１０３では、学習装置１は、学習済みの学習モデル５Ｆに関する情報を学習結果データ１２８Ｆとして生成し、生成された学習結果データ１２８Ｆを所定の記憶領域に保存する。生成された学習結果データ１２８Ｆは、任意のタイミングで推奨装置２Ｆ及びデータ生成装置３に提供されてよい。
【０４３８】
データ生成装置３は、取り扱うデータが異なる点を除き、上記実施形態と同様の処理手順により、データ生成に関する情報処理を実行する。すなわち、データ生成装置３は、上記ステップＳ７０１〜ステップＳ７０４の処理を実行する。これにより、データ生成装置３は、学習済みの第１符号器５１Ｆ及び復号器５６Ｆを利用して、対象履歴データから復号化データを生成することができる。復号化データは、対象履歴データの取得に関する属性に対応する情報を当該対象履歴データから除外することで得られるデータに相当する。また、データ生成装置３は、学習済みの第１符号器５１Ｆ、第２符号器５２Ｆ、及び復号器５６Ｆを利用して、取得に関する属性をノイズの分だけ変更した新たなデータ（復号化データ）を生成してもよい。更に、データ生成装置３は、学習済みの第１符号器５１Ｆ及び第２符号器５２Ｆの少なくとも一方を利用して、第１特徴量及び第２特徴量の少なくとも一方のデータを生成してもよい。
【０４３９】
推奨装置２Ｆは、上記推定装置２に対応する。推奨装置２Ｆは、取り扱うデータが異なる点を除き、上記推定装置２と同様に構成されてよい。推奨装置２Ｆは、顧客の対象履歴データを適宜取得する。そして、推奨装置２Ｆは、学習装置１により構築された学習済みの学習モデル５Ｆを利用して、取得された対象履歴データから対象の商品又はサービスを推奨した際の的中率を推定する。
【０４４０】
＜推奨装置のハードウェア構成＞
図２４Ａは、本変形例に係る推奨装置２Ｆのハードウェア構成の一例を模式的に例示する。図２４Ａに示されるとおり、本変形例に係る推奨装置２Ｆは、上記推定装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６及び外部インタフェース２７が電気的に接続されたコンピュータである。ただし、推奨装置２Ｆのハードウェア構成は、このような例に限定されなくてもよい。推奨装置２Ｆの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。推奨装置２Ｆは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ、汎用のＰＣ等であってもよい。
【０４４１】
本変形例に係る推奨装置２Ｆの記憶部２２は、推奨プログラム８２Ｆ、学習結果データ１２８Ｆ等の各種情報を記憶する。推奨プログラム８２Ｆ及び学習結果データ１２８Ｆは、上記実施形態に係る推定プログラム８２及び学習結果データ１２８に対応する。推奨プログラム８２Ｆ及び学習結果データ１２８Ｆのうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、推奨装置２Ｆは、記憶媒体９２から、推奨プログラム８２Ｆ及び学習結果データ１２８Ｆのうちの少なくともいずれかを取得してもよい。
【０４４２】
＜推奨装置のソフトウェア構成及び動作例＞
図２４Ｂは、本変形例に係る推奨装置２Ｆのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、推奨装置２Ｆのソフトウェア構成は、制御部２１による推奨プログラム８２Ｆの実行により実現される。図２４Ｂに示されるとおり、顧客の履歴データを取り扱う点を除き、推奨装置２Ｆのソフトウェア構成は、上記推定装置２のソフトウェア構成と同様である。これにより、推奨装置２Ｆは、上記推定装置２の推定処理と同様に、推奨処理に関する一連の処理を実行する。
【０４４３】
すなわち、ステップＳ５０１では、制御部２１は、データ取得部２１１として動作し、顧客の対象履歴データ２２１Ｆを取得する。対象履歴データ２２１Ｆを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、顧客のユーザ端末から対象履歴データ２２１Ｆを取得してもよい。また、例えば、制御部２１は、商品又はサービスの販売を顧客に提供するサーバから対象履歴データ２２１Ｆを取得してもよい。また、推奨装置２Ｆが、商品又はサービスの販売を顧客に提供するサーバである場合、ユーザ端末を介した顧客のアクセスの際に対象履歴データ２２１Ｆを蓄積してもよい。
【０４４４】
ステップＳ５０２では、制御部２１は、評価部２１２として動作し、学習装置１により訓練された第２符号器５２Ｆ及び第２メタ識別器５４Ｆを利用して、対象履歴データ２２１Ｆの取得に関する属性を識別する。具体的には、制御部２１は、学習結果データ１２８Ｆを参照し、学習済みの第２符号器５２Ｆ及び第２メタ識別器５４Ｆの設定を行う。続いて、制御部２１は、取得された対象履歴データ２２１Ｆを第２符号器５２Ｆに入力し、第２符号器５２Ｆ及び第２メタ識別器５４Ｆの演算処理を実行する。この演算処理により、制御部２１は、対象履歴データ２２１Ｆの取得に関する属性を識別した結果に対応する出力値を第２メタ識別器５４Ｆから取得する。
【０４４５】
ステップＳ５０３では、制御部２１は、評価部２１２として動作し、対象履歴データ２２１Ｆの取得に関する属性を識別した結果に基づいて、推定器５５Ｆ又は他の推定器５７Ｆによる推定の結果を採用するか否かを判定する。ステップＳ５０４では、制御部２１は、ステップＳ５０３の判定結果に基づいて、処理の分岐先を決定する。
【０４４６】
ステップＳ５０２による識別の結果が対象履歴データ２２１Ｆの取得に関する属性の正解値に適合している場合、制御部２１は、推定器５５Ｆ又は他の推定器５７Ｆによる推定の結果を採用すると判定し、次のステップＳ５０５に処理を進める。一方、ステップＳ５０２による識別の結果が対象履歴データ２２１Ｆの取得に関する属性の正解値に適合していない場合、制御部２１は、推定器５５Ｆ又は他の推定器５７Ｆによる推定の結果を採用しないと判定し、ステップＳ５０５及びステップＳ５０６の処理を省略し、本変形例に係る一連の処理を終了する。
【０４４７】
ステップＳ５０５では、制御部２１は、推定部２１３Ｆとして動作し、学習装置１により訓練された第１符号器５１Ｆ、第２符号器５２Ｆ、及び推定器５５Ｆを利用して、対象履歴データ２２１Ｆから対象の商品又はサービスを推奨した際の的中率を推定する。或いは、制御部２１は、学習装置１により訓練された第１符号器５１Ｆ及び他の推定器５７Ｆを利用して、対象履歴データ２２１Ｆから対象の商品又はサービスを推奨した際の的中率を推定する。
【０４４８】
具体的には、制御部２１は、学習結果データ１２８Ｆを参照し、学習済みの第１符号器５１Ｆ及び推定器５５Ｆの設定を更に行う。制御部２１は、対象履歴データ２２１Ｆ及び対象の商品又はサービスを示すラベルを各符号器（５１Ｆ、５２Ｆ）に入力し、第１符号器５１Ｆ、第２符号器５２Ｆ、及び推定器５５Ｆの演算処理を実行する。これにより、制御部２１は、対象履歴データ２２１Ｆから対象の商品又はサービスを推奨した際の的中率を推定した結果に対応する出力値を推定器５５Ｆから取得する。
【０４４９】
或いは、制御部２１は、学習結果データ１２８Ｆを参照し、学習済みの第１符号器５１Ｆ及び他の推定器５７Ｆの設定を行う。制御部２１は、対象履歴データ２２１Ｆ及び対象の商品又はサービスを示すラベルを第１符号器５１Ｆに入力し、第１符号器５１Ｆ及び他の推定器５７Ｆの演算処理を実行する。これにより、制御部２１は、対象履歴データ２２１Ｆから対象の商品又はサービスを推奨した際の的中率を推定した結果に対応する出力値を他の推定器５７Ｆから取得する。
【０４５０】
ステップＳ５０６では、制御部２１は、出力部２１４として動作し、対象の商品又はサービスを推奨した際の的中率を推定した結果に関する情報を出力する。例えば、制御部２１は、対象の商品又はサービスを推奨した際の的中率を推定した結果をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、推定される的中率が閾値以上であるか否かを判定してもよい。判定の結果に基づいて、制御部２１は、的中率が閾値以上である商品又はサービスを特定し、ウェブページ等を介して、特定された商品又はサービスを顧客に推奨する。商品又はサービスの推奨に利用する媒体は実施の形態に応じて適宜選択されてよい。
【０４５１】
本変形例によれば、履歴データから商品又はサービスを推奨した際の的中率を推定する場面において、導入コストが比較的に低廉で、かつセンシングデータの取得に関する属性の相違にロバストな学習済みの学習モデル５Ｆを構築することができる。
【０４５２】
一例として、日用品、安価な嗜好品等の消耗品は、継続的に購買されることから、そのような商品に対する購買意欲は、顧客の識別情報にそれほど依存しない場合がある。そのため、消耗品に対する推奨の的中率を推定する場面では、顧客の識別情報等のドメインに特有の情報が推定タスクの精度に悪影響を及ぼす可能性がある。一方、高価な商品又はサービス等の単発的に購入される商品に対する購買意欲は、顧客の識別情報に高い依存性を有する場合がある。そのため、単発的に購入される商品に対する推奨の的中率を推定する場面では、ドメインに特有の情報が推定タスクに有用である可能性がある。すなわち、商品又はサービスの種別によって、ドメインに特有の情報が有用に働くケース及び悪影響を及ぼすケースが生じ得る。
【０４５３】
そこで、メタデータ１２３Ｆは、顧客の識別情報を示すように設定されてよい。正解データ１２４Ｆ及び他の正解データ１２５Ｆはそれぞれ、対象の商品又はサービスに対する推奨の的中率を示すように設定されてよい。
【０４５４】
この設定により上記機械学習を実行することで、第１特徴量は、ドメインに共通の情報として、顧客の購買履歴に応じた推奨の的中傾向に対応する成分を含むようになる。一方で、第２特徴量は、ドメインに特有の情報として、顧客の識別情報に応じた推奨の的中傾向に対応する成分を含むようになる。
【０４５５】
その結果、推奨装置２Ｆにおいて、学習済みの第１符号器５１Ｆ及び他の推定器５７Ｆを利用することで、上記ドメインに特有の情報を除外し、上記ドメインに共通の情報に基づいて、対象の商品又はサービスを推奨した際の的中率を推定するタスクを遂行することができる。そのため、消耗品等の顧客の識別情報に購買活動がそれほど依存しない商品又はサービスを推奨する場面において、学習済みの第１符号器５１Ｆ及び他の推定器５７Ｆを利用することで、当該推奨の的中率を比較的に高精度に推定することができる。また、推奨装置２Ｆにおいて、学習済みの第１符号器５１Ｆ、第２符号器５２Ｆ、及び推定器５５Ｆを利用することで、上記ドメインに特有の情報及び共通の情報の両方に基づいて、対象の商品又はサービスを推奨した際の的中率を推定するタスクを遂行することができる。そのため、単発的に購入される商品又はサービス等の顧客の識別情報に購買活動が依存しやすい商品又はサービスを推奨する場面において、学習済みの第１符号器５１Ｆ、第２符号器５２Ｆ、及び推定器５５Ｆを利用することで、当該推奨の的中率を比較的に高精度に推定することができる。なお、推奨装置２Ｆでは、オペレータの指定、設定値等に基づいて、上記２つの推定方法のうちのいずれを採用するかが設定されていてよい。
【０４５６】
＜４．２＞
上記実施形態では、学習モデル５の各器５１〜５７は、ニューラルネットワークにより構成されている。しかしながら、各器５１〜５７は、演算に利用される演算パラメータであって、機械学習により調整される演算パラメータを備えていれば、すなわち、機械学習可能なモデル（学習器）であれば、特に限定されなくてもよい。各器５１〜５７の種類は、実施の形態に応じて適宜選択されてよい。各器５１〜５７には、ニューラルネットワークの他に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。各器５１〜５７の機械学習の方法は、それぞれの学習器の種類に応じて適宜選択されてよい。
【０４５７】
また、上記実施形態の図５Ａの例では、各器５１〜５７は、３層構造の全結合型ニューラルネットワークにより構成されている。しかしながら、各器５１〜５７を構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。例えば、各器５１〜５７は、畳み込み層、プーリング層、及び全結合層を備える畳み込みニューラルネットワークにより構成されてよい。また、例えば、各器５１〜５７は、再帰型ニューラルネットワークにより構成されてよい。
【０４５８】
なお、これらの変更は、上記第１〜第６変形例に係るシステムについても同様に適用されてよい。例えば、上記第２変形例において、バイタルセンサにより対象者のバイタルの測定データを取得し、取得される測定データから対象者の状態を推定する場面を想定する。この場面では、取得される測定データの経時的変化は、対象者の状態を推定するのに有用である。このような経時的変化を推定タスクの遂行に反映させる場合には、学習モデルの構成要素のうちの少なくともいずれかが再帰型ニューラルネットワークにより構成されるのが好ましい。再帰型ニューラルネットワークを用いることで、対象データの経時的な変化を推定タスクの遂行に反映させることができる。
【０４５９】
＜４．３＞
上記実施形態では、学習モデル５は、第１符号器５１、第２符号器５２、第１メタ識別器５３、第２メタ識別器５４、及び推定器５５Ｂに加えて、復号器５６及び他の推定器５７を備えている。しかしながら、学習モデル５の構成は、このような例に限定されなくてもよい。復号器５６及び他の推定器５７の少なくとも一方は学習モデル５から省略されてよい。復号器５６を省略する場合、上記機械学習の処理手順において、上記ステップＳ２０３の処理は省略されてよい。また、他の推定器５７を省略する場合、上記機械学習の処理手順において、ステップＳ２０４の処理は省略されてよい。
【０４６０】
また、上記実施形態では、機械学習の処理手順において、ステップＳ２０５の処理により、第１特徴量及び第２特徴量の相互情報量が少なくなるように第１符号器５１及び第２符号器５２を訓練する。しかしながら、機械学習の処理手順は、このような例に限定されなくてもよい。このステップＳ２０５の処理は省略されてよい。
【０４６１】
また、上記実施形態では、推定装置２は、ステップＳ５０２〜ステップＳ５０４の処理により、学習済みの第２符号器５２及び第２メタ識別器５４を利用して、推定器５５又は他の推定器５７による推定処理の結果を採用するか否かを評価している。しかしながら、推定装置２の処理手順は、このような例に限定されなくてもよい。ステップＳ５０２〜ステップＳ５０４の処理は省略されてよい。この場合、推定装置２のソフトウェア構成から評価部２１２が省略されてよい。なお、これらの変更は、上記第１〜第６変形例に係るシステムについても同様に適用されてよい。
【０４６２】
また、上記実施形態において、訓練データ（１２２、１９２）及び対象データ（２２１、３２１）はそれぞれ、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等の個別の種類のデータに置き換えられてよい。
【０４６３】
例えば、訓練データ（１２２、１９２）及び対象データ（２２１、３２１）はそれぞれが画像データであることで、学習装置１、推定装置２、及びデータ生成装置３により画像システムを構成することができる。この場合、学習装置１は、複数の学習データセットを使用した機械学習により、画像データから所定の特徴を推定する能力を獲得した学習済みの学習モデル５を構築することができる。推定装置２は、推定器５５又は他の推定器５７を含む学習済みの学習モデル５を利用することで、対象画像データに含まれる特徴を推定することができる。データ生成装置３は、学習済みの復号器５６を含む学習モデル５を利用することで、対象画像データから新たなデータを生成することができる。上記第３変形例、及び第４変形例は、当該画像システムの一例である。
【０４６４】
また、例えば、訓練データ（１２２、１９２）及び対象データ（２２１、３２１）はそれぞれがセンシングデータであることで、学習装置１、推定装置２、及びデータ生成装置３によりセンサシステムを構成することができる。この場合、学習装置１は、複数の学習データセットを使用した機械学習により、センシングデータから所定の特徴を推定する能力を獲得した学習済みの学習モデル５を構築することができる。推定装置２は、推定器５５又は他の推定器５７を含む学習済みの学習モデル５を利用することで、対象センシングデータに含まれる特徴を推定することができる。データ生成装置３は、学習済みの復号器５６を含む学習モデル５を利用することで、対象センシングデータから新たなデータを生成することができる。上記第１変形例、第２変形例、及び第５変形例は、当該センサシステムの一例である。
【符号の説明】
【０４６５】
１…学習装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…データ取得部、１１２…学習処理部、
１１３…保存処理部、
１２１…学習データセット、
１２２…訓練データ、１２３…メタデータ、
１２４…正解データ、１２５…他の正解データ、
１２８…学習結果データ、
８１…学習プログラム、９１…記憶媒体、
２…推定装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
２７…外部インタフェース、
２１１…データ取得部、２１２…評価部、
２１３…推定部、２１４…出力部、
２２１…対象データ、
３…データ生成装置、
３１…制御部、３２…記憶部、３３…通信インタフェース、
３４…入力装置、３５…出力装置、３６…ドライブ、
３７…外部インタフェース、
３１１…データ取得部、３１２…生成部、
３１３…保存処理部、
３２１…対象データ、
５…学習モデル、
５１…第１符号器、５２…第２符号器、
５３…第１メタ識別器、５４…第２メタ識別器、
５５…推定器、５６…復号器、５７…他の推定器、
Ｓ…センサ
【図１】
2020149504.tif 000003
【図２】
2020149504.tif 000004
【図３】
2020149504.tif 000005
【図４】
2020149504.tif 000006
【図５Ａ】
2020149504.tif 000007
【図５Ｂ】
2020149504.tif 000008
【図５Ｃ】
2020149504.tif 000009
【図５Ｄ】
2020149504.tif 000010
【図６】
2020149504.tif 000011
【図７】
2020149504.tif 000012
【図８】
2020149504.tif 000013
【図９】
2020149504.tif 000014
【図１０】
2020149504.tif 000015
【図１１】
2020149504.tif 000016
【図１２】
2020149504.tif 000017
【図１３Ａ】
2020149504.tif 000018
【図１３Ｂ】
2020149504.tif 000019
【図１４】
2020149504.tif 000020
【図１５Ａ】
2020149504.tif 000021
【図１５Ｂ】
2020149504.tif 000022
【図１６】
2020149504.tif 000023
【図１７】
2020149504.tif 000024
【図１８Ａ】
2020149504.tif 000025
【図１８Ｂ】
2020149504.tif 000026
【図１９】
2020149504.tif 000027
【図２０Ａ】
2020149504.tif 000028
【図２０Ｂ】
2020149504.tif 000029
【図２１】
2020149504.tif 000030
【図２２Ａ】
2020149504.tif 000031
【図２２Ｂ】
2020149504.tif 000032
【図２３】
2020149504.tif 000033
【図２４Ａ】
2020149504.tif 000034
【図２４Ｂ】
2020149504.tif 000035