(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-20
(45)【発行日】2022-10-28
(54)【発明の名称】モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221021BHJP
G06N 20/00 20190101ALI20221021BHJP
【FI】
G06T7/00 350C
G06N20/00
(21)【出願番号】P 2019026013
(22)【出願日】2019-02-15
【審査請求日】2021-12-15
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】橋本 敦史
(72)【発明者】
【氏名】上川 優太
(72)【発明者】
【氏名】牛久 祥孝
(72)【発明者】
【氏名】飯山 将晃
(72)【発明者】
【氏名】薗頭 元春
【審査官】小太刀 慶明
(56)【参考文献】
【文献】米国特許出願公開第2018/0373963(US,A1)
【文献】国際公開第2017/158058(WO,A1)
【文献】米国特許出願公開第2018/0137389(US,A1)
【文献】国際公開第2019/150813(WO,A1)
【文献】LOTTER, William et al.,Deep Predictive Coding Networks for Video Prediction and Unsupervised Learning,arXiv [online],2017年03月01日,[検索日 2020.02.21], インターネット: <URL: https://arxiv.org/pdf/1605.08104v5>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、
機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、
を備える、
モデル生成装置。
【請求項2】
前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習におけるサンプリング回数を多くすることで、前記希少度の高い学習データセットほど重点的に訓練する、
請求項1に記載のモデル生成装置。
【請求項3】
前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習における重み付けを大きくすることで、前記希少度の高い学習データセットほど重点的に訓練する、
請求項1に記載のモデル生成装置。
【請求項4】
前記各学習データセットの前記希少度は、前記特徴情報が前記所定のデータに現れる不規則性の程度に応じて設定される、
請求項1から3のいずれか1項に記載のモデル生成装置。
【請求項5】
前記各学習データセットの前記希少度を設定する希少度設定部を更に備え、
前記希少度設定部は、前記各学習データセットについて、前記予測モデルによる前記予測の不一致性を前記第1時刻における前記第1サンプルから予測するように構成された不一致性予測器を含み、
前記希少度設定部は、前記予測モデルによる前記予測の不一致性を前記不一致性予測器により予測した結果に応じて、前記各学習データセットの前記希少度を設定する、
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項6】
前記各学習データセットの前記第1時刻における前記第1サンプル、及び前記予測モデルによる前記予測の不一致性の組み合わせによりそれぞれ構成される複数の不一致性学習データセットを取得する不一致性データ取得部と、
機械学習により、前記各不一致性学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記予測モデルによる前記予測の不一致性を予測するように訓練された前記不一致性予測器を構築する不一致性学習処理部と、
を更に備え、
前記学習処理部による前記予測モデルの訓練、及び前記不一致性学習処理部による前記不一致性予測器の訓練は交互に実行される、
請求項5に記載のモデル生成装置。
【請求項7】
前記不一致性学習処理部は、前記不一致性予測器の前記機械学習において、前記希少度に関係なく前記各不一致性学習データセットを均一に訓練する、
請求項6に記載のモデル生成装置。
【請求項8】
前記特徴情報は、前記第2サンプルの特徴量を含む、
請求項1から7のいずれか1項に記載のモデル生成装置。
【請求項9】
前記所定のデータの第3サンプルを特徴量に変換するように構成されたエンコーダ、及び前記特徴量から前記第3サンプルを復元すると共に、前記第3サンプルに含まれる特徴を推定するように構成されたデコーダを備える推定器を保持し、
前記特徴情報の前記特徴量は、前記推定器の前記エンコーダにより前記第2サンプルを変換することにより与えられる、
請求項8に記載のモデル生成装置。
【請求項10】
前記所定のデータは、車両の外部の状況を監視するように配置されたカメラにより得られた画像データであり、
前記特徴情報は、前記画像データに写る対象物の属性に関する、
請求項1から9のいずれか1項に記載のモデル生成装置。
【請求項11】
前記所定のデータは、製造ラインを構成する機械の状態を監視するセンサにより得られたセンシングデータであり、
前記特徴情報は、前記機械の状態に関する、
請求項1から9のいずれか1項に記載のモデル生成装置。
【請求項12】
前記所定のデータは、対象者のバイタルデータ及び対象者の写る画像データの少なくともいずれかであり、
前記特徴情報は、前記対象者の状態に関する、
請求項1から9のいずれか1項に記載のモデル生成装置。
【請求項13】
前記所定のデータは、人の流れに関連する人流データであり、
前記特徴情報は、前記人の流れの量に関する、
請求項1から9のいずれか1項に記載のモデル生成装置。
【請求項14】
前記所定のデータの対象サンプルを取得する対象データ取得部と、
請求項1から13のいずれか1項に記載されたモデル生成装置により構築された前記予測モデルを用いて、取得された前記対象サンプルから、前記対象サンプルを取得した時刻よりも未来の時刻において前記所定のデータに現れる特徴を予測する予測部と、
前記特徴を予測した結果に関する情報を出力する出力部と、
を備える、
予測装置。
【請求項15】
コンピュータが、
時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、
機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、
を実行する、
モデル生成方法。
【請求項16】
コンピュータに、
時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、
機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、
を実行させるための、
モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラムに関する。
【背景技術】
【0002】
近年、ある時刻の画像から未来の時刻の画像を予測する技術の開発が行われている。例えば、特許文献1には、畳み込みニューラルネットワークを利用して、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測する技術が提案されている。具体的には、機械学習により、ビデオシーケンスの時刻tにおけるフレームを入力すると、時刻(t+1)におけるフレームを出力するように畳み込みニューラルネットワークを訓練する。これにより、ある時刻における入力フレームから未来の時刻におけるフレームを予測する能力を畳み込みニューラルネットワークに獲得させることができる。そのため、学習済みの畳み込みニューラルネットワークを利用すれば、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測することができる。
【0003】
この画像の予測技術は、様々な分野で有益に利用可能である。例えば、自動車等の車両の外部の状況をカメラにより監視する場面では、カメラにより得られる車外の画像から未来の状況を予測することで、障害物に衝突する等の車両に起き得る事故を未然に防ぐことができる。また、例えば、機械の状態をカメラにより監視する場面では、カメラにより得られた画像から機械の未来の状態を予測することで、機械に生じ得る故障を事前に検知することができる。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許出願公開第2018/0137389号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
本件発明者らは、上記のような、ニューラルネットワーク等で構成された予測モデルに、ある時刻における画像サンプルから未来の時刻における画像サンプルを予測する能力を機械学習によって習得させる従来の技術には次のような問題点があることを見出した。すなわち、画像に写る事象には、比較的に長期的に継続する事象と、比較的に短期的に急激な変化をもたらす事象とが存在する。長期的に継続する事象は、例えば、人物がある方向に移動している等の規則性を有する事象である。短期的に急激な変化をもたらす事象は、例えば、カメラの撮影範囲外から撮影範囲内に対象物が侵入する、停止していた対象物が動き出す等の不規則に発生し得る事象である。比較的に長期的に継続する事象は、上記のような予測技術を利用しなくても、その事象の未来を当該事象の規則性から容易に予測することができる。一方、比較的に短期的に急激な変化をもたらす事象は不規則に生じ得るため、その事象の未来を予測することは困難である。そのため、上記のような画像の予測技術では、比較的に長期的に継続する事象の未来を予測することよりも、短期的に急激な変化をもたらす希少な事象を予測することが有益である。
【0006】
しかしながら、学習データとして時系列に得られる画像データは、継続的な事象に関するものが殆どであり、希少な事象に関する画像データを数多く取得することは困難である。そのため、得られた学習データを使用して機械学習を実行した場合に、希少な事象に関する学習データが継続的な事象に関する夥多な学習データに埋没してしまい、希少な事象に関する学習データによる訓練結果を予測モデルに適切に反映させることができない可能性がある。したがって、従来の方法では、継続的な事象を高精度に予測可能な予測モデルを構築することは可能であるものの、希少な事象を高精度に予測可能な予測モデルを構築することは困難であるという問題点があることを本件発明者らは見出した。
【0007】
なお、この問題点は、時系列に得られる画像データのある時刻における画像サンプルから未来の時刻に生じ得る事象を予測する場面に特有のものではない。時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面で同様の問題点が生じる。ある時刻におけるサンプルから未来の時刻に生じ得る事象を予測する場面とは、例えば、バイタルデータから対象者の状態を予測する場面、人流データから人の流れの量を予測する場面、栽培状況を観測するセンサにより得られたセンシングデータから栽培状況を予測する場面、気象に関するデータから発電装置の発電量を予測する場面、等である。これらの場面において得られる所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等である。これらの場面でも、希少な事象に関する学習データを数多く取得することは困難である。そのため、希少な事象を高精度に予測可能な予測モデルを構築することは困難である。
【0008】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、希少な事象に対する予測精度を高めるための技術を提供することである。
【課題を解決するための手段】
【0009】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0010】
すなわち、本発明の一側面に係るモデル生成装置は、時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、を備える。
【0011】
当該構成では、予測モデルの機械学習に使用される各学習データセットに希少度が設定される。希少度は、各学習データセットの希少性の度合いを示す。この希少度に応じて、各学習データセットの機械学習の程度を調整する。具体的には、予測モデルの機械学習において、希少度の高い学習データセットほど重点的に訓練する。これにより、希少度の高い学習データセットが希少度の低い学習データセットに埋没するのを防ぐことができ、予測モデルの習得する予測の能力に、希少度の高い学習データセットによる訓練結果を適切に反映させることができる。したがって、当該構成によれば、希少な事象に対する予測モデルの予測精度を高めることができる。
【0012】
なお、「時系列に得られる」とは、時の流れにおける複数の時点で対象のデータが得られることを示す。データの得られるタイミングは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。データの得られるタイミングは、定期的であってもよいし、不定期であってもよい。「所定のデータ」は、何らかの特徴を含み得るデータであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。以下、センサにより得られる測定データを「センシングデータ」とも称する。所定のデータは、例えば、何らかの対象をセンサにより観察することで得られたセンシングデータであってもよい。センサは、例えば、カメラ、マイクロフォン、エンコーダ、Lidar(light detection and ranging)センサ、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
【0013】
「特徴情報」は、所定のデータに含まれ得る特徴に関するものであれば、その種類及びデータ形式はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「特徴」は、所定のデータから推定可能なあらゆる要素を含んでよい。移動体に関する予測に本発明を利用するケースでは、特徴は、例えば、移動体の進行する通路、移動体の進行方向に存在する対象物等に関してもよい。移動体は、例えば、飛行体(ドローン等)、車両(自動車等)等であってよい。移動体の進行する通路は、例えば、車両の走行可能な道路であってよい。移動体の進行方向に存在する対象物は、例えば、信号機、障害物(人、物)等であってよい。その他、特徴は、例えば、機械の状態(故障の有無等)、対象者の状態(眠気度、疲労度、余裕度、健康状態等)、人の流れ、物の流れ、栽培状況、発電量等に関してもよい。
【0014】
「時刻」は、時の流れにおける任意の点を示す。「第1時刻」及び「第2時刻」はそれぞれ、時の流れの前後関係を示すために用いられる。第1時刻及び第2時刻それぞれのデータは、対象の時刻のみのデータにより構成されてもよいし、対象の時刻を含む所定の時間区間のデータにより構成されてもよい。「希少度」は、オペレータ等により手動的に設定されてもよいし、何らかの指標に基づいて自動的に設定されてもよい。「重点的に訓練する」とは、希少度の高い学習データセットの、予測モデルに習得させる予測の能力に影響を与える度合いが、希少度の低い学習データセットよりも大きくなるように機械学習に使用することを示す。
【0015】
予測モデルは、機械学習により何らかの能力を獲得可能な学習モデルであり、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。学習モデルは、所定の能力を発揮するための演算処理に利用される演算パラメータを含むように構成されてよい。予測モデルには、例えば、ニューラルネットワーク等が用いられてよい。この場合、演算パラメータは、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。
【0016】
上記一側面に係るモデル生成装置において、前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習におけるサンプリング回数を多くすることで、前記希少度の高い学習データセットほど重点的に訓練してもよい。つまり、学習の度合いは、各学習データセットのサンプルを取り出す頻度に基づいて制御されてよい。この場合、希少度の高い学習データセットほど頻繁に予測モデルの演算パラメータの値の更新に用いられる。当該構成によれば、希少度の高い学習データセットほど重点的に訓練する処理を適格に実現することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。
【0017】
上記一側面に係るモデル生成装置において、前記学習処理部は、前記希少度の高い学習データセットほど前記機械学習における重み付けを大きくすることで、前記希少度の高い学習データセットほど重点的に訓練してもよい。当該構成によれば、希少度の高い学習データセットほど重点的に訓練する処理を適格に実現することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。なお、機械学習における重み付けは、例えば、学習率により制御されてよい。学習率は、機械学習において予測モデルの演算パラメータの値を更新する度合いを定める。学習率が大きいほど演算パラメータの更新量が大きくなり、学習率が小さいほど演算パラメータの更新量が小さくなる。この場合、希少度が高いほど学習率を高くし、希少度が低いほど学習率を低くすることで、希少度の高い学習データセットほど重点的に訓練するようにしてもよい。
【0018】
上記一側面に係るモデル生成装置において、前記各学習データセットの前記希少度は、前記特徴情報が前記所定のデータに現れる不規則性の程度に応じて設定されてよい。当該構成によれば、各学習データセットの希少度を的確に設定することができるため、希少な事象に対する予測モデルの予測精度を適切に高めることができる。なお、不規則性は、対象の特徴が所定のデータに現れる程度により表現されてよく、例えば、出現頻度、出現確率等の指標により評価されてよい。
【0019】
上記一側面に係るモデル生成装置は、前記各学習データセットの前記希少度を設定する希少度設定部を更に備えてもよい。そして、前記希少度設定部は、前記各学習データセットについて、前記予測モデルによる前記予測の不一致性を前記第1時刻における前記第1サンプルから予測するように構成された不一致性予測器を含んでもよく、前記希少度設定部は、前記予測モデルによる前記予測の不一致性を前記不一致性予測器により予測した結果に応じて、前記各学習データセットの前記希少度を設定してもよい。不一致性予測器を利用することで、各学習データセットの希少度を設定する手間を低減することができる。なお、不一致性は、第1サンプルに対する予測モデルの予測のずれを示す。この不一致性を評価する指標には、例えば、予測モデルの出力値と正解との差分値、予測モデルの演算パラメータの調整に利用する誤差等が用いられてよい。
【0020】
上記一側面に係るモデル生成装置は、前記各学習データセットの前記第1時刻における前記第1サンプル、及び前記予測モデルによる前記予測の不一致性の組み合わせによりそれぞれ構成される複数の不一致性学習データセットを取得する不一致性データ取得部と、機械学習により、前記各不一致性学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記予測モデルによる前記予測の不一致性を予測するように訓練された前記不一致性予測器を構築する不一致性学習処理部と、を更に備えてもよい。そして、前記学習処理部による前記予測モデルの訓練、及び前記不一致性学習処理部による前記不一致性予測器の訓練は交互に実行されてよい。当該構成によれば、希少な事象に対する予測モデルの予測精度を適切に高めることができる。
【0021】
上記一側面に係るモデル生成装置において、前記不一致性学習処理部は、前記不一致性予測器の前記機械学習において、前記希少度に関係なく前記各不一致性学習データセットを均一に訓練してもよい。学習データを均一に訓練すると、希少な事象に関する学習データによる訓練結果は、夥多な事象(例えば、継続的な事象)に関する学習データによる訓練結果に埋没し得る。そのため、希少度に関係なく各不一致性学習データセットを均一に訓練すると、学習済みの不一致性予測器は、希少性の高いサンプルほど不一致性の予測の精度が悪くなるように構築される。すなわち、学習済みの不一致性予測器は、希少性の高いサンプルほど予測モデルが予測を誤る、換言すると、不一致性が大きくなると予測するように構築される。そのため、当該構成によれば、構築された学習済みの不一致性予測器により、各学習データセットの希少度を適切に設定することができる。
【0022】
上記一側面に係るモデル生成装置において、前記特徴情報は、前記第2サンプルの特徴量を含んでもよい。当該構成によれば、任意の時刻における所定のデータから未来の時刻における所定のデータの特徴量を精度よく予測する予測モデルを構築することができる。なお、特徴量は、所定のデータから抽出される特徴を数値化することで得られる。対象となる特徴及び数値化の手法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0023】
上記一側面に係るモデル生成装置は、前記所定のデータの第3サンプルを特徴量に変換するように構成されたエンコーダ、及び前記特徴量から前記第3サンプルを復元すると共に、前記第3サンプルに含まれる特徴を推定するように構成されたデコーダを備える推定器を保持してもよい。前記特徴情報の前記特徴量は、前記推定器の前記エンコーダにより前記第2サンプルを変換することにより与えられてもよい。当該構成によれば、予測モデル及びデコーダにより、任意の時刻における所定のデータから未来の時刻における所定のデータに含まれる希少な特徴を精度よく予測可能な予測推定器を構築することができる。
【0024】
上記各形態では、予測モデルは、第1時刻における第1サンプルから、第1時刻よりも未来の第2時刻における第2サンプルに含まれる特徴情報を予測するように訓練される。しかしながら、予測モデルに習得させる予測の能力は、このような例に限定されなくてもよい。上記各形態は、第1時刻における第1サンプルから第2時刻における第2サンプル及び特徴情報の少なくとも一方を予測するように予測モデルを訓練するように修正されてもよい。
【0025】
例えば、本発明の一側面に係るモデル生成装置は、時系列に得られる所定のデータの第1時刻における第1サンプル、並びに前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプル及び当該第2サンプルに含まれる特徴情報の少なくともいずれかの組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部であって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、データ取得部と、機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記第2サンプル及び前記特徴情報の少なくともいずれかを予測するように訓練された予測モデルを構築する学習処理部であって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、学習処理部と、を備えてもよい。
【0026】
上記各形態は、時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面に適用可能である。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。ある時刻におけるサンプルから未来の時刻に生じ得る事象を予測する場面とは、例えば、車両のセンシングデータから車両の外部の状況を予測する場面、機械のセンシングデータから機械の状態を予測する場面、画像データ及びバイタルデータの少なくとも一方から対象者の状態を予測する場面、人流データから人の流れの量を予測する場面、栽培状況を観測するセンサにより得られたセンシングデータから栽培状況を予測する場面、気象に関するデータから発電装置の発電量を予測する場面、等であってよい。上記各形態は、これらの場面に適用されてもよい。
【0027】
例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、画像データであってよく、前記特徴情報は、前記画像データに含まれる特徴に関してもよい。画像データに含まれる特徴は、例えば、画像データに写る対象物の属性等の推定結果であってよい。当該構成によれば、画像データに現れ得る未来の希少な事象を精度よく予測可能な予測モデルを構築することができる。
【0028】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、センサにより得られるセンシングデータであってよく、前記特徴情報は、前記センシングデータに含まれる特徴に関してもよい。当該構成によれば、センシングデータに現れ得る未来の希少な事象を精度よく予測可能な予測モデルを構築することができる。
【0029】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、車両の外部の状況を監視するように配置されたカメラにより得られた画像データであってよく、前記特徴情報は、前記画像データに写る対象物の属性に関してもよい。当該構成によれば、車両の外部における未来の状況を画像データから精度よく予測可能な予測モデルを構築することができる。
【0030】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、製造ラインを構成する機械の状態を監視するセンサにより得られたセンシングデータであってよく、前記特徴情報は、前記機械の状態に関してもよい。当該構成によれば、機械の未来の状態をセンシングデータから精度よく予測可能な予測モデルを構築することができる。
【0031】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、対象者のバイタルデータ及び対象者の写る画像データの少なくともいずれかであってよく、前記特徴情報は、前記対象者の状態に関してもよい。当該構成によれば、バイタルデータ及び画像データの少なくともいずれかから対象者の未来の状態を精度よく予測可能な予測モデルを構築することができる。
【0032】
また、例えば、上記一側面に係るモデル生成装置において、前記所定のデータは、人の流れに関連する人流データであってよく、前記特徴情報は、前記人の流れの量に関してもよい。当該構成によれば、未来における人の流れの量を人流データから精度よく予測可能な予測モデルを構築することができる。
【0033】
なお、「人の流れ」は、歩行者の流れ、及び人の乗り得る移動体の流れの少なくとも一方を含んでよい。歩行者の流れは、例えば、所定の領域内に存在する人物の流れ(一例として、ある会場内の参加者の流れ)により表現されてもよい。また、移動体の流れは、例えば、車両等の交通の流れにより表現されてもよい。人流データは、人の流れに関連し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。人流データは、例えば、任意の場所を通過する人物を検知するように構成された人感センサ、ゲートの開閉を検知するように構成されたセンサ、ゲートを通過する人を検知するように構成されたセンサ、車両の通行量を検知するように構成されたセンサ、移動する人及び車両の少なくともいずれかに関する音を測定するように設置されたマイクロフォン、移動する人及び車両の少なくともいずれかを撮影するように設置されたカメラ等により得られてよい。人感センサは、例えば、赤外線センサであってよい。ゲートは、例えば、自動改札ゲート、建物に設置されたゲート(ドア等)、高速道路の出入口に設置されたゲート、駐車場等の所定の敷地の出入口に設置されたゲート等であってよい。また、人流データは、例えば、人又は車両の保持する装置の位置データ、当該装置の通信データ等を含んでもよい。位置データは、例えば、GPS(Global Positioning System)測定器等により測定されてよい。また、人流データは、人の履歴(例えば、店舗の購入履歴)に関するデータを含んでもよい。
【0034】
また、上記各形態のモデル生成装置により構築された学習済みの予測モデルを利用して、任意の時刻における所定のデータから未来の時刻における所定のデータに現れる各種の特徴を予測する予測装置が構成されてもよい。例えば、本発明の一側面に係る予測装置は、前記所定のデータの対象サンプルを取得する対象データ取得部と、上記いずれかの形態に係るモデル生成装置により構築された前記予測モデルを用いて、取得された前記対象サンプルから、前記対象サンプルを取得した時刻よりも未来の時刻において前記所定のデータに現れる特徴を予測する予測部と、前記特徴を予測した結果に関する情報を出力する出力部と、を備える。
【0035】
上記各形態に係るモデル生成装置及び予測装置それぞれの別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る予測システムは、上記いずれかの形態に係るモデル生成装置及び予測装置により構成されてもよい。
【0036】
例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、を実行する、情報処理方法である。
【0037】
また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、時系列に得られる所定のデータの第1時刻における第1サンプル、及び前記第1時刻よりも未来の第2時刻における前記所定のデータの第2サンプルに含まれる特徴情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップであって、前記各学習データセットの希少性の度合いを示す希少度が前記各学習データセットに設定される、ステップと、機械学習により、前記各学習データセットについて、前記第1時刻における前記第1サンプルから、対応する前記第2時刻における前記特徴情報を予測するように訓練された予測モデルを構築するステップであって、前記機械学習では、前記希少度の高い学習データセットほど重点的に訓練する、ステップと、を実行させるための、プログラムである。
【発明の効果】
【0038】
本発明によれば、希少な事象に対する予測精度を高めることができる。
【図面の簡単な説明】
【0039】
【
図1】
図1は、本発明が適用される場面の一例を模式的に例示する。
【
図2】
図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
【
図3】
図3は、実施の形態に係る予測装置のハードウェア構成の一例を模式的に例示する。
【
図4A】
図4Aは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【
図4B】
図4Bは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【
図4C】
図4Cは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
【
図5】
図5は、実施の形態に係る予測装置のソフトウェア構成の一例を模式的に例示する。
【
図6】
図6は、実施の形態に係るモデル生成装置による推定器の機械学習に関する処理手順の一例を例示する。
【
図7】
図7は、実施の形態に係るモデル生成装置による予測モデルの機械学習に関する処理手順の一例を例示する。
【
図8】
図8は、実施の形態に係る予測装置の処理手順の一例を例示する。
【
図9】
図9は、本発明が適用される他の場面の一例を模式的に例示する。
【
図10】
図10は、他の形態に係る監視装置のハードウェア構成の一例を模式的に例示する。
【
図11】
図11は、他の形態に係る監視装置のソフトウェア構成の一例を模式的に例示する。
【
図12】
図12は、本発明が適用される他の場面の一例を模式的に例示する。
【
図13】
図13は、他の形態に係る故障予測装置のハードウェア構成の一例を模式的に例示する。
【
図14】
図14は、他の形態に係る故障予測装置のソフトウェア構成の一例を模式的に例示する。
【
図15】
図15は、本発明が適用される他の場面の一例を模式的に例示する。
【
図16】
図16は、他の形態に係る状態予測装置のハードウェア構成の一例を模式的に例示する。
【
図17】
図17は、他の形態に係る状態予測装置のソフトウェア構成の一例を模式的に例示する。
【
図18】
図18は、本発明が適用される他の場面の一例を模式的に例示する。
【
図19】
図19は、本発明が適用される他の場面の一例を模式的に例示する。
【
図20】
図20は、他の形態に係る人流予測装置のハードウェア構成の一例を模式的に例示する。
【
図21】
図21は、他の形態に係る人流予測装置のソフトウェア構成の一例を模式的に例示する。
【
図22】
図22は、本発明が適用される他の場面の一例を模式的に例示する。
【
図23】
図23は、他の形態に係る状況予測装置のハードウェア構成の一例を模式的に例示する。
【
図24】
図24は、他の形態に係る状況予測装置のソフトウェア構成の一例を模式的に例示する。
【
図25】
図25は、本発明が適用される他の場面の一例を模式的に例示する。
【
図26】
図26は、他の形態に係る発電量予測装置のハードウェア構成の一例を模式的に例示する。
【
図27】
図27は、他の形態に係る発電量予測装置のソフトウェア構成の一例を模式的に例示する。
【
図28】
図28は、本発明が適用される他の場面の一例を模式的に例示する。
【発明を実施するための形態】
【0040】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0041】
§1 適用例
まず、
図1を用いて、本発明が適用される場面の一例について説明する。
図1は、本発明を適用した場面の一例を模式的に例示する。
図1に示されるとおり、本実施形態に係る予測システム100は、モデル生成装置1及び予測装置2を備えている。モデル生成装置1及び予測装置2は、ネットワークを介して互いに接続されてよい。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【0042】
本実施形態に係るモデル生成装置1は、機械学習により、任意の時刻における所定のデータから当該任意の時刻よりも未来の時刻における所定のデータに現れる特徴を予測可能に訓練された予測モデル55を構築するように構成されたコンピュータである。具体的には、モデル生成装置1は、時系列に得られる所定のデータの第1時刻における第1サンプル321、及び第1時刻よりも未来の時刻における所定のデータの第2サンプル322に含まれる特徴情報323の組み合わせによりそれぞれ構成される複数の第2学習データセット32を取得する。第2学習データセット32は、本発明の「学習データセット」の一例である。
【0043】
「時系列に得られる」とは、時の流れにおける複数の時点で対象のデータが得られることを示す。データの得られるタイミングは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。データの得られるタイミングは、定期的であってもよいし、不定期であってもよい。「時刻」は、時の流れにおける任意の点を示す。
図1の例では、時刻tが第1時刻の一例であり、時刻(t+a)が第2時刻の一例である。また、時刻(t-a)が第1時刻の一例であり、時刻tが第2時刻の一例である。このように、「第1時刻」及び「第2時刻」はそれぞれ、時の流れの前後関係を示すために用いられる。なお、第1時刻と第2時刻との間隔aは、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。第1時刻及び第2時刻それぞれの各サンプル(321、322)は、第1時刻及び第2時刻それぞれの時刻のみのデータにより構成されてもよいし、第1時刻及び第2時刻それぞれの時刻を含む所定の時間区間のデータにより構成されてもよい。
【0044】
「所定のデータ」は、何らかの特徴を含み得るデータであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定のデータは、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。所定のデータは、例えば、何らかの対象をセンサにより観察することで得られたデータであってもよい。本実施形態では、所定のデータは、センサSにより取得可能なセンシングデータである。
【0045】
特徴情報323は、所定のデータに含まれ得る特徴に関するものであれば、その種類及びデータ形式はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「特徴」は、所定のデータから推定可能なあらゆる要素を含んでよい。移動体に関する予測に本発明を利用するケースでは、特徴は、例えば、移動体の進行する通路、移動体の進行方向に存在する物体等の対象物の属性に関してもよい。移動体は、例えば、飛行体(ドローン等)、車両(自動車等)等であってよい。移動体の進行する通路は、例えば、車両の走行可能な道路であってよい。移動体の進行方向に存在する物体は、例えば、信号機、障害物(人、物)等であってよい。その他、特徴は、例えば、機械の状態(故障の有無等)、対象者の状態(眠気度、疲労度、余裕度、健康状態等)、人の流れ、物の流れ、栽培状況、発電量等に関してもよい。
【0046】
本実施形態に係るモデル生成装置1は、機械学習により、各第2学習データセット32について、第1時刻における第1サンプル321から、第2時刻における特徴情報323を予測するように訓練された予測モデル55を構築する。予測モデル55は、機械学習により何らかの能力を獲得可能な学習モデルにより構成される。後述するとおり、本実施形態では、予測モデル55は、ニューラルネットワークにより構成される。
【0047】
各第2学習データセット32には、希少度325が設定されている。希少度325は、各第2学習データセット32の希少性の度合いを示す。本実施形態に係るモデル生成装置1は、この希少度325に応じて、各第2学習データセット32の機械学習の程度を調整する。すなわち、機械学習において、希少度325の高い第2学習データセット32ほど重点的に訓練する。「重点的に訓練する」とは、希少度325の高い第2学習データセット32の、予測モデル55に習得させる予測の能力に影響を与える度合いが、希少度325の低い第2学習データセット32よりも大きくなるように機械学習に使用することを示す。
【0048】
一方、本実施形態に係る予測装置2は、モデル生成装置1により構築された学習済みの予測モデル55を利用して、任意の時刻における所定のデータから、当該任意の時刻よりも未来の時刻における所定のデータに現れる特徴を予測するように構成されたコンピュータである。具体的に、本実施形態に係る予測装置2は、所定のデータの対象サンプル221を取得する。本実施形態では、予測装置2は、センサSに接続される。予測装置2は、センサSから所定のデータの対象サンプル221を取得する。
【0049】
センサSの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサSは、例えば、カメラ、マイクロフォン、エンコーダ、Lidarセンサ、バイタルセンサ、人感センサ、環境センサ等であってよい。カメラは、例えば、RGB画像を取得するよう構成された一般的なデジタルカメラ、深度画像を取得するように構成された深度カメラ、赤外線量を画像化するように構成された赤外線カメラ等であってよい。バイタルセンサは、例えば、体温計、血圧計、脈拍計等であってよい。環境センサは、例えば、光度計、温度計、湿度計等であってよい。
【0050】
次に、本実施形態に係る予測装置2は、上記モデル生成装置1により構築された学習済みの予測モデル55を用いて、取得された対象サンプル221から、対象サンプル221を取得した時刻よりも未来の時刻において所定のデータに現れる特徴223を予測する。そして、予測装置2は、特徴223を予測した結果に関する情報を出力する。
【0051】
以上のとおり、本実施形態では、予測モデル55の機械学習において、希少度325の高い第2学習データセット32ほど重点的に訓練する。これにより、希少度325の高い第2学習データセット32が希少度325の低い第2学習データセット32に埋没するのを防ぐことができ、予測モデル55に習得させる予測の能力に、希少度325の高い第2学習データセット32による訓練結果を適切に反映させることができる。したがって、本実施形態によれば、希少な事象を精度よく予測可能な予測モデル55を構築することができる。また、予測装置2において、そのように構築された予測モデル55を利用することで、特徴223の予測の精度を高めることができる。
【0052】
§2 構成例
[ハードウェア構成]
<モデル生成装置>
次に、
図2を用いて、本実施形態に係るモデル生成装置1のハードウェア構成の一例について説明する。
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。
【0053】
図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、
図2では、通信インタフェースを「通信I/F」と記載している。
【0054】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の第1学習データセット31、複数の第2学習データセット32、複数の第3学習データセット33、第1学習結果データ121、第2学習結果データ123等の各種情報を記憶する。
【0055】
モデル生成プログラム81は、機械学習に関する後述の情報処理(
図6、
図7)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、この情報処理の一連の命令を含む。複数の第1学習データセット31は、後述する推定器の機械学習に利用される。複数の第2学習データセット32は、予測モデル55の機械学習に利用される。複数の第3学習データセット33は、後述する不一致性予測器の機械学習に利用される。第1学習結果データ121は、複数の第1学習データセット31を使用した機械学習により構築された後述の推定器に関する情報を示す。第2学習結果データ123は、複数の第2学習データセット32を使用した機械学習により構築された学習済みの予測モデル55に関する情報を示す。第1学習結果データ121及び第2学習結果データ123は、モデル生成プログラム81を実行した結果として得られる。詳細は後述する。
【0056】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、予測装置2)と行うことができる。
【0057】
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、モデル生成装置1を操作することができる。
【0058】
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記モデル生成プログラム81、複数の第1学習データセット31、複数の第2学習データセット32、及び複数の第3学習データセット33の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
【0059】
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81、複数の第1学習データセット31、複数の第2学習データセット32、及び複数の第3学習データセット33の少なくともいずれかを取得してもよい。
【0060】
ここで、
図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【0061】
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0062】
<予測装置>
次に、
図3を用いて、本実施形態に係る予測装置2のハードウェア構成の一例について説明する。
図3は、本実施形態に係る予測装置2のハードウェア構成の一例を模式的に例示する。
【0063】
図3に示されるとおり、本実施形態に係る予測装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。なお、
図3では、通信インタフェース及び外部インタフェースをそれぞれ「通信I/F」及び「外部I/F」と記載している。
【0064】
予測装置2の制御部21~ドライブ26はそれぞれ、上記モデル生成装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、予測プログラム82、第1学習結果データ121、第2学習結果データ123等の各種情報を記憶する。
【0065】
予測プログラム82は、予測モデル55を利用した所定のデータに現れる特徴の予測に関する後述の情報処理(
図8)を予測装置2に実行させるためのプログラムである。予測プログラム82は、この情報処理の一連の命令を含む。詳細は後述する。
【0066】
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。予測装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、モデル生成装置1)と行うことができる。
【0067】
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、予測装置2を操作することができる。
【0068】
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記予測プログラム82、第1学習結果データ121、及び第2学習結果データ123のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、予測装置2は、記憶媒体92から、上記予測プログラム82、第1学習結果データ121、及び第2学習結果データ123のうちの少なくともいずれかを取得してもよい。
【0069】
外部インタフェース27は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース27の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、予測装置2は、外部インタフェース27を介して、センサSに接続される。これにより、予測装置2は、予測処理を実行する対象となるセンシングデータ(対象サンプル221)をセンサSから取得可能に構成される。ただし、センシングデータを取得するための構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、センサSが通信インタフェースを備える場合、予測装置2は、外部インタフェース27ではなく、通信インタフェース23を介して、センサSに接続されてもよい。
【0070】
なお、予測装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27の少なくともいずれかは省略されてもよい。予測装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、予測装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0071】
[ソフトウェア構成]
<モデル生成装置>
次に、
図4A~
図4Cを用いて、本実施形態に係るモデル生成装置1のソフトウェア構成の一例について説明する。
図4A~
図4Cは、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。
【0072】
モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図4A~
図4Cに示されるとおり、本実施形態に係るモデル生成装置1は、第1データ取得部111、第1学習処理部112、第1保存処理部113、第2データ取得部114、第2学習処理部115、第2保存処理部116、第3データ取得部117、第3学習処理部118、及び希少度設定部119をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0073】
本実施形態では、モデル生成装置1は、推定器51、予測モデル55、及び不一致性予測器57それぞれのデータを例えば、記憶部12、RAM等のメモリに保持している。そして、モデル生成装置1は、推定器51、予測モデル55、及び不一致性予測器57それぞれの機械学習を実行する。以下、モデル生成装置1の各ソフトウェアモジュールについて、各機械学習と関連付けて説明する。
【0074】
(A)推定器に関するモジュール
まず、
図4Aを参照して、推定器51の機械学習に関するソフトウェアモジュールについて説明する。上記ソフトウェアモジュールのうち、第1データ取得部111、第1学習処理部112、及び第1保存処理部113が、推定器51の機械学習に関連する。
【0075】
第1データ取得部111は、推定器51の機械学習に使用する複数の第1学習データセット31を取得する。本実施形態では、各第1学習データセット31は、所定のデータのサンプル311、及びサンプル311に現れる特徴(正解)を示す正解データ313の組み合わせにより構成される。サンプル311は、機械学習の訓練データ(入力データ)として利用される。正解データ313は、機械学習の教師データとして利用される。
【0076】
第1学習処理部112は、複数の第1学習データセット31を使用した機械学習により、所定のデータに現れる特徴を推定する能力を獲得した学習済みの推定器51を構築する。本実施形態では、第1学習処理部112は、機械学習により、各第1学習データセット31について、サンプル311を入力すると、対応する正解データ313に適合する出力値を出力するように推定器51を訓練する。これにより、所定のデータに現れる特徴を推定する能力を獲得した学習済みの推定器51が構築される。第1保存処理部113は、構築された学習済みの推定器51に関する情報を所定の記憶領域に保存する。
【0077】
(推定器の構成)
次に、推定器51の構成の一例について説明する。
図4Aに示されるとおり、推定器51は、自己符号化器により構成される。すなわち、推定器51は、エンコーダ52及びデコーダ53を備える。エンコーダ52は、与えられた入力データを特徴量に変換するように構成される。特徴量は、所定のデータから抽出され得る特徴を数値化したものである。デコーダ53は、特徴量から入力データを復元すると共に、入力データに現れる特徴を推定するように構成される。
【0078】
本実施形態では、エンコーダ52及びデコーダ53は、深層学習に用いられる多層構造のニューラルネットワークにより構成されている。エンコーダ52は、入力層521、中間(隠れ)層522、及び出力層523を備えている。同様に、デコーダ53は、入力層531、中間(隠れ)層532、及び出力層533を備えている。ただし、エンコーダ52及びデコーダ53の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、エンコーダ52及びデコーダ53それぞれの備える中間層の数は、1つに限定されなくてもよく、2つ以上であってもよい。
【0079】
エンコーダ52の各層521~523及びデコーダ53の各層531~533に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜選択されてよい。
図4Aの例では、エンコーダ52及びデコーダ53の各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、エンコーダ52及びデコーダ53それぞれにおけるニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【0080】
隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。エンコーダ52の各層521~523に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、エンコーダ52の演算パラメータの一例である。デコーダ53の各層531~533に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、デコーダ53の演算パラメータの一例である。推定器51の演算パラメータは、エンコーダ52及びデコーダ53それぞれの演算パラメータにより構成される。
【0081】
本実施形態では、第1学習処理部112は、複数の第1学習データセット31を使用して、上記のようなニューラルネットワークにより構成された推定器51(エンコーダ52及びデコーダ53)の機械学習を実行する。すなわち、第1学習処理部112は、推定器51の演算パラメータの値を調整することで、各第1学習データセット31について、エンコーダ52の入力層521にサンプル311を入力すると、サンプル311及び正解データ313に適合する出力値をデコーダ53の出力層533から出力するように推定器51を訓練する。これにより、第1学習処理部112は、所定のデータに現れる特徴を推定する能力を獲得した学習済みの推定器51を構築する。なお、この「推定」は、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が現れている確率)を導出することのいずれかであってよい。第1保存処理部113は、構築された学習済みの推定器51の構造及び演算パラメータを示す情報を第1学習結果データ121として生成する。そして、第1保存処理部113は、生成された第1学習結果データ121を所定の記憶領域に保存する。
【0082】
(B)予測モデルに関するモジュール
次に、
図4Bを参照して、予測モデル55の機械学習に関するソフトウェアモジュールについて説明する。上記ソフトウェアモジュールのうち、第2データ取得部114、第2学習処理部115、第2保存処理部116、及び希少度設定部119が、予測モデル55の機械学習に関連する。第2データ取得部114は、本発明の「データ取得部」の一例であり、第2学習処理部115は、本発明の「学習処理部」の一例である。
【0083】
第2データ取得部114は、予測モデル55の機械学習に使用する複数の第2学習データセット32を取得する。各第2学習データセット32は、時系列に得られる所定のデータの第1時刻における第1サンプル321、及び第1時刻よりも未来の第2時刻における所定のデータの第2サンプル322に含まれる特徴情報323の組み合わせにより構成される。本実施形態では、特徴情報323は、第2サンプル322の特徴量を含む。特徴情報323の特徴量は、推定器51のエンコーダ52により第2サンプル322を変換することにより与えられる。第1サンプル321は、機械学習の訓練データ(入力データ)として利用される。特徴情報323は、機械学習の教師データ(正解データ)として利用される。
【0084】
第2学習処理部115は、複数の第2学習データセット32を使用した機械学習により、第1時刻における第1サンプル321から第2時刻における特徴情報323を予測するように訓練された予測モデル55を構築する。本実施形態では、第2学習処理部115は、機械学習により、各第2学習データセット32について、第1サンプル321を入力すると、対応する特徴情報323に適合する出力値を出力するように予測モデル55を訓練する。
【0085】
各第2学習データセット32には、各第2学習データセット32の希少性の度合いを示す希少度325が設定されている。第2学習処理部115は、この希少度325に応じて、各第2学習データセット32の機械学習の程度を調整する。すなわち、第2学習処理部115は、希少度325の高い第2学習データセット32ほど重点的に訓練されるように上記機械学習の処理を実施する。これにより、各第2学習データセット32について、第1時刻における第1サンプル321から第2時刻における特徴情報323を予測するように訓練された予測モデル55が構築される。換言すると、任意の時刻における所定のデータから任意の時刻よりも未来の時刻における所定のデータに含まれる特徴情報を予測する能力を獲得した学習済みの予測モデル55が構築される。第2保存処理部116は、構築された学習済みの予測モデル55に関する情報を所定の記憶領域に保存する。
【0086】
希少度設定部119は、各第2学習データセット32の希少度325を設定する。希少度325の設定方法は、実施の形態に応じて適宜選択されてよい。本実施形態では、希少度設定部119は、予測モデル55による予測の不一致性を第1時刻における第1サンプル321から予測するように構成された後述の不一致性予測器57を含んでいる。希少度設定部119は、予測モデル55による予測の不一致性を不一致性予測器57により予測した結果に応じて、各第2学習データセット32の希少度を設定する。
【0087】
(予測モデルの構成)
次に、予測モデル55の構成の一例について説明する。
図4Bに示されるとおり、予測モデル55は、上記エンコーダ52及びデコーダ53と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成されている。予測モデル55は、入力層551、中間(隠れ)層552、及び出力層553を備えている。ただし、予測モデル55の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測モデル55の備える中間層の数は、1つに限定されなくてもよく、2つ以上であってもよい。
【0088】
予測モデル55の各層551~553に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜選択されてよい。
図4Bの例では、予測モデル55の各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、予測モデル55におけるニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各層551~553に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、予測モデル55の演算パラメータの一例である。
【0089】
本実施形態では、第2学習処理部115は、複数の第2学習データセット32を使用して、上記のようなニューラルネットワークにより構成された予測モデル55の機械学習を実行する。すなわち、第2学習処理部115は、予測モデル55の演算パラメータの値を調整することで、各第2学習データセット32について、入力層551に第1サンプル321を入力すると、対応する特徴情報323に適合する出力値を出力層553から出力するように予測モデル55を訓練する。この機械学習の処理では、希少度325の高い第2学習データセット32ほど重点的に訓練する。これにより、第2学習処理部115は、任意の時刻における所定のデータから任意の時刻よりも未来の時刻における所定のデータに含まれる特徴情報を予測する能力を獲得した学習済みの予測モデル55を構築する。第2保存処理部116は、構築された学習済みの予測モデル55の構造及び演算パラメータを示す情報を第2学習結果データ123として生成する。そして、第2保存処理部116は、生成された第2学習結果データ123を所定の記憶領域に保存する。
【0090】
(C)不一致性予測器に関するモジュール
次に、
図4Cを参照して、不一致性予測器57の機械学習に関するソフトウェアモジュールについて説明する。上記ソフトウェアモジュールのうち、第3データ取得部117及び第3学習処理部118が、不一致性予測器57の機械学習に関連する。第3データ取得部117は、本発明の「不一致性学習データ取得部」の一例であり、第3学習処理部118は、本発明の「不一致性学習処理部」の一例である。
【0091】
第3データ取得部117は、不一致性予測器57の機械学習に使用する複数の第3学習データセット33を取得する。第3学習データセット33は、本発明の「不一致性学習データセット」の一例である。各第3学習データセット33は、各第2学習データセット32の第1時刻における第1サンプル321、及び第1サンプル321に対する予測モデル55による予測の不一致性333の組み合わせによりそれぞれ構成される。第1サンプル321は、機械学習の訓練データ(入力データ)として利用される。不一致性333は、機械学習の教師データ(正解データ)として利用される。
【0092】
第3学習処理部118は、複数の第3学習データセット33を使用した機械学習により、第1時刻における第1サンプル321から、対応する予測モデル55による予測の不一致性333を予測するように訓練された不一致性予測器57を構築する。本実施形態では、第3学習処理部118は、機械学習により、各第3学習データセット33について、第1サンプル321を入力すると、対応する不一致性333に適合する出力値を出力するように不一致性予測器57を訓練する。
【0093】
このとき、本実施形態に係る第3学習処理部118は、上記第2学習処理部115とは異なり、不一致性予測器57の機械学習において、希少度325に関係なく各第3学習データセット33を均一に訓練する。これにより、各第3学習データセット33について、第1時刻における第1サンプル321から、対応する予測モデル55による予測の不一致性333を予測するように訓練された不一致性予測器57が構築される。換言すると、任意の時刻における所定のデータに対する予測モデル55の予測の不一致性を予測する能力を獲得した学習済みの不一致性予測器57が構築される。構築された学習済みの不一致性予測器57は、上記希少度設定部119により利用される。
【0094】
(不一致性予測器の構成)
次に、不一致性予測器57の構成の一例について説明する。
図4Cに示されるとおり、不一致性予測器57は、上記予測モデル55等と同様に、深層学習に用いられる多層構造のニューラルネットワークにより構成されている。不一致性予測器57は、入力層571、中間(隠れ)層572、及び出力層573を備えている。ただし、不一致性予測器57の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、不一致性予測器57の備える中間層の数は、1つに限定されなくてもよく、2つ以上であってもよい。
【0095】
不一致性予測器57の各層571~573に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜選択されてよい。
図4Cの例では、不一致性予測器57の各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、不一致性予測器57におけるニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各層571~573に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、不一致性予測器57の演算パラメータの一例である。
【0096】
本実施形態では、第3学習処理部118は、複数の第3学習データセット33を使用して、上記のようなニューラルネットワークにより構成された不一致性予測器57の機械学習を実行する。すなわち、第3学習処理部118は、不一致性予測器57の演算パラメータの値を調整することで、各第3学習データセット33について、入力層571に第1サンプル321を入力すると、対応する不一致性333に適合する出力値を出力層573から出力するように不一致性予測器57を訓練する。この機械学習の処理では、予測モデル55の機械学習とは異なり、希少度325を無視して各第3学習データセット33を均一に訓練する。「均一に訓練する」とは、上記第2学習処理部115のような希少度325に応じた機械学習の程度の調整を実施しないことである。これにより、第3学習処理部118は、任意の時刻における所定のデータに対する予測モデル55の予測の不一致性を予測する能力を獲得した学習済みの不一致性予測器57を構築する。なお、上記予測モデル55の訓練及び不一致性予測器57の訓練は交互に実行されてよい。
【0097】
<予測装置>
次に、
図5を用いて、本実施形態に係る予測装置2のソフトウェア構成の一例について説明する。
図5は、本実施形態に係る予測装置2のソフトウェア構成の一例を模式的に例示する。
【0098】
予測装置2の制御部21は、記憶部22に記憶された予測プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された予測プログラム82をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図5に示されるとおり、本実施形態に係る予測装置2は、対象データ取得部211、予測部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、予測装置2の各ソフトウェアモジュールは、制御部21(CPU)により実現される。
【0099】
対象データ取得部211は、所定のデータの対象サンプル221を取得する。本実施形態では、対象データ取得部211は、対象サンプル221をセンサSから取得する。予測部212は、モデル生成装置1により構築された学習済みの予測モデル55を用いて、取得された対象サンプル221から、対象サンプル221を取得した時刻よりも未来の時刻において所定のデータに現れる特徴223を予測する。出力部213は、特徴223を予測した結果に関する情報を出力する。
【0100】
なお、本実施形態では、予測モデル55は、機械学習により、推定器51のエンコーダ52により得られる特徴量を含む特徴情報を予測するように訓練される。そのため、予測モデル55及び推定器51のデコーダ53を組み合わせることにより、任意の時刻における所定のデータのサンプルから、未来の時刻における所定のデータのサンプル及び特徴を予測可能な予測推定器を構築することができる。
【0101】
そこで、本実施形態では、予測部212は、第1学習結果データ121及び第2学習結果データ123を保持することで、推定器51のデコーダ53及び予測モデル55を含んでいる。予測部212は、予測モデル55及びデコーダ53を利用して、任意の時刻における対象サンプル221から、未来の時刻における予測サンプル225及び特徴223を予測する。
【0102】
具体的には、予測部212は、まず、対象サンプル221を予測モデル55に入力し、予測モデル55の演算処理を実行する。これにより、予測部212は、予測モデル55を利用して、対象サンプル221から未来の時刻における所定のデータの特徴量を予測する。そして、予測部212は、予測された特徴量をデコーダ53に入力し、デコーダ53の演算処理を実行する。これにより、予測部212は、デコーダ53を利用して、予測された特徴量から、予測サンプル225を復元すると共に、未来の時刻において所定のデータに現れる特徴223を予測する。
【0103】
<その他>
モデル生成装置1及び予測装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び予測装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置1及び予測装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0104】
§3 動作例
[モデル生成装置]
(A)推定器の機械学習
次に、
図6を用いて、推定器51の機械学習に関するモデル生成装置1の動作例について説明する。
図6は、モデル生成装置1による推定器51の機械学習に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0105】
(ステップS101)
ステップS101では、制御部11は、第1データ取得部111として動作し、推定器51の機械学習に使用する複数の第1学習データセット31を取得する。本実施形態では、制御部11は、サンプル311及び正解データ313の組み合わせによりそれぞれ構成される複数の第1学習データセット31を取得する。
【0106】
各第1学習データセット31を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサSと同種のセンサを用意し、用意したセンサにより様々な条件で観測を行うことで、時系列に所定のデータを取得する。観察の対象は、所定のデータから推定する特徴に応じて適宜選択されてよい。続いて、時系列に得られた所定のデータからサンプル311を適宜抽出する。そして、抽出されたサンプル311に対して、当該サンプル311に現れる特徴を示す正解データ313を関連付ける。これにより、各第1学習データセット31を生成することができる。
【0107】
各第1学習データセット31は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各第1学習データセット31の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各第1学習データセット31をモデル生成装置1が生成する場合、制御部11は、自動的に又はオペレータの入力装置14を介した操作により手動的に上記一連の処理を実行することで、複数の第1学習データセット31を取得する。一方、各第1学習データセット31を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第1学習データセット31を取得する。一部の第1学習データセット31がモデル生成装置1により生成され、その他の第1学習データセット31が1又は複数の他のコンピュータにより生成されてもよい。
【0108】
取得される第1学習データセット31の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第1学習データセット31を取得すると、制御部11は、次のステップS102に処理を進める。
【0109】
(ステップS102)
ステップS102では、制御部11は、第1学習処理部112として動作し、複数の第1学習データセット31を使用して、推定器51の機械学習を実行する。本実施形態では、制御部11は、機械学習により、各第1学習データセット31について、サンプル311をエンコーダ52に入力すると、サンプル311及び正解データ313に適合する出力値をデコーダ53から出力するように推定器51を訓練する。これにより、制御部11は、所定のデータに現れる特徴を推定する能力を獲得した学習済みの推定器51を構築する。
【0110】
機械学習の具体的な処理手順の一例として、制御部11は、まず、処理対象となる推定器51を用意する。用意する推定器51の構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、推定器51を用意してもよい。
【0111】
次に、制御部11は、各第1学習データセット31に含まれるサンプル311を入力データとして利用し、サンプル311及び正解データ313を教師データとして利用して、推定器51を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0112】
例えば、第1のステップでは、制御部11は、各第1学習データセット31について、エンコーダ52にサンプル311を入力し、エンコーダ52の演算処理を実行する。すなわち、制御部11は、エンコーダ52の入力層521にサンプル311を入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、エンコーダ52の出力層523から、サンプル311を特徴量に変換した結果に対応する出力値を取得する。
【0113】
また、制御部11は、エンコーダ52から取得された出力値をデコーダ53に入力し、デコーダ53の演算処理を実行する。すなわち、制御部11は、エンコーダ52から取得された出力値をデコーダ53の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、デコーダ53の出力層533から、エンコーダ52の出力値(特徴量)からサンプル311を復元すると共に、サンプル311に含まれる特徴を推定した結果に対応する出力値を取得する。
【0114】
第2のステップでは、制御部11は、出力層533から取得された出力値とサンプル311及び正解データ313との誤差を損失関数に基づいて算出する。損失関数は、学習モデルの出力と正解との差分を評価する関数であり、出力層533から取得された出力値とサンプル311及び正解データ313との差分値が大きいほど、損失関数の値は大きくなる。推定器51の誤差を計算するのに利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第3のステップでは、制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差を用いて、推定器51における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。
【0115】
第4のステップでは、制御部11は、算出された各誤差に基づいて、推定器51の演算パラメータ、すなわち、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、機械学習において演算パラメータの値を更新する度合いを定める。学習率が大きいほど演算パラメータの更新量が大きくなり、学習率が小さいほど演算パラメータの更新量が小さくなる。この場合、制御部11は、学習率を各誤差に掛け合わせて得られた値により、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。推定器51の機械学習では、学習率は、適宜与えられてよい。例えば、学習率は、オペレータの指定により与えられてよい。
【0116】
制御部11は、上記第1~第4のステップを繰り返すことで、各第1学習データセット31について、デコーダ53の出力層533から出力される出力値とサンプル311及び正解データ313との誤差の和が小さくなるように、推定器51の演算パラメータの値を調整する。例えば、制御部11は、各第1学習データセット31について、出力層533から得られる出力値とサンプル311及び正解データ313と誤差の和が閾値以下になるまで、上記第1~第4のステップによる演算パラメータの値の調整を繰り返してもよい。閾値は、実施の形態に応じて適宜設定されてよい。
【0117】
この推定器51の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。この場合、上記第1~第4のステップの処理を実行する前に、制御部11は、複数の第1学習データセット31から任意数のサンプル(第1学習データセット31)を抽出することでミニバッチを生成する。そして、制御部11は、生成されたミニバッチに含まれる各第1学習データセット31について、上記第1~第4のステップの処理を実行する。第1~第4のステップを繰り返す場合には、制御部11は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第1~第4のステップの処理を実行する。ミニバッチのサイズ(すなわち、サンプル数)は、実施の形態に応じて適宜設定されてよい。また、推定器51の機械学習では、ミニバッチの抽出方法は、例えば、ランダム等であってよい。
【0118】
この機械学習の過程で、エンコーダ52は、所定のデータのサンプル311を特徴量に変換するように訓練されていく。また、デコーダ53は、エンコーダ52により得られた特徴量からサンプル311を復元すると共に、サンプル311に含まれる特徴を推定するように訓練されていく。サンプル311は、本発明の「第3サンプル」の一例である。その結果、制御部11は、各第1学習データセット31について、サンプル311の入力に対して、サンプル311及び正解データ313に適合する出力値を出力するように訓練された推定器51を構築することができる。この「適合する」ことは、閾値等により許容可能な差異が、出力層533の出力値と教師データで(サンプル311及び正解データ313)との間に生じることを含んでもよい。後述する予測モデル55及び不一致性予測器57の機械学習においても同様である。推定器51の機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0119】
なお、機械学習の具体的な処理手順は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、本実施形態では、推定器51は、自己符号化器により構成される。そのため、エンコーダ52から出力される特徴量がガウス分布等の事前分布に従うように、制御部11は、更に、エンコーダ52の出力値の正規化を行ってもよい。例えば、制御部11は、上記機械学習の過程で、エンコーダ52から出力される出力値と事前分布から抽出された値との誤差を算出し、上記誤差逆伝播法により、算出された誤差に基づいて、エンコーダ52の演算パラメータの値を更に調整してもよい。
【0120】
(ステップS103)
ステップS103では、制御部11は、第1保存処理部113として動作し、機械学習により構築された学習済みの推定器51に関する情報を所定の記憶領域に保存する。本実施形態では、制御部11は、ステップS102の機械学習により構築された学習済みの推定器51(エンコーダ52及びデコーダ53)の構造及び演算パラメータを示す情報を第1学習結果データ121として生成する。エンコーダ52及びデコーダ53それぞれに関するデータは、同一ファイルとして生成されてもよいし、別ファイルとして生成されてもよい。そして、制御部11は、生成された第1学習結果データ121を所定の記憶領域に保存する。
【0121】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ16を介して記憶メディアに第1学習結果データ121を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに第1学習結果データ121を格納してもよい。また、外部記憶装置は、例えば、モデル生成装置1に接続された外付けの記憶装置であってもよい。
【0122】
これにより、第1学習結果データ121の保存が完了すると、制御部11は、推定器51の機械学習に関する一連の処理を終了する。
【0123】
なお、学習済みの推定器51を構築した後、制御部11は、生成された第1学習結果データ121を任意のタイミングで予測装置2に転送してもよい。予測装置2は、モデル生成装置1から転送を受け付けることで第1学習結果データ121を取得してもよいし、モデル生成装置1又はデータサーバにアクセスすることで第1学習結果データ121を取得してもよい。また、第1学習結果データ121は、予測装置2に予め組み込まれてもよい。予測装置2がエンコーダ52を利用しない場合には、予測装置2の保持する第1学習結果データ121からエンコーダ52に関するデータは省略されてよい。
【0124】
また、制御部11は、上記ステップS101~103の処理を定期的に繰り返すことで、第1学習結果データ121を定期的に更新してもよい。この繰り返す際には、第1学習データセット31の変更、修正、追加、削除等の更新が適宜実行されてよい。そして、制御部11は、更新された第1学習結果データ121を機械学習の実行毎に予測装置2に転送することで、予測装置2の保持する第1学習結果データ121を定期的に更新してもよい。
【0125】
(B)予測モデル及び不一致性予測器の機械学習
次に、
図7を用いて、予測モデル55及び不一致性予測器57の機械学習に関するモデル生成装置1の動作例について説明する。
図7は、モデル生成装置1による予測モデル55及び不一致性予測器57の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0126】
(ステップS201)
ステップS201では、制御部11は、第2データ取得部114として動作し、時系列に得られる所定のデータの第1時刻における第1サンプル321、及び第1時刻よりも未来の第2時刻における第2サンプル322に含まれる特徴情報323の組み合わせによりそれぞれ構成される複数の第2学習データセット32を取得する。
【0127】
各第2学習データセット32を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、センサSと同種のセンサを用意し、用意したセンサにより様々な条件で観測を行うことで、時系列に所定のデータを取得する。続いて、時系列に得られた所定のデータから第1サンプル321及び第2サンプル322を適宜抽出する。第1サンプル321及び第2サンプル322を抽出した所定のデータは、上記各第1学習データセット31の生成に利用した所定のデータと同じであってよい。
【0128】
次に、第2サンプル322から特徴情報323を取得する。本実施形態では、特徴情報323は、第2サンプル322の特徴量を含むように構成される。第2サンプル322から特徴量を算出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、特徴量の抽出に関する公知の演算方法により、第2サンプル322から特徴量を算出してもよい。また、本実施形態では、上記推定器51の機械学習により、所定のデータのサンプルを特徴量に変換する学習済みのエンコーダ52が構築されている。そのため、特徴情報323を構成する特徴量は、学習済みのエンコーダ52により第2サンプル322を変換することで与えられてもよい。具体的には、エンコーダ52の入力層521に第2サンプル322を入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。この演算処理により、エンコーダ52の出力層523から出力される出力値(特徴量)を特徴情報323として取得する。そして、得られた特徴情報323を第1サンプル321に関連付ける。これにより、各第2学習データセット32を生成することができる。
【0129】
更に、生成された各第2学習データセット32に、各第2学習データセット32の希少性の度合いを示す希少度325を設定する。希少性は、所定のデータから得られる程度が少ないことである。本実施形態では、後述するとおり、ステップS203の判定により、ステップS202の処理を繰り返す過程で、希少度325は、各第2学習データセット32の希少性の度合いを示すように更新される。そのため、本ステップS201により各第2学習データセット32を取得する段階では、希少度325は、ランダム、テンプレート等により適宜に設定されてもよい。また、希少度325は、オペレータの指定により設定されてもよい。
【0130】
各第2学習データセット32は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各第2学習データセット32の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各第2学習データセット32をモデル生成装置1が生成する場合、制御部11は、自動的に又はオペレータの入力装置14を介した操作により手動的に上記一連の処理を実行することで、複数の第2学習データセット32を取得する。一方、各第2学習データセット32を他のコンピュータが生成する場合、他のコンピュータは、学習済みの推定器51のエンコーダ52を利用するために、モデル生成装置1から第1学習結果データ121を取得してもよい。デコーダ53を利用しない場合、他のコンピュータの取得する第1学習結果データ121からデコーダ53に関するデータは省略されてよい。これにより、他のコンピュータは、学習済みの推定器51のエンコーダ52を利用して、自動的に又は手動的に上記一連の処理を実行することで、各第2学習データセット32を生成することができる。制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第2学習データセット32を取得する。一部の第2学習データセット32がモデル生成装置1により生成され、その他の第2学習データセット32が1又は複数の他のコンピュータにより生成されてもよい。また、各第2学習データセット32の生成及び希少度325の設定は別々のコンピュータで実行されてもよい。
【0131】
取得される第2学習データセット32の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第2学習データセット32を取得すると、制御部11は、次のステップS202に処理を進める。
【0132】
(ステップS202)
ステップS202では、制御部11は、第2学習処理部115として動作し、複数の第2学習データセット32を使用して、予測モデル55の機械学習を実行する。本実施形態では、制御部11は、機械学習により、各第2学習データセット32について、第1サンプル321を入力すると、対応する特徴情報323に適合する出力値を出力するように予測モデル55を訓練する。これにより、制御部11は、各第2学習データセット32について、第1時刻における第1サンプル321から第2時刻における特徴情報323を予測するように訓練された予測モデル55を構築する。
【0133】
機械学習の具体的な処理手順は、基本的には、推定器51の機械学習の処理手順と同様であってよい。制御部11は、まず、処理対象となる予測モデル55を用意する。用意する予測モデル55の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、予測モデル55を用意してもよい。後述するステップS203の条件分岐により、再度、ステップS202を実行する場合、制御部11は、前のステップS202の処理を実行したことで得られた学習結果に基づいて、処理対象となる予測モデル55を用意する。
【0134】
次に、制御部11は、各第2学習データセット32に含まれる第1サンプル321を入力データとして利用し、特徴情報323を教師データとして利用して、予測モデル55を構成するニューラルネットワークの学習処理を実行する。この学習処理には、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0135】
例えば、第1のステップでは、制御部11は、各第2学習データセット32について、第1サンプル321を予測モデル55に入力し、予測モデル55の演算処理を実行する。すなわち、制御部11は、予測モデル55の入力層551に第1サンプル321を入力し、入力側から順に各層551~553に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、予測モデル55の出力層553から、第1時刻における第1サンプル321から第2時刻における特徴情報323を予測した結果に対応する出力値を取得する。
【0136】
第2のステップでは、制御部11は、出力層553から取得された出力値と対応する特徴情報323との誤差を損失関数に基づいて算出する。予測モデル55の誤差を計算するのに利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第3のステップでは、制御部11は、誤差逆伝播法により、算出された出力値の誤差を用いて、予測モデル55における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第4のステップでは、制御部11は、算出された各誤差に基づいて、予測モデル55の演算パラメータ、すなわち、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0137】
制御部11は、上記第1~第4のステップを繰り返すことで、各第2学習データセット32について、出力層553から出力される出力値と特徴情報323との誤差の和が小さくなるように、予測モデル55の演算パラメータの値を調整する。例えば、制御部11は、各第2学習データセット32について、出力層553から得られる出力値と特徴情報323との誤差の和が閾値以下になるまで、上記第1~第4による演算パラメータの値の調整を繰り返してもよい。閾値は、実施の形態に応じて適宜設定されてよい。
【0138】
この予測モデル55の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。この場合、上記第1~第4のステップの処理を実行する前に、制御部11は、複数の第2学習データセット32から任意数のサンプル(第2学習データセット32)を抽出することでミニバッチを生成する。ミニバッチのサイズは、実施の形態に応じて適宜設定されてよい。そして、制御部11は、生成されたミニバッチに含まれる各第2学習データセット32について、上記第1~第4のステップの処理を実行する。第1~第4のステップを繰り返す場合には、制御部11は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第1~第4のステップの処理を実行する。
【0139】
本実施形態では、各第2学習データセット32には、各第2学習データセット32の希少性の度合いを示す希少度325が設定されている。制御部11は、上記予測モデル55の機械学習において、希少度325の高い第2学習データセット32ほど重点的に訓練する。重点的に訓練する方法は、予測モデル55に獲得される予測能力において、希少度325の高い第2学習データセット32の影響度合いが、希少度325の低い第2学習データセット32よりも大きくなる方法であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、制御部11は、以下の2つの方法のうちの少なくともいずれかの方法により、上記予測モデル55の機械学習において、希少度325の高い第2学習データセット32ほど重点的に訓練する。
【0140】
(A)サンプリング回数
第1の方法では、制御部11は、希少度325の高い第2学習データセット32ほど上記機械学習におけるサンプリング回数を多くすることで、希少度325の高い第2学習データセット32ほど重点的に訓練する。つまり、第1の方法では、各第2学習データセット32の学習の度合いは、各第2学習データセット32をサンプルとして取り出す頻度に基づいて制御される。
【0141】
一例として、制御部11は、上記ミニバッチの生成に際して、制御部11は、希少度325の低い第2学習データセット32と比べて、希少度325の高い第2学習データセット32のミニバッチに抽出される確率を高くする。すなわち、希少度325の低い第2学習データセット32と比べて、希少度325の高い第2学習データセット32がミニバッチに頻繁に抽出されやすくする。希少度325と抽出確率との具体的な対応関係は適宜決定されてよい。
【0142】
これにより、希少度325の低い第2学習データセット32に比べて、希少度325の高い第2学習データセット32のサンプリング回数を多くすることができる。このサンプリング回数が多くなれば、予測モデル55の演算パラメータの値の調整に使用される回数が多くなる。よって、この第1の方法によれば、予測モデル55の機械学習において、希少度325の低い第2学習データセット32よりも、希少度325の高い第2学習データセット32の影響度合いを大きくすることができる。
【0143】
(B)重み付け
第2の方法では、制御部11は、希少度325の高い第2学習データセット32ほど上記機械学習における重み付けを大きくすることで、希少度325の高い第2学習データセット32ほど重点的に訓練する。
【0144】
一例として、制御部11は、希少度325に応じて、上記学習率の値を設定する。すなわち、制御部11は、希少度325が高いほど学習率を大きな値に設定し、希少度325が低いほど学習率を小さな値に設定する。希少度325と学習率の値との具体的な対応関係は、実施の形態に応じて適宜決定されてよい。
【0145】
これにより、希少度325の低い第2学習データセット32に比べて、希少度325の高い第2学習データセット32の学習率の値が大きく設定される。学習率の値が大きくなれば、上記第4ステップでは、対象の第2学習データセット32について、予測モデル55の演算パラメータの値を調整する際の更新量が大きくなる、すなわち、機械学習における重み付けが大きくなる。よって、この第2の方法によれば、予測モデル55の機械学習において、希少度325の低い第2学習データセット32よりも、希少度325の高い第2学習データセット32の影響度合いを大きくすることができる。
【0146】
以上の機械学習の結果、制御部11は、各第2学習データセット32について、第1時刻における第1サンプル321を入力すると、第2時刻における特徴情報323に適合する出力値を出力するように訓練された予測モデル55を構築することができる。予測モデル55の機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0147】
(ステップS203)
ステップS203では、制御部11は、予測モデル55(及び不一致性予測器57)の機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、実施の形態に応じて適宜決定されてよい。
【0148】
例えば、予測モデル55の機械学習を実施する規定回数が設定されてよい。この規定回数は、モデル生成装置1に固有に設定されてもよいし、オペレータの指定により設定されてもよい。この場合、制御部11は、上記ステップS202(又は、後述するステップS205)の機械学習を実行した回数が規定回数に到達したか否かを判定する。上記ステップS202の機械学習を実行した回数が規定回数に到達していないと判定した場合、制御部11は、次のステップS204に処理を進める。一方、上記ステップS202の機械学習を実行した回数が規定回数に到達したと判定した場合には、制御部11は、ステップS202の機械学習の実行を終了し、次のステップS207に処理を進める。
【0149】
また、例えば、制御部11は、評価用データを利用して、予測モデル55の予測の精度を評価し、評価された予測モデル55の精度が所定の基準を満たしているか否かに基づいて、機械学習の処理を終了するか否かを判定してもよい。評価用データは、第2学習データセット32とそれぞれ同様の複数のデータセットを含んでよい。つまり、評価用の各データセットは、第1時刻のサンプル及び第2時刻の特徴情報の正解データの組み合わせにより構成されてよい。この評価用の各データセットは、希少度325の高い第2学習データセット32から選択されてよい。或いは、評価用の各データセットは、希少度325の高い第2学習データセット32として利用可能に生成されてよい。希少度325が高いか否かは、例えば、閾値との比較に基づいて評価されてよい。この場合、制御部11は、ステップS202により学習済みの予測モデル55に、評価用の各データセットに含まれるサンプルを入力し、予測モデル55の演算処理を実行する。これにより、制御部11は、第1時刻のサンプルから第2時刻の特徴情報を予測した結果に対応する出力値を取得する。制御部11は、得られた出力値と特徴情報の正解データとを照合し、評価用の各データセットに対する予測モデル55の予測が正しいか否かを判定することで、予測モデル55の予測精度を評価する。この予測精度が所定の基準を満たしていない(例えば、予測精度が閾値以下である)場合、制御部11は、機械学習の処理を繰り返すと判定し、次のステップS204に処理を進める。一方、予測精度が所定の基準を満たしている場合、制御部11は、機械学習の処理を終了すると判定し、次のステップS207に処理を進める。
【0150】
なお、
図7に示されるとおり、ステップS204に処理を進めた場合、ステップS204以降の処理が実行された後に、ステップS202へと処理が戻る。そのため、ステップS204が選択された場合、制御部11は、ステップS202による暫定的な学習結果、すなわち、学習済みの予測モデル55に関する情報を示すデータを所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0151】
(ステップS204)
ステップS204では、制御部11は、第3データ取得部117として動作し、各第2学習データセット32の第1時刻における第1サンプル321、及び当該第1サンプル321に対する予測モデル55による予測の不一致性333の組み合わせによりそれぞれ構成される複数の第3学習データセット33を取得する。
【0152】
各第3学習データセット33は、ステップS202により構築された学習済みの予測モデル55及び各第2学習データセット32を利用して、適宜生成されてよい。例えば、ステップS202により構築された学習済みの予測モデル55に各第2学習データセット32の第1サンプル321を入力し、予測モデル55の演算処理を実行する。これにより、第1時刻における第1サンプル321から第2時刻における特徴情報を予測した結果に対応する出力値を予測モデル55から取得する。この予測モデル55の出力値と対応する特徴情報323(正解データ)との比較に基づいて、予測の不一致性333を算出することができる。例えば、予測モデル55の出力値と対応する特徴情報323との誤差を損失関数により算出し、算出された誤差を不一致性333として取得してもよい。その他の誤差の評価関数を利用して、不一致性333を算出してもよい。また、例えば、予測モデル55の出力値と対応する特徴情報323との差分値を不一致性333として算出してもよい。そして、算出された不一致性333と第1サンプル321とを関連付ける。これにより、各第3学習データセット33を生成することができる。上記ステップS203の判定により、ステップS204の処理が繰り返される場合、各第3学習データセット33の生成は、本ステップS204が繰り返される度に実行されてよい。
【0153】
各第3学習データセット33は、コンピュータの動作により自動的に生成されてもよいし、オペレータの操作により手動的に生成されてもよい。また、各第3学習データセット33の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各第3学習データセット33をモデル生成装置1が生成する場合、制御部11は、自動的に又はオペレータの入力装置14を介した操作により手動的に上記一連の処理を実行することで、複数の第3学習データセット33を取得する。一方、各第3学習データセット33を他のコンピュータが生成する場合、他のコンピュータは、学習済みの予測モデル55を利用するために、モデル生成装置1からステップS202の学習結果のデータを取得する。例えば、他のコンピュータは、所定の記憶領域に保存された学習結果を示すデータを取得してもよい。また、他のコンピュータは、各第2学習データセット32の第1サンプル321を適宜取得してよい。これにより、他のコンピュータは、予測モデル55を利用して、自動的に又は手動的に上記一連の処理を実行することで、各第3学習データセット33を生成する。制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第3学習データセット33を取得する。一部の第3学習データセット33がモデル生成装置1により生成され、その他の第3学習データセット33が1又は複数の他のコンピュータにより生成されてもよい。
【0154】
取得される第3学習データセット33の件数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。複数の第3学習データセット33を取得すると、制御部11は、次のステップS205に処理を進める。
【0155】
(ステップS205)
ステップS205では、制御部11は、第3学習処理部118として動作し、複数の第3学習データセット33を使用して、不一致性予測器57の機械学習を実行する。本実施形態では、制御部11は、機械学習により、各第3学習データセット33について、第1サンプル321を入力すると、対応する不一致性333に適合する出力値を出力するように不一致性予測器57を訓練する。これにより、制御部11は、各第3学習データセット33について、第1時刻における第1サンプル321から、予測モデル55による予測の不一致性333を予測するように訓練された不一致性予測器57を構築する。つまり、不一致性予測器57は、各第2学習データセット32について、予測モデル55による予測の不一致性を第1時刻における第1サンプル321から予測するように構成される。
【0156】
機械学習の具体的な処理手順は、基本的には、推定器51の機械学習の処理手順と同様であってよい。制御部11は、まず、処理対象となる不一致性予測器57を用意する。用意する不一致性予測器57の構造、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。学習済みの不一致性予測器57が得られている、すなわち、不一致性予測器57の機械学習が既に実行されている場合には、過去の機械学習の結果により得られた学習結果データに基づいて、処理対象となる不一致性予測器57を用意してもよい。
【0157】
次に、制御部11は、各第3学習データセット33に含まれる第1サンプル321を入力データとして利用し、不一致性333を教師データとして利用して、不一致性予測器57を構成するニューラルネットワークの学習処理を実行する。この学習処理には、上記推定器51等と同様に、バッチ勾配降下法、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0158】
例えば、第1のステップでは、制御部11は、各第3学習データセット33について、第1サンプル321を不一致性予測器57に入力し、不一致性予測器57の演算処理を実行する。すなわち、制御部11は、不一致性予測器57の入力層571に第1サンプル321を入力し、入力側から順に各層571~573に含まれる各ニューロンの発火判定を行う。この演算処理により、制御部11は、不一致性予測器57の出力層573から、第1サンプル321に対する予測モデル55の予測の不一致性を予測した結果に対応する出力値を取得する。
【0159】
第2のステップでは、制御部11は、出力層573から取得された出力値と対応する不一致性333(正解データ)との誤差を損失関数に基づいて算出する。不一致性予測器57の誤差を計算するのに利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第3のステップでは、制御部11は、誤差逆伝播法により、算出された出力値の誤差を用いて、不一致性予測器57における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第4のステップでは、制御部11は、算出された各誤差に基づいて、不一致性予測器57の演算パラメータ、すなわち、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0160】
制御部11は、上記第1~第4のステップを繰り返すことで、各第3学習データセット33について、出力層573から出力される出力値と不一致性333との誤差の和が小さくなるように、不一致性予測器57の演算パラメータの値を調整する。例えば、制御部11は、各第3学習データセット33について、出力層573から出力される出力値と不一致性333との誤差の和が閾値以下になるまで、上記第1~第4による演算パラメータの値の調整を繰り返してもよい。閾値は、実施の形態に応じて適宜設定されてよい。
【0161】
この不一致性予測器57の演算パラメータの値の調整は、ミニバッチに対して実行されてよい。この場合、上記第1~第4のステップの処理を実行する前に、制御部11は、複数の第3学習データセット33から任意数のサンプル(第3学習データセット33)を抽出することでミニバッチを生成する。ミニバッチのサイズは、実施の形態に応じて適宜設定されてよい。そして、制御部11は、生成されたミニバッチに含まれる各第3学習データセット33について、上記第1~第4のステップの処理を実行する。第1~第4のステップを繰り返す場合には、制御部11は、ミニバッチを再度生成し、生成された新たなミニバッチに対して、上記第1~第4のステップの処理を実行する。
【0162】
本実施形態では、制御部11は、上記予測モデル55の機械学習とは異なり、不一致性予測器57の機械学習において、希少度325とは無関係に、各第3学習データセット33を均一に訓練する。すなわち、制御部11は、不一致性予測器57については、上記各方法による希少度325に応じた機械学習の程度の調整を実施しない。例えば、ミニバッチを生成する場合、制御部11は、複数の第3学習データセット33から偏りなくランダムにサンプル(第3学習データセット33)を抽出する。また、制御部11は、各第3学習データセット33に対する学習率を同じ値に設定する。なお、「均一に訓練する」ことは、与えられた希少度325とは無関係に訓練することを指し、例えば、ランダムにミニバッチを生成したこと等により、意図しない機械学習の不均一性が結果的に発生することを含んでよい。
【0163】
以上の機械学習の結果、制御部11は、各第3学習データセット33について、第1時刻における第1サンプル321を入力すると、当該第1サンプル321に対する予測モデル55の予測の不一致性333に適合する出力値を出力するように訓練された不一致性予測器57を構築することができる。不一致性予測器57の機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0164】
(ステップS206)
ステップS206では、制御部11は、希少度設定部119として動作し、各第2学習データセット32の希少度325を設定(更新)する。本実施形態では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57を利用して、各第2学習データセット32の希少度325を設定する。
【0165】
制御部11は、各第2学習データセット32の第1サンプル321を不一致性予測器57に入力し、不一致性予測器57の演算処理を実行する。これにより、制御部11は、当該第1サンプル321に対する予測モデル55の予測の不一致性を予測した結果に対応する出力値を不一致性予測器57から取得する。制御部11は、この不一致性の予測の結果(すなわち、予測される不一致性)に応じて、各第2学習データセット32の希少度325を設定する。具体的には、制御部11は、予測される不一致性が大きいほど希少度325を高く設定し、予測される不一致性が小さいほど希少度325を小さく設定する。不一致性の予測の結果と希少度325との具体的な対応関係は、実施の形態に応じて適宜決定されてよい。
【0166】
上記ステップS205による不一致性予測器57の機械学習では、制御部11は、希少度325に関係なく、各第3学習データセット33を訓練する。学習データを均一に訓練すると、希少な事象に関する学習データによる訓練結果は、夥多な事象(例えば、継続的な事象)に関する学習データによる訓練結果に埋没し得る。そのため、希少度325に関係なく各第3学習データセット33を訓練すると、第1サンプル321から希少性の高い第2サンプル322の特徴情報323を予測モデル55が予測するケースで、学習済みの不一致性予測器57は、予測モデル55の予測の不一致性を予測する精度が悪くなるように構築される。すなわち、学習済みの不一致性予測器57は、希少性の高い特徴情報323に関連付けられた第1サンプル321ほど予測モデル55が予測を誤る、換言すると、不一致性が大きくなると予測するように構築される。そのため、上記ステップS205により訓練された不一致性予測器57によれば、各第2学習データセット32の希少性を適切に評価することができる。
【0167】
本実施形態では、各第2学習データセット32の希少度325は、不一致性予測器57の予測する不一致性に応じて設定されることで、結果的に、対応する特徴情報323が所定のデータに現れる不規則性の程度に応じて設定される。つまり、特徴情報323の示す特徴の所定のデータに現れる不規則性が高いほど、その事象の生じる可能性が低いため、第2学習データセット32のデータ群の中で、その不規則性の高い特徴情報323を含む第2学習データセット32の件数は少なくなる。これに応じて、不規則性の高い特徴情報323に関連付けられた第1サンプル321を含む第3学習データセット33の件数も少なくなる。そのため、上記のとおり、均一に訓練された不一致性予測器57は、この第1サンプル321に対する不一致性の予測の精度が悪くなる、換言すると、不一致性が大きくなると予測し得る。その結果、不規則性の高い特徴情報323を含む第2学習データセット32の希少度325は高く設定される。したがって、本実施形態では、制御部11は、均一に訓練された不一致性予測器57を利用することで、特徴情報323が所定のデータに現れる不規則性の程度に応じて、各第2学習データセット32の希少度325を設定する。希少度325の設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0168】
なお、ステップS203の条件分岐により、ステップS202及びステップS204~ステップS206の一連の処理が繰り返される場合、ステップS202による予測モデル55の訓練、及びステップS205による不一致性予測器57の訓練が交互に繰り返し実行される。この場合、ステップS204では、更新された予測モデル55により、各第3学習データセット33が得られる。また、ステップS206では、更新された不一致性予測器57により、各第2学習データセット32の希少度325が設定(更新)される。
【0169】
この過程において、制御部11は、予測モデル55の機械学習では、希少度325の高い第2学習データセット32ほど重点的に訓練する一方で、不一致性予測器57の機械学習では、各第3学習データセット33を均一に訓練する。これにより、予測モデル55には、希少度325の高い第2学習データセット32による訓練結果が多く蓄積されていくのに対して、不一致性予測器57には、各第3学習データセット33による訓練結果が均一に蓄積される。その結果、希少性の高いサンプルに対する予測モデル55の予測精度は向上していくのに対して、希少性の高いサンプルに対する不一致性予測器57の予測精度は、予測モデル55と比べて向上しない。したがって、上記一連の処理を繰り返す過程では、不一致性予測器57を利用して各第2学習データセット32の希少度325を適切に設定しつつ、希少性の高いサンプルに対する予測モデル55の予測精度の向上を図ることができる。
【0170】
(ステップS207)
ステップS207では、制御部11は、第2保存処理部116として動作し、機械学習により構築された学習済みの予測モデル55に関する情報を所定の記憶領域に保存する。本実施形態では、制御部11は、ステップS202の機械学習により構築された学習済みの予測モデル55の構造及び演算パラメータを示す情報を第2学習結果データ123として生成する。そして、制御部11は、生成された第2学習結果データ123を所定の記憶領域に保存する。制御部11は、学習済みの不一致性予測器57についても、学習結果データを生成し、生成された学習結果データを所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。第2学習結果データ123の保存が完了すると、制御部11は、予測モデル55及び不一致性予測器57の機械学習に関する一連の処理を終了する。
【0171】
なお、学習済みの予測モデル55を構築した後、制御部11は、生成された第2学習結果データ123を任意のタイミングで予測装置2に転送してもよい。予測装置2は、モデル生成装置1から転送を受け付けることで第2学習結果データ123を取得してもよいし、モデル生成装置1又はデータサーバにアクセスすることで第2学習結果データ123を取得してもよい。また、第2学習結果データ123は、予測装置2に予め組み込まれてもよい。
【0172】
また、制御部11は、上記ステップS201~207の処理を定期的に繰り返すことで、第2学習結果データ123を定期的に更新してもよい。この繰り返す際には、第2学習データセット32の変更、修正、追加、削除等の更新が適宜実行されてよい。そして、制御部11は、更新された第2学習結果データ123を機械学習の実行毎に予測装置2に転送することで、予測装置2の保持する第2学習結果データ123を定期的に更新してもよい。
【0173】
[予測装置]
次に、
図8を用いて、学習済みの予測モデル55を利用する予測装置2の動作例について説明する。
図8は、予測装置2による予測処理に関する処理手順の一例を示すフローチャートである。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0174】
(ステップS301)
ステップS301では、制御部21は、対象データ取得部211として動作し、所定のデータの対象サンプル221を取得する。本実施形態では、予測装置2は、外部インタフェース27を介してセンサSに接続されている。そのため、制御部21は、外部インタフェース27を介してセンサSから対象サンプル221を取得する。
【0175】
ただし、対象サンプル221を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、予測装置2とは異なる他のコンピュータにセンサSが接続されていてもよい。この場合、制御部21は、他のコンピュータから対象サンプル221の送信を受け付けることで、対象サンプル221を取得してもよい。対象サンプル221を取得すると、制御部21は、次のステップS302に処理を進める。
【0176】
(ステップS302)
ステップS302では、制御部21は、予測部212として動作し、モデル生成装置1により構築された学習済みの予測モデル55を用いて、取得された対象サンプル221から、対象サンプル221を取得した時刻よりも未来の時刻において所定のデータに現れる特徴223を予測する。
【0177】
本実施形態では、制御部21は、第2学習結果データ123を参照して、学習済みの予測モデル55の設定を行う。また、制御部21は、第1学習結果データ121を参照して、学習済みの推定器51のデコーダ53の設定を行う。次に、制御部21は、取得された対象サンプル221を予測モデル55に入力し、予測モデル55の演算処理を実行する。すなわち、制御部21は、対象サンプル221を予測モデル55の入力層551に入力し、入力側から順に各層551~553に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、対象サンプル221から未来の時刻における所定のデータの特徴情報(特徴量)を予測する。
【0178】
同様に、制御部21は、予測モデル55の出力値をデコーダ53に入力し、デコーダ53の演算処理を実行する。すなわち、制御部21は、予測モデル55の出力値をデコーダ53の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、予測モデル55により予測された特徴量から、予測サンプル225を復元すると共に、未来の時刻において所定のデータに現れる特徴223を予測した結果に対応する出力値をデコーダ53の出力層533から取得する。本実施形態では、この出力値を得ることが、予測サンプル225及び特徴223を予測することに対応する。対象サンプル221からの未来の特徴223の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0179】
(ステップS303)
ステップS303では、制御部21は、出力部213として動作し、予測の結果(特徴223及び予測サンプル225)に関する情報を出力する。
【0180】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、対象サンプル221から予測された、未来の時刻における所定のデータの特徴223及び予測サンプル225をそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、予測の結果に応じて警告等の特定のメッセージを出力すること、予測の結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置25、制御対象装置等であってよい。予測の結果に関する情報の出力が完了すると、制御部21は、学習済みの予測モデル55を利用した予測処理に関する一連の処理を終了する。
【0181】
[特徴]
以上のとおり、本実施形態に係るモデル生成装置1は、ステップS202による予測モデル55の機械学習において、希少度325の高い第2学習データセット32ほど重点的に訓練する。これにより、希少度325の高い第2学習データセット32が希少度325の低い第2学習データセット32に埋没するのを防ぐことができ、予測モデル55に習得させる予測の能力に、希少度325の高い第2学習データセット32による訓練結果を適切に反映させることができる。したがって、本実施形態に係るモデル生成装置1によれば、希少な事象を精度よく予測可能な予測モデル55を構築することができる。例えば、規則性を有する継続的な事象等の希少性の低い事象と同程度に、比較的に短期的に急激な変化をもたらす事象等の希少性の高い事象を予測可能な予測モデル55を構築することができる。また、予測装置2において、そのように構築された予測モデル55を利用することで、ステップS302における特徴223の予測の精度を高めることができる。
【0182】
また、本実施形態に係るモデル生成装置1は、ステップS206の処理により、不一致性予測器57を利用して、各第2学習データセット32の希少度325を設定する。これにより、希少度325を設定する処理を自動化することができるため、予測モデル55の機械学習に関する一連の処理の手間を低減することができる。更に、本実施形態に係るモデル生成装置1は、ステップS203の条件分岐により、ステップS202による予測モデル55の訓練、及びステップS205による不一致性予測器57の訓練を交互に繰り返し実行する。本実施形態に係るモデル生成装置1は、この過程において、予測モデル55の機械学習では、希少度325の高い第2学習データセット32ほど重点的に訓練する一方で、不一致性予測器57の機械学習では、各第3学習データセット33を均一に訓練する。これにより、不一致性予測器57を利用して各第2学習データセット32の希少度325を適切に設定しつつ、希少性の高いサンプルに対する予測モデル55の予測精度の向上を図ることができる。
【0183】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0184】
<4.1>
上記実施形態に係る予測システム100は、センサSにより得られるセンシングデータに含まれる特徴を予測する場面に適用されている。しかしながら、上記実施形態の適用範囲は、このような例に限定される訳ではない。上記実施形態に係る予測システム100は、時系列に得られる所定のデータのある時刻におけるサンプルから未来の時刻に生じ得る事象を予測するあらゆる場面に適用可能である。以下、適用場面を限定した6つの変形例を例示する。
【0185】
(A)移動体の周囲環境の状況を監視する場面
図9は、第1変形例に係る予測システム100Aの適用場面の一例を模式的に例示する。本変形例は、移動体の周囲環境の状況を監視する場面に上記実施形態を適用した例である。車両VAは、移動体の一例である。具体的には、車両VAは、自動車である。ただし、移動体は、車両VAに限られなくてもよく、例えば、ドローン等の飛行体等であってもよい。
図9に示されるとおり、本変形例に係る予測システム100Aは、モデル生成装置1及び監視装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び監視装置2Aは、ネットワークを介して互いに接続されてよい。
【0186】
本変形例に係る予測システム100Aは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。監視装置2Aは、上記予測装置2に対応する。監視装置2Aは、上記予測装置2と同様に構成されてよい。モデル生成装置1は、機械学習により、移動体の周囲環境の状況を監視するための監視センサにより得られる任意の時刻におけるセンシングデータから、未来の時刻におけるセンシングデータに現れる特徴を予測可能に訓練された予測モデル55Aを構築する。一方、監視装置2Aは、予測モデル55Aを利用して、監視センサにより得られる任意の時刻におけるセンシングデータから未来の時刻における周囲環境の状況を予測する。時系列に得られる上記所定のデータは、監視センサにより得られるセンシングデータであってよく、上記特徴情報323は、当該センシングデータに現れる周囲環境の状況に関してよい。
【0187】
本変形例では、車両VA周囲の環境を監視するために、車両VAは、カメラSA1及び2つのLidarセンサ(SA2、SA3)を備えている。カメラSA1及び2つのLidarセンサ(SA2、SA3)それぞれは、移動体の周囲環境の状況を監視するための監視センサの一例である。カメラSA1は、例えば、ルームミラー付近等、車両VAの外部の状況を監視するように配置されている。カメラSA1は、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。
【0188】
また、2つのLidarセンサ(SA2、SA3)は、車両VA前方の情報を取得可能に、車両VAのフロント部の左右両側に配置されている。本変形例では、第1のLidarセンサSA2は、車両VA前方右側の情報を取得可能に、フロント部の右側に配置され、第2のLidarセンサSA3は、車両VA前方左側の情報を取得可能に、フロント部の左側に配置されている。
【0189】
本変形例では、モデル生成装置1は、機械学習により、任意の時刻における画像データから、未来の時刻における画像データに写る対象物の属性に関する特徴を予測可能に訓練された予測モデル55Aを構築する。つまり、本変形例では、カメラSA1により得られる画像データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。画像データに写る対象物の属性は、周囲環境の状況の一例である。
【0190】
一方、監視装置2Aは、カメラSA1及び2つのLidarセンサ(SA2、SA3)に接続されている。監視装置2Aは、カメラSA1により車両VA前方の状況を撮影することで画像データを取得する。そして、監視装置2Aは、学習済みの予測モデル55Aを利用して、カメラSA1により得られた任意の時刻における画像データから未来の時刻における画像データに写る対象物の属性に関する特徴を予測する。更に、監視装置2Aは、2つのLidarセンサ(SA2、SA3)それぞれにより得られたセンシングデータにより、車両VA前方の状況を監視する。
【0191】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラSA1により得られる画像データに限られなくてもよい。2つのLidarセンサ(SA2、SA3)の少なくともいずれかにより得られたセンシングデータが、当該所定のデータとして取り扱われてもよい。また、車両VAは、車両VA周囲の環境を監視するために、カメラSA1及び2つのLidarセンサ(SA2、SA3)と共に、又はカメラSA1及び2つのLidarセンサ(SA2、SA3)の少なくともいずれかに代えて、ミリ波レーダ等の他の監視センサを備えてもよい。この場合、他の監視センサにより得られるセンシングデータが、当該所定のデータとして取り扱われてもよい。
【0192】
<監視装置のハードウェア構成>
次に、
図10を更に用いて、本変形例に係る監視装置2Aのハードウェア構成の一例を説明する。
図10は、本変形例に係る監視装置2Aのハードウェア構成の一例を模式的に例示する。本変形例に係る監視装置2Aは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。監視装置2Aは、外部インタフェース27を介してカメラSA1及び2つのLidarセンサ(SA2、SA3)に接続される。ただし、監視装置2Aのハードウェア構成は、このような例に限定されなくてもよい。監視装置2Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。監視装置2Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【0193】
本変形例に係る監視装置2Aの記憶部22は、監視プログラム82A、第1学習結果データ121A、第2学習結果データ123A等の各種情報を記憶する。監視プログラム82A、第1学習結果データ121A、及び第2学習結果データ123Aは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。監視プログラム82A、第1学習結果データ121A、及び第2学習結果データ123Aのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、監視装置2Aは、記憶媒体92から、監視プログラム82A、第1学習結果データ121A、及び第2学習結果データ123Aのうちの少なくともいずれかを取得してもよい。
【0194】
<推定器の機械学習>
次に、本変形例における推定器51Aの機械学習の処理手順の一例について説明する。
図9に示されるとおり、本変形例では、モデル生成装置1は、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Aの機械学習に関する一連の処理を実行する。
【0195】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Aの機械学習に利用する複数の第1学習データセット31Aを取得する。本変形例では、推定器51Aは、上記実施形態に係る推定器51と同様に、エンコーダ52A及びデコーダ53Aを備える。エンコーダ52A及びデコーダ53Aはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0196】
各第1学習データセット31Aは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Aは、車両の外部の状況を監視するように配置されたカメラにより時系列に得られる画像データのサンプル311A、及びサンプル311Aに現れる特徴(正解)を示す正解データ313Aの組み合わせにより構成される。正解データ313Aにより示される特徴は、例えば、サンプル311Aに写る対象物の属性であってよい。対象物は、例えば、移動体の進行する通路、移動体の進行方向に存在する物体等であってよい。移動体の進行する通路は、例えば、車両VAの走行可能な道路であってよい。移動体の進行方向に存在する物体は、例えば、信号機、障害物(人、物)等であってよい。対象物の属性は、例えば、通路の路面状態、信号機の点灯状態、障害物の有無、障害物の種別、障害物の寸法、障害物の大きさ、障害物の速度等であってよい。また、対象物の属性には、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントを示すイベント情報が含まれてもよい。このイベント情報は、障害物の有無、障害物の速度等の属性により表現されてもよい。
【0197】
上記実施形態と同様に、各第1学習データセット31Aを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Aは、適宜生成されてよい。例えば、カメラSA1と同種のカメラを用意し、用意したカメラにより様々な条件で車両外部の状況を撮影することで、時系列に画像データを取得する。続いて、時系列に得られた画像データからサンプル311Aを適宜抽出する。そして、抽出されたサンプル311Aに対して、例えば、当該サンプル311Aに写る対象物の属性等の当該サンプル311Aに現れる特徴を示す正解データ313Aを関連付ける。これにより、各第1学習データセット31Aを生成することができる。複数の第1学習データセット31Aを取得すると、制御部11は、次のステップS102に処理を進める。
【0198】
ステップS102では、制御部11は、複数の第1学習データセット31Aを使用して、推定器51Aの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Aについて、サンプル311Aをエンコーダ52Aに入力すると、サンプル311A及び正解データ313Aに適合する出力値をデコーダ53Aから出力するように推定器51Aを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Aは、画像データのサンプル311Aを特徴量に変換するように訓練されていく。また、デコーダ53Aは、エンコーダ52Aにより得られた特徴量からサンプル311Aを復元すると共に、サンプル311Aに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Aについて、サンプル311Aの入力に対して、サンプル311A及び正解データ313Aに適合する出力値を出力するように訓練された推定器51Aを構築することができる。推定器51Aの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0199】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Aの構造及び演算パラメータを示す情報を第1学習結果データ121Aとして生成する。そして、制御部11は、生成された第1学習結果データ121Aを所定の記憶領域に保存する。これにより、制御部11は、推定器51Aの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Aに関する第1学習結果データ121Aは、任意のタイミングで監視装置2Aに与えられてよい。
【0200】
<予測モデルの機械学習>
次に、本変形例における予測モデル55A及び不一致性予測器57Aの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55A及び不一致性予測器57Aの機械学習に関する一連の処理を実行する。
【0201】
すなわち、ステップS201では、制御部11は、時系列に得られる画像データの第1時刻における第1サンプル321A、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Aの組み合わせによりそれぞれ構成される複数の第2学習データセット32Aを取得する。各第2学習データセット32Aを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Aは、上記実施形態と同様に生成されてよい。第1サンプル321A及び第2サンプルを抽出した画像データは、各第1学習データセット31Aの生成に利用された画像データと同じであってよい。本変形例では、特徴情報323Aは、画像データに写る対象物の属性に関してもよい。また、特徴情報323Aは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Aを構成する特徴量は、学習済みのエンコーダ52Aにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Aには、希少度325Aが適宜設定されてよい。複数の第2学習データセット32Aを取得すると、制御部11は、次のステップS202に処理を進める。
【0202】
ステップS202では、制御部11は、複数の第2学習データセット32Aを使用して、予測モデル55Aの機械学習を実行する。予測モデル55Aは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Aについて、第1サンプル321Aを入力すると、対応する特徴情報323Aに適合する出力値を出力するように予測モデル55Aを訓練する。この予測モデル55Aの機械学習において、制御部11は、希少度325Aの高い第2学習データセット32Aほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Aについて、第1時刻における第1サンプル321Aを入力すると、第2時刻における特徴情報323Aに適合する出力値を出力するように訓練された予測モデル55Aを構築することができる。予測モデル55Aの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0203】
ステップS203では、制御部11は、予測モデル55A及び不一致性予測器57Aの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0204】
ステップS204では、制御部11は、各第2学習データセット32Aの第1時刻における第1サンプル321A、及び当該第1サンプル321Aに対する予測モデル55Aによる予測の不一致性333Aの組み合わせによりそれぞれ構成される複数の第3学習データセット33Aを取得する。各第3学習データセット33Aを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Aの生成には、ステップS202により構築された学習済みの予測モデル55A及び各第2学習データセット32Aが利用されてよい。複数の第3学習データセット33Aを取得すると、制御部11は、次のステップS205に処理を進める。
【0205】
ステップS205では、制御部11は、複数の第3学習データセット33Aを使用して、不一致性予測器57Aの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Aについて、第1サンプル321Aを入力すると、対応する不一致性333Aに適合する出力値を出力するように不一致性予測器57Aを訓練する。制御部11は、予測モデル55Aの機械学習とは異なり、この不一致性予測器57Aの機械学習において、希少度325Aとは無関係に、各第3学習データセット33Aを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Aについて、第1時刻における第1サンプル321Aを入力すると、当該第1サンプル321Aに対する予測モデル55Aによる予測の不一致性333Aに適合する出力値を出力するように訓練された不一致性予測器57Aを構築することができる。不一致性予測器57Aの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0206】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Aを利用して、各第2学習データセット32Aの希少度325Aを設定(更新)する。希少度325Aを設定する方法は、上記実施形態と同様であってよい。希少度325Aの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0207】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Aの構造及び演算パラメータを示す情報を第2学習結果データ123Aとして生成する。そして、制御部11は、生成された第2学習結果データ123Aを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55A及び不一致性予測器57Aの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Aは、任意のタイミングで監視装置2Aに与えられてよい。
【0208】
<監視処理>
次に、
図11を用いて、監視装置2Aの監視処理の一例について説明する。
図11は、本変形例に係る監視装置2Aの監視処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、監視装置2Aの監視処理に関するソフトウェア構成は、制御部21による監視プログラム82Aの実行により実現される。
図11に示されるとおり、車両の外部の状況を監視するように配置されたカメラにより得られる画像データを所定のデータとして取り扱う点を除き、監視装置2Aの監視処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、監視装置2Aは、上記予測装置2と同様に、監視処理に関する一連の処理を実行する。
【0209】
すなわち、ステップS301では、監視装置2Aの制御部21は、画像データの対象サンプル221AをカメラSA1から取得する。ステップS302では、制御部21は、第2学習結果データ123Aを参照し、学習済みの予測モデル55Aの設定を行う。また、制御部21は、第1学習結果データ121Aを参照して、学習済みの推定器51Aのデコーダ53Aの設定を行う。次に、制御部21は、取得された対象サンプル221Aを予測モデル55Aに入力し、予測モデル55Aの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Aから未来の時刻における画像データの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Aの出力値をデコーダ53Aに入力し、デコーダ53Aの演算処理を実行する。これにより、制御部21は、予測モデル55Aにより予測された特徴量から、予測サンプル225Aを復元すると共に、未来の時刻において画像データに現れる特徴を予測した結果に対応する出力値をデコーダ53Aから取得する。本変形例では、予測される特徴は、画像データに写る対象物の属性を示す属性情報223Aを含み得る。対象サンプル221Aからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0210】
ステップS303では、制御部21は、予測の結果(属性情報223A及び予測サンプル225A)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた属性情報223A及び予測サンプル225Aをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0211】
当該情報処理の一例として、制御部21は、予測の結果に基づいて、車両VAの走行に危険が生じるか否かを判定してもよい。具体例として、車両VAの走行経路に障害物が侵入することが属性情報223Aにより予測される場合に、制御部21は、車両VAの走行に危険が生じると判定してもよい。そして、車両VAの走行に危険が生じると判定される場合に、制御部21は、その危険を知らせるための警告を出力装置25に出力してもよい。なお、車両VAの走行経路に障害物が侵入するケースとは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントが生じたケースであってよい。
【0212】
また、例えば、監視装置2Aが移動体の動作を制御可能に構成される場合に、制御部21は、予測の結果に応じて、移動体の動作方針を決定し、決定された動作方針に従って移動体の動作を制御してもよい。本変形例では、制御部21は、車両VAの動作の一例として、アクセルの使用、ブレーキの使用、ハンドルの操舵角、ライトの点灯、クラクションの使用等を制御してもよい。具体例として、車両VAの走行経路に障害物が侵入することが属性情報223Aにより予測される場合に、制御部21は、クラクションを鳴らし、ブレーキをかけるように車両VAの動作を制御してもよい。
【0213】
また、例えば、制御部21は、予測の結果に応じて、各監視センサの制御方針を決定し、決定された制御方針に従って各監視センサの動作を制御してもよい。具体例として、制御部21は、予測の結果に応じて、各監視センサのスキャンする範囲の優先度を設定し、設定された優先度に応じて各監視センサのスキャンを実行してもよい。本変形例では、車両VAは、カメラSA1の他に、2つのLidarセンサ(SA2、SA3)を備えている。そのため、制御部21は、予測の結果に応じて、各Lidarセンサ(SA2、SA3)のスキャンする範囲の優先度を設定し、設定された優先度に応じて各Lidarセンサ(SA2、SA3)のスキャンを実行してもよい。優先度は、例えば、障害物の有無に応じて設定されてもよい。一例として、車両VAの前方右側から障害物が侵入することが属性情報223Aにより予測される場合に、制御部21は、第1のLidarセンサSA2の測定領域のうちの右側領域の優先度を高く設定し、この右側領域を優先的にスキャンするように第1のLidarセンサSA2の動作を制御してもよい。
【0214】
また、具体例として、制御部21は、予測の結果に応じて、複数の監視センサ間のデータの受け渡しを行ってもよい。一例として、車両VAの前方右側から障害物が前方左側に移動することが属性情報223Aにより予測される場合に、制御部21は、第1のLidarセンサSA2で観測された障害物が第2のLidarセンサSA3で観測させるようになると予測してもよい。これにより、制御部21は、第1のLidarセンサSA2から第2のLidarセンサSA3に障害物の観測を引き継がせてもよい。
【0215】
本変形例によれば、移動体の周囲環境を監視する場面において、その監視に利用可能でかつ希少な事象を精度よく予測可能な予測モデル55Aを構築することができる。上記希少度325Aを利用した機械学習により、例えば、予測モデル55Aは、カメラSA1の撮影範囲内で人物がある方向に移動している等の規則性のある事象と同程度の精度で、カメラSA1の撮影範囲外から撮影範囲内に障害物が侵入する、停止していた対象物が突発的に動き出す等の不規則に発生し得る事象を予測可能に構築される。そのため、監視装置2Aは、この予測モデル55Aを利用することで、上記のような不規則に発生し得る事象を精度よく予測することができる。
【0216】
これにより、例えば、移動体が障害物に衝突する等の事故を未然に防ぐ精度を高めることができる。また、監視装置2Aにおいて、予測の結果に応じて、各監視センサの制御方針を決定し、決定された制御方針に従って各監視センサの動作を制御することにより、移動体の周囲環境を適切に監視することができるようになる。上記の例では、予測の結果に応じてスキャンの優先度を設定することで、各Lidarセンサ(SA2、SA3)により障害物を素早く検知することができるようになる。各監視センサの時間分解能が低いほど、この作用効果は有益である。
【0217】
なお、車両VAは、自動車に限られなくてもよく、例えば、電車等の自動車以外の車両であってもよい。車両VAが電車である場合、正解データ313Aにより示される特徴には、上記の他に、駅のホームから人又走行を妨げる物体が転落する等のイベントを示すイベント情報が含まれてもよい。このイベント情報は、対象物の属性により表現されてもよい。これにより、上記ステップS302では、監視装置2Aは、駅のホームからの人又走行を妨げる物体の転落を予測することができる。ステップS303では、監視装置2Aは、当該予測の結果に応じて、人又走行を妨げる物体との衝突を避けるために、走行を停車するように電車(車両VA)の動作を制御してもよい。
【0218】
(B)機械の状態を監視する場面
図12は、第2変形例に係る予測システム100Bの適用場面の一例を模式的に例示する。本変形例は、製造ラインを構成する機械RBの状態を監視する場面に上記実施形態を適用した例である。機械RBの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械RBは、例えば、成形機、包装機、ロボット装置、印刷機、実装機、基板検査装置等であってよい。
図12に示されるとおり、本変形例に係る予測システム100Bは、モデル生成装置1及び故障予測装置2Bを備えている。上記実施形態と同様に、モデル生成装置1及び故障予測装置2Bは、ネットワークを介して互いに接続されてよい。
【0219】
本変形例に係る予測システム100Bは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。故障予測装置2Bは、上記予測装置2に対応する。故障予測装置2Bは、上記予測装置2と同様に構成されてよい。モデル生成装置1は、機械学習により、機械RBの状態を監視するセンサにより得られる任意の時刻におけるセンシングデータから、未来の時刻におけるセンシングデータに現れる特徴を予測可能に訓練された予測モデル55Bを構築する。一方、故障予測装置2Bは、予測モデル55Bを利用して、センサにより得られた任意の時刻におけるセンシングデータから未来の時刻における機械RBの状態を予測する。時系列に得られる上記所定のデータは、当該センサにより得られるセンシングデータであってよく、上記特徴情報323は、当該センシングデータから特定される機械RBの状態に関してよい。
【0220】
本変形例では、機械RBの状態を監視するために、カメラSBが用いられている。カメラSBは、機械RBの状態を監視するためのセンサの一例である。カメラSBは、機械RBを撮影可能に、例えば、機械RBの近傍に配置される。カメラSBは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。
【0221】
本変形例では、モデル生成装置1は、機械学習により、任意の時刻における画像データから、未来の時刻における画像データに写る機械RBの状態に関する特徴を予測可能に訓練された予測モデル55Bを構築する。つまり、本変形例では、カメラSBにより得られる画像データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【0222】
一方、故障予測装置2Bは、カメラSBに接続されている。故障予測装置2Bは、カメラSBにより機械RBを撮影することで画像データを取得する。そして、故障予測装置2Bは、学習済みの予測モデル55Bを利用して、カメラSBにより得られた任意の時刻における画像データから未来の時刻における画像データに写る機械RBの状態に関する特徴を予測する。
【0223】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラSBにより得られる画像データに限られなくてもよい。機械RBの状態を監視するために、カメラSBと共に、又はカメラSBに代えて、マイクロフォン、ロータリエンコーダ等の他のセンサが用いられてもよい。この場合、他のセンサにより得られるセンシングデータ(例えば、音データ、トルクデータ等)が、当該所定のデータとして取り扱われてもよい。
【0224】
<故障予測装置のハードウェア構成>
次に、
図13を更に用いて、本変形例に係る故障予測装置2Bのハードウェア構成の一例を説明する。
図13は、本変形例に係る故障予測装置2Bのハードウェア構成の一例を模式的に例示する。本変形例に係る故障予測装置2Bは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。故障予測装置2Bは、外部インタフェース27を介してカメラSBに接続される。ただし、故障予測装置2Bのハードウェア構成は、このような例に限定されなくてもよい。故障予測装置2Bの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。故障予測装置2Bは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、PLC(programmable logic controller)等であってもよい。
【0225】
本変形例に係る故障予測装置2Bの記憶部22は、故障予測プログラム82B、第1学習結果データ121B、第2学習結果データ123B等の各種情報を記憶する。故障予測プログラム82B、第1学習結果データ121B、及び第2学習結果データ123Bは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。故障予測プログラム82B、第1学習結果データ121B、及び第2学習結果データ123Bのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、故障予測装置2Bは、記憶媒体92から、故障予測プログラム82B、第1学習結果データ121B、及び第2学習結果データ123Bのうちの少なくともいずれかを取得してもよい。
【0226】
<推定器の機械学習>
次に、本変形例における推定器51Bの機械学習の処理手順の一例について説明する。
図12に示されるとおり、本変形例では、モデル生成装置1は、機械の状態を監視するためのセンサにより得られるセンシングデータ(具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ)を所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Bの機械学習に関する一連の処理を実行する。
【0227】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Bの機械学習に利用する複数の第1学習データセット31Bを取得する。本変形例では、推定器51Bは、上記実施形態に係る推定器51と同様に、エンコーダ52B及びデコーダ53Bを備える。エンコーダ52B及びデコーダ53Bはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0228】
各第1学習データセット31Bは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Bは、機械の状態を監視するように配置されたカメラにより時系列に得られる画像データのサンプル311B、及びサンプル311Bに現れる特徴(正解)を示す正解データ313Bの組み合わせにより構成される。正解データ313Bにより示される特徴は、例えば、サンプル311Bに写る機械の状態であってよい。機械の状態は、例えば、故障の有無、故障の種別等で示されてよい。
【0229】
上記実施形態と同様に、各第1学習データセット31Bを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Bは、適宜生成されてよい。例えば、カメラSBと同種のカメラ及び機械RBと同種の機械を用意し、用意した機械をカメラにより様々な条件で撮影することで、時系列に画像データを取得する。続いて、時系列に得られた画像データからサンプル311Bを適宜抽出する。そして、抽出されたサンプル311Bに対して、例えば、当該サンプル311Bに写る機械の状態等の当該サンプル311Bに現れる特徴を示す正解データ313Bを関連付ける。これにより、各第1学習データセット31Bを生成することができる。複数の第1学習データセット31Bを取得すると、制御部11は、次のステップS102に処理を進める。
【0230】
ステップS102では、制御部11は、複数の第1学習データセット31Bを使用して、推定器51Bの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Bについて、サンプル311Bをエンコーダ52Bに入力すると、サンプル311B及び正解データ313Bに適合する出力値をデコーダ53Bから出力するように推定器51Bを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Bは、画像データのサンプル311Bを特徴量に変換するように訓練されていく。また、デコーダ53Bは、エンコーダ52Bにより得られた特徴量からサンプル311Bを復元すると共に、サンプル311Bに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Bについて、サンプル311Bの入力に対して、サンプル311B及び正解データ313Bに適合する出力値を出力するように訓練された推定器51Bを構築することができる。推定器51Bの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0231】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Bの構造及び演算パラメータを示す情報を第1学習結果データ121Bとして生成する。そして、制御部11は、生成された第1学習結果データ121Bを所定の記憶領域に保存する。これにより、制御部11は、推定器51Bの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Bに関する第1学習結果データ121Bは、任意のタイミングで故障予測装置2Bに与えられてよい。
【0232】
<予測モデルの機械学習>
次に、本変形例における予測モデル55B及び不一致性予測器57Bの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、機械の状態を監視するためのセンサにより得られるセンシングデータ(具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ)を所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55B及び不一致性予測器57Bの機械学習に関する一連の処理を実行する。
【0233】
すなわち、ステップS201では、制御部11は、時系列に得られる画像データの第1時刻における第1サンプル321B、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Bの組み合わせによりそれぞれ構成される複数の第2学習データセット32Bを取得する。各第2学習データセット32Bを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Bは、上記実施形態と同様に生成されてよい。第1サンプル321B及び第2サンプルを抽出した画像データは、各第1学習データセット31Bの生成に利用された画像データと同じであってよい。本変形例では、特徴情報323Bは、画像データに写る機械の状態に関してもよい。また、特徴情報323Bは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Bを構成する特徴量は、学習済みのエンコーダ52Bにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Bには、希少度325Bが適宜設定されてよい。複数の第2学習データセット32Bを取得すると、制御部11は、次のステップS202に処理を進める。
【0234】
ステップS202では、制御部11は、複数の第2学習データセット32Bを使用して、予測モデル55Bの機械学習を実行する。予測モデル55Bは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Bについて、第1サンプル321Bを入力すると、対応する特徴情報323Bに適合する出力値を出力するように予測モデル55Bを訓練する。この予測モデル55Bの機械学習において、制御部11は、希少度325Bの高い第2学習データセット32Bほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Bについて、第1時刻における第1サンプル321Bを入力すると、第2時刻における特徴情報323Bに適合する出力値を出力するように訓練された予測モデル55Bを構築することができる。予測モデル55Bの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0235】
ステップS203では、制御部11は、予測モデル55B及び不一致性予測器57Bの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0236】
ステップS204では、制御部11は、各第2学習データセット32Bの第1時刻における第1サンプル321B、及び当該第1サンプル321Bに対する予測モデル55Bによる予測の不一致性333Bの組み合わせによりそれぞれ構成される複数の第3学習データセット33Bを取得する。各第3学習データセット33Bを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Bの生成には、ステップS202により構築された学習済みの予測モデル55B及び各第2学習データセット32Bが利用されてよい。複数の第3学習データセット33Bを取得すると、制御部11は、次のステップS205に処理を進める。
【0237】
ステップS205では、制御部11は、複数の第3学習データセット33Bを使用して、不一致性予測器57Bの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Bについて、第1サンプル321Bを入力すると、対応する不一致性333Bに適合する出力値を出力するように不一致性予測器57Bを訓練する。制御部11は、予測モデル55Bの機械学習とは異なり、この不一致性予測器57Bの機械学習において、希少度325Bとは無関係に、各第3学習データセット33Bを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Bについて、第1時刻における第1サンプル321Bを入力すると、当該第1サンプル321Bに対する予測モデル55Bによる予測の不一致性333Bに適合する出力値を出力するように訓練された不一致性予測器57Bを構築することができる。不一致性予測器57Bの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0238】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Bを利用して、各第2学習データセット32Bの希少度325Bを設定(更新)する。希少度325Bを設定する方法は、上記実施形態と同様であってよい。希少度325Bの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0239】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Bの構造及び演算パラメータを示す情報を第2学習結果データ123Bとして生成する。そして、制御部11は、生成された第2学習結果データ123Bを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55B及び不一致性予測器57Bの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Bは、任意のタイミングで故障予測装置2Bに与えられてよい。
【0240】
<予測処理>
次に、
図14を用いて、故障予測装置2Bの予測処理の一例について説明する。
図14は、本変形例に係る故障予測装置2Bの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、故障予測装置2Bの予測処理に関するソフトウェア構成は、制御部21による故障予測プログラム82Bの実行により実現される。
図14に示されるとおり、機械の状態を監視するためのセンサにより得られるセンシングデータ(具体的には、機械の状態を監視するように配置されたカメラにより得られる画像データ)を所定のデータとして取り扱う点を除き、故障予測装置2Bの予測処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、故障予測装置2Bは、上記予測装置2と同様に、予測処理に関する一連の処理を実行する。
【0241】
すなわち、ステップS301では、故障予測装置2Bの制御部21は、画像データの対象サンプル221BをカメラSBから取得する。ステップS302では、制御部21は、第2学習結果データ123Bを参照し、学習済みの予測モデル55Bの設定を行う。また、制御部21は、第1学習結果データ121Bを参照して、学習済みの推定器51Bのデコーダ53Bの設定を行う。次に、制御部21は、取得された対象サンプル221Bを予測モデル55Bに入力し、予測モデル55Bの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Bから未来の時刻における画像データの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Bの出力値をデコーダ53Bに入力し、デコーダ53Bの演算処理を実行する。これにより、制御部21は、予測モデル55Bにより予測された特徴量から、予測サンプル225Bを復元すると共に、未来の時刻において画像データに現れる特徴を予測した結果に対応する出力値をデコーダ53Bから取得する。本変形例では、予測される特徴は、画像データに写る機械RBの状態を示す状態情報223Bを含み得る。対象サンプル221Bからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0242】
ステップS303では、制御部21は、予測の結果(状態情報223B及び予測サンプル225B)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた状態情報223B及び予測サンプル225Bをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0243】
当該情報処理の一例として、制御部21は、予測の結果(状態情報223B)に基づいて、機械RBに故障が発生するか否かを判定してもよい。そして、機械RBに故障が発生すると判定される場合に、制御部21は、その故障の発生を知らせるための警告を出力装置25に出力してもよい。更に、故障予測装置2Bが機械RBの動作を制御可能に構成される場合、制御部21は、機械RBに故障が発生すると判定したことに応じて、機械RBの動作を停止させてもよい。加えて、制御部21は、機械RBに発生する故障の種別、及び故障に対応するメンテナンス方法の情報を出力装置25に出力してもよい。故障に対応するメンテナンス方法を示す情報は、記憶部22、記憶媒体92、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部21は、故障に対応するメンテナンス方法を示す情報を所定の記憶領域から適宜取得してもよい。
【0244】
本変形例によれば、機械RBの状態を監視する場面において、その監視に利用可能でかつ希少な事象を精度よく予測可能な予測モデル55Bを構築することができる。上記希少度325Bを利用した機械学習により、例えば、予測モデル55Bは、機械RBに故障の前兆が表れた後に機械RBが徐々に故障に至る等の規則性を有し得る事象と同程度の精度で、機械RBが突発的に故障に至る等の不規則に発生し得る事象を予測可能に構築される。そのため、故障予測装置2Bは、この予測モデル55Bを利用することで、上記のような不規則に発生し得る故障を精度よく予測することができる。これにより、例えば、機械RBの停止する期間を極力短くするように適切なタイミングで機械RBのメンテナンスを実施することができるようになる。そのため、機械RBの故障に起因して製造ラインの停止する期間を短くすることができ、製造ラインにより製品を製造する効率を高めることができる。
【0245】
(C)対象者の状態を予測する場面
図15は、第3変形例に係る予測システム100Cの適用場面の一例を模式的に例示する。本変形例は、対象者の状態を予測する場面に上記実施形態を適用した例である。
図15では、対象者の状態を予測する場面の一例として、車両の運転者RCの状態を監視する場面が例示されている。運転者RCは、対象者の一例である。
図15に示されるとおり、本変形例に係る予測システム100Cは、モデル生成装置1及び状態予測装置2Cを備えている。上記実施形態と同様に、モデル生成装置1及び状態予測装置2Cは、ネットワークを介して互いに接続されてよい。
【0246】
本変形例に係る予測システム100Cは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。状態予測装置2Cは、上記予測装置2に対応する。状態予測装置2Cは、上記予測装置2と同様に構成されてよい。モデル生成装置1は、機械学習により、対象者の状態を観測するセンサにより得られた任意の時刻における観測データから、未来の時刻における観測データに現れる特徴を予測可能に訓練された予測モデル55Cを構築する。一方、状態予測装置2Cは、予測モデル55Cを利用して、センサにより得られた観測データから未来の時刻における対象者の状態を予測する。時系列に得られる上記所定のデータは、当該センサにより得られる観測データであってよく、上記特徴情報323は、当該観測データから特定される対象者の状態に関してよい。センサは、例えば、カメラ及びバイタルセンサの少なくともいずれかであってよく、観測データは、例えば、対象者のバイタルデータ及び対象者の画像データの少なくともいずれかであってよい。
【0247】
本変形例では、運転者RCの状態を予測するために、カメラSC1及びバイタルセンサSC2が用いられている。カメラSC1及びバイタルセンサSC2は、対象者の状態を観測するためのセンサの一例である。カメラSC1は、運転者RCを撮影可能に適宜配置されてよい。カメラSC1は、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。また、バイタルセンサSC2は、対象者のバイタルを観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。バイタルセンサSC2は、例えば、体温計、血圧計、脈拍計等であってよい。これに応じて、バイタルセンサSC2により得られるバイタルデータは、例えば、体温、血圧、脈拍等の測定結果を示すデータであってよい。
【0248】
本変形例では、モデル生成装置1は、機械学習により、任意の時刻における画像データ及びバイタルデータから、未来の時刻における画像データ及びバイタルデータから特定される運転者RCの状態に関する特徴を予測可能に訓練された予測モデル55Cを構築する。つまり、本変形例では、カメラSC1により得られる画像データ及びバイタルセンサSC2により得られるバイタルデータが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【0249】
一方、状態予測装置2Cは、カメラSC1及びバイタルセンサSC2に接続されている。状態予測装置2Cは、カメラSC1により運転者RCを撮影することで画像データを取得する。また、状態予測装置2Cは、バイタルセンサSC2により運転者RCのバイタルを観測することでバイタルデータを取得する。そして、状態予測装置2Cは、学習済みの予測モデル55Cを利用して、任意の時刻における画像データ及びバイタルデータから未来の時刻における画像データ及びバイタルデータに現れる運転者RCの状態に関する特徴を予測する。
【0250】
ただし、本変形例のケースにおいて、時系列に得られる所定のデータは、カメラSC1により得られる画像データ及びバイタルセンサSC2により得られるバイタルデータに限られなくてもよい。画像データ及びバイタルデータの少なくとも一方は省略されてよく、これに応じて、カメラSC1及びバイタルセンサSC2の少なくとも一方は省略されてよい。
【0251】
<状態予測装置のハードウェア構成>
次に、
図16を更に用いて、本変形例に係る状態予測装置2Cのハードウェア構成の一例を説明する。
図16は、本変形例に係る状態予測装置2Cのハードウェア構成の一例を模式的に例示する。本変形例に係る状態予測装置2Cは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。状態予測装置2Cは、外部インタフェース27を介してカメラSC1及びバイタルセンサSC2に接続される。ただし、状態予測装置2Cのハードウェア構成は、このような例に限定されなくてもよい。状態予測装置2Cの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。状態予測装置2Cは、提供されるサービス専用に設計された情報処理装置の他、汎用のコンピュータ、スマートフォンを含む携帯電話、車載装置等であってもよい。
【0252】
本変形例に係る状態予測装置2Cの記憶部22は、状態予測プログラム82C、第1学習結果データ121C、第2学習結果データ123C等の各種情報を記憶する。状態予測プログラム82C、第1学習結果データ121C、及び第2学習結果データ123Cは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。状態予測プログラム82C、第1学習結果データ121C、及び第2学習結果データ123Cのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、状態予測装置2Cは、記憶媒体92から、状態予測プログラム82C、第1学習結果データ121C、及び第2学習結果データ123Cのうちの少なくともいずれかを取得してもよい。
【0253】
<推定器の機械学習>
次に、本変形例における推定器51Cの機械学習の処理手順の一例について説明する。
図15に示されるとおり、本変形例では、モデル生成装置1は、対象者の状態を観測するセンサにより得られる観測データ(具体的には、画像データ及びバイタルデータ)を所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Cの機械学習に関する一連の処理を実行する。
【0254】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Cの機械学習に利用する複数の第1学習データセット31Cを取得する。本変形例では、推定器51Cは、上記実施形態に係る推定器51と同様に、エンコーダ52C及びデコーダ53Cを備える。エンコーダ52C及びデコーダ53Cはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0255】
各第1学習データセット31Cは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Cは、運転者の状態を観測するカメラ及びバイタルセンサそれぞれにより時系列に得られる画像データ及びバイタルデータのサンプル311C、及びサンプル311Cに現れる特徴(正解)を示す正解データ313Cの組み合わせにより構成される。正解データ313Cにより示される特徴は、例えば、運転者の状態であってよい。運転者の状態は、例えば、運転者の眠気の度合いを示す眠気度、運転者の疲労の度合いを示す疲労度、運転者の運転に対する余裕の度合いを示す余裕度、又はこれらの組み合わせを含んでもよい。
【0256】
上記実施形態と同様に、各第1学習データセット31Cを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Cは、適宜生成されてよい。例えば、カメラSC1及びバイタルセンサSC2それぞれと同種のカメラ及びバイタルセンサを用意し、用意したカメラ及びバイタルセンサにより様々な属性及び条件の運転者(被験者)を観測することで、時系列に画像データ及びバイタルデータを取得する。続いて、時系列に得られた画像データ及びバイタルデータからサンプル311Cを適宜抽出する。そして、抽出されたサンプル311Cに対して、当該被験者の状態等のサンプル311Cに現れる特徴を示す正解データ313Cを関連付ける。これにより、各第1学習データセット31Cを生成することができる。複数の第1学習データセット31Cを取得すると、制御部11は、次のステップS102に処理を進める。
【0257】
ステップS102では、制御部11は、複数の第1学習データセット31Cを使用して、推定器51Cの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Cについて、サンプル311Cをエンコーダ52Cに入力すると、サンプル311C及び正解データ313Cに適合する出力値をデコーダ53Cから出力するように推定器51Cを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Cは、画像データ及びバイタルデータのサンプル311Cを特徴量に変換するように訓練されていく。また、デコーダ53Cは、エンコーダ52Cにより得られた特徴量からサンプル311Cを復元すると共に、サンプル311Cに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Cについて、サンプル311Cの入力に対して、サンプル311C及び正解データ313Cに適合する出力値を出力するように訓練された推定器51Cを構築することができる。推定器51Cの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0258】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Cの構造及び演算パラメータを示す情報を第1学習結果データ121Cとして生成する。そして、制御部11は、生成された第1学習結果データ121Cを所定の記憶領域に保存する。これにより、制御部11は、推定器51Cの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Cに関する第1学習結果データ121Cは、任意のタイミングで状態予測装置2Cに与えられてよい。
【0259】
<予測モデルの機械学習>
次に、本変形例における予測モデル55C及び不一致性予測器57Cの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、対象者の状態を観測するセンサにより得られる観測データ(具体的には、画像データ及びバイタルデータ)を所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55C及び不一致性予測器57Cの機械学習に関する一連の処理を実行する。
【0260】
すなわち、ステップS201では、制御部11は、時系列に得られる画像データ及びバイタルデータの第1時刻における第1サンプル321C、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Cの組み合わせによりそれぞれ構成される複数の第2学習データセット32Cを取得する。各第2学習データセット32Cを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Cは、上記実施形態と同様に生成されてよい。第1サンプル321C及び第2サンプルを抽出した画像データ及びバイタルデータは、各第1学習データセット31Cの生成に利用された画像データ及びバイタルデータと同じであってよい。本変形例では、特徴情報323Cは、画像データ及びバイタルデータに現れる被験者の状態に関してもよい。また、特徴情報323Cは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Cを構成する特徴量は、学習済みのエンコーダ52Cにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Cには、希少度325Cが適宜設定されてよい。複数の第2学習データセット32Cを取得すると、制御部11は、次のステップS202に処理を進める。
【0261】
ステップS202では、制御部11は、複数の第2学習データセット32Cを使用して、予測モデル55Cの機械学習を実行する。予測モデル55Cは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Cについて、第1サンプル321Cを入力すると、対応する特徴情報323Cに適合する出力値を出力するように予測モデル55Cを訓練する。この予測モデル55Cの機械学習において、制御部11は、希少度325Cの高い第2学習データセット32Cほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Cについて、第1時刻における第1サンプル321Cを入力すると、第2時刻における特徴情報323Cに適合する出力値を出力するように訓練された予測モデル55Cを構築することができる。予測モデル55Cの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0262】
ステップS203では、制御部11は、予測モデル55C及び不一致性予測器57Cの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0263】
ステップS204では、制御部11は、各第2学習データセット32Cの第1時刻における第1サンプル321C、及び当該第1サンプル321Cに対する予測モデル55Cによる予測の不一致性333Cの組み合わせによりそれぞれ構成される複数の第3学習データセット33Cを取得する。各第3学習データセット33Cを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Cの生成には、ステップS202により構築された学習済みの予測モデル55C及び各第2学習データセット32Cが利用されてよい。複数の第3学習データセット33Cを取得すると、制御部11は、次のステップS205に処理を進める。
【0264】
ステップS205では、制御部11は、複数の第3学習データセット33Cを使用して、不一致性予測器57Cの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Cについて、第1サンプル321Cを入力すると、対応する不一致性333Cに適合する出力値を出力するように不一致性予測器57Cを訓練する。制御部11は、予測モデル55Cの機械学習とは異なり、この不一致性予測器57Cの機械学習において、希少度325Cとは無関係に、各第3学習データセット33Cを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Cについて、第1時刻における第1サンプル321Cを入力すると、当該第1サンプル321Cに対する予測モデル55Cによる予測の不一致性333Cに適合する出力値を出力するように訓練された不一致性予測器57Cを構築することができる。不一致性予測器57Cの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0265】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Cを利用して、各第2学習データセット32Cの希少度325Cを設定(更新)する。希少度325Cを設定する方法は、上記実施形態と同様であってよい。希少度325Cの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0266】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Cの構造及び演算パラメータを示す情報を第2学習結果データ123Cとして生成する。そして、制御部11は、生成された第2学習結果データ123Cを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55C及び不一致性予測器57Cの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Cは、任意のタイミングで状態予測装置2Cに与えられてよい。
【0267】
<予測処理>
次に、
図17を用いて、状態予測装置2Cの予測処理の一例について説明する。
図17は、本変形例に係る状態予測装置2Cの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、状態予測装置2Cの予測処理に関するソフトウェア構成は、制御部21による状態予測プログラム82Cの実行により実現される。
図17に示されるとおり、対象者の状態を観測するセンサにより得られる観測データ(具体的には、画像データ及びバイタルデータ)を所定のデータとして取り扱う点を除き、状態予測装置2Cの予測処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、状態予測装置2Cは、上記予測装置2と同様に、予測処理に関する一連の処理を実行する。
【0268】
すなわち、ステップS301では、状態予測装置2Cの制御部21は、画像データ及びバイタルデータの対象サンプル221CをカメラSC1及びバイタルセンサSC2から取得する。ステップS302では、制御部21は、第2学習結果データ123Cを参照し、学習済みの予測モデル55Cの設定を行う。また、制御部21は、第1学習結果データ121Cを参照して、学習済みの推定器51Cのデコーダ53Cの設定を行う。次に、制御部21は、取得された対象サンプル221Cを予測モデル55Cに入力し、予測モデル55Cの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Cから未来の時刻における画像データ及びバイタルデータの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Cの出力値をデコーダ53Cに入力し、デコーダ53Cの演算処理を実行する。これにより、制御部21は、予測モデル55Cにより予測された特徴量から、予測サンプル225Cを復元すると共に、未来の時刻において画像データ及びバイタルデータに現れる特徴を予測した結果に対応する出力値をデコーダ53Cから取得する。本変形例では、予測される特徴は、画像データ及びバイタルデータから特定される運転者RCの状態を示す状態情報223Cを含み得る。状態情報223Cにより示される運転者RCの状態は、運転者RCの眠気度、疲労度、余裕度、又はこれらの組み合わせを含み得る。対象サンプル221Cからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0269】
ステップS303では、制御部21は、予測の結果(状態情報223C及び予測サンプル225C)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた状態情報223C及び予測サンプル225Cをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0270】
当該情報処理の一例として、制御部21は、状態情報223Cにより示される運転者RCの状態に応じて、警告等の特定のメッセージを出力装置25に出力してもよい。具体例として、状態情報223Cが、運転者RCの眠気度及び疲労度の少なくとも一方を示す場合、制御部21は、予測された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。閾値は適宜設定されてよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部21は、駐車場等に停車し、休憩を取るように運転者RCに促す警告を出力装置25に出力してもよい。
【0271】
また、例えば、車両が自動運転動作可能に構成されている場合、制御部21は、運転者RCの状態を予測した結果に基づいて、車両の自動運転の動作を制御してもよい。一例として、車両が、システムにより車両の走行を制御する自動運転モード及び運転者RCの操舵により車両の走行を制御する手動運転モードの切り替えが可能に構成されていると想定する。
【0272】
このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RC又はシステムから受け付けた際に、制御部21は、状態情報223Cにより示される運転者RCの余裕度が閾値を超えているか否かを判定してもよい。そして、運転者RCの余裕度が閾値を超えている場合に、制御部21は、自動運転モードから手動運転モードへの切り替えを許可してもよい。一方、運転者RCの余裕度が閾値以下である場合には、制御部21は、自動運転モードから手動運転モードへの切り替えを許可せず、自動運転モードでの走行を維持してもよい。
【0273】
また、手動運転モードで車両が走行している際に、制御部21は、状態情報223Cにより示される眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、制御部21は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部21は、手動運転モードによる車両の走行を維持してもよい。
【0274】
また、手動運転モードで車両が走行している際に、制御部21は、状態情報223Cにより示される余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、制御部21は、減速する指令を車両のシステムに送信してもよい。一方で、そうではない場合には、制御部21は、運転者RCの操作による車両の走行を維持してもよい。
【0275】
本変形例によれば、対象者の状態を予測する場面において、希少な事象を精度よく予測可能な予測モデル55Cを構築することができる。上記希少度325Cを利用した機械学習により、例えば、予測モデル55Cは、対象者の状態が徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に対象者の状態が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、状態予測装置2Cは、この予測モデル55Cを利用することで、上記のような不規則に発生し得る対象者の状態の変化を精度よく予測することができる。これにより、上記のケースでは、例えば、運転者RCの状態が急変することにより生じ得る車両の事故を未然に防ぐことが可能になる。
【0276】
なお、状態を予測する対象となる対象者は、
図15に例示される車両の運転者RCに限られなくてもよく、あらゆる人物を含んでよい。状態を予測する対象となる対象者は、例えば、オフィス、工場等で作業を行う作業者、バイタルを計測される被計測者等を含んでもよい。
【0277】
図18は、対象者の状態を予測する他の場面の一例を模式的に例示する。
図18に例示される予測システム100Dは、モデル生成装置1及び健康予測装置2Dを備えている。健康予測装置2Dは、上記状態予測装置2Cに対応する。
図18の例では、健康予測装置2Dは、バイタルセンサSC2に接続され、バイタルセンサSC2により被計測者のバイタルデータを取得する。健康予測装置2Dは、上記状態予測装置2Cと同様の処理により、任意の時刻におけるバイタルデータから未来の時刻における被計測者の健康状態を予測する。被計測者の健康状態は、対象者の状態の一例である。健康状態は、例えば、実施の形態に応じて適宜決定されてよく、例えば、健康であるか否か、病気になる予兆があるか否か等を含んでよい。本場面では、健康予測装置2Dは、不規則に発生し得る被計測者の健康状態の変化を精度よく予測することができる。
【0278】
なお、予測の対象となる対象者の状態は、上記の例に限定されなくてもよく、対象者のあらゆる状態を含んでもよい。対象者の状態は、対象者の生じたイベント(例えば、発病する)により表現されてもよい。また、状態を予測する対象となる対象者は、上記
図15に例示される運転者RC、上記
図18に例示されるバイタルを計測する人物等の特定の人物に限られなくてもよく、例えば、カメラに写る不特定の人物であってもよい。一例として、カメラは、駅のホーム、街頭、店舗内等に設置されてもよい。上記予測システム100Cは、このカメラにより得られる画像データを取り扱うように構成されてもよい。この場合、対象者の状態には、駅のホームからの人の転落等のイベントが含まれてもよい。上記ステップS303では、状態予測装置2Cは、このような駅のホームからの人の転落等のイベントが予測される場合に、予測されたイベントの種別に応じて警告メッセージを出力してもよい。
【0279】
(D)人の流れの予測
図19は、第4変形例に係る予測システム100Eの適用場面の一例を模式的に例示する。本変形例は、人の流れを予測する場面に上記実施形態を適用した例である。人の流れは、歩行者の流れ、及び人の乗り得る移動体の流れの少なくとも一方を含んでよい。歩行者の流れは、例えば、所定の領域内に存在する人物の流れ(一例として、ある会場内の参加者の流れ)により表現されてもよい。また、移動体の流れは、例えば、車両等の交通の流れにより表現されてもよい。
図19に示されるとおり、本変形例に係る予測システム100Eは、モデル生成装置1及び人流予測装置2Eを備えている。上記実施形態と同様に、モデル生成装置1及び人流予測装置2Eは、ネットワークを介して互いに接続されてよい。
【0280】
本変形例に係る予測システム100Eは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。人流予測装置2Eは、上記予測装置2に対応する。人流予測装置2Eは、上記予測装置2と同様に構成されてよい。モデル生成装置1は、機械学習により、任意の時刻における人流データから、未来の時刻における人流データに現れる特徴を予測可能に訓練された予測モデル55Eを構築する。一方、人流予測装置2Eは、予測モデル55Eを利用して、人流データから未来の時刻における人の流れの量を予測する。時系列に得られる上記所定のデータは、人流データであってよく、上記特徴情報323は、当該人流データから特定される人の流れの量に関してよい。
【0281】
人流データは、本発明の「時系列に得られる所定のデータ」の一例である。人流データは、人の流れに関するもの、すなわち、人の流れを推定可能なデータであれば、その種類は、特に限られなくてもよく、実施の形態に応じて適宜選択されてよい。人流データの取得には、センサが用いられてもよい。例えば、人流データは、任意の場所を通過する人物を検知するように構成された人感センサ、ゲートの開閉を検知するように構成されたセンサ、ゲートを通過する人を検知するように構成されたセンサ、車両の通行量を検知するように構成されたセンサ、移動する人及び車両の少なくともいずれかに関する音を測定するように設置されたマイクロフォン、移動する人及び車両の少なくともいずれかを撮影するように設置されたカメラ等により得られてよい。すなわち、人流データは、カメラにより得られる画像データ、マイクロフォンにより得られる音データ、その他のセンサにより得られるセンシングデータ等であってよい。人感センサは、例えば、赤外線センサであってよい。ゲートは、例えば、自動改札ゲート、建物に設置されたゲート(ドア等)、高速道路の出入口に設置されたゲート、駐車場等の所定の敷地の出入口に設置されたゲート等であってよい。また、人流データは、例えば、携帯電話、車載装置等の人又は車両の保持する装置の位置データ、当該装置の通信データ等を含んでもよい。位置データは、例えば、GPS測定器等により測定されてよい。また、人流データは、例えば、所定の場所で商品を購入したことを示すPOS(Point of Sales)データ等の人の履歴に関するデータを含んでもよい。更に、人流データは、気象データ等の人の流れに間接的に関与し得るデータを含んでもよい。
【0282】
本変形例では、人の流れを計測するために、センサSEが用いられる。センサSEは、特に限定されなくてもよく、上記の例から適宜選択されてよい。センサSEは、人の流れを計測可能に適宜配置されてよい。
【0283】
モデル生成装置1は、機械学習により、センサにより得られる任意の時刻における人流データから、未来の時刻における人流データにより特定される人の流れの量に関する特徴を予測可能に訓練された予測モデル55Eを構築する。つまり、本変形例では、センサSEにより得られる人流データが、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【0284】
一方、人流予測装置2Eは、センサSEに接続されている。人流予測装置2Eは、センサSEにより人の流れを計測することで人流データを取得する。そして、人流予測装置2Eは、学習済みの予測モデル55Eを利用して、任意の時刻における人流データから未来の時刻における人流データに現れる人の流れの量に関する特徴を予測する。
【0285】
<人流予測装置のハードウェア構成>
次に、
図20を更に用いて、本変形例に係る人流予測装置2Eのハードウェア構成の一例を説明する。
図20は、本変形例に係る人流予測装置2Eのハードウェア構成の一例を模式的に例示する。本変形例に係る人流予測装置2Eは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。人流予測装置2Eは、外部インタフェース27を介してセンサSEに接続される。ただし、人流予測装置2Eのハードウェア構成は、このような例に限定されなくてもよい。人流予測装置2Eの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。人流予測装置2Eは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0286】
本変形例に係る人流予測装置2Eの記憶部22は、人流予測プログラム82E、第1学習結果データ121E、第2学習結果データ123E等の各種情報を記憶する。人流予測プログラム82E、第1学習結果データ121E、及び第2学習結果データ123Eは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。人流予測プログラム82E、第1学習結果データ121E、及び第2学習結果データ123Eのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、人流予測装置2Eは、記憶媒体92から、人流予測プログラム82E、第1学習結果データ121E、及び第2学習結果データ123Eのうちの少なくともいずれかを取得してもよい。
【0287】
<推定器の機械学習>
次に、本変形例における推定器51Eの機械学習の処理手順の一例について説明する。
図19に示されるとおり、本変形例では、モデル生成装置1は、人流データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Eの機械学習に関する一連の処理を実行する。
【0288】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Eの機械学習に利用する複数の第1学習データセット31Eを取得する。本変形例では、推定器51Eは、上記実施形態に係る推定器51と同様に、エンコーダ52E及びデコーダ53Eを備える。エンコーダ52E及びデコーダ53Eはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0289】
各第1学習データセット31Eは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Eは、センサにより時系列に得られる人流データのサンプル311E、及びサンプル311Eに現れる特徴(正解)を示す正解データ313Eの組み合わせにより構成される。正解データ313Eにより示される特徴は、例えば、人の流れの量であってよい。人の流れの量は、例えば、所定の地点を通過する人の数又は程度、所定の範囲に存在する人の数又は程度、渋滞の発生の有無等により表現されてよい。
【0290】
上記実施形態と同様に、各第1学習データセット31Eを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Eは、適宜生成されてよい。例えば、センサSEと同種のセンサを用意し、用意したセンサにより様々な条件で人の流れを観測することで、時系列に人流データを取得する。続いて、時系列に得られた人流データからサンプル311Eを適宜抽出する。そして、抽出されたサンプル311Eに対して、観測した人の流れの量等のサンプル311Eに現れる特徴を示す正解データ313Eを関連付ける。これにより、各第1学習データセット31Eを生成することができる。複数の第1学習データセット31Eを取得すると、制御部11は、次のステップS102に処理を進める。
【0291】
ステップS102では、制御部11は、複数の第1学習データセット31Eを使用して、推定器51Eの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Eについて、サンプル311Eをエンコーダ52Eに入力すると、サンプル311E及び正解データ313Eに適合する出力値をデコーダ53Eから出力するように推定器51Eを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Eは、人流データのサンプル311Eを特徴量に変換するように訓練されていく。また、デコーダ53Eは、エンコーダ52Eにより得られた特徴量からサンプル311Eを復元すると共に、サンプル311Eに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Eについて、サンプル311Eの入力に対して、サンプル311E及び正解データ313Eに適合する出力値を出力するように訓練された推定器51Eを構築することができる。推定器51Eの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0292】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Eの構造及び演算パラメータを示す情報を第1学習結果データ121Eとして生成する。そして、制御部11は、生成された第1学習結果データ121Eを所定の記憶領域に保存する。これにより、制御部11は、推定器51Eの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Eに関する第1学習結果データ121Eは、任意のタイミングで人流予測装置2Eに与えられてよい。
【0293】
<予測モデルの機械学習>
次に、本変形例における予測モデル55E及び不一致性予測器57Eの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、人流データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55E及び不一致性予測器57Eの機械学習に関する一連の処理を実行する。
【0294】
すなわち、ステップS201では、制御部11は、時系列に得られる人流データの第1時刻における第1サンプル321E、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Eの組み合わせによりそれぞれ構成される複数の第2学習データセット32Eを取得する。各第2学習データセット32Eを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Eは、上記実施形態と同様に生成されてよい。第1サンプル321E及び第2サンプルを抽出した人流データは、各第1学習データセット31Eの生成に利用された人流データと同じであってよい。本変形例では、特徴情報323Eは、人流データから特定される人の流れの量に関してもよい。また、特徴情報323Eは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Eを構成する特徴量は、学習済みのエンコーダ52Eにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Eには、希少度325Eが適宜設定されてよい。複数の第2学習データセット32Eを取得すると、制御部11は、次のステップS202に処理を進める。
【0295】
ステップS202では、制御部11は、複数の第2学習データセット32Eを使用して、予測モデル55Eの機械学習を実行する。予測モデル55Eは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Eについて、第1サンプル321Eを入力すると、対応する特徴情報323Eに適合する出力値を出力するように予測モデル55Eを訓練する。この予測モデル55Eの機械学習において、制御部11は、希少度325Eの高い第2学習データセット32Eほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Eについて、第1時刻における第1サンプル321Eを入力すると、第2時刻における特徴情報323Eに適合する出力値を出力するように訓練された予測モデル55Eを構築することができる。予測モデル55Eの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0296】
ステップS203では、制御部11は、予測モデル55E及び不一致性予測器57Eの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0297】
ステップS204では、制御部11は、各第2学習データセット32Eの第1時刻における第1サンプル321E、及び当該第1サンプル321Eに対する予測モデル55Eによる予測の不一致性333Eの組み合わせによりそれぞれ構成される複数の第3学習データセット33Eを取得する。各第3学習データセット33Eを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Eの生成には、ステップS202により構築された学習済みの予測モデル55E及び各第2学習データセット32Eが利用されてよい。複数の第3学習データセット33Eを取得すると、制御部11は、次のステップS205に処理を進める。
【0298】
ステップS205では、制御部11は、複数の第3学習データセット33Eを使用して、不一致性予測器57Eの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Eについて、第1サンプル321Eを入力すると、対応する不一致性333Eに適合する出力値を出力するように不一致性予測器57Eを訓練する。制御部11は、予測モデル55Eの機械学習とは異なり、この不一致性予測器57Eの機械学習において、希少度325Eとは無関係に、各第3学習データセット33Eを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Eについて、第1時刻における第1サンプル321Eを入力すると、当該第1サンプル321Eに対する予測モデル55Eによる予測の不一致性333Eに適合する出力値を出力するように訓練された不一致性予測器57Eを構築することができる。不一致性予測器57Eの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0299】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Eを利用して、各第2学習データセット32Eの希少度325Eを設定(更新)する。希少度325Eを設定する方法は、上記実施形態と同様であってよい。希少度325Eの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0300】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Eの構造及び演算パラメータを示す情報を第2学習結果データ123Eとして生成する。そして、制御部11は、生成された第2学習結果データ123Eを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55E及び不一致性予測器57Eの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Eは、任意のタイミングで人流予測装置2Eに与えられてよい。
【0301】
<予測処理>
次に、
図21を用いて、人流予測装置2Eの予測処理の一例について説明する。
図21は、本変形例に係る人流予測装置2Eの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、人流予測装置2Eの予測処理に関するソフトウェア構成は、制御部21による人流予測プログラム82Eの実行により実現される。
図21に示されるとおり、人流データを所定のデータとして取り扱う点を除き、人流予測装置2Eの予測処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、人流予測装置2Eは、上記予測装置2と同様に、予測処理に関する一連の処理を実行する。
【0302】
すなわち、ステップS301では、人流予測装置2Eの制御部21は、人流データの対象サンプル221EをセンサSEから取得する。ステップS302では、制御部21は、第2学習結果データ123Eを参照し、学習済みの予測モデル55Eの設定を行う。また、制御部21は、第1学習結果データ121Eを参照して、学習済みの推定器51Eのデコーダ53Eの設定を行う。次に、制御部21は、取得された対象サンプル221Eを予測モデル55Eに入力し、予測モデル55Eの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Eから未来の時刻における人流データの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Eの出力値をデコーダ53Eに入力し、デコーダ53Eの演算処理を実行する。これにより、制御部21は、予測モデル55Eにより予測された特徴量から、予測サンプル225Eを復元すると共に、未来の時刻において人流データに現れる特徴を予測した結果に対応する出力値をデコーダ53Eから取得する。本変形例では、予測される特徴は、人流データから特定される人の流れの量を示す人流情報223Eを含み得る。対象サンプル221Eからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0303】
ステップS303では、制御部21は、予測の結果(人流情報223E及び予測サンプル225E)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた人流情報223E及び予測サンプル225Eをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0304】
当該情報処理の一例として、制御部21は、人流情報223Eにより示される人の流れに応じて、渋滞が発生する、混雑が予想される等の特定のメッセージを出力装置25に出力してもよい。この場合、人流予測装置2Eは、更に、地図情報を参照し、渋滞又は混雑が予想される場所を回避した迂回ルートを出力装置25に出力してもよい。地図情報は、記憶部22、記憶媒体92、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部21は、当該処理を実行する際に、所定の記憶領域から地図情報を適宜取得してもよい。
【0305】
本変形例によれば、人の流れを予測する場面において、希少な事象を精度よく予測可能な予測モデル55Eを構築することができる。上記希少度325Eを利用した機械学習により、例えば、予測モデル55Eは、人の流れが徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に人の流れが変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、人流予測装置2Eは、この予測モデル55Eを利用することで、上記のような不規則に発生し得る人の流れの変化を精度よく予測することができる。これにより、人の流れを適切に整理することが可能になる。
【0306】
(E)栽培状況を予測する場面
図22は、第5実施例に係る予測システム100Fの適用場面の一例を模式的に例示する。本変形例は、植物GFの栽培状況を予測する場面に上記実施形態を適用した例である。
図22に示されるとおり、本変形例に係る予測システム100Fは、モデル生成装置1及び状況予測装置2Fを備えている。上記実施形態と同様に、モデル生成装置1及び状況予測装置2Fは、ネットワークを介して互いに接続されてよい。
【0307】
本変形例に係る予測システム100Fは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。状況予測装置2Fは、上記予測装置2に対応する。状況予測装置2Fは、上記予測装置2と同様に構成されてよい。モデル生成装置1は、機械学習により、任意の時刻における植物の栽培状況に関する状況データから、未来の時刻における状況データに現れる特徴を予測可能に訓練された予測モデル55Fを構築する。一方、状況予測装置2Fは、予測モデル55Fを利用して、状況データから未来の時刻における植物GFの栽培状況を予測する。時系列に得られる上記所定のデータは、状況データであってよく、上記特徴情報323は、当該状況データから特定される植物GFの栽培状況に関してよい。
【0308】
植物GFの栽培状況は、植物GFを栽培するあらゆる要素に関し、例えば、栽培時点までの生育環境、生育状態等により特定されてよい。生育環境は、植物GFを生育する状況に関し、例えば、植物GFに光を照射する時間、植物GFの周囲の温度、植物GFに与える水の量等である。生育状態は、例えば、植物GFの成長度等により規定されてよい。状況データは、植物GFの栽培状況に関するものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0309】
本変形例では、植物GFの栽培状況を観測するために、センサSFが用いられる。センサSFは、植物GFの栽培状況を観測可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。センサSFは、例えば、光度計、温度計、湿度計、カメラ等であってよい。カメラは、例えば、一般的なカメラ、深度カメラ、赤外線カメラ等であってよい。すなわち、本変形例では、センサSFにより得られるセンシングデータが状況データの一例として利用される。
【0310】
モデル生成装置1は、機械学習により、センサにより得られる任意の時刻における状況データから、未来の時刻における状況データにより特定される植物の栽培状況に関する特徴を予測可能に訓練された予測モデル55Fを構築する。つまり、本変形例では、センサSFにより得られる状況データが、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【0311】
一方、状況予測装置2Fは、センサSFに接続されている。状況予測装置2Fは、センサSFにより植物GFの栽培状況を観測することで状況データを取得する。そして、状況予測装置2Fは、学習済みの予測モデル55Fを利用して、任意の時刻における状況データから未来の時刻における状況データに現れる植物GFの栽培状況に関する特徴を予測する。
【0312】
なお、本変形例では、状況予測装置2Fは、更に、栽培装置RFに接続され、植物GFの栽培状況を予測した結果に応じて、栽培装置RFの動作を制御可能に構成される。栽培装置RFは、植物GFの生育環境を制御して、植物GFを栽培するように構成される。栽培装置RFは、植物GFの生育環境を制御可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。栽培装置RFは、例えば、カーテン装置、照明装置、空調設備、散水装置等であってよい。カーテン装置は、建物の窓に取り付けられたカーテンを開閉するように構成される。照明装置は、例えば、LED(light emitting diode)照明、蛍光灯等である。空調設備は、例えば、エアコンディショナ等である。散水装置は、例えば、スプリンクラ等である。カーテン装置及び照明装置は、植物GFに光を照射する時間を制御するために利用される。空調設備は、植物GFの周囲の温度を制御するために利用される。散水装置は、植物GFに与える水の量を制御するために利用される。
【0313】
<状況予測装置のハードウェア構成>
次に、
図23を更に用いて、本変形例に係る状況予測装置2Fのハードウェア構成の一例を説明する。
図23は、本変形例に係る状況予測装置2Fのハードウェア構成の一例を模式的に例示する。本変形例に係る状況予測装置2Fは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。状況予測装置2Fは、外部インタフェース27を介してセンサSF及び栽培装置RFに接続される。ただし、状況予測装置2Fのハードウェア構成は、このような例に限定されなくてもよい。状況予測装置2Fの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。状況予測装置2Fは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0314】
本変形例に係る状況予測装置2Fの記憶部22は、状況予測プログラム82F、第1学習結果データ121F、第2学習結果データ123F等の各種情報を記憶する。状況予測プログラム82F、第1学習結果データ121F、及び第2学習結果データ123Fは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。状況予測プログラム82F、第1学習結果データ121F、及び第2学習結果データ123Fのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、状況予測装置2Fは、記憶媒体92から、状況予測プログラム82F、第1学習結果データ121F、及び第2学習結果データ123Fのうちの少なくともいずれかを取得してもよい。
【0315】
<推定器の機械学習>
次に、本変形例における推定器51Fの機械学習の処理手順の一例について説明する。
図22に示されるとおり、本変形例では、モデル生成装置1は、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Fの機械学習に関する一連の処理を実行する。
【0316】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Fの機械学習に利用する複数の第1学習データセット31Fを取得する。本変形例では、推定器51Fは、上記実施形態に係る推定器51と同様に、エンコーダ52F及びデコーダ53Fを備える。エンコーダ52F及びデコーダ53Fはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0317】
各第1学習データセット31Fは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Fは、センサにより時系列に得られる状況データのサンプル311F、及びサンプル311Fに現れる特徴(正解)を示す正解データ313Fの組み合わせにより構成される。正解データ313Fにより示される特徴は、例えば、植物の栽培状況であってよい。
【0318】
上記実施形態と同様に、各第1学習データセット31Fを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Fは、適宜生成されてよい。例えば、センサSFと同種のセンサ及び植物GFと同種の植物を用意し、用意したセンサにより様々な栽培状況の植物を観測することで、時系列に状況データを取得する。続いて、時系列に得られた状況データからサンプル311Fを適宜抽出する。そして、抽出されたサンプル311Fに対して、観測した植物の栽培状況等のサンプル311Fに現れる特徴を示す正解データ313Fを関連付ける。これにより、各第1学習データセット31Fを生成することができる。複数の第1学習データセット31Fを取得すると、制御部11は、次のステップS102に処理を進める。
【0319】
ステップS102では、制御部11は、複数の第1学習データセット31Fを使用して、推定器51Fの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Fについて、サンプル311Fをエンコーダ52Fに入力すると、サンプル311F及び正解データ313Fに適合する出力値をデコーダ53Fから出力するように推定器51Fを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Fは、状況データのサンプル311Fを特徴量に変換するように訓練されていく。また、デコーダ53Fは、エンコーダ52Fにより得られた特徴量からサンプル311Fを復元すると共に、サンプル311Fに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Fについて、サンプル311Fの入力に対して、サンプル311F及び正解データ313Fに適合する出力値を出力するように訓練された推定器51Fを構築することができる。推定器51Fの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0320】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Fの構造及び演算パラメータを示す情報を第1学習結果データ121Fとして生成する。そして、制御部11は、生成された第1学習結果データ121Fを所定の記憶領域に保存する。これにより、制御部11は、推定器51Fの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Fに関する第1学習結果データ121Fは、任意のタイミングで状況予測装置2Fに与えられてよい。
【0321】
<予測モデルの機械学習>
次に、本変形例における予測モデル55F及び不一致性予測器57Fの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55F及び不一致性予測器57Fの機械学習に関する一連の処理を実行する。
【0322】
すなわち、ステップS201では、制御部11は、時系列に得られる状況データの第1時刻における第1サンプル321F、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Fの組み合わせによりそれぞれ構成される複数の第2学習データセット32Fを取得する。各第2学習データセット32Fを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Fは、上記実施形態と同様に生成されてよい。第1サンプル321F及び第2サンプルを抽出した状況データは、各第1学習データセット31Fの生成に利用された状況データと同じであってよい。本変形例では、特徴情報323Fは、状況データから特定される植物の栽培状況に関してもよい。また、特徴情報323Fは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Fを構成する特徴量は、学習済みのエンコーダ52Fにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Fには、希少度325Fが適宜設定されてよい。複数の第2学習データセット32Fを取得すると、制御部11は、次のステップS202に処理を進める。
【0323】
ステップS202では、制御部11は、複数の第2学習データセット32Fを使用して、予測モデル55Fの機械学習を実行する。予測モデル55Fは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Fについて、第1サンプル321Fを入力すると、対応する特徴情報323Fに適合する出力値を出力するように予測モデル55Fを訓練する。この予測モデル55Fの機械学習において、制御部11は、希少度325Fの高い第2学習データセット32Fほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Fについて、第1時刻における第1サンプル321Fを入力すると、第2時刻における特徴情報323Fに適合する出力値を出力するように訓練された予測モデル55Fを構築することができる。予測モデル55Fの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0324】
ステップS203では、制御部11は、予測モデル55F及び不一致性予測器57Fの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0325】
ステップS204では、制御部11は、各第2学習データセット32Fの第1時刻における第1サンプル321F、及び当該第1サンプル321Fに対する予測モデル55Fによる予測の不一致性333Fの組み合わせによりそれぞれ構成される複数の第3学習データセット33Fを取得する。各第3学習データセット33Fを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Fの生成には、ステップS202により構築された学習済みの予測モデル55F及び各第2学習データセット32Fが利用されてよい。複数の第3学習データセット33Fを取得すると、制御部11は、次のステップS205に処理を進める。
【0326】
ステップS205では、制御部11は、複数の第3学習データセット33Fを使用して、不一致性予測器57Fの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Fについて、第1サンプル321Fを入力すると、対応する不一致性333Fに適合する出力値を出力するように不一致性予測器57Fを訓練する。制御部11は、予測モデル55Fの機械学習とは異なり、この不一致性予測器57Fの機械学習において、希少度325Fとは無関係に、各第3学習データセット33Fを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Fについて、第1時刻における第1サンプル321Fを入力すると、当該第1サンプル321Fに対する予測モデル55Fによる予測の不一致性333Fに適合する出力値を出力するように訓練された不一致性予測器57Fを構築することができる。不一致性予測器57Fの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0327】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Fを利用して、各第2学習データセット32Fの希少度325Fを設定(更新)する。希少度325Fを設定する方法は、上記実施形態と同様であってよい。希少度325Fの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0328】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Fの構造及び演算パラメータを示す情報を第2学習結果データ123Fとして生成する。そして、制御部11は、生成された第2学習結果データ123Fを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55F及び不一致性予測器57Fの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Fは、任意のタイミングで状況予測装置2Fに与えられてよい。
【0329】
<予測処理>
次に、
図24を用いて、状況予測装置2Fの予測処理の一例について説明する。
図24は、本変形例に係る状況予測装置2Fの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、状況予測装置2Fの予測処理に関するソフトウェア構成は、制御部21による状況予測プログラム82Fの実行により実現される。
図24に示されるとおり、植物の栽培状況に関する状況データを所定のデータとして取り扱う点を除き、状況予測装置2Fの予測処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、状況予測装置2Fは、上記予測装置2と同様に、予測処理に関する一連の処理を実行する。
【0330】
すなわち、ステップS301では、状況予測装置2Fの制御部21は、状況データの対象サンプル221FをセンサSFから取得する。ステップS302では、制御部21は、第2学習結果データ123Fを参照し、学習済みの予測モデル55Fの設定を行う。また、制御部21は、第1学習結果データ121Fを参照して、学習済みの推定器51Fのデコーダ53Fの設定を行う。次に、制御部21は、取得された対象サンプル221Fを予測モデル55Fに入力し、予測モデル55Fの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Fから未来の時刻における状況データの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Fの出力値をデコーダ53Fに入力し、デコーダ53Fの演算処理を実行する。これにより、制御部21は、予測モデル55Fにより予測された特徴量から、予測サンプル225Fを復元すると共に、未来の時刻において状況データに現れる特徴を予測した結果に対応する出力値をデコーダ53Fから取得する。本変形例では、予測される特徴は、状況データから特定される植物GFの栽培状況を示す状況情報223Fを含み得る。対象サンプル221Fからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0331】
ステップS303では、制御部21は、予測の結果(状況情報223F及び予測サンプル225F)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた状況情報223F及び予測サンプル225Fをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0332】
当該情報処理の一例として、制御部21は、状況情報223Fにより示される予測された栽培状況に応じて、栽培装置RFに与える制御指令を決定してもよい。栽培状況と制御指令との対応関係はテーブル形式等の参照情報により与えられてもよい。この参照情報は、記憶部22、記憶媒体92、外部記憶装置、記憶メディア等の所定の記憶領域に保存されていてもよい。制御部21は、この参照情報を参照することで、予測された栽培状況に応じて制御指令を決定してもよい。そして、制御部21は、決定された制御指令を栽培装置RFに与えることで、栽培装置RFの動作を制御してもよい。また、例えば、制御部21は、決定された制御指令を示す情報を出力装置25に出力し、植物GFの管理者に栽培装置RFの動作を制御するように促してもよい。
【0333】
本変形例によれば、植物GFの栽培状況を予測する場面において、希少な事象を精度よく予測可能な予測モデル55Fを構築することができる。上記希少度325Fを利用した機械学習により、例えば、予測モデル55Fは、植物GFの栽培状況が徐々に変化する等の規則性を有し得る事象と同程度の精度で、突発的に植物GFの栽培状況が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、状況予測装置2Fは、この予測モデル55Fを利用することで、上記のような不規則に発生し得る植物GFの栽培状況の変化を精度よく予測することができる。これにより、植物GFの生育環境を適切に制御することが可能になる。
【0334】
(F)発電量を予測する場面
図25は、第6実施例に係る予測システム100Gの適用場面の一例を模式的に例示する。本変形例は、発電設備RGにおける発電量を予測する場面に上記実施形態を適用した例である。
図25に示されるとおり、本変形例に係る予測システム100Gは、モデル生成装置1及び発電量予測装置2Gを備えている。上記実施形態と同様に、モデル生成装置1及び発電量予測装置2Gは、ネットワークを介して互いに接続されてよい。
【0335】
本変形例に係る予測システム100Gは、取り扱うデータが異なる点を除き、上記実施形態と同様に構成されてよい。発電量予測装置2Gは、上記予測装置2に対応する。発電量予測装置2Gは、上記予測装置2と同様に構成されてよい。発電設備RGの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。発電設備RGは、例えば、太陽光の発電設備であってよい。
【0336】
本変形例では、発電設備RGの発電に関連する関連データに基づいて、当該発電設備RGにおける発電量が予測される。関連データは、発電設備RGの発電に関連し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。関連データは、例えば、天候、気温、降水量、湿度、風量等を気象に関する気象データであってよい。
【0337】
モデル生成装置1は、機械学習により、任意の時刻における関連データから、未来の時刻における関連データにより特定される発電設備における発電量に関する特徴を予測可能に訓練された予測モデル55Gを構築する。つまり、本変形例では、発電設備RGの発電に関連する関連データが、本発明の「時系列に得られる所定のデータ」の一例であり、未来の時刻に生じ得る事象を予測する処理の対象となる上記所定のデータとして取り扱われる。
【0338】
一方、発電量予測装置2Gは、発電設備RGの発電に関連する関連データを適宜取得する。そして、発電量予測装置2Gは、学習済みの予測モデル55Gを利用して、任意の時刻における関連データから未来の時刻における関連データに現れる発電設備RGにおける発電量に関する特徴を予測する。
【0339】
<発電量予測装置のハードウェア構成>
次に、
図26を更に用いて、本変形例に係る発電量予測装置2Gのハードウェア構成の一例を説明する。
図26は、本変形例に係る発電量予測装置2Gのハードウェア構成の一例を模式的に例示する。本変形例に係る発電量予測装置2Gは、上記予測装置2と同様に、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、ドライブ26、及び外部インタフェース27が電気的に接続されたコンピュータである。ただし、発電量予測装置2Gのハードウェア構成は、このような例に限定されなくてもよい。発電量予測装置2Gの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。発電量予測装置2Gは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
【0340】
本変形例に係る発電量予測装置2Gの記憶部22は、予測プログラム82G、第1学習結果データ121G、第2学習結果データ123G等の各種情報を記憶する。予測プログラム82G、第1学習結果データ121G、及び第2学習結果データ123Gは、上記実施形態に係る予測プログラム82、第1学習結果データ121、及び第2学習結果データ123に対応する。予測プログラム82G、第1学習結果データ121G、及び第2学習結果データ123Gのうちの少なくともいずれかは記憶媒体92に記憶されていてもよい。また、発電量予測装置2Gは、記憶媒体92から、予測プログラム82G、第1学習結果データ121G、及び第2学習結果データ123Gのうちの少なくともいずれかを取得してもよい。
【0341】
<推定器の機械学習>
次に、本変形例における推定器51Gの機械学習の処理手順の一例について説明する。
図25に示されるとおり、本変形例では、モデル生成装置1は、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、推定器51Gの機械学習に関する一連の処理を実行する。
【0342】
すなわち、ステップS101では、モデル生成装置1の制御部11は、推定器51Gの機械学習に利用する複数の第1学習データセット31Gを取得する。本変形例では、推定器51Gは、上記実施形態に係る推定器51と同様に、エンコーダ52G及びデコーダ53Gを備える。エンコーダ52G及びデコーダ53Gはそれぞれ、上記実施形態と同様に、ニューラルネットワークにより構成され、上記エンコーダ52及びデコーダ53それぞれと同様に動作する。
【0343】
各第1学習データセット31Gは、上記実施形態に係る各第1学習データセット31に対応する。本変形例では、各第1学習データセット31Gは、時系列に得られる関連データのサンプル311G、及びサンプル311Gに現れる特徴(正解)を示す正解データ313Gの組み合わせにより構成される。正解データ313Gにより示される特徴は、例えば、発電設備における発電量であってよい。
【0344】
上記実施形態と同様に、各第1学習データセット31Gを取得する方法は、適宜選択されてよい。また、各第1学習データセット31Gは、適宜生成されてよい。例えば、発電設備RGと同種の発電設備における発電量と共に、様々な発電条件で関連データを時系列に取得する。発電量は、発電設備のセンサ、オペレータの入力等により与えられてよい。続いて、時系列に得られた関連データからサンプル311Gを適宜抽出する。そして、抽出されたサンプル311Gに対して、発電設備における発電量等のサンプル311Gに現れる特徴を示す正解データ313Gを関連付ける。これにより、各第1学習データセット31Gを生成することができる。複数の第1学習データセット31Gを取得すると、制御部11は、次のステップS102に処理を進める。
【0345】
ステップS102では、制御部11は、複数の第1学習データセット31Gを使用して、推定器51Gの機械学習を実行する。本変形例では、制御部11は、機械学習により、各第1学習データセット31Gについて、サンプル311Gをエンコーダ52Gに入力すると、サンプル311G及び正解データ313Gに適合する出力値をデコーダ53Gから出力するように推定器51Gを訓練する。機械学習の処理手順は、上記実施形態と同様であってよい。この機械学習の過程により、エンコーダ52Gは、関連データのサンプル311Gを特徴量に変換するように訓練されていく。また、デコーダ53Gは、エンコーダ52Gにより得られた特徴量からサンプル311Gを復元すると共に、サンプル311Gに含まれる特徴を推定するように訓練されていく。その結果、制御部11は、各第1学習データセット31Gについて、サンプル311Gの入力に対して、サンプル311G及び正解データ313Gに適合する出力値を出力するように訓練された推定器51Gを構築することができる。推定器51Gの機械学習が完了すると、制御部11は、次のステップS103に処理を進める。
【0346】
ステップS103では、制御部11は、機械学習により構築された学習済みの推定器51Gの構造及び演算パラメータを示す情報を第1学習結果データ121Gとして生成する。そして、制御部11は、生成された第1学習結果データ121Gを所定の記憶領域に保存する。これにより、制御部11は、推定器51Gの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、デコーダ53Gに関する第1学習結果データ121Gは、任意のタイミングで発電量予測装置2Gに与えられてよい。
【0347】
<予測モデルの機械学習>
次に、本変形例における予測モデル55G及び不一致性予測器57Gの機械学習の処理手順の一例について説明する。本変形例では、モデル生成装置1は、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、上記実施形態と同様に、予測モデル55G及び不一致性予測器57Gの機械学習に関する一連の処理を実行する。
【0348】
すなわち、ステップS201では、制御部11は、時系列に得られる関連データの第1時刻における第1サンプル321G、及び第1時刻よりも未来の時刻における第2サンプルに含まれる特徴情報323Gの組み合わせによりそれぞれ構成される複数の第2学習データセット32Gを取得する。各第2学習データセット32Gを取得する方法は、上記実施形態と同様に、適宜選択されてよい。また、各第2学習データセット32Gは、上記実施形態と同様に生成されてよい。第1サンプル321G及び第2サンプルを抽出した関連データは、各第1学習データセット31Gの生成に利用された関連データと同じであってよい。本変形例では、特徴情報323Gは、関連データから特定される発電設備における発電量に関してもよい。また、特徴情報323Gは、第2サンプルの特徴量を含むように構成されてよい。特徴情報323Gを構成する特徴量は、学習済みのエンコーダ52Gにより第2サンプルを変換することで与えられてもよい。各第2学習データセット32Gには、希少度325Gが適宜設定されてよい。複数の第2学習データセット32Gを取得すると、制御部11は、次のステップS202に処理を進める。
【0349】
ステップS202では、制御部11は、複数の第2学習データセット32Gを使用して、予測モデル55Gの機械学習を実行する。予測モデル55Gは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。制御部11は、機械学習により、各第2学習データセット32Gについて、第1サンプル321Gを入力すると、対応する特徴情報323Gに適合する出力値を出力するように予測モデル55Gを訓練する。この予測モデル55Gの機械学習において、制御部11は、希少度325Gの高い第2学習データセット32Gほど重点的に訓練する。重点的に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第2学習データセット32Gについて、第1時刻における第1サンプル321Gを入力すると、第2時刻における特徴情報323Gに適合する出力値を出力するように訓練された予測モデル55Gを構築することができる。予測モデル55Gの機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
【0350】
ステップS203では、制御部11は、予測モデル55G及び不一致性予測器57Gの機械学習の処理を繰り返すか否かを判定する。機械学習を繰り返す基準は、上記実施形態と同様であってよい。機械学習の処理を繰り返すと判定した場合には、制御部11は、次のステップS204に処理を進める。一方、機械学習の処理を終了すると判定した場合には、制御部11は、次のステップS207に処理を進める。
【0351】
ステップS204では、制御部11は、各第2学習データセット32Gの第1時刻における第1サンプル321G、及び当該第1サンプル321Gに対する予測モデル55Gによる予測の不一致性333Gの組み合わせによりそれぞれ構成される複数の第3学習データセット33Gを取得する。各第3学習データセット33Gを取得する方法は、上記実施形態と同様であってよい。各第3学習データセット33Gの生成には、ステップS202により構築された学習済みの予測モデル55G及び各第2学習データセット32Gが利用されてよい。複数の第3学習データセット33Gを取得すると、制御部11は、次のステップS205に処理を進める。
【0352】
ステップS205では、制御部11は、複数の第3学習データセット33Gを使用して、不一致性予測器57Gの機械学習を実行する。制御部11は、機械学習により、各第3学習データセット33Gについて、第1サンプル321Gを入力すると、対応する不一致性333Gに適合する出力値を出力するように不一致性予測器57Gを訓練する。制御部11は、予測モデル55Gの機械学習とは異なり、この不一致性予測器57Gの機械学習において、希少度325Gとは無関係に、各第3学習データセット33Gを均一に訓練する。均一に訓練する方法は、上記実施形態と同様であってよい。これにより、制御部11は、各第3学習データセット33Gについて、第1時刻における第1サンプル321Gを入力すると、当該第1サンプル321Gに対する予測モデル55Gによる予測の不一致性333Gに適合する出力値を出力するように訓練された不一致性予測器57Gを構築することができる。不一致性予測器57Gの機械学習が完了すると、制御部11は、次のステップS206に処理を進める。
【0353】
ステップS206では、制御部11は、ステップS205により構築された学習済みの不一致性予測器57Gを利用して、各第2学習データセット32Gの希少度325Gを設定(更新)する。希少度325Gを設定する方法は、上記実施形態と同様であってよい。希少度325Gの設定が完了すると、制御部11は、ステップS202へ処理を戻す。
【0354】
ステップS207では、制御部11は、機械学習により構築された学習済みの予測モデル55Gの構造及び演算パラメータを示す情報を第2学習結果データ123Gとして生成する。そして、制御部11は、生成された第2学習結果データ123Gを所定の記憶領域に保存する。これにより、制御部11は、予測モデル55G及び不一致性予測器57Gの機械学習に関する一連の処理を終了する。なお、上記実施形態と同様に、第2学習結果データ123Gは、任意のタイミングで発電量予測装置2Gに与えられてよい。
【0355】
<予測処理>
次に、
図27を用いて、発電量予測装置2Gの予測処理の一例について説明する。
図27は、本変形例に係る発電量予測装置2Gの予測処理に関するソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、発電量予測装置2Gの予測処理に関するソフトウェア構成は、制御部21による予測プログラム82Gの実行により実現される。
図27に示されるとおり、発電設備の発電に関連する関連データを所定のデータとして取り扱う点を除き、発電量予測装置2Gの予測処理に関するソフトウェア構成は、上記予測装置2のソフトウェア構成と同様である。これにより、発電量予測装置2Gは、上記予測装置2と同様に、予測処理に関する一連の処理を実行する。
【0356】
すなわち、ステップS301では、発電量予測装置2Gの制御部21は、関連データの対象サンプル221Gを適宜取得する。関連データを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、気象データを関連データとして取り扱う場合、制御部21は、公知の気象データサーバから対象サンプル221Gを取得してもよい。対象サンプル221Gを取得すると、制御部21は、次のステップS302に処理を進める。
【0357】
ステップS302では、制御部21は、第2学習結果データ123Gを参照し、学習済みの予測モデル55Gの設定を行う。また、制御部21は、第1学習結果データ121Gを参照して、学習済みの推定器51Gのデコーダ53Gの設定を行う。次に、制御部21は、取得された対象サンプル221Gを予測モデル55Gに入力し、予測モデル55Gの演算処理を実行する。この演算処理の結果、制御部21は、対象サンプル221Gから未来の時刻における関連データの特徴情報(特徴量)を予測する。更に、制御部21は、予測モデル55Gの出力値をデコーダ53Gに入力し、デコーダ53Gの演算処理を実行する。これにより、制御部21は、予測モデル55Gにより予測された特徴量から、予測サンプル225Gを復元すると共に、未来の時刻において関連データに現れる特徴を予測した結果に対応する出力値をデコーダ53Gから取得する。本変形例では、予測される特徴は、関連データから特定される発電設備RGにおける発電量を示す発電量情報223Gを含み得る。対象サンプル221Gからの未来の特徴の予測が完了すると、制御部21は、次のステップS303に処理を進める。
【0358】
ステップS303では、制御部21は、予測の結果(発電量情報223G及び予測サンプル225G)に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、得られた発電量情報223G及び予測サンプル225Gをそのまま出力装置25に出力してもよい。また、例えば、制御部21は、予測の結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0359】
当該情報処理の一例として、制御部21は、発電量情報223Gにより示される発電設備RGにおいて予測される発電量と閾値とを比較してもよい。閾値は適宜設定されてよい。そして、制御部21は、予測される発電量が閾値以下である場合に、他の発電設備により発電を行うことを促すメッセージを出力装置25に出力してもよい。
【0360】
本変形例によれば、発電設備RGにおける発電量を予測する場面において、希少な事象を精度よく予測可能な予測モデル55Gを構築することができる。上記希少度325Gを利用した機械学習により、例えば、予測モデル55Gは、発電設備RGにおける発電量が徐々に変化する等の規則性を有し得る事象と同程度の精度で、急激な天候の変化により突発的に発電量が変化する等の不規則に発生し得る事象を予測可能に構築される。そのため、発電量予測装置2Gは、この予測モデル55Gを利用することで、上記のような不規則に発生し得る発電設備RGにおける発電量の変化を精度よく予測することができる。これにより、発電量を適切にマネージメントすることが可能になる。
【0361】
<4.2>
上記実施形態では、予測モデル55は、第1サンプル321から第2サンプル322の特徴情報323を予測するように構築される。また、特徴情報323は、学習済みのエンコーダ52により第2サンプル322を変換することで得られる特徴量により構成される。しかしながら、予測モデル55及び特徴情報323の構成はそれぞれ、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。特徴情報323を構成する特徴量は、エンコーダ52由来でなくてもよい。特徴情報323は、特徴量以外の形式で与えられてもよい。例えば、特徴情報323は、正解データ313と同様に、第2サンプル322に現れる特徴を直接的に示すように構成されてもよい。この場合、推定器51は、エンコーダ及びデコーダに分かれていなくてもよく、推定器51において、サンプルの復元は省略されてよい。つまり、推定器51は、上記ステップS102において、各第1学習データセット31について、サンプル311を入力すると、正解データ313に適合する出力値を出力するように訓練されてよい。特徴情報323は、オペレータの入力により与えられてもよい。或いは、特徴情報323は、第2サンプル322に対する推定結果により与えられてもよい。例えば、特徴情報323は、学習済みの推定器51に第2サンプル322を入力することで、学習済みの推定器51から出力される出力値(推定結果)により構成されてもよい。また、予測装置2は、デコーダ53を利用せずに、予測モデル55により、特徴223を直接的に導出してもよい。つまり、上記ステップS302において、制御部21は、対象サンプル221を予測モデル55に入力することで、予測モデル55から出力される出力値を予測結果として取得してもよい。そして、上記ステップS303では、制御部21は、この予測の結果をそのまま出力装置25に出力してもよい。或いは、上記ステップS303では、制御部21は、この予測の結果に基づいて、何らかの情報処理を実行し、その情報処理を実行した結果を予測の結果に関する情報として出力してもよい。
【0362】
また、予測モデル55は、第1サンプル321から第2サンプル322を予測するように構築されてもよい。この場合、各第2学習データセット32は、特徴情報323に代えて、又は特徴情報323と共に、第2サンプル322を教師データとして含んでもよい。すなわち、上記実施形態に係るモデル生成装置1は、第1時刻における第1サンプル321、並びに第2時刻における第2サンプル322及び第2サンプル322に含まれる特徴情報323の少なくともいずれかの組み合わせによりそれぞれ構成される複数の学習データセットを取得してもよい。そして、モデル生成装置1は、機械学習により、各学習データセットについて、第1サンプル321から、対応する第2サンプル322及び特徴情報323の少なくともいずれかを予測するように訓練された予測モデルを構築してもよい。これらの変更は、上記変形例に係る各予測システム100A~100Gについても同様に適用されてよい。
【0363】
図28は、特徴情報323を第2サンプル322に置き換えた変形例を模式的に示す。当該変形例では、モデル生成装置1は、上記ステップS201において、第1サンプル321及び第2サンプル322の組み合わせによりそれぞれ構成される複数の学習データセット32Hを取得する。各学習データセット32Hは、上記実施形態に係る各第2学習データセット32に対応する。ステップS202では、モデル生成装置1は、機械学習により、各学習データセット32Hについて、第1サンプル321を入力すると、対応する第2サンプル322に適合する出力値を出力するように予測モデル55Hを訓練する。予測モデル55Hは、上記実施形態に係る予測モデル55と同様に、ニューラルネットワークにより構成されてよい。この場合、予測装置2は、上記ステップS302において、学習済みの予測モデル55Hを利用して、対象サンプル221から予測サンプル225を予測する。予測装置2は、この予測サンプル225を利用して、未来の事象を推定してもよい。
【0364】
<4.3>
上記実施形態では、推定器51、予測モデル55、及び不一致性予測器57の各機械学習の処理が同一のコンピュータにより実行されている。しかしながら、推定器51、予測モデル55、及び不一致性予測器57の少なくともいずれかの機械学習の処理は、他の機械学習の処理と別のコンピュータにより実行されてもよい。この場合、予測モデル55の機械学習を実行するコンピュータを「モデル生成装置」と称してもよい。当該変更は、上記変形例に係る各予測システム100A~100Gについても同様に適用されてよい。
【0365】
<4.4>
上記実施形態では、各第2学習データセット32の希少度325の設定には、不一致性予測器57が利用されている。これにより、希少度325は、特徴情報323が所定のデータに現れる不規則性の程度に応じて設定される。しかしながら、希少度325の設定方法は、このような例に限定されなくてもよい。不一致性予測器57を利用せずに、希少度325が設定されてもよい。例えば、希少度325は、オペレータ等により手動的に設定されてもよいし、何らかの指標に基づいて自動的に設定されてよい。
【0366】
希少度325を手動で設定する場合、制御部11は、各第1サンプル321を取得した後、任意のタイミングで、各第2学習データセット32に設定する希少度325の入力を受け付けてもよい。オペレータは、ステップS202における予測モデル55の出力値と特徴情報323との不一致性に基づいて、各希少度325の値を決定してもよい。或いは、オペレータは、第2サンプル322に現れる特徴に応じて、各希少度325の値を決定してもよい。希少度325の入力には、文字入力、音声入力等の公知の入力方法が用いられてよい。入力装置14は、例えば、マイクロフォン、キーボード等により構成されてよい。
【0367】
希少度325を自動的に設定する場合、制御部11は、各第1サンプル321を取得した後、任意のタイミングで、各第2学習データセット32に設定する希少度325の値を何らかの指標に基づいて決定してもよい。指標に基づいて自動的に設定する方法の一例として、希少度325は、第2サンプル322に現れる特徴又は特徴情報323の出現頻度、出現確率等により設定されてよい。例えば、制御部11は、得られた複数の第2学習データセット32に基づいて、第2サンプル322に現れる特徴又は特徴情報323の出現頻度又は出現確率を算出してもよい。そして、制御部11は、算出された出現頻度又は出現確率に応じて、各希少度325の値を設定してもよい。すなわち、制御部11は、算出された出現頻度又は出現確率が低いほど希少度325の値が高くなるように設定し、算出された出現頻度又は出現確率が高いほど希少度325の値が小さくなるように設定してもよい。或いは、制御部11は、各第2サンプル322に現れる特徴又は特徴情報323に応じて、その不規則性の程度を推定し、推定の結果に基づいて、各希少度325の値を設定してもよい。一例として、各第2サンプル322に現れる特徴が、例えば、表情、声、動き等の人物の反応である場面を想定する。この場面において、人物が、例えば、驚いた表情をする、大声を上げる、唐突に走り出す等の急激に変化のある行動をとった場合に、その特徴の不規則性の程度は高いと推定可能である。一方で、人物の行動に変化が少ない場合に、その特徴の不規則性の程度は低いと推定可能である。そこで、制御部11は、画像センサ、音センサ等のセンサにより、人物の反応を観測し、得られた観測データから、例えば、表情の変化度合、声の抑揚等の人物の反応の推移を計測してもよい。人物の反応の推移を計測する方法には、例えば、画像解析による表情推定、音声解析による感情推定等の公知の方法が採用されてもよい。そして、制御部11は、計測の結果に基づいて、その特徴の不規則性の程度を推定し、推定の結果に基づいて、各第2サンプル322に設定する各希少度325の値を決定してもよい。これらの方法により、特徴又は特徴情報323が所定のデータに現れる不規則性の程度に応じて希少度325を設定することができる。当該変更は、上記変形例に係る各予測システム100A~100Gについても同様に適用されてよい。
【0368】
<4.5>
推定器51(エンコーダ52及びデコーダ53)、予測モデル55、及び不一致性予測器57はそれぞれ、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、推定器51、予測モデル55、及び不一致性予測器57それぞれを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、推定器51、予測モデル55、及び不一致性予測器57それぞれは、畳み込み層、プーリング層、及び全結合層を備える畳み込みニューラルネットワークにより構成されてよい。また、例えば、推定器51、予測モデル55、及び不一致性予測器57それぞれは、再帰型ニューラルネットワークにより構成されてよい。また、推定器51、予測モデル55、及び不一致性予測器57の少なくともいずれかには、ニューラルネットワーク以外の学習モデルが利用されてよい。
【0369】
また、推定器51及び不一致性予測器57の少なくとも一方は省略されてよい。例えば、上記変形例のとおり、第2サンプル322に現れる特徴を特徴情報323が直接的に示す場合に、推定器51が省略されてよい。推定器51が省略される場合、第1データ取得部111、第1学習処理部112、及び第1保存処理部113がモデル生成装置1のソフトウェア構成から省略されてもよい。また、例えば、上記変形例のとおり、不一致性予測器57を利用せずに希少度325を設定する場合に、不一致性予測器57が省略されてよい。不一致性予測器57が省略される場合、第3データ取得部117及び第3学習処理部118がモデル生成装置1のソフトウェア構成から省略されてもよい。この場合、希少度設定部119は、不一致性予測器57を利用しない上記方法により、各第2学習データセット32の希少度325を設定してもよい。また、各第2学習データセット32の希少度325が予め設定されている場合、希少度設定部119は、モデル生成装置1のソフトウェア構成から省略されてもよい。これらの変更は、上記変形例に係る各予測システム100A~100Gについても同様に適用されてよい。
【符号の説明】
【0370】
1…モデル生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…第1データ取得部、112…第1学習処理部、
113…第1保存処理部、
114…第2データ取得部、115…第2学習処理部、
116…第2保存処理部、
117…第3データ取得部、118…第3学習処理部、
119…希少度設定部、
121…第1学習結果データ、123…第2学習結果データ、
81…モデル生成プログラム、91…記憶媒体、
2…予測装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
27…外部インタフェース、
211…対象データ収集部、212…予測部、
213…出力部、
221…対象サンプル、223…特徴、
225…予測サンプル、
82…予測プログラム、92…記憶媒体、
S…センサ、
31…第1学習データセット、
311…サンプル、313…正解データ、
32…第2学習データセット、
321…第1サンプル、322…第2サンプル、
323…特徴情報、325…希少度、
33…第3学習データセット、
333…不一致性、
51…推定器、
52…エンコーダ、
521…入力層、522…中間(隠れ)層、
523…出力層、
53…デコーダ、
531…入力層、532…中間(隠れ)層、
533…出力層、
55…予測モデル、
551…入力層、552…中間(隠れ)層、
553…出力層、
57…不一致性予測器、
571…入力層、572…中間(隠れ)層、
573…出力層