(57)【要約】【課題】希少な事象に対する予測精度を高めるための技術を提供する。【解決手段】本発明の一側面に係るモデル生成装置は、時系列に得られる所定のデータの第１時刻における第１サンプル、及び第１時刻よりも未来の第２時刻における所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得し、機械学習により、各学習データセットについて、第１時刻における第１サンプルから、第２時刻における特徴情報を予測するように予測モデルを訓練する。モデル生成装置は、各学習データセットには希少度が設定され、モデル生成装置は、機械学習において、希少度の高い学習データセットほど重点的に訓練する。【選択図】図１
2020135243.tif 000002
【特許請求の範囲】
【請求項１】
時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、
機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、
を備える、
モデル生成装置。
【請求項２】
前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習におけるサンプリング回数を多くすることで、前記希少度の高い学習データセットほど重点的に訓練する、
請求項１に記載のモデル生成装置。
【請求項３】
前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習における重み付けを大きくすることで、前記希少度の高い学習データセットほど重点的に訓練する、
請求項１に記載のモデル生成装置。
【請求項４】
前記各学習データセットの前記希少度は、前記特徴情報が前記所定のデータに現れる不規則性の程度に応じて設定される、
請求項１から３のいずれか１項に記載のモデル生成装置。
【請求項５】
前記各学習データセットの前記希少度を設定する希少度設定部を更に備え、
前記希少度設定部は、前記各学習データセットについて、前記予測モデルによる前記予測の不一致性を前記第１時刻における前記第１サンプルから予測するように構成された不一致性予測器を含み、
前記希少度設定部は、前記予測モデルによる前記予測の不一致性を前記不一致性予測器により予測した結果に応じて、前記各学習データセットの前記希少度を設定する、
請求項１から４のいずれか１項に記載のモデル生成装置。
【請求項６】
前記各学習データセットの前記第１時刻における前記第１サンプル、及び前記予測モデルによる前記予測の不一致性の組み合わせによりそれぞれ構成される複数の不一致性学習データセットを取得する不一致性データ取得部と、
機械学習により、前記各不一致性学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記予測モデルによる前記予測の不一致性を予測するように訓練された前記不一致性予測器を構築する不一致性学習処理部と、
を更に備え、
前記学習処理部による前記予測モデルの訓練、及び前記不一致性学習処理部による前記不一致性予測器の訓練は交互に実行される、
請求項５に記載のモデル生成装置。
【請求項７】
前記不一致性学習処理部は、前記不一致性予測器の前記機械学習において、前記希少度に関係なく前記各不一致性学習データセットを均一に訓練する、
請求項６に記載のモデル生成装置。
【請求項８】
前記特徴情報は、前記第２サンプルの特徴量を含む、
請求項１から７のいずれか１項に記載のモデル生成装置。
【請求項９】
前記所定のデータの第３サンプルを特徴量に変換するように構成されたエンコーダ、及び前記特徴量から前記第３サンプルを復元すると共に、前記第３サンプルに含まれる特徴を推定するように構成されたデコーダを備える推定器を保持し、
前記特徴情報の前記特徴量は、前記推定器の前記エンコーダにより前記第２サンプルを変換することにより与えられる、
請求項８に記載のモデル生成装置。
【請求項１０】
前記所定のデータは、車両の外部の状況を監視するように配置されたカメラにより得られた画像データであり、
前記特徴情報は、前記画像データに写る対象物の属性に関する、
請求項１から９のいずれか１項に記載のモデル生成装置。
【請求項１１】
前記所定のデータは、製造ラインを構成する機械の状態を監視するセンサにより得られたセンシングデータであり、
前記特徴情報は、前記機械の状態に関する、
請求項１から９のいずれか１項に記載のモデル生成装置。
【請求項１２】
前記所定のデータは、対象者のバイタルデータ及び対象者の写る画像データの少なくともいずれかであり、
前記特徴情報は、前記対象者の状態に関する、
請求項１から９のいずれか１項に記載のモデル生成装置。
【請求項１３】
前記所定のデータは、人の流れに関連する人流データであり、
前記特徴情報は、前記人の流れの量に関する、
請求項１から９のいずれか１項に記載のモデル生成装置。
【請求項１４】
前記所定のデータの対象サンプルを取得する対象データ取得部と、
請求項１から１３のいずれか１項に記載されたモデル生成装置により構築された前記予測モデルを用いて、取得された前記対象サンプルから、前記対象サンプルを取得した時刻よりも未来の時刻において前記所定のデータに現れる特徴を予測する予測部と、
前記特徴を予測した結果に関する情報を出力する出力部と、
を備える、
予測装置。
【請求項１５】
コンピュータが、
時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、
機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、
を実行する、
モデル生成方法。
【請求項１６】
コンピュータに、
時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、
機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、
を実行させるための、
モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラムに関する。
【背景技術】
【０００２】
近年、ある時刻の画像から未来の時刻の画像を予測する技術の開発が行われている。例えば、特許文献１には、畳み込みニューラルネットワークを利用して、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測する技術が提案されている。具体的には、機械学習により、ビデオシーケンスの時刻ｔにおけるフレームを入力すると、時刻（ｔ＋１）におけるフレームを出力するように畳み込みニューラルネットワークを訓練する。これにより、ある時刻における入力フレームから未来の時刻におけるフレームを予測する能力を畳み込みニューラルネットワークに獲得させることができる。そのため、学習済みの畳み込みニューラルネットワークを利用すれば、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測することができる。
【０００３】
この画像の予測技術は、様々な分野で有益に利用可能である。例えば、自動車等の車両の外部の状況をカメラにより監視する場面では、カメラにより得られる車外の画像から未来の状況を予測することで、障害物に衝突する等の車両に起き得る事故を未然に防ぐことができる。また、例えば、機械の状態をカメラにより監視する場面では、カメラにより得られた画像から機械の未来の状態を予測することで、機械に生じ得る故障を事前に検知することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１８／０１３７３８９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本件発明者らは、上記のような、ニューラルネットワーク等で構成された予測モデルに、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測する能力を機械学習によって習得させる従来の技術には次のような問題点があることを見出した。すなわち、画像に写る事象には、比較的に長期的に継続する事象と、比較的に短期的に急激な変化をもたらす事象とが存在する。長期的に継続する事象は、例えば、人物がある方向に移動している等の規則性を有する事象である。短期的に急激な変化をもたらす事象は、例えば、カメラの撮影範囲外から撮影範囲内に対象物が侵入する、停止していた対象物が動き出す等の不規則に発生し得る事象である。比較的に長期的に継続する事象は、上記のような予測技術を利用しなくても、その事象の未来を当該事象の規則性から容易に予測することができる。一方、比較的に短期的に急激な変化をもたらす事象は不規則に生じ得るため、その事象の未来を予測することは困難である。そのため、上記のような画像の予測技術では、比較的に長期的に継続する事象の未来を予測することよりも、短期的に急激な変化をもたらす希少な事象を予測することが有益である。
【０００６】
しかしながら、学習データとして時系列に得られる画像データは、継続的な事象に関するものが殆どであり、希少な事象に関する画像データを数多く取得することは困難である。そのため、得られた学習データを使用して機械学習を実行した場合に、希少な事象に関する学習データが継続的な事象に関する夥多な学習データに埋没してしまい、希少な事象に関する学習データによる訓練結果を予測モデルに適切に反映させることができない可能性がある。したがって、従来の方法では、継続的な事象を高精度に予測可能な予測モデルを構築することは可能であるものの、希少な事象を高精度に予測可能な予測モデルを構築することは困難であるという問題点があることを本件発明者らは見出した。
【０００７】
なお、この問題点は、時系列に得られる画像データのある時刻における画像サンプルから未来の時刻に生じ得る事象を予測する場面に特有のものではない。時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面で同様の問題点が生じる。ある時刻におけるサンプルから未来の時刻に生じ得る事象を予測する場面とは、例えば、バイタルデータから対象者の状態を予測する場面、人流データから人の流れの量を予測する場面、栽培状況を観測するセンサにより得られたセンシングデータから栽培状況を予測する場面、気象に関するデータから発電装置の発電量を予測する場面、等である。これらの場面において得られる所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。これらの場面でも、希少な事象に関する学習データを数多く取得することは困難である。そのため、希少な事象を高精度に予測可能な予測モデルを構築することは困難である。
【０００８】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、希少な事象に対する予測精度を高めるための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１０】
すなわち、本発明の一側面に係るモデル生成装置は、時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、を備える。
【００１１】
当該構成では、予測モデルの機械学習に使用される各学習データセットに希少度が設定される。希少度は、各学習データセットの希少性の度合いを示す。この希少度に応じて、各学習データセットの機械学習の程度を調整する。具体的には、予測モデルの機械学習において、希少度の高い学習データセットほど重点的に訓練する。これにより、希少度の高い学習データセットが希少度の低い学習データセットに埋没するのを防ぐことができ、予測モデルの習得する予測の能力に、希少度の高い学習データセットによる訓練結果を適切に反映させることができる。したがって、当該構成によれば、希少な事象に対する予測モデルの予測精度を高めることができる。
【００１２】
なお、「時系列に得られる」とは、時の流れにおける複数の時点で対象のデータが得られることを示す。データの得られるタイミングは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。データの得られるタイミングは、定期的であってもよいし、不定期であってもよい。「所定のデータ」は、何らかの特徴を含み得るデータであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。以下、センサにより得られる測定データを「センシングデータ」とも称する。所定のデータは、例えば、何らかの対象をセンサにより観察することで得られたセンシングデータであってもよい。センサは、例えば、カメラ、マイクロフォン、エンコーダ、Lidar（light detection and ranging）センサ、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、ＲＧＢ画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
【００１３】
「特徴情報」は、所定のデータに含まれ得る特徴に関するものであれば、その種類及びデータ形式はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「特徴」は、所定のデータから推定可能なあらゆる要素を含んでよい。移動体に関する予測に本発明を利用するケースでは、特徴は、例えば、移動体の進行する通路、移動体の進行方向に存在する対象物等に関してもよい。移動体は、例えば、飛行体（ドローン等）、車両（自動車等）等であってよい。移動体の進行する通路は、例えば、車両の走行可能な道路であってよい。移動体の進行方向に存在する対象物は、例えば、信号機、障害物（人、物）等であってよい。その他、特徴は、例えば、機械の状態（故障の有無等）、対象者の状態（眠気度、疲労度、余裕度、健康状態等）、人の流れ、物の流れ、栽培状況、発電量等に関してもよい。
【００１４】
「時刻」は、時の流れにおける任意の点を示す。「第１時刻」及び「第２時刻」はそれぞれ、時の流れの前後関係を示すために用いられる。第１時刻及び第２時刻それぞれのデータは、対象の時刻のみのデータにより構成されてもよいし、対象の時刻を含む所定の時間区間のデータにより構成されてもよい。「希少度」は、オペレータ等により手動的に設定されてもよいし、何らかの指標に基づいて自動的に設定されてもよい。「重点的に訓練する」とは、希少度の高い学習データセットの、予測モデルに習得させる予測の能力に影響を与える度合いが、希少度の低い学習データセットよりも大きくなるように機械学習に使用することを示す。
【００１５】
予測モデルは、機械学習により何らかの能力を獲得可能な学習モデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。学習モデルは、所定の能力を発揮するための演算処理に利用される演算パラメータを含むように構成されてよい。予測モデルには、例えば、ニューラルネットワーク等が用いられてよい。この場合、演算パラメータは、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。
【００１６】
上記一側面に係るモデル生成装置において、前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習におけるサンプリング回数を多くすることで、前記希少度の高い学習データセットほど重点的に訓練してもよい。つまり、学習の度合いは、各学習データセットのサンプルを取り出す頻度に基づいて制御されてよい。この場合、希少度の高い学習データセットほど頻繁に予測モデルの演算パラメータの値の更新に用いられる。当該構成によれば、希少度の高い学習データセットほど重点的に訓練する処理を適格に実現することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。
【００１７】
上記一側面に係るモデル生成装置において、前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習における重み付けを大きくすることで、前記希少度の高い学習データセットほど重点的に訓練してもよい。当該構成によれば、希少度の高い学習データセットほど重点的に訓練する処理を適格に実現することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。なお、機械学習における重み付けは、例えば、学習率により制御されてよい。学習率は、機械学習において予測モデルの演算パラメータの値を更新する度合いを定める。学習率が大きいほど演算パラメータの更新量が大きくなり、学習率が小さいほど演算パラメータの更新量が小さくなる。この場合、希少度が高いほど学習率を高くし、希少度が低いほど学習率を低くすることで、希少度の高い学習データセットほど重点的に訓練するようにしてもよい。
【００１８】
上記一側面に係るモデル生成装置において、前記各学習データセットの前記希少度は、前記特徴情報が前記所定のデータに現れる不規則性の程度に応じて設定されてよい。当該構成によれば、各学習データセットの希少度を的確に設定することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。なお、不規則性は、対象の特徴が所定のデータに現れる程度により表現されてよく、例えば、出現頻度、出現確率等の指標により評価されてよい。
【００１９】
上記一側面に係るモデル生成装置は、前記各学習データセットの前記希少度を設定する希少度設定部を更に備えてもよい。そして、前記希少度設定部は、前記各学習データセットについて、前記予測モデルによる前記予測の不一致性を前記第１時刻における前記第１サンプルから予測するように構成された不一致性予測器を含んでもよく、前記希少度設定部は、前記予測モデルによる前記予測の不一致性を前記不一致性予測器により予測した結果に応じて、前記各学習データセットの前記希少度を設定してもよい。不一致性予測器を利用することで、各学習データセットの希少度を設定する手間を低減することができる。なお、不一致性は、第１サンプルに対する予測モデルの予測のずれを示す。この不一致性を評価する指標には、例えば、予測モデルの出力値と正解との差分値、予測モデルの演算パラメータの調整に利用する誤差等が用いられてよい。
【００２０】
上記一側面に係るモデル生成装置は、前記各学習データセットの前記第１時刻における前記第１サンプル、及び前記予測モデルによる前記予測の不一致性の組み合わせによりそれぞれ構成される複数の不一致性学習データセットを取得する不一致性データ取得部と、機械学習により、前記各不一致性学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記予測モデルによる前記予測の不一致性を予測するように訓練された前記不一致性予測器を構築する不一致性学習処理部と、を更に備えてもよい。そして、前記学習処理部による前記予測モデルの訓練、及び前記不一致性学習処理部による前記不一致性予測器の訓練は交互に実行されてよい。当該構成によれば、希少な事象に対する予測モデルの予測精度を適切に高めることができる。
【００２１】
上記一側面に係るモデル生成装置において、前記不一致性学習処理部は、前記不一致性予測器の前記機械学習において、前記希少度に関係なく前記各不一致性学習データセットを均一に訓練してもよい。学習データを均一に訓練すると、希少な事象に関する学習データによる訓練結果は、夥多な事象（例えば、継続的な事象）に関する学習データによる訓練結果に埋没し得る。そのため、希少度に関係なく各不一致性学習データセットを均一に訓練すると、学習済みの不一致性予測器は、希少性の高いサンプルほど不一致性の予測の精度が悪くなるように構築される。すなわち、学習済みの不一致性予測器は、希少性の高いサンプルほど予測モデルが予測を誤る、換言すると、不一致性が大きくなると予測するように構築される。そのため、当該構成によれば、構築された学習済みの不一致性予測器により、各学習データセットの希少度を適切に設定することができる。
【００２２】
上記一側面に係るモデル生成装置において、前記特徴情報は、前記第２サンプルの特徴量を含んでもよい。当該構成によれば、任意の時刻における所定のデータから未来の時刻における所定のデータの特徴量を精度よく予測する予測モデルを構築することができる。なお、特徴量は、所定のデータから抽出される特徴を数値化することで得られる。対象となる特徴及び数値化の手法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【００２３】
上記一側面に係るモデル生成装置は、前記所定のデータの第３サンプルを特徴量に変換するように構成されたエンコーダ、及び前記特徴量から前記第３サンプルを復元すると共に、前記第３サンプルに含まれる特徴を推定するように構成されたデコーダを備える推定器を保持してもよい。前記特徴情報の前記特徴量は、前記推定器の前記エンコーダにより前記第２サンプルを変換することにより与えられてもよい。当該構成によれば、予測モデル及びデコーダにより、任意の時刻における所定のデータから未来の時刻における所定のデータに含まれる希少な特徴を精度よく予測可能な予測推定器を構築することができる。
【００２４】
上記各形態では、予測モデルは、第１時刻における第１サンプルから、第１時刻よりも未来の第２時刻における第２サンプルに含まれる特徴情報を予測するように訓練される。しかしながら、予測モデルに習得させる予測の能力は、このような例に限定されなくてもよい。上記各形態は、第１時刻における第１サンプルから第２時刻における第２サンプル及び特徴情報の少なくとも一方を予測するように予測モデルを訓練するように修正されてもよい。
【００２５】
例えば、本発明の一側面に係るモデル生成装置は、時系列に得られる所定のデータの第１時刻における第１サンプル、並びに前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプル及び当該第２サンプルに含まれる特徴情報の少なくともいずれかの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記第２サンプル及び前記特徴情報の少なくともいずれかを予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、を備えてもよい。
【００２６】
上記各形態は、時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面に適用可能である。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。ある時刻におけるサンプルから未来の時刻に生じ得る事象を予測する場面とは、例えば、車両のセンシングデータから車両の外部の状況を予測する場面、機械のセンシングデータから機械の状態を予測する場面、画像データ及びバイタルデータの少なくとも一方から対象者の状態を予測する場面、人流データから人の流れの量を予測する場面、栽培状況を観測するセンサにより得られたセンシングデータから栽培状況を予測する場面、気象に関するデータから発電装置の発電量を予測する場面、等であってよい。上記各形態は、これらの場面に適用されてもよい。
【００２７】
例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、画像データであってよく、前記特徴情報は、前記画像データに含まれる特徴に関してもよい。画像データに含まれる特徴は、例えば、画像データに写る対象物の属性等の推定結果であってよい。当該構成によれば、画像データに現れ得る未来の希少な事象を精度よく予測可能な予測モデルを構築することができる。
【００２８】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、センサにより得られるセンシングデータであってよく、前記特徴情報は、前記センシングデータに含まれる特徴に関してもよい。当該構成によれば、センシングデータに現れ得る未来の希少な事象を精度よく予測可能な予測モデルを構築することができる。
【００２９】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、車両の外部の状況を監視するように配置されたカメラにより得られた画像データであってよく、前記特徴情報は、前記画像データに写る対象物の属性に関してもよい。当該構成によれば、車両の外部における未来の状況を画像データから精度よく予測可能な予測モデルを構築することができる。
【００３０】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、製造ラインを構成する機械の状態を監視するセンサにより得られたセンシングデータであってよく、前記特徴情報は、前記機械の状態に関してもよい。当該構成によれば、機械の未来の状態をセンシングデータから精度よく予測可能な予測モデルを構築することができる。
【００３１】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、対象者のバイタルデータ及び対象者の写る画像データの少なくともいずれかであってよく、前記特徴情報は、前記対象者の状態に関してもよい。当該構成によれば、バイタルデータ及び画像データの少なくともいずれかから対象者の未来の状態を精度よく予測可能な予測モデルを構築することができる。
【００３２】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、人の流れに関連する人流データであってよく、前記特徴情報は、前記人の流れの量に関してもよい。当該構成によれば、未来における人の流れの量を人流データから精度よく予測可能な予測モデルを構築することができる。
【００３３】
なお、「人の流れ」は、歩行者の流れ、及び人の乗り得る移動体の流れの少なくとも一方を含んでよい。歩行者の流れは、例えば、所定の領域内に存在する人物の流れ（一例として、ある会場内の参加者の流れ）により表現されてもよい。また、移動体の流れは、例えば、車両等の交通の流れにより表現されてもよい。人流データは、人の流れに関連し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。人流データは、例えば、任意の場所を通過する人物を検知するように構成された人感センサ、ゲートの開閉を検知するように構成されたセンサ、ゲートを通過する人を検知するように構成されたセンサ、車両の通行量を検知するように構成されたセンサ、移動する人及び車両の少なくともいずれかに関する音を測定するように設置されたマイクロフォン、移動する人及び車両の少なくともいずれかを撮影するように設置されたカメラ等により得られてよい。人感センサは、例えば、赤外線センサであってよい。ゲートは、例えば、自動改札ゲート、建物に設置されたゲート（ドア等）、高速道路の出入口に設置されたゲート、駐車場等の所定の敷地の出入口に設置されたゲート等であってよい。また、人流データは、例えば、人又は車両の保持する装置の位置データ、当該装置の通信データ等を含んでもよい。位置データは、例えば、ＧＰＳ（Global Positioning System）測定器等により測定されてよい。また、人流データは、人の履歴（例えば、店舗の購入履歴）に関するデータを含んでもよい。
【００３４】
また、上記各形態のモデル生成装置により構築された学習済みの予測モデルを利用して、任意の時刻における所定のデータから未来の時刻における所定のデータに現れる各種の特徴を予測する予測装置が構成されてもよい。例えば、本発明の一側面に係る予測装置は、前記所定のデータの対象サンプルを取得する対象データ取得部と、上記いずれかの形態に係るモデル生成装置により構築された前記予測モデルを用いて、取得された前記対象サンプルから、前記対象サンプルを取得した時刻よりも未来の時刻において前記所定のデータに現れる特徴を予測する予測部と、前記特徴を予測した結果に関する情報を出力する出力部と、を備える。
【００３５】
上記各形態に係るモデル生成装置及び予測装置それぞれの別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る予測システムは、上記いずれかの形態に係るモデル生成装置及び予測装置により構成されてもよい。
【００３６】
例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、を実行する、情報処理方法である。
【００３７】
また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、時系列に得られる所定のデータの第１時刻における第１サンプル、及び前記第１時刻よりも未来の第２時刻における前記所定のデータの第２サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、機械学習により、前記各学習データセットについて、前記第１時刻における前記第１サンプルから、対応する前記第２時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、を実行させるための、プログラムである。
【発明の効果】
【００３８】
本発明によれば、希少な事象に対する予測精度を高めることができる。
【図面の簡単な説明】
【００３９】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【図４Ａ】図４Ａは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【図４Ｂ】図４Ｂは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【図４Ｃ】図４Ｃは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る予測装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係るモデル生成装置による推定器の機械学習に関する処理手順の一例を例示する。
【図７】図７は、実施の形態に係るモデル生成装置による予測モデルの機械学習に関する処理手順の一例を例示する。
【図８】図８は、実施の形態に係る予測装置の処理手順の一例を例示する。
【図９】図９は、本発明が適用される他の場面の一例を模式的に例示する。
【図１０】図１０は、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【図１１】図１１は、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【図１２】図１２は、本発明が適用される他の場面の一例を模式的に例示する。
【図１３】図１３は、他の形態に係る故障予測装置のハードウェア構成の一例を模式的に例示する。
【図１４】図１４は、他の形態に係る故障予測装置のソフトウェア構成の一例を模式的に例示する。
【図１５】図１５は、本発明が適用される他の場面の一例を模式的に例示する。
【図１６】図１６は、他の形態に係る状態予測装置のハードウェア構成の一例を模式的に例示する。
【図１７】図１７は、他の形態に係る状態予測装置のソフトウェア構成の一例を模式的に例示する。
【図１８】図１８は、本発明が適用される他の場面の一例を模式的に例示する。
【図１９】図１９は、本発明が適用される他の場面の一例を模式的に例示する。
【図２０】図２０は、他の形態に係る人流予測装置のハードウェア構成の一例を模式的に例示する。
【図２１】図２１は、他の形態に係る人流予測装置のソフトウェア構成の一例を模式的に例示する。
【図２２】図２２は、本発明が適用される他の場面の一例を模式的に例示する。
【図２３】図２３は、他の形態に係る状況予測装置のハードウェア構成の一例を模式的に例示する。
【図２４】図２４は、他の形態に係る状況予測装置のソフトウェア構成の一例を模式的に例示する。
【図２５】図２５は、本発明が適用される他の場面の一例を模式的に例示する。
【図２６】図２６は、他の形態に係る発電量予測装置のハードウェア構成の一例を模式的に例示する。
【図２７】図２７は、他の形態に係る発電量予測装置のソフトウェア構成の一例を模式的に例示する。
【図２８】図２８は、本発明が適用される他の場面の一例を模式的に例示する。
【発明を実施するための形態】
【００４０】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４１】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を適用した場面の一例を模式的に例示する。図１に示されるとおり、本実施形態に係る予測システム１００は、モデル生成装置１及び予測装置２を備えている。モデル生成装置１及び予測装置２は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００４２】
本実施形態に係るモデル生成装置１は、機械学習により、任意の時刻における所定のデータから当該任意の時刻よりも未来の時刻における所定のデータに現れる特徴を予測可能に訓練された予測モデル５５を構築するように構成されたコンピュータである。具体的には、モデル生成装置１は、時系列に得られる所定のデータの第１時刻における第１サンプル３２１、及び第１時刻よりも未来の時刻における所定のデータの第２サンプル３２２に含まれる特徴情報３２３の組み合わせによりそれぞれ構成される複数の第２学習データセット３２を取得する。第２学習データセット３２は、本発明の「学習データセット」の一例である。
【００４３】
「時系列に得られる」とは、時の流れにおける複数の時点で対象のデータが得られることを示す。データの得られるタイミングは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。データの得られるタイミングは、定期的であってもよいし、不定期であってもよい。「時刻」は、時の流れにおける任意の点を示す。図１の例では、時刻ｔが第１時刻の一例であり、時刻（ｔ＋ａ）が第２時刻の一例である。また、時刻（ｔ−ａ）が第１時刻の一例であり、時刻ｔが第２時刻の一例である。このように、「第１時刻」及び「第２時刻」はそれぞれ、時の流れの前後関係を示すために用いられる。なお、第１時刻と第２時刻との間隔ａは、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。第１時刻及び第２時刻それぞれの各サンプル（３２１、３２２）は、第１時刻及び第２時刻それぞれの時刻のみのデータにより構成されてもよいし、第１時刻及び第２時刻それぞれの時刻を含む所定の時間区間のデータにより構成されてもよい。
【００４４】
「所定のデータ」は、何らかの特徴を含み得るデータであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。所定のデータは、例えば、何らかの対象をセンサにより観察することで得られたデータであってもよい。本実施形態では、所定のデータは、センサＳにより取得可能なセンシングデータである。
【００４５】
特徴情報３２３は、所定のデータに含まれ得る特徴に関するものであれば、その種類及びデータ形式はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「特徴」は、所定のデータから推定可能なあらゆる要素を含んでよい。移動体に関する予測に本発明を利用するケースでは、特徴は、例えば、移動体の進行する通路、移動体の進行方向に存在する物体等の対象物の属性に関してもよい。移動体は、例えば、飛行体（ドローン等）、車両（自動車等）等であってよい。移動体の進行する通路は、例えば、車両の走行可能な道路であってよい。移動体の進行方向に存在する物体は、例えば、信号機、障害物（人、物）等であってよい。その他、特徴は、例えば、機械の状態（故障の有無等）、対象者の状態（眠気度、疲労度、余裕度、健康状態等）、人の流れ、物の流れ、栽培状況、発電量等に関してもよい。
【００４６】
本実施形態に係るモデル生成装置１は、機械学習により、各第２学習データセット３２について、第１時刻における第１サンプル３２１から、第２時刻における特徴情報３２３を予測するように訓練された予測モデル５５を構築する。予測モデル５５は、機械学習により何らかの能力を獲得可能な学習モデルにより構成される。後述するとおり、本実施形態では、予測モデル５５は、ニューラルネットワークにより構成される。
【００４７】
各第２学習データセット３２には、希少度３２５が設定されている。希少度３２５は、各第２学習データセット３２の希少性の度合いを示す。本実施形態に係るモデル生成装置１は、この希少度３２５に応じて、各第２学習データセット３２の機械学習の程度を調整する。すなわち、機械学習において、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。「重点的に訓練する」とは、希少度３２５の高い第２学習データセット３２の、予測モデル５５に習得させる予測の能力に影響を与える度合いが、希少度３２５の低い第２学習データセット３２よりも大きくなるように機械学習に使用することを示す。
【００４８】
一方、本実施形態に係る予測装置２は、モデル生成装置１により構築された学習済みの予測モデル５５を利用して、任意の時刻における所定のデータから、当該任意の時刻よりも未来の時刻における所定のデータに現れる特徴を予測するように構成されたコンピュータである。具体的に、本実施形態に係る予測装置２は、所定のデータの対象サンプル２２１を取得する。本実施形態では、予測装置２は、センサＳに接続される。予測装置２は、センサＳから所定のデータの対象サンプル２２１を取得する。
【００４９】
センサＳの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳは、例えば、カメラ、マイクロフォン、エンコーダ、Lidarセンサ、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、ＲＧＢ画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
【００５０】
次に、本実施形態に係る予測装置２は、上記モデル生成装置１により構築された学習済みの予測モデル５５を用いて、取得された対象サンプル２２１から、対象サンプル２２１を取得した時刻よりも未来の時刻において所定のデータに現れる特徴２２３を予測する。そして、予測装置２は、特徴２２３を予測した結果に関する情報を出力する。
【００５１】
以上のとおり、本実施形態では、予測モデル５５の機械学習において、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。これにより、希少度３２５の高い第２学習データセット３２が希少度３２５の低い第２学習データセット３２に埋没するのを防ぐことができ、予測モデル５５に習得させる予測の能力に、希少度３２５の高い第２学習データセット３２による訓練結果を適切に反映させることができる。したがって、本実施形態によれば、希少な事象を精度よく予測可能な予測モデル５５を構築することができる。また、予測装置２において、そのように構築された予測モデル５５を利用することで、特徴２２３の予測の精度を高めることができる。
【００５２】
§２  構成例
［ハードウェア構成］
＜モデル生成装置＞
次に、図２を用いて、本実施形態に係るモデル生成装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係るモデル生成装置１のハードウェア構成の一例を模式的に例示する。
【００５３】
図２に示されるとおり、本実施形態に係るモデル生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００５４】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（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）等のデータサーバであってよい。この場合、制御部１１は、通信インタフェース１３を利用して、ネットワークを介してデータサーバに第１学習結果データ１２１を格納してもよい。また、外部記憶装置は、例えば、モデル生成装置１に接続された外付けの記憶装置であってもよい。
【０１２２】
これにより、第１学習結果データ１２１の保存が完了すると、制御部１１は、推定器５１の機械学習に関する一連の処理を終了する。
【０１２３】
なお、学習済みの推定器５１を構築した後、制御部１１は、生成された第１学習結果データ１２１を任意のタイミングで予測装置２に転送してもよい。予測装置２は、モデル生成装置１から転送を受け付けることで第１学習結果データ１２１を取得してもよいし、モデル生成装置１又はデータサーバにアクセスすることで第１学習結果データ１２１を取得してもよい。また、第１学習結果データ１２１は、予測装置２に予め組み込まれてもよい。予測装置２がエンコーダ５２を利用しない場合には、予測装置２の保持する第１学習結果データ１２１からエンコーダ５２に関するデータは省略されてよい。
【０１２４】
また、制御部１１は、上記ステップＳ１０１〜１０３の処理を定期的に繰り返すことで、第１学習結果データ１２１を定期的に更新してもよい。この繰り返す際には、第１学習データセット３１の変更、修正、追加、削除等の更新が適宜実行されてよい。そして、制御部１１は、更新された第１学習結果データ１２１を機械学習の実行毎に予測装置２に転送することで、予測装置２の保持する第１学習結果データ１２１を定期的に更新してもよい。
【０１２５】
（Ｂ）予測モデル及び不一致性予測器の機械学習
次に、図７を用いて、予測モデル５５及び不一致性予測器５７の機械学習に関するモデル生成装置１の動作例について説明する。図７は、モデル生成装置１による予測モデル５５及び不一致性予測器５７の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１２６】
（ステップＳ２０１）
ステップＳ２０１では、制御部１１は、第２データ取得部１１４として動作し、時系列に得られる所定のデータの第１時刻における第１サンプル３２１、及び第１時刻よりも未来の第２時刻における第２サンプル３２２に含まれる特徴情報３２３の組み合わせによりそれぞれ構成される複数の第２学習データセット３２を取得する。
【０１２７】
各第２学習データセット３２を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサＳと同種のセンサを用意し、用意したセンサにより様々な条件で観測を行うことで、時系列に所定のデータを取得する。続いて、時系列に得られた所定のデータから第１サンプル３２１及び第２サンプル３２２を適宜抽出する。第１サンプル３２１及び第２サンプル３２２を抽出した所定のデータは、上記各第１学習データセット３１の生成に利用した所定のデータと同じであってよい。
【０１２８】
次に、第２サンプル３２２から特徴情報３２３を取得する。本実施形態では、特徴情報３２３は、第２サンプル３２２の特徴量を含むように構成される。第２サンプル３２２から特徴量を算出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、特徴量の抽出に関する公知の演算方法により、第２サンプル３２２から特徴量を算出してもよい。また、本実施形態では、上記推定器５１の機械学習により、所定のデータのサンプルを特徴量に変換する学習済みのエンコーダ５２が構築されている。そのため、特徴情報３２３を構成する特徴量は、学習済みのエンコーダ５２により第２サンプル３２２を変換することで与えられてもよい。具体的には、エンコーダ５２の入力層５２１に第２サンプル３２２を入力し、入力側から順に各層５２１〜５２３に含まれる各ニューロンの発火判定を行う。この演算処理により、エンコーダ５２の出力層５２３から出力される出力値（特徴量）を特徴情報３２３として取得する。そして、得られた特徴情報３２３を第１サンプル３２１に関連付ける。これにより、各第２学習データセット３２を生成することができる。
【０１２９】
更に、生成された各第２学習データセット３２に、各第２学習データセット３２の希少性の度合いを示す希少度３２５を設定する。希少性は、所定のデータから得られる程度が少ないことである。本実施形態では、後述するとおり、ステップＳ２０３の判定により、ステップＳ２０２の処理を繰り返す過程で、希少度３２５は、各第２学習データセット３２の希少性の度合いを示すように更新される。そのため、本ステップＳ２０１により各第２学習データセット３２を取得する段階では、希少度３２５は、ランダム、テンプレート等により適宜に設定されてもよい。また、希少度３２５は、オペレータの指定により設定されてもよい。
【０１３０】
各第２学習データセット３２は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各第２学習データセット３２の生成は、モデル生成装置１により行われてもよいし、モデル生成装置１以外の他のコンピュータにより行われてもよい。各第２学習データセット３２をモデル生成装置１が生成する場合、制御部１１は、自動的に又はオペレータの入力装置１４を介した操作により手動的に上記一連の処理を実行することで、複数の第２学習データセット３２を取得する。一方、各第２学習データセット３２を他のコンピュータが生成する場合、他のコンピュータは、学習済みの推定器５１のエンコーダ５２を利用するために、モデル生成装置１から第１学習結果データ１２１を取得してもよい。デコーダ５３を利用しない場合、他のコンピュータの取得する第１学習結果データ１２１からデコーダ５３に関するデータは省略されてよい。これにより、他のコンピュータは、学習済みの推定器５１のエンコーダ５２を利用して、自動的に又は手動的に上記一連の処理を実行することで、各第２学習データセット３２を生成することができる。制御部１１は、例えば、ネットワーク、記憶媒体９１等を介して、他のコンピュータにより生成された複数の第２学習データセット３２を取得する。一部の第２学習データセット３２がモデル生成装置１により生成され、その他の第２学習データセット３２が１又は複数の他のコンピュータにより生成されてもよい。また、各第２学習データセット３２の生成及び希少度３２５の設定は別々のコンピュータで実行されてもよい。
【０１３１】
取得される第２学習データセット３２の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第２学習データセット３２を取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１３２】
（ステップＳ２０２）
ステップＳ２０２では、制御部１１は、第２学習処理部１１５として動作し、複数の第２学習データセット３２を使用して、予測モデル５５の機械学習を実行する。本実施形態では、制御部１１は、機械学習により、各第２学習データセット３２について、第１サンプル３２１を入力すると、対応する特徴情報３２３に適合する出力値を出力するように予測モデル５５を訓練する。これにより、制御部１１は、各第２学習データセット３２について、第１時刻における第１サンプル３２１から第２時刻における特徴情報３２３を予測するように訓練された予測モデル５５を構築する。
【０１３３】
機械学習の具体的な処理手順は、基本的には、推定器５１の機械学習の処理手順と同様であってよい。制御部１１は、まず、処理対象となる予測モデル５５を用意する。用意する予測モデル５５の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合には、制御部１１は、過去の機械学習を行うことで得られた学習結果データに基づいて、予測モデル５５を用意してもよい。後述するステップＳ２０３の条件分岐により、再度、ステップＳ２０２を実行する場合、制御部１１は、前のステップＳ２０２の処理を実行したことで得られた学習結果に基づいて、処理対象となる予測モデル５５を用意する。
【０１３４】
次に、制御部１１は、各第２学習データセット３２に含まれる第１サンプル３２１を入力データとして利用し、特徴情報３２３を教師データとして利用して、予測モデル５５を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【０１３５】
例えば、第１のステップでは、制御部１１は、各第２学習データセット３２について、第１サンプル３２１を予測モデル５５に入力し、予測モデル５５の演算処理を実行する。すなわち、制御部１１は、予測モデル５５の入力層５５１に第１サンプル３２１を入力し、入力側から順に各層５５１〜５５３に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部１１は、予測モデル５５の出力層５５３から、第１時刻における第１サンプル３２１から第２時刻における特徴情報３２３を予測した結果に対応する出力値を取得する。
【０１３６】
第２のステップでは、制御部１１は、出力層５５３から取得された出力値と対応する特徴情報３２３との誤差を損失関数に基づいて算出する。予測モデル５５の誤差を計算するのに利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第３のステップでは、制御部１１は、誤差逆伝播法により、算出された出力値の誤差を用いて、予測モデル５５における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、予測モデル５５の演算パラメータ、すなわち、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【０１３７】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各第２学習データセット３２について、出力層５５３から出力される出力値と特徴情報３２３との誤差の和が小さくなるように、予測モデル５５の演算パラメータの値を調整する。例えば、制御部１１は、各第２学習データセット３２について、出力層５５３から得られる出力値と特徴情報３２３との誤差の和が閾値以下になるまで、上記第１〜第４による演算パラメータの値の調整を繰り返してもよい。閾値は、実施の形態に応じて適宜設定されてよい。
【０１３８】
この予測モデル５５の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。この場合、上記第１〜第４のステップの処理を実行する前に、制御部１１は、複数の第２学習データセット３２から任意数のサンプル（第２学習データセット３２）を抽出することでミニバッチを生成する。ミニバッチのサイズは、実施の形態に応じて適宜設定されてよい。そして、制御部１１は、生成されたミニバッチに含まれる各第２学習データセット３２について、上記第１〜第４のステップの処理を実行する。第１〜第４のステップを繰り返す場合には、制御部１１は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第１〜第４のステップの処理を実行する。
【０１３９】
本実施形態では、各第２学習データセット３２には、各第２学習データセット３２の希少性の度合いを示す希少度３２５が設定されている。制御部１１は、上記予測モデル５５の機械学習において、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。重点的に訓練する方法は、予測モデル５５に獲得される予測能力において、希少度３２５の高い第２学習データセット３２の影響度合いが、希少度３２５の低い第２学習データセット３２よりも大きくなる方法であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、制御部１１は、以下の２つの方法のうちの少なくともいずれかの方法により、上記予測モデル５５の機械学習において、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。
【０１４０】
（Ａ）サンプリング回数
第１の方法では、制御部１１は、希少度３２５の高い第２学習データセット３２ほど上記機械学習におけるサンプリング回数を多くすることで、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。つまり、第１の方法では、各第２学習データセット３２の学習の度合いは、各第２学習データセット３２をサンプルとして取り出す頻度に基づいて制御される。
【０１４１】
一例として、制御部１１は、上記ミニバッチの生成に際して、制御部１１は、希少度３２５の低い第２学習データセット３２と比べて、希少度３２５の高い第２学習データセット３２のミニバッチに抽出される確率を高くする。すなわち、希少度３２５の低い第２学習データセット３２と比べて、希少度３２５の高い第２学習データセット３２がミニバッチに頻繁に抽出されやすくする。希少度３２５と抽出確率との具体的な対応関係は適宜決定されてよい。
【０１４２】
これにより、希少度３２５の低い第２学習データセット３２に比べて、希少度３２５の高い第２学習データセット３２のサンプリング回数を多くすることができる。このサンプリング回数が多くなれば、予測モデル５５の演算パラメータの値の調整に使用される回数が多くなる。よって、この第１の方法によれば、予測モデル５５の機械学習において、希少度３２５の低い第２学習データセット３２よりも、希少度３２５の高い第２学習データセット３２の影響度合いを大きくすることができる。
【０１４３】
（Ｂ）重み付け
第２の方法では、制御部１１は、希少度３２５の高い第２学習データセット３２ほど上記機械学習における重み付けを大きくすることで、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。
【０１４４】
一例として、制御部１１は、希少度３２５に応じて、上記学習率の値を設定する。すなわち、制御部１１は、希少度３２５が高いほど学習率を大きな値に設定し、希少度３２５が低いほど学習率を小さな値に設定する。希少度３２５と学習率の値との具体的な対応関係は、実施の形態に応じて適宜決定されてよい。
【０１４５】
これにより、希少度３２５の低い第２学習データセット３２に比べて、希少度３２５の高い第２学習データセット３２の学習率の値が大きく設定される。学習率の値が大きくなれば、上記第４ステップでは、対象の第２学習データセット３２について、予測モデル５５の演算パラメータの値を調整する際の更新量が大きくなる、すなわち、機械学習における重み付けが大きくなる。よって、この第２の方法によれば、予測モデル５５の機械学習において、希少度３２５の低い第２学習データセット３２よりも、希少度３２５の高い第２学習データセット３２の影響度合いを大きくすることができる。
【０１４６】
以上の機械学習の結果、制御部１１は、各第２学習データセット３２について、第１時刻における第１サンプル３２１を入力すると、第２時刻における特徴情報３２３に適合する出力値を出力するように訓練された予測モデル５５を構築することができる。予測モデル５５の機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０１４７】
（ステップＳ２０３）
ステップＳ２０３では、制御部１１は、予測モデル５５（及び不一致性予測器５７）の機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、実施の形態に応じて適宜決定されてよい。
【０１４８】
例えば、予測モデル５５の機械学習を実施する規定回数が設定されてよい。この規定回数は、モデル生成装置１に固有に設定されてもよいし、オペレータの指定により設定されてもよい。この場合、制御部１１は、上記ステップＳ２０２（又は、後述するステップＳ２０５）の機械学習を実行した回数が規定回数に到達したか否かを判定する。上記ステップＳ２０２の機械学習を実行した回数が規定回数に到達していないと判定した場合、制御部１１は、次のステップＳ２０４に処理を進める。一方、上記ステップＳ２０２の機械学習を実行した回数が規定回数に到達したと判定した場合には、制御部１１は、ステップＳ２０２の機械学習の実行を終了し、次のステップＳ２０７に処理を進める。
【０１４９】
また、例えば、制御部１１は、評価用データを利用して、予測モデル５５の予測の精度を評価し、評価された予測モデル５５の精度が所定の基準を満たしているか否かに基づいて、機械学習の処理を終了するか否かを判定してもよい。評価用データは、第２学習データセット３２とそれぞれ同様の複数のデータセットを含んでよい。つまり、評価用の各データセットは、第１時刻のサンプル及び第２時刻の特徴情報の正解データの組み合わせにより構成されてよい。この評価用の各データセットは、希少度３２５の高い第２学習データセット３２から選択されてよい。或いは、評価用の各データセットは、希少度３２５の高い第２学習データセット３２として利用可能に生成されてよい。希少度３２５が高いか否かは、例えば、閾値との比較に基づいて評価されてよい。この場合、制御部１１は、ステップＳ２０２により学習済みの予測モデル５５に、評価用の各データセットに含まれるサンプルを入力し、予測モデル５５の演算処理を実行する。これにより、制御部１１は、第１時刻のサンプルから第２時刻の特徴情報を予測した結果に対応する出力値を取得する。制御部１１は、得られた出力値と特徴情報の正解データとを照合し、評価用の各データセットに対する予測モデル５５の予測が正しいか否かを判定することで、予測モデル５５の予測精度を評価する。この予測精度が所定の基準を満たしていない（例えば、予測精度が閾値以下である）場合、制御部１１は、機械学習の処理を繰り返すと判定し、次のステップＳ２０４に処理を進める。一方、予測精度が所定の基準を満たしている場合、制御部１１は、機械学習の処理を終了すると判定し、次のステップＳ２０７に処理を進める。
【０１５０】
なお、図７に示されるとおり、ステップＳ２０４に処理を進めた場合、ステップＳ２０４以降の処理が実行された後に、ステップＳ２０２へと処理が戻る。そのため、ステップＳ２０４が選択された場合、制御部１１は、ステップＳ２０２による暫定的な学習結果、すなわち、学習済みの予測モデル５５に関する情報を示すデータを所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部１１内のＲＡＭ、記憶部１２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【０１５１】
（ステップＳ２０４）
ステップＳ２０４では、制御部１１は、第３データ取得部１１７として動作し、各第２学習データセット３２の第１時刻における第１サンプル３２１、及び当該第１サンプル３２１に対する予測モデル５５による予測の不一致性３３３の組み合わせによりそれぞれ構成される複数の第３学習データセット３３を取得する。
【０１５２】
各第３学習データセット３３は、ステップＳ２０２により構築された学習済みの予測モデル５５及び各第２学習データセット３２を利用して、適宜生成されてよい。例えば、ステップＳ２０２により構築された学習済みの予測モデル５５に各第２学習データセット３２の第１サンプル３２１を入力し、予測モデル５５の演算処理を実行する。これにより、第１時刻における第１サンプル３２１から第２時刻における特徴情報を予測した結果に対応する出力値を予測モデル５５から取得する。この予測モデル５５の出力値と対応する特徴情報３２３（正解データ）との比較に基づいて、予測の不一致性３３３を算出することができる。例えば、予測モデル５５の出力値と対応する特徴情報３２３との誤差を損失関数により算出し、算出された誤差を不一致性３３３として取得してもよい。その他の誤差の評価関数を利用して、不一致性３３３を算出してもよい。また、例えば、予測モデル５５の出力値と対応する特徴情報３２３との差分値を不一致性３３３として算出してもよい。そして、算出された不一致性３３３と第１サンプル３２１とを関連付ける。これにより、各第３学習データセット３３を生成することができる。上記ステップＳ２０３の判定により、ステップＳ２０４の処理が繰り返される場合、各第３学習データセット３３の生成は、本ステップＳ２０４が繰り返される度に実行されてよい。
【０１５３】
各第３学習データセット３３は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各第３学習データセット３３の生成は、モデル生成装置１により行われてもよいし、モデル生成装置１以外の他のコンピュータにより行われてもよい。各第３学習データセット３３をモデル生成装置１が生成する場合、制御部１１は、自動的に又はオペレータの入力装置１４を介した操作により手動的に上記一連の処理を実行することで、複数の第３学習データセット３３を取得する。一方、各第３学習データセット３３を他のコンピュータが生成する場合、他のコンピュータは、学習済みの予測モデル５５を利用するために、モデル生成装置１からステップＳ２０２の学習結果のデータを取得する。例えば、他のコンピュータは、所定の記憶領域に保存された学習結果を示すデータを取得してもよい。また、他のコンピュータは、各第２学習データセット３２の第１サンプル３２１を適宜取得してよい。これにより、他のコンピュータは、予測モデル５５を利用して、自動的に又は手動的に上記一連の処理を実行することで、各第３学習データセット３３を生成する。制御部１１は、例えば、ネットワーク、記憶媒体９１等を介して、他のコンピュータにより生成された複数の第３学習データセット３３を取得する。一部の第３学習データセット３３がモデル生成装置１により生成され、その他の第３学習データセット３３が１又は複数の他のコンピュータにより生成されてもよい。
【０１５４】
取得される第３学習データセット３３の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第３学習データセット３３を取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０１５５】
（ステップＳ２０５）
ステップＳ２０５では、制御部１１は、第３学習処理部１１８として動作し、複数の第３学習データセット３３を使用して、不一致性予測器５７の機械学習を実行する。本実施形態では、制御部１１は、機械学習により、各第３学習データセット３３について、第１サンプル３２１を入力すると、対応する不一致性３３３に適合する出力値を出力するように不一致性予測器５７を訓練する。これにより、制御部１１は、各第３学習データセット３３について、第１時刻における第１サンプル３２１から、予測モデル５５による予測の不一致性３３３を予測するように訓練された不一致性予測器５７を構築する。つまり、不一致性予測器５７は、各第２学習データセット３２について、予測モデル５５による予測の不一致性を第１時刻における第１サンプル３２１から予測するように構成される。
【０１５６】
機械学習の具体的な処理手順は、基本的には、推定器５１の機械学習の処理手順と同様であってよい。制御部１１は、まず、処理対象となる不一致性予測器５７を用意する。用意する不一致性予測器５７の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。学習済みの不一致性予測器５７が得られている、すなわち、不一致性予測器５７の機械学習が既に実行されている場合には、過去の機械学習の結果により得られた学習結果データに基づいて、処理対象となる不一致性予測器５７を用意してもよい。
【０１５７】
次に、制御部１１は、各第３学習データセット３３に含まれる第１サンプル３２１を入力データとして利用し、不一致性３３３を教師データとして利用して、不一致性予測器５７を構成するニューラルネットワークの学習処理を実行する。この学習処理には、上記推定器５１等と同様に、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【０１５８】
例えば、第１のステップでは、制御部１１は、各第３学習データセット３３について、第１サンプル３２１を不一致性予測器５７に入力し、不一致性予測器５７の演算処理を実行する。すなわち、制御部１１は、不一致性予測器５７の入力層５７１に第１サンプル３２１を入力し、入力側から順に各層５７１〜５７３に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部１１は、不一致性予測器５７の出力層５７３から、第１サンプル３２１に対する予測モデル５５の予測の不一致性を予測した結果に対応する出力値を取得する。
【０１５９】
第２のステップでは、制御部１１は、出力層５７３から取得された出力値と対応する不一致性３３３（正解データ）との誤差を損失関数に基づいて算出する。不一致性予測器５７の誤差を計算するのに利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第３のステップでは、制御部１１は、誤差逆伝播法により、算出された出力値の誤差を用いて、不一致性予測器５７における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第４のステップでは、制御部１１は、算出された各誤差に基づいて、不一致性予測器５７の演算パラメータ、すなわち、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【０１６０】
制御部１１は、上記第１〜第４のステップを繰り返すことで、各第３学習データセット３３について、出力層５７３から出力される出力値と不一致性３３３との誤差の和が小さくなるように、不一致性予測器５７の演算パラメータの値を調整する。例えば、制御部１１は、各第３学習データセット３３について、出力層５７３から出力される出力値と不一致性３３３との誤差の和が閾値以下になるまで、上記第１〜第４による演算パラメータの値の調整を繰り返してもよい。閾値は、実施の形態に応じて適宜設定されてよい。
【０１６１】
この不一致性予測器５７の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。この場合、上記第１〜第４のステップの処理を実行する前に、制御部１１は、複数の第３学習データセット３３から任意数のサンプル（第３学習データセット３３）を抽出することでミニバッチを生成する。ミニバッチのサイズは、実施の形態に応じて適宜設定されてよい。そして、制御部１１は、生成されたミニバッチに含まれる各第３学習データセット３３について、上記第１〜第４のステップの処理を実行する。第１〜第４のステップを繰り返す場合には、制御部１１は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第１〜第４のステップの処理を実行する。
【０１６２】
本実施形態では、制御部１１は、上記予測モデル５５の機械学習とは異なり、不一致性予測器５７の機械学習において、希少度３２５とは無関係に、各第３学習データセット３３を均一に訓練する。すなわち、制御部１１は、不一致性予測器５７については、上記各方法による希少度３２５に応じた機械学習の程度の調整を実施しない。例えば、ミニバッチを生成する場合、制御部１１は、複数の第３学習データセット３３から偏りなくランダムにサンプル（第３学習データセット３３）を抽出する。また、制御部１１は、各第３学習データセット３３に対する学習率を同じ値に設定する。なお、「均一に訓練する」ことは、与えられた希少度３２５とは無関係に訓練することを指し、例えば、ランダムにミニバッチを生成したこと等により、意図しない機械学習の不均一性が結果的に発生することを含んでよい。
【０１６３】
以上の機械学習の結果、制御部１１は、各第３学習データセット３３について、第１時刻における第１サンプル３２１を入力すると、当該第１サンプル３２１に対する予測モデル５５の予測の不一致性３３３に適合する出力値を出力するように訓練された不一致性予測器５７を構築することができる。不一致性予測器５７の機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０１６４】
（ステップＳ２０６）
ステップＳ２０６では、制御部１１は、希少度設定部１１９として動作し、各第２学習データセット３２の希少度３２５を設定（更新）する。本実施形態では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７を利用して、各第２学習データセット３２の希少度３２５を設定する。
【０１６５】
制御部１１は、各第２学習データセット３２の第１サンプル３２１を不一致性予測器５７に入力し、不一致性予測器５７の演算処理を実行する。これにより、制御部１１は、当該第１サンプル３２１に対する予測モデル５５の予測の不一致性を予測した結果に対応する出力値を不一致性予測器５７から取得する。制御部１１は、この不一致性の予測の結果（すなわち、予測される不一致性）に応じて、各第２学習データセット３２の希少度３２５を設定する。具体的には、制御部１１は、予測される不一致性が大きいほど希少度３２５を高く設定し、予測される不一致性が小さいほど希少度３２５を小さく設定する。不一致性の予測の結果と希少度３２５との具体的な対応関係は、実施の形態に応じて適宜決定されてよい。
【０１６６】
上記ステップＳ２０５による不一致性予測器５７の機械学習では、制御部１１は、希少度３２５に関係なく、各第３学習データセット３３を訓練する。学習データを均一に訓練すると、希少な事象に関する学習データによる訓練結果は、夥多な事象（例えば、継続的な事象）に関する学習データによる訓練結果に埋没し得る。そのため、希少度３２５に関係なく各第３学習データセット３３を訓練すると、第１サンプル３２１から希少性の高い第２サンプル３２２の特徴情報３２３を予測モデル５５が予測するケースで、学習済みの不一致性予測器５７は、予測モデル５５の予測の不一致性を予測する精度が悪くなるように構築される。すなわち、学習済みの不一致性予測器５７は、希少性の高い特徴情報３２３に関連付けられた第１サンプル３２１ほど予測モデル５５が予測を誤る、換言すると、不一致性が大きくなると予測するように構築される。そのため、上記ステップＳ２０５により訓練された不一致性予測器５７によれば、各第２学習データセット３２の希少性を適切に評価することができる。
【０１６７】
本実施形態では、各第２学習データセット３２の希少度３２５は、不一致性予測器５７の予測する不一致性に応じて設定されることで、結果的に、対応する特徴情報３２３が所定のデータに現れる不規則性の程度に応じて設定される。つまり、特徴情報３２３の示す特徴の所定のデータに現れる不規則性が高いほど、その事象の生じる可能性が低いため、第２学習データセット３２のデータ群の中で、その不規則性の高い特徴情報３２３を含む第２学習データセット３２の件数は少なくなる。これに応じて、不規則性の高い特徴情報３２３に関連付けられた第１サンプル３２１を含む第３学習データセット３３の件数も少なくなる。そのため、上記のとおり、均一に訓練された不一致性予測器５７は、この第１サンプル３２１に対する不一致性の予測の精度が悪くなる、換言すると、不一致性が大きくなると予測し得る。その結果、不規則性の高い特徴情報３２３を含む第２学習データセット３２の希少度３２５は高く設定される。したがって、本実施形態では、制御部１１は、均一に訓練された不一致性予測器５７を利用することで、特徴情報３２３が所定のデータに現れる不規則性の程度に応じて、各第２学習データセット３２の希少度３２５を設定する。希少度３２５の設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０１６８】
なお、ステップＳ２０３の条件分岐により、ステップＳ２０２及びステップＳ２０４〜ステップＳ２０６の一連の処理が繰り返される場合、ステップＳ２０２による予測モデル５５の訓練、及びステップＳ２０５による不一致性予測器５７の訓練が交互に繰り返し実行される。この場合、ステップＳ２０４では、更新された予測モデル５５により、各第３学習データセット３３が得られる。また、ステップＳ２０６では、更新された不一致性予測器５７により、各第２学習データセット３２の希少度３２５が設定（更新）される。
【０１６９】
この過程において、制御部１１は、予測モデル５５の機械学習では、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する一方で、不一致性予測器５７の機械学習では、各第３学習データセット３３を均一に訓練する。これにより、予測モデル５５には、希少度３２５の高い第２学習データセット３２による訓練結果が多く蓄積されていくのに対して、不一致性予測器５７には、各第３学習データセット３３による訓練結果が均一に蓄積される。その結果、希少性の高いサンプルに対する予測モデル５５の予測精度は向上していくのに対して、希少性の高いサンプルに対する不一致性予測器５７の予測精度は、予測モデル５５と比べて向上しない。したがって、上記一連の処理を繰り返す過程では、不一致性予測器５７を利用して各第２学習データセット３２の希少度３２５を適切に設定しつつ、希少性の高いサンプルに対する予測モデル５５の予測精度の向上を図ることができる。
【０１７０】
（ステップＳ２０７）
ステップＳ２０７では、制御部１１は、第２保存処理部１１６として動作し、機械学習により構築された学習済みの予測モデル５５に関する情報を所定の記憶領域に保存する。本実施形態では、制御部１１は、ステップＳ２０２の機械学習により構築された学習済みの予測モデル５５の構造及び演算パラメータを示す情報を第２学習結果データ１２３として生成する。そして、制御部１１は、生成された第２学習結果データ１２３を所定の記憶領域に保存する。制御部１１は、学習済みの不一致性予測器５７についても、学習結果データを生成し、生成された学習結果データを所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部１１内のＲＡＭ、記憶部１２、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。第２学習結果データ１２３の保存が完了すると、制御部１１は、予測モデル５５及び不一致性予測器５７の機械学習に関する一連の処理を終了する。
【０１７１】
なお、学習済みの予測モデル５５を構築した後、制御部１１は、生成された第２学習結果データ１２３を任意のタイミングで予測装置２に転送してもよい。予測装置２は、モデル生成装置１から転送を受け付けることで第２学習結果データ１２３を取得してもよいし、モデル生成装置１又はデータサーバにアクセスすることで第２学習結果データ１２３を取得してもよい。また、第２学習結果データ１２３は、予測装置２に予め組み込まれてもよい。
【０１７２】
また、制御部１１は、上記ステップＳ２０１〜２０７の処理を定期的に繰り返すことで、第２学習結果データ１２３を定期的に更新してもよい。この繰り返す際には、第２学習データセット３２の変更、修正、追加、削除等の更新が適宜実行されてよい。そして、制御部１１は、更新された第２学習結果データ１２３を機械学習の実行毎に予測装置２に転送することで、予測装置２の保持する第２学習結果データ１２３を定期的に更新してもよい。
【０１７３】
［予測装置］
次に、図８を用いて、学習済みの予測モデル５５を利用する予測装置２の動作例について説明する。図８は、予測装置２による予測処理に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１７４】
（ステップＳ３０１）
ステップＳ３０１では、制御部２１は、対象データ取得部２１１として動作し、所定のデータの対象サンプル２２１を取得する。本実施形態では、予測装置２は、外部インタフェース２７を介してセンサＳに接続されている。そのため、制御部２１は、外部インタフェース２７を介してセンサＳから対象サンプル２２１を取得する。
【０１７５】
ただし、対象サンプル２２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測装置２とは異なる他のコンピュータにセンサＳが接続されていてもよい。この場合、制御部２１は、他のコンピュータから対象サンプル２２１の送信を受け付けることで、対象サンプル２２１を取得してもよい。対象サンプル２２１を取得すると、制御部２１は、次のステップＳ３０２に処理を進める。
【０１７６】
（ステップＳ３０２）
ステップＳ３０２では、制御部２１は、予測部２１２として動作し、モデル生成装置１により構築された学習済みの予測モデル５５を用いて、取得された対象サンプル２２１から、対象サンプル２２１を取得した時刻よりも未来の時刻において所定のデータに現れる特徴２２３を予測する。
【０１７７】
本実施形態では、制御部２１は、第２学習結果データ１２３を参照して、学習済みの予測モデル５５の設定を行う。また、制御部２１は、第１学習結果データ１２１を参照して、学習済みの推定器５１のデコーダ５３の設定を行う。次に、制御部２１は、取得された対象サンプル２２１を予測モデル５５に入力し、予測モデル５５の演算処理を実行する。すなわち、制御部２１は、対象サンプル２２１を予測モデル５５の入力層５５１に入力し、入力側から順に各層５５１〜５５３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、対象サンプル２２１から未来の時刻における所定のデータの特徴情報（特徴量）を予測する。
【０１７８】
同様に、制御部２１は、予測モデル５５の出力値をデコーダ５３に入力し、デコーダ５３の演算処理を実行する。すなわち、制御部２１は、予測モデル５５の出力値をデコーダ５３の入力層５３１に入力し、入力側から順に各層５３１〜５３３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、予測モデル５５により予測された特徴量から、予測サンプル２２５を復元すると共に、未来の時刻において所定のデータに現れる特徴２２３を予測した結果に対応する出力値をデコーダ５３の出力層５３３から取得する。本実施形態では、この出力値を得ることが、予測サンプル２２５及び特徴２２３を予測することに対応する。対象サンプル２２１からの未来の特徴２２３の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０１７９】
（ステップＳ３０３）
ステップＳ３０３では、制御部２１は、出力部２１３として動作し、予測の結果（特徴２２３及び予測サンプル２２５）に関する情報を出力する。
【０１８０】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、対象サンプル２２１から予測された、未来の時刻における所定のデータの特徴２２３及び予測サンプル２２５をそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、予測の結果に応じて警告等の特定のメッセージを出力すること、予測の結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置２５、制御対象装置等であってよい。予測の結果に関する情報の出力が完了すると、制御部２１は、学習済みの予測モデル５５を利用した予測処理に関する一連の処理を終了する。
【０１８１】
［特徴］
以上のとおり、本実施形態に係るモデル生成装置１は、ステップＳ２０２による予測モデル５５の機械学習において、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する。これにより、希少度３２５の高い第２学習データセット３２が希少度３２５の低い第２学習データセット３２に埋没するのを防ぐことができ、予測モデル５５に習得させる予測の能力に、希少度３２５の高い第２学習データセット３２による訓練結果を適切に反映させることができる。したがって、本実施形態に係るモデル生成装置１によれば、希少な事象を精度よく予測可能な予測モデル５５を構築することができる。例えば、規則性を有する継続的な事象等の希少性の低い事象と同程度に、比較的に短期的に急激な変化をもたらす事象等の希少性の高い事象を予測可能な予測モデル５５を構築することができる。また、予測装置２において、そのように構築された予測モデル５５を利用することで、ステップＳ３０２における特徴２２３の予測の精度を高めることができる。
【０１８２】
また、本実施形態に係るモデル生成装置１は、ステップＳ２０６の処理により、不一致性予測器５７を利用して、各第２学習データセット３２の希少度３２５を設定する。これにより、希少度３２５を設定する処理を自動化することができるため、予測モデル５５の機械学習に関する一連の処理の手間を低減することができる。更に、本実施形態に係るモデル生成装置１は、ステップＳ２０３の条件分岐により、ステップＳ２０２による予測モデル５５の訓練、及びステップＳ２０５による不一致性予測器５７の訓練を交互に繰り返し実行する。本実施形態に係るモデル生成装置１は、この過程において、予測モデル５５の機械学習では、希少度３２５の高い第２学習データセット３２ほど重点的に訓練する一方で、不一致性予測器５７の機械学習では、各第３学習データセット３３を均一に訓練する。これにより、不一致性予測器５７を利用して各第２学習データセット３２の希少度３２５を適切に設定しつつ、希少性の高いサンプルに対する予測モデル５５の予測精度の向上を図ることができる。
【０１８３】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１８４】
＜４．１＞
上記実施形態に係る予測システム１００は、センサＳにより得られるセンシングデータに含まれる特徴を予測する場面に適用されている。しかしながら、上記実施形態の適用範囲は、このような例に限定される訳ではない。上記実施形態に係る予測システム１００は、時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面に適用可能である。以下、適用場面を限定した６つの変形例を例示する。
【０１８５】
（Ａ）移動体の周囲環境の状況を監視する場面
図９は、第１変形例に係る予測システム１００Ａの適用場面の一例を模式的に例示する。本変形例は、移動体の周囲環境の状況を監視する場面に上記実施形態を適用した例である。車両ＶＡは、移動体の一例である。具体的には、車両ＶＡは、自動車である。ただし、移動体は、車両ＶＡに限られなくてもよく、例えば、ドローン等の飛行体等であってもよい。図９に示されるとおり、本変形例に係る予測システム１００Ａは、モデル生成装置１及び監視装置２Ａを備えている。上記実施形態と同様に、モデル生成装置１及び監視装置２Ａは、ネットワークを介して互いに接続されてよい。
【０１８６】
本変形例に係る予測システム１００Ａは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。監視装置２Ａは、上記予測装置２に対応する。監視装置２Ａは、上記予測装置２と同様に構成されてよい。モデル生成装置１は、機械学習により、移動体の周囲環境の状況を監視するための監視センサにより得られる任意の時刻におけるセンシングデータから、未来の時刻におけるセンシングデータに現れる特徴を予測可能に訓練された予測モデル５５Ａを構築する。一方、監視装置２Ａは、予測モデル５５Ａを利用して、監視センサにより得られる任意の時刻におけるセンシングデータから未来の時刻における周囲環境の状況を予測する。時系列に得られる上記所定のデータは、監視センサにより得られるセンシングデータであってよく、上記特徴情報３２３は、当該センシングデータに現れる周囲環境の状況に関してよい。
【０１８７】
本変形例では、車両ＶＡ周囲の環境を監視するために、車両ＶＡは、カメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）を備えている。カメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）それぞれは、移動体の周囲環境の状況を監視するための監視センサの一例である。カメラＳＡ１は、例えば、ルームミラー付近等、車両ＶＡの外部の状況を監視するように配置されている。カメラＳＡ１は、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。
【０１８８】
また、２つのLidarセンサ（ＳＡ２、ＳＡ３）は、車両ＶＡ前方の情報を取得可能に、車両ＶＡのフロント部の左右両側に配置されている。本変形例では、第１のLidarセンサＳＡ２は、車両ＶＡ前方右側の情報を取得可能に、フロント部の右側に配置され、第２のLidarセンサＳＡ３は、車両ＶＡ前方左側の情報を取得可能に、フロント部の左側に配置されている。
【０１８９】
本変形例では、モデル生成装置１は、機械学習により、任意の時刻における画像データから、未来の時刻における画像データに写る対象物の属性に関する特徴を予測可能に訓練された予測モデル５５Ａを構築する。つまり、本変形例では、カメラＳＡ１により得られる画像データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。画像データに写る対象物の属性は、周囲環境の状況の一例である。
【０１９０】
一方、監視装置２Ａは、カメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）に接続されている。監視装置２Ａは、カメラＳＡ１により車両ＶＡ前方の状況を撮影することで画像データを取得する。そして、監視装置２Ａは、学習済みの予測モデル５５Ａを利用して、カメラＳＡ１により得られた任意の時刻における画像データから未来の時刻における画像データに写る対象物の属性に関する特徴を予測する。更に、監視装置２Ａは、２つのLidarセンサ（ＳＡ２、ＳＡ３）それぞれにより得られたセンシングデータにより、車両ＶＡ前方の状況を監視する。
【０１９１】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラＳＡ１により得られる画像データに限られなくてもよい。２つのLidarセンサ（ＳＡ２、ＳＡ３）の少なくともいずれかにより得られたセンシングデータが、当該所定のデータとして取り扱われてもよい。また、車両ＶＡは、車両ＶＡ周囲の環境を監視するために、カメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）と共に、又はカメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）の少なくともいずれかに代えて、ミリ波レーダ等の他の監視センサを備えてもよい。この場合、他の監視センサにより得られるセンシングデータが、当該所定のデータとして取り扱われてもよい。
【０１９２】
＜監視装置のハードウェア構成＞
次に、図１０を更に用いて、本変形例に係る監視装置２Ａのハードウェア構成の一例を説明する。図１０は、本変形例に係る監視装置２Ａのハードウェア構成の一例を模式的に例示する。本変形例に係る監視装置２Ａは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。監視装置２Ａは、外部インタフェース２７を介してカメラＳＡ１及び２つのLidarセンサ（ＳＡ２、ＳＡ３）に接続される。ただし、監視装置２Ａのハードウェア構成は、このような例に限定されなくてもよい。監視装置２Ａの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置２Ａは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０１９３】
本変形例に係る監視装置２Ａの記憶部２２は、監視プログラム８２Ａ、第１学習結果データ１２１Ａ、第２学習結果データ１２３Ａ等の各種情報を記憶する。監視プログラム８２Ａ、第１学習結果データ１２１Ａ、及び第２学習結果データ１２３Ａは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。監視プログラム８２Ａ、第１学習結果データ１２１Ａ、及び第２学習結果データ１２３Ａのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、監視装置２Ａは、記憶媒体９２から、監視プログラム８２Ａ、第１学習結果データ１２１Ａ、及び第２学習結果データ１２３Ａのうちの少なくともいずれかを取得してもよい。
【０１９４】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ａの機械学習の処理手順の一例について説明する。図９に示されるとおり、本変形例では、モデル生成装置１は、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ａの機械学習に関する一連の処理を実行する。
【０１９５】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ａの機械学習に利用する複数の第１学習データセット３１Ａを取得する。本変形例では、推定器５１Ａは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ａ及びデコーダ５３Ａを備える。エンコーダ５２Ａ及びデコーダ５３Ａはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０１９６】
各第１学習データセット３１Ａは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ａは、車両の外部の状況を監視するように配置されたカメラにより時系列に得られる画像データのサンプル３１１Ａ、及びサンプル３１１Ａに現れる特徴（正解）を示す正解データ３１３Ａの組み合わせにより構成される。正解データ３１３Ａにより示される特徴は、例えば、サンプル３１１Ａに写る対象物の属性であってよい。対象物は、例えば、移動体の進行する通路、移動体の進行方向に存在する物体等であってよい。移動体の進行する通路は、例えば、車両ＶＡの走行可能な道路であってよい。移動体の進行方向に存在する物体は、例えば、信号機、障害物（人、物）等であってよい。対象物の属性は、例えば、通路の路面状態、信号機の点灯状態、障害物の有無、障害物の種別、障害物の寸法、障害物の大きさ、障害物の速度等であってよい。また、対象物の属性には、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントを示すイベント情報が含まれてもよい。このイベント情報は、障害物の有無、障害物の速度等の属性により表現されてもよい。
【０１９７】
上記実施形態と同様に、各第１学習データセット３１Ａを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ａは、適宜生成されてよい。例えば、カメラＳＡ１と同種のカメラを用意し、用意したカメラにより様々な条件で車両外部の状況を撮影することで、時系列に画像データを取得する。続いて、時系列に得られた画像データからサンプル３１１Ａを適宜抽出する。そして、抽出されたサンプル３１１Ａに対して、例えば、当該サンプル３１１Ａに写る対象物の属性等の当該サンプル３１１Ａに現れる特徴を示す正解データ３１３Ａを関連付ける。これにより、各第１学習データセット３１Ａを生成することができる。複数の第１学習データセット３１Ａを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０１９８】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ａを使用して、推定器５１Ａの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ａについて、サンプル３１１Ａをエンコーダ５２Ａに入力すると、サンプル３１１Ａ及び正解データ３１３Ａに適合する出力値をデコーダ５３Ａから出力するように推定器５１Ａを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ａは、画像データのサンプル３１１Ａを特徴量に変換するように訓練されていく。また、デコーダ５３Ａは、エンコーダ５２Ａにより得られた特徴量からサンプル３１１Ａを復元すると共に、サンプル３１１Ａに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ａについて、サンプル３１１Ａの入力に対して、サンプル３１１Ａ及び正解データ３１３Ａに適合する出力値を出力するように訓練された推定器５１Ａを構築することができる。推定器５１Ａの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０１９９】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ａの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ａとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ａを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ａの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ａに関する第１学習結果データ１２１Ａは、任意のタイミングで監視装置２Ａに与えられてよい。
【０２００】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ａ及び不一致性予測器５７Ａの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ａ及び不一致性予測器５７Ａの機械学習に関する一連の処理を実行する。
【０２０１】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる画像データの第１時刻における第１サンプル３２１Ａ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ａの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ａを取得する。各第２学習データセット３２Ａを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ａは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ａ及び第２サンプルを抽出した画像データは、各第１学習データセット３１Ａの生成に利用された画像データと同じであってよい。本変形例では、特徴情報３２３Ａは、画像データに写る対象物の属性に関してもよい。また、特徴情報３２３Ａは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ａを構成する特徴量は、学習済みのエンコーダ５２Ａにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ａには、希少度３２５Ａが適宜設定されてよい。複数の第２学習データセット３２Ａを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０２０２】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ａを使用して、予測モデル５５Ａの機械学習を実行する。予測モデル５５Ａは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ａについて、第１サンプル３２１Ａを入力すると、対応する特徴情報３２３Ａに適合する出力値を出力するように予測モデル５５Ａを訓練する。この予測モデル５５Ａの機械学習において、制御部１１は、希少度３２５Ａの高い第２学習データセット３２Ａほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ａについて、第１時刻における第１サンプル３２１Ａを入力すると、第２時刻における特徴情報３２３Ａに適合する出力値を出力するように訓練された予測モデル５５Ａを構築することができる。予測モデル５５Ａの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０２０３】
ステップＳ２０３では、制御部１１は、予測モデル５５Ａ及び不一致性予測器５７Ａの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０２０４】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ａの第１時刻における第１サンプル３２１Ａ、及び当該第１サンプル３２１Ａに対する予測モデル５５Ａによる予測の不一致性３３３Ａの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ａを取得する。各第３学習データセット３３Ａを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ａの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ａ及び各第２学習データセット３２Ａが利用されてよい。複数の第３学習データセット３３Ａを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０２０５】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ａを使用して、不一致性予測器５７Ａの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ａについて、第１サンプル３２１Ａを入力すると、対応する不一致性３３３Ａに適合する出力値を出力するように不一致性予測器５７Ａを訓練する。制御部１１は、予測モデル５５Ａの機械学習とは異なり、この不一致性予測器５７Ａの機械学習において、希少度３２５Ａとは無関係に、各第３学習データセット３３Ａを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ａについて、第１時刻における第１サンプル３２１Ａを入力すると、当該第１サンプル３２１Ａに対する予測モデル５５Ａによる予測の不一致性３３３Ａに適合する出力値を出力するように訓練された不一致性予測器５７Ａを構築することができる。不一致性予測器５７Ａの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０２０６】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ａを利用して、各第２学習データセット３２Ａの希少度３２５Ａを設定（更新）する。希少度３２５Ａを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ａの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０２０７】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ａの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ａとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ａを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ａ及び不一致性予測器５７Ａの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ａは、任意のタイミングで監視装置２Ａに与えられてよい。
【０２０８】
＜監視処理＞
次に、図１１を用いて、監視装置２Ａの監視処理の一例について説明する。図１１は、本変形例に係る監視装置２Ａの監視処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置２Ａの監視処理に関するソフトウェア構成は、制御部２１による監視プログラム８２Ａの実行により実現される。図１１に示されるとおり、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、監視装置２Ａの監視処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、監視装置２Ａは、上記予測装置２と同様に、監視処理に関する一連の処理を実行する。
【０２０９】
すなわち、ステップＳ３０１では、監視装置２Ａの制御部２１は、画像データの対象サンプル２２１ＡをカメラＳＡ１から取得する。ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ａを参照し、学習済みの予測モデル５５Ａの設定を行う。また、制御部２１は、第１学習結果データ１２１Ａを参照して、学習済みの推定器５１Ａのデコーダ５３Ａの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ａを予測モデル５５Ａに入力し、予測モデル５５Ａの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ａから未来の時刻における画像データの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ａの出力値をデコーダ５３Ａに入力し、デコーダ５３Ａの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ａにより予測された特徴量から、予測サンプル２２５Ａを復元すると共に、未来の時刻において画像データに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ａから取得する。本変形例では、予測される特徴は、画像データに写る対象物の属性を示す属性情報２２３Ａを含み得る。対象サンプル２２１Ａからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０２１０】
ステップＳ３０３では、制御部２１は、予測の結果（属性情報２２３Ａ及び予測サンプル２２５Ａ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた属性情報２２３Ａ及び予測サンプル２２５Ａをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０２１１】
当該情報処理の一例として、制御部２１は、予測の結果に基づいて、車両ＶＡの走行に危険が生じるか否かを判定してもよい。具体例として、車両ＶＡの走行経路に障害物が侵入することが属性情報２２３Ａにより予測される場合に、制御部２１は、車両ＶＡの走行に危険が生じると判定してもよい。そして、車両ＶＡの走行に危険が生じると判定される場合に、制御部２１は、その危険を知らせるための警告を出力装置２５に出力してもよい。なお、車両ＶＡの走行経路に障害物が侵入するケースとは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントが生じたケースであってよい。
【０２１２】
また、例えば、監視装置２Ａが移動体の動作を制御可能に構成される場合に、制御部２１は、予測の結果に応じて、移動体の動作方針を決定し、決定された動作方針に従って移動体の動作を制御してもよい。本変形例では、制御部２１は、車両ＶＡの動作の一例として、アクセルの使用、ブレーキの使用、ハンドルの操舵角、ライトの点灯、クラクションの使用等を制御してもよい。具体例として、車両ＶＡの走行経路に障害物が侵入することが属性情報２２３Ａにより予測される場合に、制御部２１は、クラクションを鳴らし、ブレーキをかけるように車両ＶＡの動作を制御してもよい。
【０２１３】
また、例えば、制御部２１は、予測の結果に応じて、各監視センサの制御方針を決定し、決定された制御方針に従って各監視センサの動作を制御してもよい。具体例として、制御部２１は、予測の結果に応じて、各監視センサのスキャンする範囲の優先度を設定し、設定された優先度に応じて各監視センサのスキャンを実行してもよい。本変形例では、車両ＶＡは、カメラＳＡ１の他に、２つのLidarセンサ（ＳＡ２、ＳＡ３）を備えている。そのため、制御部２１は、予測の結果に応じて、各Lidarセンサ（ＳＡ２、ＳＡ３）のスキャンする範囲の優先度を設定し、設定された優先度に応じて各Lidarセンサ（ＳＡ２、ＳＡ３）のスキャンを実行してもよい。優先度は、例えば、障害物の有無に応じて設定されてもよい。一例として、車両ＶＡの前方右側から障害物が侵入することが属性情報２２３Ａにより予測される場合に、制御部２１は、第１のLidarセンサＳＡ２の測定領域のうちの右側領域の優先度を高く設定し、この右側領域を優先的にスキャンするように第１のLidarセンサＳＡ２の動作を制御してもよい。
【０２１４】
また、具体例として、制御部２１は、予測の結果に応じて、複数の監視センサ間のデータの受け渡しを行ってもよい。一例として、車両ＶＡの前方右側から障害物が前方左側に移動することが属性情報２２３Ａにより予測される場合に、制御部２１は、第１のLidarセンサＳＡ２で観測された障害物が第２のLidarセンサＳＡ３で観測させるようになると予測してもよい。これにより、制御部２１は、第１のLidarセンサＳＡ２から第２のLidarセンサＳＡ３に障害物の観測を引き継がせてもよい。
【０２１５】
本変形例によれば、移動体の周囲環境を監視する場面において、その監視に利用可能でかつ希少な事象を精度よく予測可能な予測モデル５５Ａを構築することができる。上記希少度３２５Ａを利用した機械学習により、例えば、予測モデル５５Ａは、カメラＳＡ１の撮影範囲内で人物がある方向に移動している等の規則性のある事象と同程度の精度で、カメラＳＡ１の撮影範囲外から撮影範囲内に障害物が侵入する、停止していた対象物が突発的に動き出す等の不規則に発生し得る事象を予測可能に構築される。そのため、監視装置２Ａは、この予測モデル５５Ａを利用することで、上記のような不規則に発生し得る事象を精度よく予測することができる。
【０２１６】
これにより、例えば、移動体が障害物に衝突する等の事故を未然に防ぐ精度を高めることができる。また、監視装置２Ａにおいて、予測の結果に応じて、各監視センサの制御方針を決定し、決定された制御方針に従って各監視センサの動作を制御することにより、移動体の周囲環境を適切に監視することができるようになる。上記の例では、予測の結果に応じてスキャンの優先度を設定することで、各Lidarセンサ（ＳＡ２、ＳＡ３）により障害物を素早く検知することができるようになる。各監視センサの時間分解能が低いほど、この作用効果は有益である。
【０２１７】
なお、車両ＶＡは、自動車に限られなくてもよく、例えば、電車等の自動車以外の車両であってもよい。車両ＶＡが電車である場合、正解データ３１３Ａにより示される特徴には、上記の他に、駅のホームから人又走行を妨げる物体が転落する等のイベントを示すイベント情報が含まれてもよい。このイベント情報は、対象物の属性により表現されてもよい。これにより、上記ステップＳ３０２では、監視装置２Ａは、駅のホームからの人又走行を妨げる物体の転落を予測することができる。ステップＳ３０３では、監視装置２Ａは、当該予測の結果に応じて、人又走行を妨げる物体との衝突を避けるために、走行を停車するように電車（車両ＶＡ）の動作を制御してもよい。
【０２１８】
（Ｂ）機械の状態を監視する場面
図１２は、第２変形例に係る予測システム１００Ｂの適用場面の一例を模式的に例示する。本変形例は、製造ラインを構成する機械ＲＢの状態を監視する場面に上記実施形態を適用した例である。機械ＲＢの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械ＲＢは、例えば、成形機、包装機、ロボット装置、印刷機、実装機、基板検査装置等であってよい。図１２に示されるとおり、本変形例に係る予測システム１００Ｂは、モデル生成装置１及び故障予測装置２Ｂを備えている。上記実施形態と同様に、モデル生成装置１及び故障予測装置２Ｂは、ネットワークを介して互いに接続されてよい。
【０２１９】
本変形例に係る予測システム１００Ｂは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。故障予測装置２Ｂは、上記予測装置２に対応する。故障予測装置２Ｂは、上記予測装置２と同様に構成されてよい。モデル生成装置１は、機械学習により、機械ＲＢの状態を監視するセンサにより得られる任意の時刻におけるセンシングデータから、未来の時刻におけるセンシングデータに現れる特徴を予測可能に訓練された予測モデル５５Ｂを構築する。一方、故障予測装置２Ｂは、予測モデル５５Ｂを利用して、センサにより得られた任意の時刻におけるセンシングデータから未来の時刻における機械ＲＢの状態を予測する。時系列に得られる上記所定のデータは、当該センサにより得られるセンシングデータであってよく、上記特徴情報３２３は、当該センシングデータから特定される機械ＲＢの状態に関してよい。
【０２２０】
本変形例では、機械ＲＢの状態を監視するために、カメラＳＢが用いられている。カメラＳＢは、機械ＲＢの状態を監視するためのセンサの一例である。カメラＳＢは、機械ＲＢを撮影可能に、例えば、機械ＲＢの近傍に配置される。カメラＳＢは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。
【０２２１】
本変形例では、モデル生成装置１は、機械学習により、任意の時刻における画像データから、未来の時刻における画像データに写る機械ＲＢの状態に関する特徴を予測可能に訓練された予測モデル５５Ｂを構築する。つまり、本変形例では、カメラＳＢにより得られる画像データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【０２２２】
一方、故障予測装置２Ｂは、カメラＳＢに接続されている。故障予測装置２Ｂは、カメラＳＢにより機械ＲＢを撮影することで画像データを取得する。そして、故障予測装置２Ｂは、学習済みの予測モデル５５Ｂを利用して、カメラＳＢにより得られた任意の時刻における画像データから未来の時刻における画像データに写る機械ＲＢの状態に関する特徴を予測する。
【０２２３】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラＳＢにより得られる画像データに限られなくてもよい。機械ＲＢの状態を監視するために、カメラＳＢと共に、又はカメラＳＢに代えて、マイクロフォン、ロータリエンコーダ等の他のセンサが用いられてもよい。この場合、他のセンサにより得られるセンシングデータ（例えば、音データ、トルクデータ等）が、当該所定のデータとして取り扱われてもよい。
【０２２４】
＜故障予測装置のハードウェア構成＞
次に、図１３を更に用いて、本変形例に係る故障予測装置２Ｂのハードウェア構成の一例を説明する。図１３は、本変形例に係る故障予測装置２Ｂのハードウェア構成の一例を模式的に例示する。本変形例に係る故障予測装置２Ｂは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。故障予測装置２Ｂは、外部インタフェース２７を介してカメラＳＢに接続される。ただし、故障予測装置２Ｂのハードウェア構成は、このような例に限定されなくてもよい。故障予測装置２Ｂの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。故障予測装置２Ｂは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、ＰＬＣ（programmable logic controller）等であってもよい。
【０２２５】
本変形例に係る故障予測装置２Ｂの記憶部２２は、故障予測プログラム８２Ｂ、第１学習結果データ１２１Ｂ、第２学習結果データ１２３Ｂ等の各種情報を記憶する。故障予測プログラム８２Ｂ、第１学習結果データ１２１Ｂ、及び第２学習結果データ１２３Ｂは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。故障予測プログラム８２Ｂ、第１学習結果データ１２１Ｂ、及び第２学習結果データ１２３Ｂのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、故障予測装置２Ｂは、記憶媒体９２から、故障予測プログラム８２Ｂ、第１学習結果データ１２１Ｂ、及び第２学習結果データ１２３Ｂのうちの少なくともいずれかを取得してもよい。
【０２２６】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ｂの機械学習の処理手順の一例について説明する。図１２に示されるとおり、本変形例では、モデル生成装置１は、機械の状態を監視するためのセンサにより得られるセンシングデータ（具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ）を所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ｂの機械学習に関する一連の処理を実行する。
【０２２７】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ｂの機械学習に利用する複数の第１学習データセット３１Ｂを取得する。本変形例では、推定器５１Ｂは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ｂ及びデコーダ５３Ｂを備える。エンコーダ５２Ｂ及びデコーダ５３Ｂはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０２２８】
各第１学習データセット３１Ｂは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ｂは、機械の状態を監視するように配置されたカメラにより時系列に得られる画像データのサンプル３１１Ｂ、及びサンプル３１１Ｂに現れる特徴（正解）を示す正解データ３１３Ｂの組み合わせにより構成される。正解データ３１３Ｂにより示される特徴は、例えば、サンプル３１１Ｂに写る機械の状態であってよい。機械の状態は、例えば、故障の有無、故障の種別等で示されてよい。
【０２２９】
上記実施形態と同様に、各第１学習データセット３１Ｂを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ｂは、適宜生成されてよい。例えば、カメラＳＢと同種のカメラ及び機械ＲＢと同種の機械を用意し、用意した機械をカメラにより様々な条件で撮影することで、時系列に画像データを取得する。続いて、時系列に得られた画像データからサンプル３１１Ｂを適宜抽出する。そして、抽出されたサンプル３１１Ｂに対して、例えば、当該サンプル３１１Ｂに写る機械の状態等の当該サンプル３１１Ｂに現れる特徴を示す正解データ３１３Ｂを関連付ける。これにより、各第１学習データセット３１Ｂを生成することができる。複数の第１学習データセット３１Ｂを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０２３０】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ｂを使用して、推定器５１Ｂの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ｂについて、サンプル３１１Ｂをエンコーダ５２Ｂに入力すると、サンプル３１１Ｂ及び正解データ３１３Ｂに適合する出力値をデコーダ５３Ｂから出力するように推定器５１Ｂを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ｂは、画像データのサンプル３１１Ｂを特徴量に変換するように訓練されていく。また、デコーダ５３Ｂは、エンコーダ５２Ｂにより得られた特徴量からサンプル３１１Ｂを復元すると共に、サンプル３１１Ｂに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ｂについて、サンプル３１１Ｂの入力に対して、サンプル３１１Ｂ及び正解データ３１３Ｂに適合する出力値を出力するように訓練された推定器５１Ｂを構築することができる。推定器５１Ｂの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０２３１】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ｂの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ｂとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ｂを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ｂの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ｂに関する第１学習結果データ１２１Ｂは、任意のタイミングで故障予測装置２Ｂに与えられてよい。
【０２３２】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ｂ及び不一致性予測器５７Ｂの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、機械の状態を監視するためのセンサにより得られるセンシングデータ（具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ）を所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ｂ及び不一致性予測器５７Ｂの機械学習に関する一連の処理を実行する。
【０２３３】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる画像データの第１時刻における第１サンプル３２１Ｂ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ｂの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ｂを取得する。各第２学習データセット３２Ｂを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ｂは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ｂ及び第２サンプルを抽出した画像データは、各第１学習データセット３１Ｂの生成に利用された画像データと同じであってよい。本変形例では、特徴情報３２３Ｂは、画像データに写る機械の状態に関してもよい。また、特徴情報３２３Ｂは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ｂを構成する特徴量は、学習済みのエンコーダ５２Ｂにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ｂには、希少度３２５Ｂが適宜設定されてよい。複数の第２学習データセット３２Ｂを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０２３４】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ｂを使用して、予測モデル５５Ｂの機械学習を実行する。予測モデル５５Ｂは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ｂについて、第１サンプル３２１Ｂを入力すると、対応する特徴情報３２３Ｂに適合する出力値を出力するように予測モデル５５Ｂを訓練する。この予測モデル５５Ｂの機械学習において、制御部１１は、希少度３２５Ｂの高い第２学習データセット３２Ｂほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ｂについて、第１時刻における第１サンプル３２１Ｂを入力すると、第２時刻における特徴情報３２３Ｂに適合する出力値を出力するように訓練された予測モデル５５Ｂを構築することができる。予測モデル５５Ｂの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０２３５】
ステップＳ２０３では、制御部１１は、予測モデル５５Ｂ及び不一致性予測器５７Ｂの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０２３６】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ｂの第１時刻における第１サンプル３２１Ｂ、及び当該第１サンプル３２１Ｂに対する予測モデル５５Ｂによる予測の不一致性３３３Ｂの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ｂを取得する。各第３学習データセット３３Ｂを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ｂの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ｂ及び各第２学習データセット３２Ｂが利用されてよい。複数の第３学習データセット３３Ｂを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０２３７】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ｂを使用して、不一致性予測器５７Ｂの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ｂについて、第１サンプル３２１Ｂを入力すると、対応する不一致性３３３Ｂに適合する出力値を出力するように不一致性予測器５７Ｂを訓練する。制御部１１は、予測モデル５５Ｂの機械学習とは異なり、この不一致性予測器５７Ｂの機械学習において、希少度３２５Ｂとは無関係に、各第３学習データセット３３Ｂを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ｂについて、第１時刻における第１サンプル３２１Ｂを入力すると、当該第１サンプル３２１Ｂに対する予測モデル５５Ｂによる予測の不一致性３３３Ｂに適合する出力値を出力するように訓練された不一致性予測器５７Ｂを構築することができる。不一致性予測器５７Ｂの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０２３８】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ｂを利用して、各第２学習データセット３２Ｂの希少度３２５Ｂを設定（更新）する。希少度３２５Ｂを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ｂの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０２３９】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ｂの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ｂとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ｂを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ｂ及び不一致性予測器５７Ｂの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ｂは、任意のタイミングで故障予測装置２Ｂに与えられてよい。
【０２４０】
＜予測処理＞
次に、図１４を用いて、故障予測装置２Ｂの予測処理の一例について説明する。図１４は、本変形例に係る故障予測装置２Ｂの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、故障予測装置２Ｂの予測処理に関するソフトウェア構成は、制御部２１による故障予測プログラム８２Ｂの実行により実現される。図１４に示されるとおり、機械の状態を監視するためのセンサにより得られるセンシングデータ（具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ）を所定のデータとして取り扱う点を除き、故障予測装置２Ｂの予測処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、故障予測装置２Ｂは、上記予測装置２と同様に、予測処理に関する一連の処理を実行する。
【０２４１】
すなわち、ステップＳ３０１では、故障予測装置２Ｂの制御部２１は、画像データの対象サンプル２２１ＢをカメラＳＢから取得する。ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ｂを参照し、学習済みの予測モデル５５Ｂの設定を行う。また、制御部２１は、第１学習結果データ１２１Ｂを参照して、学習済みの推定器５１Ｂのデコーダ５３Ｂの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ｂを予測モデル５５Ｂに入力し、予測モデル５５Ｂの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ｂから未来の時刻における画像データの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ｂの出力値をデコーダ５３Ｂに入力し、デコーダ５３Ｂの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ｂにより予測された特徴量から、予測サンプル２２５Ｂを復元すると共に、未来の時刻において画像データに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ｂから取得する。本変形例では、予測される特徴は、画像データに写る機械ＲＢの状態を示す状態情報２２３Ｂを含み得る。対象サンプル２２１Ｂからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０２４２】
ステップＳ３０３では、制御部２１は、予測の結果（状態情報２２３Ｂ及び予測サンプル２２５Ｂ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた状態情報２２３Ｂ及び予測サンプル２２５Ｂをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０２４３】
当該情報処理の一例として、制御部２１は、予測の結果（状態情報２２３Ｂ）に基づいて、機械ＲＢに故障が発生するか否かを判定してもよい。そして、機械ＲＢに故障が発生すると判定される場合に、制御部２１は、その故障の発生を知らせるための警告を出力装置２５に出力してもよい。更に、故障予測装置２Ｂが機械ＲＢの動作を制御可能に構成される場合、制御部２１は、機械ＲＢに故障が発生すると判定したことに応じて、機械ＲＢの動作を停止させてもよい。加えて、制御部２１は、機械ＲＢに発生する故障の種別、及び故障に対応するメンテナンス方法の情報を出力装置２５に出力してもよい。故障に対応するメンテナンス方法を示す情報は、記憶部２２、記憶媒体９２、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部２１は、故障に対応するメンテナンス方法を示す情報を所定の記憶領域から適宜取得してもよい。
【０２４４】
本変形例によれば、機械ＲＢの状態を監視する場面において、その監視に利用可能でかつ希少な事象を精度よく予測可能な予測モデル５５Ｂを構築することができる。上記希少度３２５Ｂを利用した機械学習により、例えば、予測モデル５５Ｂは、機械ＲＢに故障の前兆が表れた後に機械ＲＢが徐々に故障に至る等の規則性を有し得る事象と同程度の精度で、機械ＲＢが突発的に故障に至る等の不規則に発生し得る事象を予測可能に構築される。そのため、故障予測装置２Ｂは、この予測モデル５５Ｂを利用することで、上記のような不規則に発生し得る故障を精度よく予測することができる。これにより、例えば、機械ＲＢの停止する期間を極力短くするように適切なタイミングで機械ＲＢのメンテナンスを実施することができるようになる。そのため、機械ＲＢの故障に起因して製造ラインの停止する期間を短くすることができ、製造ラインにより製品を製造する効率を高めることができる。
【０２４５】
（Ｃ）対象者の状態を予測する場面
図１５は、第３変形例に係る予測システム１００Ｃの適用場面の一例を模式的に例示する。本変形例は、対象者の状態を予測する場面に上記実施形態を適用した例である。図１５では、対象者の状態を予測する場面の一例として、車両の運転者ＲＣの状態を監視する場面が例示されている。運転者ＲＣは、対象者の一例である。図１５に示されるとおり、本変形例に係る予測システム１００Ｃは、モデル生成装置１及び状態予測装置２Ｃを備えている。上記実施形態と同様に、モデル生成装置１及び状態予測装置２Ｃは、ネットワークを介して互いに接続されてよい。
【０２４６】
本変形例に係る予測システム１００Ｃは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。状態予測装置２Ｃは、上記予測装置２に対応する。状態予測装置２Ｃは、上記予測装置２と同様に構成されてよい。モデル生成装置１は、機械学習により、対象者の状態を観測するセンサにより得られた任意の時刻における観測データから、未来の時刻における観測データに現れる特徴を予測可能に訓練された予測モデル５５Ｃを構築する。一方、状態予測装置２Ｃは、予測モデル５５Ｃを利用して、センサにより得られた観測データから未来の時刻における対象者の状態を予測する。時系列に得られる上記所定のデータは、当該センサにより得られる観測データであってよく、上記特徴情報３２３は、当該観測データから特定される対象者の状態に関してよい。センサは、例えば、カメラ及びバイタルセンサの少なくともいずれかであってよく、観測データは、例えば、対象者のバイタルデータ及び対象者の画像データの少なくともいずれかであってよい。
【０２４７】
本変形例では、運転者ＲＣの状態を予測するために、カメラＳＣ１及びバイタルセンサＳＣ２が用いられている。カメラＳＣ１及びバイタルセンサＳＣ２は、対象者の状態を観測するためのセンサの一例である。カメラＳＣ１は、運転者ＲＣを撮影可能に適宜配置されてよい。カメラＳＣ１は、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。また、バイタルセンサＳＣ２は、対象者のバイタルを観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。バイタルセンサＳＣ２は、例えば、体温計、血圧計、脈拍計等であってよい。これに応じて、バイタルセンサＳＣ２により得られるバイタルデータは、例えば、体温、血圧、脈拍等の測定結果を示すデータであってよい。
【０２４８】
本変形例では、モデル生成装置１は、機械学習により、任意の時刻における画像データ及びバイタルデータから、未来の時刻における画像データ及びバイタルデータから特定される運転者ＲＣの状態に関する特徴を予測可能に訓練された予測モデル５５Ｃを構築する。つまり、本変形例では、カメラＳＣ１により得られる画像データ及びバイタルセンサＳＣ２により得られるバイタルデータが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【０２４９】
一方、状態予測装置２Ｃは、カメラＳＣ１及びバイタルセンサＳＣ２に接続されている。状態予測装置２Ｃは、カメラＳＣ１により運転者ＲＣを撮影することで画像データを取得する。また、状態予測装置２Ｃは、バイタルセンサＳＣ２により運転者ＲＣのバイタルを観測することでバイタルデータを取得する。そして、状態予測装置２Ｃは、学習済みの予測モデル５５Ｃを利用して、任意の時刻における画像データ及びバイタルデータから未来の時刻における画像データ及びバイタルデータに現れる運転者ＲＣの状態に関する特徴を予測する。
【０２５０】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラＳＣ１により得られる画像データ及びバイタルセンサＳＣ２により得られるバイタルデータに限られなくてもよい。画像データ及びバイタルデータの少なくとも一方は省略されてよく、これに応じて、カメラＳＣ１及びバイタルセンサＳＣ２の少なくとも一方は省略されてよい。
【０２５１】
＜状態予測装置のハードウェア構成＞
次に、図１６を更に用いて、本変形例に係る状態予測装置２Ｃのハードウェア構成の一例を説明する。図１６は、本変形例に係る状態予測装置２Ｃのハードウェア構成の一例を模式的に例示する。本変形例に係る状態予測装置２Ｃは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。状態予測装置２Ｃは、外部インタフェース２７を介してカメラＳＣ１及びバイタルセンサＳＣ２に接続される。ただし、状態予測装置２Ｃのハードウェア構成は、このような例に限定されなくてもよい。状態予測装置２Ｃの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。状態予測装置２Ｃは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【０２５２】
本変形例に係る状態予測装置２Ｃの記憶部２２は、状態予測プログラム８２Ｃ、第１学習結果データ１２１Ｃ、第２学習結果データ１２３Ｃ等の各種情報を記憶する。状態予測プログラム８２Ｃ、第１学習結果データ１２１Ｃ、及び第２学習結果データ１２３Ｃは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。状態予測プログラム８２Ｃ、第１学習結果データ１２１Ｃ、及び第２学習結果データ１２３Ｃのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、状態予測装置２Ｃは、記憶媒体９２から、状態予測プログラム８２Ｃ、第１学習結果データ１２１Ｃ、及び第２学習結果データ１２３Ｃのうちの少なくともいずれかを取得してもよい。
【０２５３】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ｃの機械学習の処理手順の一例について説明する。図１５に示されるとおり、本変形例では、モデル生成装置１は、対象者の状態を観測するセンサにより得られる観測データ（具体的には、画像データ及びバイタルデータ）を所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ｃの機械学習に関する一連の処理を実行する。
【０２５４】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ｃの機械学習に利用する複数の第１学習データセット３１Ｃを取得する。本変形例では、推定器５１Ｃは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ｃ及びデコーダ５３Ｃを備える。エンコーダ５２Ｃ及びデコーダ５３Ｃはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０２５５】
各第１学習データセット３１Ｃは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ｃは、運転者の状態を観測するカメラ及びバイタルセンサそれぞれにより時系列に得られる画像データ及びバイタルデータのサンプル３１１Ｃ、及びサンプル３１１Ｃに現れる特徴（正解）を示す正解データ３１３Ｃの組み合わせにより構成される。正解データ３１３Ｃにより示される特徴は、例えば、運転者の状態であってよい。運転者の状態は、例えば、運転者の眠気の度合いを示す眠気度、運転者の疲労の度合いを示す疲労度、運転者の運転に対する余裕の度合いを示す余裕度、又はこれらの組み合わせを含んでもよい。
【０２５６】
上記実施形態と同様に、各第１学習データセット３１Ｃを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ｃは、適宜生成されてよい。例えば、カメラＳＣ１及びバイタルセンサＳＣ２それぞれと同種のカメラ及びバイタルセンサを用意し、用意したカメラ及びバイタルセンサにより様々な属性及び条件の運転者（被験者）を観測することで、時系列に画像データ及びバイタルデータを取得する。続いて、時系列に得られた画像データ及びバイタルデータからサンプル３１１Ｃを適宜抽出する。そして、抽出されたサンプル３１１Ｃに対して、当該被験者の状態等のサンプル３１１Ｃに現れる特徴を示す正解データ３１３Ｃを関連付ける。これにより、各第１学習データセット３１Ｃを生成することができる。複数の第１学習データセット３１Ｃを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０２５７】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ｃを使用して、推定器５１Ｃの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ｃについて、サンプル３１１Ｃをエンコーダ５２Ｃに入力すると、サンプル３１１Ｃ及び正解データ３１３Ｃに適合する出力値をデコーダ５３Ｃから出力するように推定器５１Ｃを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ｃは、画像データ及びバイタルデータのサンプル３１１Ｃを特徴量に変換するように訓練されていく。また、デコーダ５３Ｃは、エンコーダ５２Ｃにより得られた特徴量からサンプル３１１Ｃを復元すると共に、サンプル３１１Ｃに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ｃについて、サンプル３１１Ｃの入力に対して、サンプル３１１Ｃ及び正解データ３１３Ｃに適合する出力値を出力するように訓練された推定器５１Ｃを構築することができる。推定器５１Ｃの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０２５８】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ｃの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ｃとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ｃを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ｃの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ｃに関する第１学習結果データ１２１Ｃは、任意のタイミングで状態予測装置２Ｃに与えられてよい。
【０２５９】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ｃ及び不一致性予測器５７Ｃの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、対象者の状態を観測するセンサにより得られる観測データ（具体的には、画像データ及びバイタルデータ）を所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ｃ及び不一致性予測器５７Ｃの機械学習に関する一連の処理を実行する。
【０２６０】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる画像データ及びバイタルデータの第１時刻における第１サンプル３２１Ｃ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ｃの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ｃを取得する。各第２学習データセット３２Ｃを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ｃは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ｃ及び第２サンプルを抽出した画像データ及びバイタルデータは、各第１学習データセット３１Ｃの生成に利用された画像データ及びバイタルデータと同じであってよい。本変形例では、特徴情報３２３Ｃは、画像データ及びバイタルデータに現れる被験者の状態に関してもよい。また、特徴情報３２３Ｃは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ｃを構成する特徴量は、学習済みのエンコーダ５２Ｃにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ｃには、希少度３２５Ｃが適宜設定されてよい。複数の第２学習データセット３２Ｃを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０２６１】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ｃを使用して、予測モデル５５Ｃの機械学習を実行する。予測モデル５５Ｃは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ｃについて、第１サンプル３２１Ｃを入力すると、対応する特徴情報３２３Ｃに適合する出力値を出力するように予測モデル５５Ｃを訓練する。この予測モデル５５Ｃの機械学習において、制御部１１は、希少度３２５Ｃの高い第２学習データセット３２Ｃほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ｃについて、第１時刻における第１サンプル３２１Ｃを入力すると、第２時刻における特徴情報３２３Ｃに適合する出力値を出力するように訓練された予測モデル５５Ｃを構築することができる。予測モデル５５Ｃの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０２６２】
ステップＳ２０３では、制御部１１は、予測モデル５５Ｃ及び不一致性予測器５７Ｃの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０２６３】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ｃの第１時刻における第１サンプル３２１Ｃ、及び当該第１サンプル３２１Ｃに対する予測モデル５５Ｃによる予測の不一致性３３３Ｃの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ｃを取得する。各第３学習データセット３３Ｃを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ｃの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ｃ及び各第２学習データセット３２Ｃが利用されてよい。複数の第３学習データセット３３Ｃを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０２６４】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ｃを使用して、不一致性予測器５７Ｃの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ｃについて、第１サンプル３２１Ｃを入力すると、対応する不一致性３３３Ｃに適合する出力値を出力するように不一致性予測器５７Ｃを訓練する。制御部１１は、予測モデル５５Ｃの機械学習とは異なり、この不一致性予測器５７Ｃの機械学習において、希少度３２５Ｃとは無関係に、各第３学習データセット３３Ｃを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ｃについて、第１時刻における第１サンプル３２１Ｃを入力すると、当該第１サンプル３２１Ｃに対する予測モデル５５Ｃによる予測の不一致性３３３Ｃに適合する出力値を出力するように訓練された不一致性予測器５７Ｃを構築することができる。不一致性予測器５７Ｃの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０２６５】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ｃを利用して、各第２学習データセット３２Ｃの希少度３２５Ｃを設定（更新）する。希少度３２５Ｃを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ｃの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０２６６】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ｃの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ｃとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ｃを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ｃ及び不一致性予測器５７Ｃの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ｃは、任意のタイミングで状態予測装置２Ｃに与えられてよい。
【０２６７】
＜予測処理＞
次に、図１７を用いて、状態予測装置２Ｃの予測処理の一例について説明する。図１７は、本変形例に係る状態予測装置２Ｃの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、状態予測装置２Ｃの予測処理に関するソフトウェア構成は、制御部２１による状態予測プログラム８２Ｃの実行により実現される。図１７に示されるとおり、対象者の状態を観測するセンサにより得られる観測データ（具体的には、画像データ及びバイタルデータ）を所定のデータとして取り扱う点を除き、状態予測装置２Ｃの予測処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、状態予測装置２Ｃは、上記予測装置２と同様に、予測処理に関する一連の処理を実行する。
【０２６８】
すなわち、ステップＳ３０１では、状態予測装置２Ｃの制御部２１は、画像データ及びバイタルデータの対象サンプル２２１ＣをカメラＳＣ１及びバイタルセンサＳＣ２から取得する。ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ｃを参照し、学習済みの予測モデル５５Ｃの設定を行う。また、制御部２１は、第１学習結果データ１２１Ｃを参照して、学習済みの推定器５１Ｃのデコーダ５３Ｃの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ｃを予測モデル５５Ｃに入力し、予測モデル５５Ｃの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ｃから未来の時刻における画像データ及びバイタルデータの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ｃの出力値をデコーダ５３Ｃに入力し、デコーダ５３Ｃの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ｃにより予測された特徴量から、予測サンプル２２５Ｃを復元すると共に、未来の時刻において画像データ及びバイタルデータに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ｃから取得する。本変形例では、予測される特徴は、画像データ及びバイタルデータから特定される運転者ＲＣの状態を示す状態情報２２３Ｃを含み得る。状態情報２２３Ｃにより示される運転者ＲＣの状態は、運転者ＲＣの眠気度、疲労度、余裕度、又はこれらの組み合わせを含み得る。対象サンプル２２１Ｃからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０２６９】
ステップＳ３０３では、制御部２１は、予測の結果（状態情報２２３Ｃ及び予測サンプル２２５Ｃ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた状態情報２２３Ｃ及び予測サンプル２２５Ｃをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０２７０】
当該情報処理の一例として、制御部２１は、状態情報２２３Ｃにより示される運転者ＲＣの状態に応じて、警告等の特定のメッセージを出力装置２５に出力してもよい。具体例として、状態情報２２３Ｃが、運転者ＲＣの眠気度及び疲労度の少なくとも一方を示す場合、制御部２１は、予測された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。閾値は適宜設定されてよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、駐車場等に停車し、休憩を取るように運転者ＲＣに促す警告を出力装置２５に出力してもよい。
【０２７１】
また、例えば、車両が自動運転動作可能に構成されている場合、制御部２１は、運転者ＲＣの状態を予測した結果に基づいて、車両の自動運転の動作を制御してもよい。一例として、車両が、システムにより車両の走行を制御する自動運転モード及び運転者ＲＣの操舵により車両の走行を制御する手動運転モードの切り替えが可能に構成されていると想定する。
【０２７２】
このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者ＲＣ又はシステムから受け付けた際に、制御部２１は、状態情報２２３Ｃにより示される運転者ＲＣの余裕度が閾値を超えているか否かを判定してもよい。そして、運転者ＲＣの余裕度が閾値を超えている場合に、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可してもよい。一方、運転者ＲＣの余裕度が閾値以下である場合には、制御部２１は、自動運転モードから手動運転モードへの切り替えを許可せず、自動運転モードでの走行を維持してもよい。
【０２７３】
また、手動運転モードで車両が走行している際に、制御部２１は、状態情報２２３Ｃにより示される眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部２１は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、手動運転モードによる車両の走行を維持してもよい。
【０２７４】
また、手動運転モードで車両が走行している際に、制御部２１は、状態情報２２３Ｃにより示される余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、制御部２１は、減速する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部２１は、運転者ＲＣの操作による車両の走行を維持してもよい。
【０２７５】
本変形例によれば、対象者の状態を予測する場面において、希少な事象を精度よく予測可能な予測モデル５５Ｃを構築することができる。上記希少度３２５Ｃを利用した機械学習により、例えば、予測モデル５５Ｃは、対象者の状態が徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に対象者の状態が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、状態予測装置２Ｃは、この予測モデル５５Ｃを利用することで、上記のような不規則に発生し得る対象者の状態の変化を精度よく予測することができる。これにより、上記のケースでは、例えば、運転者ＲＣの状態が急変することにより生じ得る車両の事故を未然に防ぐことが可能になる。
【０２７６】
なお、状態を予測する対象となる対象者は、図１５に例示される車両の運転者ＲＣに限られなくてもよく、あらゆる人物を含んでよい。状態を予測する対象となる対象者は、例えば、オフィス、工場等で作業を行う作業者、バイタルを計測される被計測者等を含んでもよい。
【０２７７】
図１８は、対象者の状態を予測する他の場面の一例を模式的に例示する。図１８に例示される予測システム１００Ｄは、モデル生成装置１及び健康予測装置２Ｄを備えている。健康予測装置２Ｄは、上記状態予測装置２Ｃに対応する。図１８の例では、健康予測装置２Ｄは、バイタルセンサＳＣ２に接続され、バイタルセンサＳＣ２により被計測者のバイタルデータを取得する。健康予測装置２Ｄは、上記状態予測装置２Ｃと同様の処理により、任意の時刻におけるバイタルデータから未来の時刻における被計測者の健康状態を予測する。被計測者の健康状態は、対象者の状態の一例である。健康状態は、例えば、実施の形態に応じて適宜決定されてよく、例えば、健康であるか否か、病気になる予兆があるか否か等を含んでよい。本場面では、健康予測装置２Ｄは、不規則に発生し得る被計測者の健康状態の変化を精度よく予測することができる。
【０２７８】
なお、予測の対象となる対象者の状態は、上記の例に限定されなくてもよく、対象者のあらゆる状態を含んでもよい。対象者の状態は、対象者の生じたイベント（例えば、発病する）により表現されてもよい。また、状態を予測する対象となる対象者は、上記図１５に例示される運転者ＲＣ、上記図１８に例示されるバイタルを計測する人物等の特定の人物に限られなくてもよく、例えば、カメラに写る不特定の人物であってもよい。一例として、カメラは、駅のホーム、街頭、店舗内等に設置されてもよい。上記予測システム１００Ｃは、このカメラにより得られる画像データを取り扱うように構成されてもよい。この場合、対象者の状態には、駅のホームからの人の転落等のイベントが含まれてもよい。上記ステップＳ３０３では、状態予測装置２Ｃは、このような駅のホームからの人の転落等のイベントが予測される場合に、予測されたイベントの種別に応じて警告メッセージを出力してもよい。
【０２７９】
（Ｄ）人の流れの予測
図１９は、第４変形例に係る予測システム１００Ｅの適用場面の一例を模式的に例示する。本変形例は、人の流れを予測する場面に上記実施形態を適用した例である。人の流れは、歩行者の流れ、及び人の乗り得る移動体の流れの少なくとも一方を含んでよい。歩行者の流れは、例えば、所定の領域内に存在する人物の流れ（一例として、ある会場内の参加者の流れ）により表現されてもよい。また、移動体の流れは、例えば、車両等の交通の流れにより表現されてもよい。図１９に示されるとおり、本変形例に係る予測システム１００Ｅは、モデル生成装置１及び人流予測装置２Ｅを備えている。上記実施形態と同様に、モデル生成装置１及び人流予測装置２Ｅは、ネットワークを介して互いに接続されてよい。
【０２８０】
本変形例に係る予測システム１００Ｅは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。人流予測装置２Ｅは、上記予測装置２に対応する。人流予測装置２Ｅは、上記予測装置２と同様に構成されてよい。モデル生成装置１は、機械学習により、任意の時刻における人流データから、未来の時刻における人流データに現れる特徴を予測可能に訓練された予測モデル５５Ｅを構築する。一方、人流予測装置２Ｅは、予測モデル５５Ｅを利用して、人流データから未来の時刻における人の流れの量を予測する。時系列に得られる上記所定のデータは、人流データであってよく、上記特徴情報３２３は、当該人流データから特定される人の流れの量に関してよい。
【０２８１】
人流データは、本発明の「時系列に得られる所定のデータ」の一例である。人流データは、人の流れに関するもの、すなわち、人の流れを推定可能なデータであれば、その種類は、特に限られなくてもよく、実施の形態に応じて適宜選択されてよい。人流データの取得には、センサが用いられてもよい。例えば、人流データは、任意の場所を通過する人物を検知するように構成された人感センサ、ゲートの開閉を検知するように構成されたセンサ、ゲートを通過する人を検知するように構成されたセンサ、車両の通行量を検知するように構成されたセンサ、移動する人及び車両の少なくともいずれかに関する音を測定するように設置されたマイクロフォン、移動する人及び車両の少なくともいずれかを撮影するように設置されたカメラ等により得られてよい。すなわち、人流データは、カメラにより得られる画像データ、マイクロフォンにより得られる音データ、その他のセンサにより得られるセンシングデータ等であってよい。人感センサは、例えば、赤外線センサであってよい。ゲートは、例えば、自動改札ゲート、建物に設置されたゲート（ドア等）、高速道路の出入口に設置されたゲート、駐車場等の所定の敷地の出入口に設置されたゲート等であってよい。また、人流データは、例えば、携帯電話、車載装置等の人又は車両の保持する装置の位置データ、当該装置の通信データ等を含んでもよい。位置データは、例えば、ＧＰＳ測定器等により測定されてよい。また、人流データは、例えば、所定の場所で商品を購入したことを示すＰＯＳ（Point of Sales）データ等の人の履歴に関するデータを含んでもよい。更に、人流データは、気象データ等の人の流れに間接的に関与し得るデータを含んでもよい。
【０２８２】
本変形例では、人の流れを計測するために、センサＳＥが用いられる。センサＳＥは、特に限定されなくてもよく、上記の例から適宜選択されてよい。センサＳＥは、人の流れを計測可能に適宜配置されてよい。
【０２８３】
モデル生成装置１は、機械学習により、センサにより得られる任意の時刻における人流データから、未来の時刻における人流データにより特定される人の流れの量に関する特徴を予測可能に訓練された予測モデル５５Ｅを構築する。つまり、本変形例では、センサＳＥにより得られる人流データが、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【０２８４】
一方、人流予測装置２Ｅは、センサＳＥに接続されている。人流予測装置２Ｅは、センサＳＥにより人の流れを計測することで人流データを取得する。そして、人流予測装置２Ｅは、学習済みの予測モデル５５Ｅを利用して、任意の時刻における人流データから未来の時刻における人流データに現れる人の流れの量に関する特徴を予測する。
【０２８５】
＜人流予測装置のハードウェア構成＞
次に、図２０を更に用いて、本変形例に係る人流予測装置２Ｅのハードウェア構成の一例を説明する。図２０は、本変形例に係る人流予測装置２Ｅのハードウェア構成の一例を模式的に例示する。本変形例に係る人流予測装置２Ｅは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。人流予測装置２Ｅは、外部インタフェース２７を介してセンサＳＥに接続される。ただし、人流予測装置２Ｅのハードウェア構成は、このような例に限定されなくてもよい。人流予測装置２Ｅの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。人流予測装置２Ｅは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０２８６】
本変形例に係る人流予測装置２Ｅの記憶部２２は、人流予測プログラム８２Ｅ、第１学習結果データ１２１Ｅ、第２学習結果データ１２３Ｅ等の各種情報を記憶する。人流予測プログラム８２Ｅ、第１学習結果データ１２１Ｅ、及び第２学習結果データ１２３Ｅは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。人流予測プログラム８２Ｅ、第１学習結果データ１２１Ｅ、及び第２学習結果データ１２３Ｅのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、人流予測装置２Ｅは、記憶媒体９２から、人流予測プログラム８２Ｅ、第１学習結果データ１２１Ｅ、及び第２学習結果データ１２３Ｅのうちの少なくともいずれかを取得してもよい。
【０２８７】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ｅの機械学習の処理手順の一例について説明する。図１９に示されるとおり、本変形例では、モデル生成装置１は、人流データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ｅの機械学習に関する一連の処理を実行する。
【０２８８】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ｅの機械学習に利用する複数の第１学習データセット３１Ｅを取得する。本変形例では、推定器５１Ｅは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ｅ及びデコーダ５３Ｅを備える。エンコーダ５２Ｅ及びデコーダ５３Ｅはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０２８９】
各第１学習データセット３１Ｅは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ｅは、センサにより時系列に得られる人流データのサンプル３１１Ｅ、及びサンプル３１１Ｅに現れる特徴（正解）を示す正解データ３１３Ｅの組み合わせにより構成される。正解データ３１３Ｅにより示される特徴は、例えば、人の流れの量であってよい。人の流れの量は、例えば、所定の地点を通過する人の数又は程度、所定の範囲に存在する人の数又は程度、渋滞の発生の有無等により表現されてよい。
【０２９０】
上記実施形態と同様に、各第１学習データセット３１Ｅを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ｅは、適宜生成されてよい。例えば、センサＳＥと同種のセンサを用意し、用意したセンサにより様々な条件で人の流れを観測することで、時系列に人流データを取得する。続いて、時系列に得られた人流データからサンプル３１１Ｅを適宜抽出する。そして、抽出されたサンプル３１１Ｅに対して、観測した人の流れの量等のサンプル３１１Ｅに現れる特徴を示す正解データ３１３Ｅを関連付ける。これにより、各第１学習データセット３１Ｅを生成することができる。複数の第１学習データセット３１Ｅを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０２９１】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ｅを使用して、推定器５１Ｅの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ｅについて、サンプル３１１Ｅをエンコーダ５２Ｅに入力すると、サンプル３１１Ｅ及び正解データ３１３Ｅに適合する出力値をデコーダ５３Ｅから出力するように推定器５１Ｅを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ｅは、人流データのサンプル３１１Ｅを特徴量に変換するように訓練されていく。また、デコーダ５３Ｅは、エンコーダ５２Ｅにより得られた特徴量からサンプル３１１Ｅを復元すると共に、サンプル３１１Ｅに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ｅについて、サンプル３１１Ｅの入力に対して、サンプル３１１Ｅ及び正解データ３１３Ｅに適合する出力値を出力するように訓練された推定器５１Ｅを構築することができる。推定器５１Ｅの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０２９２】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ｅの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ｅとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ｅを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ｅの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ｅに関する第１学習結果データ１２１Ｅは、任意のタイミングで人流予測装置２Ｅに与えられてよい。
【０２９３】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ｅ及び不一致性予測器５７Ｅの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、人流データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ｅ及び不一致性予測器５７Ｅの機械学習に関する一連の処理を実行する。
【０２９４】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる人流データの第１時刻における第１サンプル３２１Ｅ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ｅの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ｅを取得する。各第２学習データセット３２Ｅを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ｅは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ｅ及び第２サンプルを抽出した人流データは、各第１学習データセット３１Ｅの生成に利用された人流データと同じであってよい。本変形例では、特徴情報３２３Ｅは、人流データから特定される人の流れの量に関してもよい。また、特徴情報３２３Ｅは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ｅを構成する特徴量は、学習済みのエンコーダ５２Ｅにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ｅには、希少度３２５Ｅが適宜設定されてよい。複数の第２学習データセット３２Ｅを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０２９５】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ｅを使用して、予測モデル５５Ｅの機械学習を実行する。予測モデル５５Ｅは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ｅについて、第１サンプル３２１Ｅを入力すると、対応する特徴情報３２３Ｅに適合する出力値を出力するように予測モデル５５Ｅを訓練する。この予測モデル５５Ｅの機械学習において、制御部１１は、希少度３２５Ｅの高い第２学習データセット３２Ｅほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ｅについて、第１時刻における第１サンプル３２１Ｅを入力すると、第２時刻における特徴情報３２３Ｅに適合する出力値を出力するように訓練された予測モデル５５Ｅを構築することができる。予測モデル５５Ｅの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０２９６】
ステップＳ２０３では、制御部１１は、予測モデル５５Ｅ及び不一致性予測器５７Ｅの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０２９７】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ｅの第１時刻における第１サンプル３２１Ｅ、及び当該第１サンプル３２１Ｅに対する予測モデル５５Ｅによる予測の不一致性３３３Ｅの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ｅを取得する。各第３学習データセット３３Ｅを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ｅの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ｅ及び各第２学習データセット３２Ｅが利用されてよい。複数の第３学習データセット３３Ｅを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０２９８】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ｅを使用して、不一致性予測器５７Ｅの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ｅについて、第１サンプル３２１Ｅを入力すると、対応する不一致性３３３Ｅに適合する出力値を出力するように不一致性予測器５７Ｅを訓練する。制御部１１は、予測モデル５５Ｅの機械学習とは異なり、この不一致性予測器５７Ｅの機械学習において、希少度３２５Ｅとは無関係に、各第３学習データセット３３Ｅを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ｅについて、第１時刻における第１サンプル３２１Ｅを入力すると、当該第１サンプル３２１Ｅに対する予測モデル５５Ｅによる予測の不一致性３３３Ｅに適合する出力値を出力するように訓練された不一致性予測器５７Ｅを構築することができる。不一致性予測器５７Ｅの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０２９９】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ｅを利用して、各第２学習データセット３２Ｅの希少度３２５Ｅを設定（更新）する。希少度３２５Ｅを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ｅの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０３００】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ｅの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ｅとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ｅを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ｅ及び不一致性予測器５７Ｅの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ｅは、任意のタイミングで人流予測装置２Ｅに与えられてよい。
【０３０１】
＜予測処理＞
次に、図２１を用いて、人流予測装置２Ｅの予測処理の一例について説明する。図２１は、本変形例に係る人流予測装置２Ｅの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、人流予測装置２Ｅの予測処理に関するソフトウェア構成は、制御部２１による人流予測プログラム８２Ｅの実行により実現される。図２１に示されるとおり、人流データを所定のデータとして取り扱う点を除き、人流予測装置２Ｅの予測処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、人流予測装置２Ｅは、上記予測装置２と同様に、予測処理に関する一連の処理を実行する。
【０３０２】
すなわち、ステップＳ３０１では、人流予測装置２Ｅの制御部２１は、人流データの対象サンプル２２１ＥをセンサＳＥから取得する。ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ｅを参照し、学習済みの予測モデル５５Ｅの設定を行う。また、制御部２１は、第１学習結果データ１２１Ｅを参照して、学習済みの推定器５１Ｅのデコーダ５３Ｅの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ｅを予測モデル５５Ｅに入力し、予測モデル５５Ｅの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ｅから未来の時刻における人流データの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ｅの出力値をデコーダ５３Ｅに入力し、デコーダ５３Ｅの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ｅにより予測された特徴量から、予測サンプル２２５Ｅを復元すると共に、未来の時刻において人流データに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ｅから取得する。本変形例では、予測される特徴は、人流データから特定される人の流れの量を示す人流情報２２３Ｅを含み得る。対象サンプル２２１Ｅからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０３０３】
ステップＳ３０３では、制御部２１は、予測の結果（人流情報２２３Ｅ及び予測サンプル２２５Ｅ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた人流情報２２３Ｅ及び予測サンプル２２５Ｅをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０３０４】
当該情報処理の一例として、制御部２１は、人流情報２２３Ｅにより示される人の流れに応じて、渋滞が発生する、混雑が予想される等の特定のメッセージを出力装置２５に出力してもよい。この場合、人流予測装置２Ｅは、更に、地図情報を参照し、渋滞又は混雑が予想される場所を回避した迂回ルートを出力装置２５に出力してもよい。地図情報は、記憶部２２、記憶媒体９２、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部２１は、当該処理を実行する際に、所定の記憶領域から地図情報を適宜取得してもよい。
【０３０５】
本変形例によれば、人の流れを予測する場面において、希少な事象を精度よく予測可能な予測モデル５５Ｅを構築することができる。上記希少度３２５Ｅを利用した機械学習により、例えば、予測モデル５５Ｅは、人の流れが徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に人の流れが変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、人流予測装置２Ｅは、この予測モデル５５Ｅを利用することで、上記のような不規則に発生し得る人の流れの変化を精度よく予測することができる。これにより、人の流れを適切に整理することが可能になる。
【０３０６】
（Ｅ）栽培状況を予測する場面
図２２は、第５実施例に係る予測システム１００Ｆの適用場面の一例を模式的に例示する。本変形例は、植物ＧＦの栽培状況を予測する場面に上記実施形態を適用した例である。図２２に示されるとおり、本変形例に係る予測システム１００Ｆは、モデル生成装置１及び状況予測装置２Ｆを備えている。上記実施形態と同様に、モデル生成装置１及び状況予測装置２Ｆは、ネットワークを介して互いに接続されてよい。
【０３０７】
本変形例に係る予測システム１００Ｆは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。状況予測装置２Ｆは、上記予測装置２に対応する。状況予測装置２Ｆは、上記予測装置２と同様に構成されてよい。モデル生成装置１は、機械学習により、任意の時刻における植物の栽培状況に関する状況データから、未来の時刻における状況データに現れる特徴を予測可能に訓練された予測モデル５５Ｆを構築する。一方、状況予測装置２Ｆは、予測モデル５５Ｆを利用して、状況データから未来の時刻における植物ＧＦの栽培状況を予測する。時系列に得られる上記所定のデータは、状況データであってよく、上記特徴情報３２３は、当該状況データから特定される植物ＧＦの栽培状況に関してよい。
【０３０８】
植物ＧＦの栽培状況は、植物ＧＦを栽培するあらゆる要素に関し、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育環境は、植物ＧＦを生育する状況に関し、例えば、植物ＧＦに光を照射する時間、植物ＧＦの周囲の温度、植物ＧＦに与える水の量等である。生育状態は、例えば、植物ＧＦの成長度等により規定されてよい。状況データは、植物ＧＦの栽培状況に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０３０９】
本変形例では、植物ＧＦの栽培状況を観測するために、センサＳＦが用いられる。センサＳＦは、植物ＧＦの栽培状況を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサＳＦは、例えば、光度計、温度計、湿度計、カメラ等であってよい。カメラは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。すなわち、本変形例では、センサＳＦにより得られるセンシングデータが状況データの一例として利用される。
【０３１０】
モデル生成装置１は、機械学習により、センサにより得られる任意の時刻における状況データから、未来の時刻における状況データにより特定される植物の栽培状況に関する特徴を予測可能に訓練された予測モデル５５Ｆを構築する。つまり、本変形例では、センサＳＦにより得られる状況データが、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【０３１１】
一方、状況予測装置２Ｆは、センサＳＦに接続されている。状況予測装置２Ｆは、センサＳＦにより植物ＧＦの栽培状況を観測することで状況データを取得する。そして、状況予測装置２Ｆは、学習済みの予測モデル５５Ｆを利用して、任意の時刻における状況データから未来の時刻における状況データに現れる植物ＧＦの栽培状況に関する特徴を予測する。
【０３１２】
なお、本変形例では、状況予測装置２Ｆは、更に、栽培装置ＲＦに接続され、植物ＧＦの栽培状況を予測した結果に応じて、栽培装置ＲＦの動作を制御可能に構成される。栽培装置ＲＦは、植物ＧＦの生育環境を制御して、植物ＧＦを栽培するように構成される。栽培装置ＲＦは、植物ＧＦの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。栽培装置ＲＦは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、ＬＥＤ（light emitting diode）照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物ＧＦに光を照射する時間を制御するために利用される。空調設備は、植物ＧＦの周囲の温度を制御するために利用される。散水装置は、植物ＧＦに与える水の量を制御するために利用される。
【０３１３】
＜状況予測装置のハードウェア構成＞
次に、図２３を更に用いて、本変形例に係る状況予測装置２Ｆのハードウェア構成の一例を説明する。図２３は、本変形例に係る状況予測装置２Ｆのハードウェア構成の一例を模式的に例示する。本変形例に係る状況予測装置２Ｆは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。状況予測装置２Ｆは、外部インタフェース２７を介してセンサＳＦ及び栽培装置ＲＦに接続される。ただし、状況予測装置２Ｆのハードウェア構成は、このような例に限定されなくてもよい。状況予測装置２Ｆの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。状況予測装置２Ｆは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ、ＰＬＣ等であってもよい。
【０３１４】
本変形例に係る状況予測装置２Ｆの記憶部２２は、状況予測プログラム８２Ｆ、第１学習結果データ１２１Ｆ、第２学習結果データ１２３Ｆ等の各種情報を記憶する。状況予測プログラム８２Ｆ、第１学習結果データ１２１Ｆ、及び第２学習結果データ１２３Ｆは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。状況予測プログラム８２Ｆ、第１学習結果データ１２１Ｆ、及び第２学習結果データ１２３Ｆのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、状況予測装置２Ｆは、記憶媒体９２から、状況予測プログラム８２Ｆ、第１学習結果データ１２１Ｆ、及び第２学習結果データ１２３Ｆのうちの少なくともいずれかを取得してもよい。
【０３１５】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ｆの機械学習の処理手順の一例について説明する。図２２に示されるとおり、本変形例では、モデル生成装置１は、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ｆの機械学習に関する一連の処理を実行する。
【０３１６】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ｆの機械学習に利用する複数の第１学習データセット３１Ｆを取得する。本変形例では、推定器５１Ｆは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ｆ及びデコーダ５３Ｆを備える。エンコーダ５２Ｆ及びデコーダ５３Ｆはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０３１７】
各第１学習データセット３１Ｆは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ｆは、センサにより時系列に得られる状況データのサンプル３１１Ｆ、及びサンプル３１１Ｆに現れる特徴（正解）を示す正解データ３１３Ｆの組み合わせにより構成される。正解データ３１３Ｆにより示される特徴は、例えば、植物の栽培状況であってよい。
【０３１８】
上記実施形態と同様に、各第１学習データセット３１Ｆを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ｆは、適宜生成されてよい。例えば、センサＳＦと同種のセンサ及び植物ＧＦと同種の植物を用意し、用意したセンサにより様々な栽培状況の植物を観測することで、時系列に状況データを取得する。続いて、時系列に得られた状況データからサンプル３１１Ｆを適宜抽出する。そして、抽出されたサンプル３１１Ｆに対して、観測した植物の栽培状況等のサンプル３１１Ｆに現れる特徴を示す正解データ３１３Ｆを関連付ける。これにより、各第１学習データセット３１Ｆを生成することができる。複数の第１学習データセット３１Ｆを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０３１９】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ｆを使用して、推定器５１Ｆの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ｆについて、サンプル３１１Ｆをエンコーダ５２Ｆに入力すると、サンプル３１１Ｆ及び正解データ３１３Ｆに適合する出力値をデコーダ５３Ｆから出力するように推定器５１Ｆを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ｆは、状況データのサンプル３１１Ｆを特徴量に変換するように訓練されていく。また、デコーダ５３Ｆは、エンコーダ５２Ｆにより得られた特徴量からサンプル３１１Ｆを復元すると共に、サンプル３１１Ｆに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ｆについて、サンプル３１１Ｆの入力に対して、サンプル３１１Ｆ及び正解データ３１３Ｆに適合する出力値を出力するように訓練された推定器５１Ｆを構築することができる。推定器５１Ｆの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０３２０】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ｆの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ｆとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ｆを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ｆの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ｆに関する第１学習結果データ１２１Ｆは、任意のタイミングで状況予測装置２Ｆに与えられてよい。
【０３２１】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ｆ及び不一致性予測器５７Ｆの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ｆ及び不一致性予測器５７Ｆの機械学習に関する一連の処理を実行する。
【０３２２】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる状況データの第１時刻における第１サンプル３２１Ｆ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ｆの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ｆを取得する。各第２学習データセット３２Ｆを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ｆは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ｆ及び第２サンプルを抽出した状況データは、各第１学習データセット３１Ｆの生成に利用された状況データと同じであってよい。本変形例では、特徴情報３２３Ｆは、状況データから特定される植物の栽培状況に関してもよい。また、特徴情報３２３Ｆは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ｆを構成する特徴量は、学習済みのエンコーダ５２Ｆにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ｆには、希少度３２５Ｆが適宜設定されてよい。複数の第２学習データセット３２Ｆを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０３２３】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ｆを使用して、予測モデル５５Ｆの機械学習を実行する。予測モデル５５Ｆは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ｆについて、第１サンプル３２１Ｆを入力すると、対応する特徴情報３２３Ｆに適合する出力値を出力するように予測モデル５５Ｆを訓練する。この予測モデル５５Ｆの機械学習において、制御部１１は、希少度３２５Ｆの高い第２学習データセット３２Ｆほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ｆについて、第１時刻における第１サンプル３２１Ｆを入力すると、第２時刻における特徴情報３２３Ｆに適合する出力値を出力するように訓練された予測モデル５５Ｆを構築することができる。予測モデル５５Ｆの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０３２４】
ステップＳ２０３では、制御部１１は、予測モデル５５Ｆ及び不一致性予測器５７Ｆの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０３２５】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ｆの第１時刻における第１サンプル３２１Ｆ、及び当該第１サンプル３２１Ｆに対する予測モデル５５Ｆによる予測の不一致性３３３Ｆの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ｆを取得する。各第３学習データセット３３Ｆを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ｆの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ｆ及び各第２学習データセット３２Ｆが利用されてよい。複数の第３学習データセット３３Ｆを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０３２６】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ｆを使用して、不一致性予測器５７Ｆの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ｆについて、第１サンプル３２１Ｆを入力すると、対応する不一致性３３３Ｆに適合する出力値を出力するように不一致性予測器５７Ｆを訓練する。制御部１１は、予測モデル５５Ｆの機械学習とは異なり、この不一致性予測器５７Ｆの機械学習において、希少度３２５Ｆとは無関係に、各第３学習データセット３３Ｆを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ｆについて、第１時刻における第１サンプル３２１Ｆを入力すると、当該第１サンプル３２１Ｆに対する予測モデル５５Ｆによる予測の不一致性３３３Ｆに適合する出力値を出力するように訓練された不一致性予測器５７Ｆを構築することができる。不一致性予測器５７Ｆの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０３２７】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ｆを利用して、各第２学習データセット３２Ｆの希少度３２５Ｆを設定（更新）する。希少度３２５Ｆを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ｆの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０３２８】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ｆの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ｆとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ｆを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ｆ及び不一致性予測器５７Ｆの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ｆは、任意のタイミングで状況予測装置２Ｆに与えられてよい。
【０３２９】
＜予測処理＞
次に、図２４を用いて、状況予測装置２Ｆの予測処理の一例について説明する。図２４は、本変形例に係る状況予測装置２Ｆの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、状況予測装置２Ｆの予測処理に関するソフトウェア構成は、制御部２１による状況予測プログラム８２Ｆの実行により実現される。図２４に示されるとおり、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、状況予測装置２Ｆの予測処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、状況予測装置２Ｆは、上記予測装置２と同様に、予測処理に関する一連の処理を実行する。
【０３３０】
すなわち、ステップＳ３０１では、状況予測装置２Ｆの制御部２１は、状況データの対象サンプル２２１ＦをセンサＳＦから取得する。ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ｆを参照し、学習済みの予測モデル５５Ｆの設定を行う。また、制御部２１は、第１学習結果データ１２１Ｆを参照して、学習済みの推定器５１Ｆのデコーダ５３Ｆの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ｆを予測モデル５５Ｆに入力し、予測モデル５５Ｆの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ｆから未来の時刻における状況データの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ｆの出力値をデコーダ５３Ｆに入力し、デコーダ５３Ｆの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ｆにより予測された特徴量から、予測サンプル２２５Ｆを復元すると共に、未来の時刻において状況データに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ｆから取得する。本変形例では、予測される特徴は、状況データから特定される植物ＧＦの栽培状況を示す状況情報２２３Ｆを含み得る。対象サンプル２２１Ｆからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０３３１】
ステップＳ３０３では、制御部２１は、予測の結果（状況情報２２３Ｆ及び予測サンプル２２５Ｆ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた状況情報２２３Ｆ及び予測サンプル２２５Ｆをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０３３２】
当該情報処理の一例として、制御部２１は、状況情報２２３Ｆにより示される予測された栽培状況に応じて、栽培装置ＲＦに与える制御指令を決定してもよい。栽培状況と制御指令との対応関係はテーブル形式等の参照情報により与えられてもよい。この参照情報は、記憶部２２、記憶媒体９２、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部２１は、この参照情報を参照することで、予測された栽培状況に応じて制御指令を決定してもよい。そして、制御部２１は、決定された制御指令を栽培装置ＲＦに与えることで、栽培装置ＲＦの動作を制御してもよい。また、例えば、制御部２１は、決定された制御指令を示す情報を出力装置２５に出力し、植物ＧＦの管理者に栽培装置ＲＦの動作を制御するように促してもよい。
【０３３３】
本変形例によれば、植物ＧＦの栽培状況を予測する場面において、希少な事象を精度よく予測可能な予測モデル５５Ｆを構築することができる。上記希少度３２５Ｆを利用した機械学習により、例えば、予測モデル５５Ｆは、植物ＧＦの栽培状況が徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に植物ＧＦの栽培状況が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、状況予測装置２Ｆは、この予測モデル５５Ｆを利用することで、上記のような不規則に発生し得る植物ＧＦの栽培状況の変化を精度よく予測することができる。これにより、植物ＧＦの生育環境を適切に制御することが可能になる。
【０３３４】
（Ｆ）発電量を予測する場面
図２５は、第６実施例に係る予測システム１００Ｇの適用場面の一例を模式的に例示する。本変形例は、発電設備ＲＧにおける発電量を予測する場面に上記実施形態を適用した例である。図２５に示されるとおり、本変形例に係る予測システム１００Ｇは、モデル生成装置１及び発電量予測装置２Ｇを備えている。上記実施形態と同様に、モデル生成装置１及び発電量予測装置２Ｇは、ネットワークを介して互いに接続されてよい。
【０３３５】
本変形例に係る予測システム１００Ｇは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。発電量予測装置２Ｇは、上記予測装置２に対応する。発電量予測装置２Ｇは、上記予測装置２と同様に構成されてよい。発電設備ＲＧの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。発電設備ＲＧは、例えば、太陽光の発電設備であってよい。
【０３３６】
本変形例では、発電設備ＲＧの発電に関連する関連データに基づいて、当該発電設備ＲＧにおける発電量が予測される。関連データは、発電設備ＲＧの発電に関連し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。関連データは、例えば、天候、気温、降水量、湿度、風量等を気象に関する気象データであってよい。
【０３３７】
モデル生成装置１は、機械学習により、任意の時刻における関連データから、未来の時刻における関連データにより特定される発電設備における発電量に関する特徴を予測可能に訓練された予測モデル５５Ｇを構築する。つまり、本変形例では、発電設備ＲＧの発電に関連する関連データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【０３３８】
一方、発電量予測装置２Ｇは、発電設備ＲＧの発電に関連する関連データを適宜取得する。そして、発電量予測装置２Ｇは、学習済みの予測モデル５５Ｇを利用して、任意の時刻における関連データから未来の時刻における関連データに現れる発電設備ＲＧにおける発電量に関する特徴を予測する。
【０３３９】
＜発電量予測装置のハードウェア構成＞
次に、図２６を更に用いて、本変形例に係る発電量予測装置２Ｇのハードウェア構成の一例を説明する。図２６は、本変形例に係る発電量予測装置２Ｇのハードウェア構成の一例を模式的に例示する。本変形例に係る発電量予測装置２Ｇは、上記予測装置２と同様に、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、ドライブ２６、及び外部インタフェース２７が電気的に接続されたコンピュータである。ただし、発電量予測装置２Ｇのハードウェア構成は、このような例に限定されなくてもよい。発電量予測装置２Ｇの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。発電量予測装置２Ｇは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【０３４０】
本変形例に係る発電量予測装置２Ｇの記憶部２２は、予測プログラム８２Ｇ、第１学習結果データ１２１Ｇ、第２学習結果データ１２３Ｇ等の各種情報を記憶する。予測プログラム８２Ｇ、第１学習結果データ１２１Ｇ、及び第２学習結果データ１２３Ｇは、上記実施形態に係る予測プログラム８２、第１学習結果データ１２１、及び第２学習結果データ１２３に対応する。予測プログラム８２Ｇ、第１学習結果データ１２１Ｇ、及び第２学習結果データ１２３Ｇのうちの少なくともいずれかは記憶媒体９２に記憶されていてもよい。また、発電量予測装置２Ｇは、記憶媒体９２から、予測プログラム８２Ｇ、第１学習結果データ１２１Ｇ、及び第２学習結果データ１２３Ｇのうちの少なくともいずれかを取得してもよい。
【０３４１】
＜推定器の機械学習＞
次に、本変形例における推定器５１Ｇの機械学習の処理手順の一例について説明する。図２５に示されるとおり、本変形例では、モデル生成装置１は、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器５１Ｇの機械学習に関する一連の処理を実行する。
【０３４２】
すなわち、ステップＳ１０１では、モデル生成装置１の制御部１１は、推定器５１Ｇの機械学習に利用する複数の第１学習データセット３１Ｇを取得する。本変形例では、推定器５１Ｇは、上記実施形態に係る推定器５１と同様に、エンコーダ５２Ｇ及びデコーダ５３Ｇを備える。エンコーダ５２Ｇ及びデコーダ５３Ｇはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ５２及びデコーダ５３それぞれと同様に動作する。
【０３４３】
各第１学習データセット３１Ｇは、上記実施形態に係る各第１学習データセット３１に対応する。本変形例では、各第１学習データセット３１Ｇは、時系列に得られる関連データのサンプル３１１Ｇ、及びサンプル３１１Ｇに現れる特徴（正解）を示す正解データ３１３Ｇの組み合わせにより構成される。正解データ３１３Ｇにより示される特徴は、例えば、発電設備における発電量であってよい。
【０３４４】
上記実施形態と同様に、各第１学習データセット３１Ｇを取得する方法は、適宜選択されてよい。また、各第１学習データセット３１Ｇは、適宜生成されてよい。例えば、発電設備ＲＧと同種の発電設備における発電量と共に、様々な発電条件で関連データを時系列に取得する。発電量は、発電設備のセンサ、オペレータの入力等により与えられてよい。続いて、時系列に得られた関連データからサンプル３１１Ｇを適宜抽出する。そして、抽出されたサンプル３１１Ｇに対して、発電設備における発電量等のサンプル３１１Ｇに現れる特徴を示す正解データ３１３Ｇを関連付ける。これにより、各第１学習データセット３１Ｇを生成することができる。複数の第１学習データセット３１Ｇを取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０３４５】
ステップＳ１０２では、制御部１１は、複数の第１学習データセット３１Ｇを使用して、推定器５１Ｇの機械学習を実行する。本変形例では、制御部１１は、機械学習により、各第１学習データセット３１Ｇについて、サンプル３１１Ｇをエンコーダ５２Ｇに入力すると、サンプル３１１Ｇ及び正解データ３１３Ｇに適合する出力値をデコーダ５３Ｇから出力するように推定器５１Ｇを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ５２Ｇは、関連データのサンプル３１１Ｇを特徴量に変換するように訓練されていく。また、デコーダ５３Ｇは、エンコーダ５２Ｇにより得られた特徴量からサンプル３１１Ｇを復元すると共に、サンプル３１１Ｇに含まれる特徴を推定するように訓練されていく。その結果、制御部１１は、各第１学習データセット３１Ｇについて、サンプル３１１Ｇの入力に対して、サンプル３１１Ｇ及び正解データ３１３Ｇに適合する出力値を出力するように訓練された推定器５１Ｇを構築することができる。推定器５１Ｇの機械学習が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０３４６】
ステップＳ１０３では、制御部１１は、機械学習により構築された学習済みの推定器５１Ｇの構造及び演算パラメータを示す情報を第１学習結果データ１２１Ｇとして生成する。そして、制御部１１は、生成された第１学習結果データ１２１Ｇを所定の記憶領域に保存する。これにより、制御部１１は、推定器５１Ｇの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ５３Ｇに関する第１学習結果データ１２１Ｇは、任意のタイミングで発電量予測装置２Ｇに与えられてよい。
【０３４７】
＜予測モデルの機械学習＞
次に、本変形例における予測モデル５５Ｇ及び不一致性予測器５７Ｇの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置１は、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル５５Ｇ及び不一致性予測器５７Ｇの機械学習に関する一連の処理を実行する。
【０３４８】
すなわち、ステップＳ２０１では、制御部１１は、時系列に得られる関連データの第１時刻における第１サンプル３２１Ｇ、及び第１時刻よりも未来の時刻における第２サンプルに含まれる特徴情報３２３Ｇの組み合わせによりそれぞれ構成される複数の第２学習データセット３２Ｇを取得する。各第２学習データセット３２Ｇを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第２学習データセット３２Ｇは、上記実施形態と同様に生成されてよい。第１サンプル３２１Ｇ及び第２サンプルを抽出した関連データは、各第１学習データセット３１Ｇの生成に利用された関連データと同じであってよい。本変形例では、特徴情報３２３Ｇは、関連データから特定される発電設備における発電量に関してもよい。また、特徴情報３２３Ｇは、第２サンプルの特徴量を含むように構成されてよい。特徴情報３２３Ｇを構成する特徴量は、学習済みのエンコーダ５２Ｇにより第２サンプルを変換することで与えられてもよい。各第２学習データセット３２Ｇには、希少度３２５Ｇが適宜設定されてよい。複数の第２学習データセット３２Ｇを取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０３４９】
ステップＳ２０２では、制御部１１は、複数の第２学習データセット３２Ｇを使用して、予測モデル５５Ｇの機械学習を実行する。予測モデル５５Ｇは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。制御部１１は、機械学習により、各第２学習データセット３２Ｇについて、第１サンプル３２１Ｇを入力すると、対応する特徴情報３２３Ｇに適合する出力値を出力するように予測モデル５５Ｇを訓練する。この予測モデル５５Ｇの機械学習において、制御部１１は、希少度３２５Ｇの高い第２学習データセット３２Ｇほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第２学習データセット３２Ｇについて、第１時刻における第１サンプル３２１Ｇを入力すると、第２時刻における特徴情報３２３Ｇに適合する出力値を出力するように訓練された予測モデル５５Ｇを構築することができる。予測モデル５５Ｇの機械学習が完了すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０３５０】
ステップＳ２０３では、制御部１１は、予測モデル５５Ｇ及び不一致性予測器５７Ｇの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部１１は、次のステップＳ２０４に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部１１は、次のステップＳ２０７に処理を進める。
【０３５１】
ステップＳ２０４では、制御部１１は、各第２学習データセット３２Ｇの第１時刻における第１サンプル３２１Ｇ、及び当該第１サンプル３２１Ｇに対する予測モデル５５Ｇによる予測の不一致性３３３Ｇの組み合わせによりそれぞれ構成される複数の第３学習データセット３３Ｇを取得する。各第３学習データセット３３Ｇを取得する方法は、上記実施形態と同様であってよい。各第３学習データセット３３Ｇの生成には、ステップＳ２０２により構築された学習済みの予測モデル５５Ｇ及び各第２学習データセット３２Ｇが利用されてよい。複数の第３学習データセット３３Ｇを取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０３５２】
ステップＳ２０５では、制御部１１は、複数の第３学習データセット３３Ｇを使用して、不一致性予測器５７Ｇの機械学習を実行する。制御部１１は、機械学習により、各第３学習データセット３３Ｇについて、第１サンプル３２１Ｇを入力すると、対応する不一致性３３３Ｇに適合する出力値を出力するように不一致性予測器５７Ｇを訓練する。制御部１１は、予測モデル５５Ｇの機械学習とは異なり、この不一致性予測器５７Ｇの機械学習において、希少度３２５Ｇとは無関係に、各第３学習データセット３３Ｇを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部１１は、各第３学習データセット３３Ｇについて、第１時刻における第１サンプル３２１Ｇを入力すると、当該第１サンプル３２１Ｇに対する予測モデル５５Ｇによる予測の不一致性３３３Ｇに適合する出力値を出力するように訓練された不一致性予測器５７Ｇを構築することができる。不一致性予測器５７Ｇの機械学習が完了すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０３５３】
ステップＳ２０６では、制御部１１は、ステップＳ２０５により構築された学習済みの不一致性予測器５７Ｇを利用して、各第２学習データセット３２Ｇの希少度３２５Ｇを設定（更新）する。希少度３２５Ｇを設定する方法は、上記実施形態と同様であってよい。希少度３２５Ｇの設定が完了すると、制御部１１は、ステップＳ２０２へ処理を戻す。
【０３５４】
ステップＳ２０７では、制御部１１は、機械学習により構築された学習済みの予測モデル５５Ｇの構造及び演算パラメータを示す情報を第２学習結果データ１２３Ｇとして生成する。そして、制御部１１は、生成された第２学習結果データ１２３Ｇを所定の記憶領域に保存する。これにより、制御部１１は、予測モデル５５Ｇ及び不一致性予測器５７Ｇの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第２学習結果データ１２３Ｇは、任意のタイミングで発電量予測装置２Ｇに与えられてよい。
【０３５５】
＜予測処理＞
次に、図２７を用いて、発電量予測装置２Ｇの予測処理の一例について説明する。図２７は、本変形例に係る発電量予測装置２Ｇの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、発電量予測装置２Ｇの予測処理に関するソフトウェア構成は、制御部２１による予測プログラム８２Ｇの実行により実現される。図２７に示されるとおり、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、発電量予測装置２Ｇの予測処理に関するソフトウェア構成は、上記予測装置２のソフトウェア構成と同様である。これにより、発電量予測装置２Ｇは、上記予測装置２と同様に、予測処理に関する一連の処理を実行する。
【０３５６】
すなわち、ステップＳ３０１では、発電量予測装置２Ｇの制御部２１は、関連データの対象サンプル２２１Ｇを適宜取得する。関連データを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、気象データを関連データとして取り扱う場合、制御部２１は、公知の気象データサーバから対象サンプル２２１Ｇを取得してもよい。対象サンプル２２１Ｇを取得すると、制御部２１は、次のステップＳ３０２に処理を進める。
【０３５７】
ステップＳ３０２では、制御部２１は、第２学習結果データ１２３Ｇを参照し、学習済みの予測モデル５５Ｇの設定を行う。また、制御部２１は、第１学習結果データ１２１Ｇを参照して、学習済みの推定器５１Ｇのデコーダ５３Ｇの設定を行う。次に、制御部２１は、取得された対象サンプル２２１Ｇを予測モデル５５Ｇに入力し、予測モデル５５Ｇの演算処理を実行する。この演算処理の結果、制御部２１は、対象サンプル２２１Ｇから未来の時刻における関連データの特徴情報（特徴量）を予測する。更に、制御部２１は、予測モデル５５Ｇの出力値をデコーダ５３Ｇに入力し、デコーダ５３Ｇの演算処理を実行する。これにより、制御部２１は、予測モデル５５Ｇにより予測された特徴量から、予測サンプル２２５Ｇを復元すると共に、未来の時刻において関連データに現れる特徴を予測した結果に対応する出力値をデコーダ５３Ｇから取得する。本変形例では、予測される特徴は、関連データから特定される発電設備ＲＧにおける発電量を示す発電量情報２２３Ｇを含み得る。対象サンプル２２１Ｇからの未来の特徴の予測が完了すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０３５８】
ステップＳ３０３では、制御部２１は、予測の結果（発電量情報２２３Ｇ及び予測サンプル２２５Ｇ）に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、得られた発電量情報２２３Ｇ及び予測サンプル２２５Ｇをそのまま出力装置２５に出力してもよい。また、例えば、制御部２１は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０３５９】
当該情報処理の一例として、制御部２１は、発電量情報２２３Ｇにより示される発電設備ＲＧにおいて予測される発電量と閾値とを比較してもよい。閾値は適宜設定されてよい。そして、制御部２１は、予測される発電量が閾値以下である場合に、他の発電設備により発電を行うことを促すメッセージを出力装置２５に出力してもよい。
【０３６０】
本変形例によれば、発電設備ＲＧにおける発電量を予測する場面において、希少な事象を精度よく予測可能な予測モデル５５Ｇを構築することができる。上記希少度３２５Ｇを利用した機械学習により、例えば、予測モデル５５Ｇは、発電設備ＲＧにおける発電量が徐々に変化する等の規則性を有し得る事象と同程度の精度で、急激な天候の変化により突発的に発電量が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、発電量予測装置２Ｇは、この予測モデル５５Ｇを利用することで、上記のような不規則に発生し得る発電設備ＲＧにおける発電量の変化を精度よく予測することができる。これにより、発電量を適切にマネージメントすることが可能になる。
【０３６１】
＜４．２＞
上記実施形態では、予測モデル５５は、第１サンプル３２１から第２サンプル３２２の特徴情報３２３を予測するように構築される。また、特徴情報３２３は、学習済みのエンコーダ５２により第２サンプル３２２を変換することで得られる特徴量により構成される。しかしながら、予測モデル５５及び特徴情報３２３の構成はそれぞれ、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。特徴情報３２３を構成する特徴量は、エンコーダ５２由来でなくてもよい。特徴情報３２３は、特徴量以外の形式で与えられてもよい。例えば、特徴情報３２３は、正解データ３１３と同様に、第２サンプル３２２に現れる特徴を直接的に示すように構成されてもよい。この場合、推定器５１は、エンコーダ及びデコーダに分かれていなくてもよく、推定器５１において、サンプルの復元は省略されてよい。つまり、推定器５１は、上記ステップＳ１０２において、各第１学習データセット３１について、サンプル３１１を入力すると、正解データ３１３に適合する出力値を出力するように訓練されてよい。特徴情報３２３は、オペレータの入力により与えられてもよい。或いは、特徴情報３２３は、第２サンプル３２２に対する推定結果により与えられてもよい。例えば、特徴情報３２３は、学習済みの推定器５１に第２サンプル３２２を入力することで、学習済みの推定器５１から出力される出力値（推定結果）により構成されてもよい。また、予測装置２は、デコーダ５３を利用せずに、予測モデル５５により、特徴２２３を直接的に導出してもよい。つまり、上記ステップＳ３０２において、制御部２１は、対象サンプル２２１を予測モデル５５に入力することで、予測モデル５５から出力される出力値を予測結果として取得してもよい。そして、上記ステップＳ３０３では、制御部２１は、この予測の結果をそのまま出力装置２５に出力してもよい。或いは、上記ステップＳ３０３では、制御部２１は、この予測の結果に基づいて、何らかの情報処理を実行し、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【０３６２】
また、予測モデル５５は、第１サンプル３２１から第２サンプル３２２を予測するように構築されてもよい。この場合、各第２学習データセット３２は、特徴情報３２３に代えて、又は特徴情報３２３と共に、第２サンプル３２２を教師データとして含んでもよい。すなわち、上記実施形態に係るモデル生成装置１は、第１時刻における第１サンプル３２１、並びに第２時刻における第２サンプル３２２及び第２サンプル３２２に含まれる特徴情報３２３の少なくともいずれかの組み合わせによりそれぞれ構成される複数の学習データセットを取得してもよい。そして、モデル生成装置１は、機械学習により、各学習データセットについて、第１サンプル３２１から、対応する第２サンプル３２２及び特徴情報３２３の少なくともいずれかを予測するように訓練された予測モデルを構築してもよい。これらの変更は、上記変形例に係る各予測システム１００Ａ〜１００Ｇについても同様に適用されてよい。
【０３６３】
図２８は、特徴情報３２３を第２サンプル３２２に置き換えた変形例を模式的に示す。当該変形例では、モデル生成装置１は、上記ステップＳ２０１において、第１サンプル３２１及び第２サンプル３２２の組み合わせによりそれぞれ構成される複数の学習データセット３２Ｈを取得する。各学習データセット３２Ｈは、上記実施形態に係る各第２学習データセット３２に対応する。ステップＳ２０２では、モデル生成装置１は、機械学習により、各学習データセット３２Ｈについて、第１サンプル３２１を入力すると、対応する第２サンプル３２２に適合する出力値を出力するように予測モデル５５Ｈを訓練する。予測モデル５５Ｈは、上記実施形態に係る予測モデル５５と同様に、ニューラルネットワークにより構成されてよい。この場合、予測装置２は、上記ステップＳ３０２において、学習済みの予測モデル５５Ｈを利用して、対象サンプル２２１から予測サンプル２２５を予測する。予測装置２は、この予測サンプル２２５を利用して、未来の事象を推定してもよい。
【０３６４】
＜４．３＞
上記実施形態では、推定器５１、予測モデル５５、及び不一致性予測器５７の各機械学習の処理が同一のコンピュータにより実行されている。しかしながら、推定器５１、予測モデル５５、及び不一致性予測器５７の少なくともいずれかの機械学習の処理は、他の機械学習の処理と別のコンピュータにより実行されてもよい。この場合、予測モデル５５の機械学習を実行するコンピュータを「モデル生成装置」と称してもよい。当該変更は、上記変形例に係る各予測システム１００Ａ〜１００Ｇについても同様に適用されてよい。
【０３６５】
＜４．４＞
上記実施形態では、各第２学習データセット３２の希少度３２５の設定には、不一致性予測器５７が利用されている。これにより、希少度３２５は、特徴情報３２３が所定のデータに現れる不規則性の程度に応じて設定される。しかしながら、希少度３２５の設定方法は、このような例に限定されなくてもよい。不一致性予測器５７を利用せずに、希少度３２５が設定されてもよい。例えば、希少度３２５は、オペレータ等により手動的に設定されてもよいし、何らかの指標に基づいて自動的に設定されてよい。
【０３６６】
希少度３２５を手動で設定する場合、制御部１１は、各第１サンプル３２１を取得した後、任意のタイミングで、各第２学習データセット３２に設定する希少度３２５の入力を受け付けてもよい。オペレータは、ステップＳ２０２における予測モデル５５の出力値と特徴情報３２３との不一致性に基づいて、各希少度３２５の値を決定してもよい。或いは、オペレータは、第２サンプル３２２に現れる特徴に応じて、各希少度３２５の値を決定してもよい。希少度３２５の入力には、文字入力、音声入力等の公知の入力方法が用いられてよい。入力装置１４は、例えば、マイクロフォン、キーボード等により構成されてよい。
【０３６７】
希少度３２５を自動的に設定する場合、制御部１１は、各第１サンプル３２１を取得した後、任意のタイミングで、各第２学習データセット３２に設定する希少度３２５の値を何らかの指標に基づいて決定してもよい。指標に基づいて自動的に設定する方法の一例として、希少度３２５は、第２サンプル３２２に現れる特徴又は特徴情報３２３の出現頻度、出現確率等により設定されてよい。例えば、制御部１１は、得られた複数の第２学習データセット３２に基づいて、第２サンプル３２２に現れる特徴又は特徴情報３２３の出現頻度又は出現確率を算出してもよい。そして、制御部１１は、算出された出現頻度又は出現確率に応じて、各希少度３２５の値を設定してもよい。すなわち、制御部１１は、算出された出現頻度又は出現確率が低いほど希少度３２５の値が高くなるように設定し、算出された出現頻度又は出現確率が高いほど希少度３２５の値が小さくなるように設定してもよい。或いは、制御部１１は、各第２サンプル３２２に現れる特徴又は特徴情報３２３に応じて、その不規則性の程度を推定し、推定の結果に基づいて、各希少度３２５の値を設定してもよい。一例として、各第２サンプル３２２に現れる特徴が、例えば、表情、声、動き等の人物の反応である場面を想定する。この場面において、人物が、例えば、驚いた表情をする、大声を上げる、唐突に走り出す等の急激に変化のある行動をとった場合に、その特徴の不規則性の程度は高いと推定可能である。一方で、人物の行動に変化が少ない場合に、その特徴の不規則性の程度は低いと推定可能である。そこで、制御部１１は、画像センサ、音センサ等のセンサにより、人物の反応を観測し、得られた観測データから、例えば、表情の変化度合、声の抑揚等の人物の反応の推移を計測してもよい。人物の反応の推移を計測する方法には、例えば、画像解析による表情推定、音声解析による感情推定等の公知の方法が採用されてもよい。そして、制御部１１は、計測の結果に基づいて、その特徴の不規則性の程度を推定し、推定の結果に基づいて、各第２サンプル３２２に設定する各希少度３２５の値を決定してもよい。これらの方法により、特徴又は特徴情報３２３が所定のデータに現れる不規則性の程度に応じて希少度３２５を設定することができる。当該変更は、上記変形例に係る各予測システム１００Ａ〜１００Ｇについても同様に適用されてよい。
【０３６８】
＜４．５＞
推定器５１（エンコーダ５２及びデコーダ５３）、予測モデル５５、及び不一致性予測器５７はそれぞれ、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、推定器５１、予測モデル５５、及び不一致性予測器５７それぞれを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、推定器５１、予測モデル５５、及び不一致性予測器５７それぞれは、畳み込み層、プーリング層、及び全結合層を備える畳み込みニューラルネットワークにより構成されてよい。また、例えば、推定器５１、予測モデル５５、及び不一致性予測器５７それぞれは、再帰型ニューラルネットワークにより構成されてよい。また、推定器５１、予測モデル５５、及び不一致性予測器５７の少なくともいずれかには、ニューラルネットワーク以外の学習モデルが利用されてよい。
【０３６９】
また、推定器５１及び不一致性予測器５７の少なくとも一方は省略されてよい。例えば、上記変形例のとおり、第２サンプル３２２に現れる特徴を特徴情報３２３が直接的に示す場合に、推定器５１が省略されてよい。推定器５１が省略される場合、第１データ取得部１１１、第１学習処理部１１２、及び第１保存処理部１１３がモデル生成装置１のソフトウェア構成から省略されてもよい。また、例えば、上記変形例のとおり、不一致性予測器５７を利用せずに希少度３２５を設定する場合に、不一致性予測器５７が省略されてよい。不一致性予測器５７が省略される場合、第３データ取得部１１７及び第３学習処理部１１８がモデル生成装置１のソフトウェア構成から省略されてもよい。この場合、希少度設定部１１９は、不一致性予測器５７を利用しない上記方法により、各第２学習データセット３２の希少度３２５を設定してもよい。また、各第２学習データセット３２の希少度３２５が予め設定されている場合、希少度設定部１１９は、モデル生成装置１のソフトウェア構成から省略されてもよい。これらの変更は、上記変形例に係る各予測システム１００Ａ〜１００Ｇについても同様に適用されてよい。
【符号の説明】
【０３７０】
１…モデル生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…第１データ取得部、１１２…第１学習処理部、
１１３…第１保存処理部、
１１４…第２データ取得部、１１５…第２学習処理部、
１１６…第２保存処理部、
１１７…第３データ取得部、１１８…第３学習処理部、
１１９…希少度設定部、
１２１…第１学習結果データ、１２３…第２学習結果データ、
８１…モデル生成プログラム、９１…記憶媒体、
２…予測装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
２７…外部インタフェース、
２１１…対象データ収集部、２１２…予測部、
２１３…出力部、
２２１…対象サンプル、２２３…特徴、
２２５…予測サンプル、
８２…予測プログラム、９２…記憶媒体、
Ｓ…センサ、
３１…第１学習データセット、
３１１…サンプル、３１３…正解データ、
３２…第２学習データセット、
３２１…第１サンプル、３２２…第２サンプル、
３２３…特徴情報、３２５…希少度、
３３…第３学習データセット、
３３３…不一致性、
５１…推定器、
５２…エンコーダ、
５２１…入力層、５２２…中間（隠れ）層、
５２３…出力層、
５３…デコーダ、
５３１…入力層、５３２…中間（隠れ）層、
５３３…出力層、
５５…予測モデル、
５５１…入力層、５５２…中間（隠れ）層、
５５３…出力層、
５７…不一致性予測器、
５７１…入力層、５７２…中間（隠れ）層、
５７３…出力層
【図１】
2020135243.tif 000003
【図２】
2020135243.tif 000004
【図３】
2020135243.tif 000005
【図４Ａ】
2020135243.tif 000006
【図４Ｂ】
2020135243.tif 000007
【図４Ｃ】
2020135243.tif 000008
【図５】
2020135243.tif 000009
【図６】
2020135243.tif 000010
【図７】
2020135243.tif 000011
【図８】
2020135243.tif 000012
【図９】
2020135243.tif 000013
【図１０】
2020135243.tif 000014
【図１１】
2020135243.tif 000015
【図１２】
2020135243.tif 000016
【図１３】
2020135243.tif 000017
【図１４】
2020135243.tif 000018
【図１５】
2020135243.tif 000019
【図１６】
2020135243.tif 000020
【図１７】
2020135243.tif 000021
【図１８】
2020135243.tif 000022
【図１９】
2020135243.tif 000023
【図２０】
2020135243.tif 000024
【図２１】
2020135243.tif 000025
【図２２】
2020135243.tif 000026
【図２３】
2020135243.tif 000027
【図２４】
2020135243.tif 000028
【図２５】
2020135243.tif 000029
【図２６】
2020135243.tif 000030
【図２７】
2020135243.tif 000031
【図２８】
2020135243.tif 000032