(57)【要約】【課題】動物などの観察対象の行動を予測することができる状態推移予測装置、コンピュータプログラム及び学習装置を提供する。【解決手段】本実施の形態に係る状態推移予測装置は、観察対象の状態情報を取得する第１取得部と、前記観察対象の周辺の環境情報を取得する第２取得部と、前記観察対象の状態情報の推移及び環境情報の変化を学習した第１学習済モデルを記憶する記憶部と、前記第１取得部及び前記第２取得部が取得した情報を前記第１学習済モデルに入力して、所定時間経過後の環境情報を推定し、推定した時点での前記状態情報の推移を予測する推移予測部とを備える。前記観察対象を撮像した画像を取得する画像取得部と、前記観察対象の状態を識別する第２学習済モデルを記憶する記憶部とを備え、前記第１取得部は、前記画像取得部が取得した画像を前記第２学習済モデルに入力して、前記観察対象の状態情報を取得してもよい。【選択図】図１
2020067913.tif 000002
【特許請求の範囲】
【請求項１】
観察対象の状態情報を取得する第１取得部と、
前記観察対象の周辺の環境情報を取得する第２取得部と、
前記観察対象の状態情報の推移及び環境情報の変化を学習した第１学習済モデルを記憶する記憶部と、
前記第１取得部及び前記第２取得部が取得した情報を前記第１学習済モデルに入力して、所定時間経過後の環境情報を推定し、推定した時点での前記状態情報の推移を予測する推移予測部と
を備える、状態推移予測装置。
【請求項２】
前記観察対象を撮像した画像を取得する画像取得部と、
前記観察対象の状態を識別する第２学習済モデルを記憶する記憶部と
を備え、
前記第１取得部は、前記画像取得部が取得した画像を前記第２学習済モデルに入力して、前記観察対象の状態情報を取得する、請求項１に記載の状態推移予測装置。
【請求項３】
前記第２学習済モデルは、ニューロンが多階層に結合された深層学習の学習済モデルであり、
前記第１取得部は、前記第２学習済モデルの最終出力層より前の層が保持する特徴量を、前記観察対象の状態情報として取得する、請求項２に記載の状態推移予測装置。
【請求項４】
前記第１学習済モデルは、
同じ時点の前記観察対象の状態情報及び周辺の環境情報を入力とし、
前記観察対象の状態情報及び周辺の環境情報の組み合わせに基づいて、組み合わせ結果を報酬として算出し、
前記報酬を用いて、環境情報に対する状態情報を学習して生成される、請求項１乃至請求項３のいずれか１つに記載の状態推移予測装置。
【請求項５】
前記第２取得部は、ネットワークを介して他の装置との通信を行い、前記周辺の環境情報の予測値を前記他の装置から取得する、請求項１乃至請求項４のいずれか１つに記載の状態推移予測装置。
【請求項６】
前記推移予測部が予測する前記観察対象の前記状態情報の推移に基づいて、前記観察対象が所定の状態となる時刻を予測する時刻予測部と、
前記時刻予測部が予測した時刻を、ネットワークを介して他の装置へ通知する通知部と
を備える、請求項１乃至請求項５のいずれか１つに記載の状態推移予測装置。
【請求項７】
コンピュータに、
観察対象の状態情報を取得し、
前記観察対象の周辺の環境情報を取得し、
前記観察対象の状態情報の推移及び環境情報の変化を学習した第１学習済モデルに、取得した前記観察対象の状態情報及び周辺の環境情報を入力して、所定時間経過後の環境情報を推定し、推定した時点での前記状態情報の推移を予測する
処理を行わせるコンピュータプログラム。
【請求項８】
コンピュータに、
観察対象の状態情報を取得し、
前記観察対象の周辺の環境情報を取得し、
前記観察対象の状態情報及び前記周辺の環境情報に対応する前記観察対象の状態情報の推移を取得し、
取得した前記観察対象の状態情報及び前記周辺の環境情報を入力とし、取得した前記観察対象の状態情報の推移を最適な状態情報の推移とした場合の報酬を推定する学習モデルを、逆強化学習により学習させる
処理を行わせるコンピュータプログラム。
【請求項９】
観察対象の状態情報を取得する第１取得部と、
前記観察対象の周辺の環境情報を取得する第２取得部と、
前記観察対象の状態情報及び前記周辺の環境情報に対応する前記観察対象の状態情報の推移を取得する第３取得部と、
前記第１取得部が取得した前記観察対象の状態情報及び前記第２取得部が取得した前記周辺の環境情報を入力とし、前記第３取得部が取得した前記観察対象の状態情報の推移を最適な状態情報の推移とした場合の報酬を推定する学習モデルを、逆強化学習により学習させる逆強化学習処理部と
を備える、学習装置。
【請求項１０】
コンピュータに、
観察対象の状態情報を取得し、
前記観察対象の周辺の環境情報を取得し、
取得した前記観察対象の状態情報及び前記観察対象の周辺の環境情報を、観察対象の状態情報、前記観察対象の周辺の環境情報及び前記観察対象の状態情報の推移に基づいて逆強化学習された報酬推定モデルに入力し、該報酬推定モデルにより推定された報酬を取得し、
取得した前記観察対象の状態情報、前記観察対象の周辺の環境情報及び前記報酬を用いて、前記観察対象の状態情報の推移を予測する学習モデルを強化学習により学習させる
処理を行わせるコンピュータプログラム。
【請求項１１】
観察対象の状態情報、前記観察対象の周辺の環境情報及び前記観察対象の状態情報の推移に基づいて逆強化学習された報酬推定モデルを記憶する記憶部と、
観察対象の状態情報を取得する第１取得部と、
前記観察対象の周辺の環境情報を取得する第２取得部と、
前記第１取得部が取得した前記観察対象の状態情報、及び、前記第２取得部が取得した前記観察対象の周辺の環境情報を前記報酬推定モデルに入力して、該報酬推定モデルにより推定された報酬を取得する第３取得部と、
前記第１取得部が取得した前記観察対象の状態情報、前記第２取得部が取得した前記観察対象の周辺の環境情報及び前記第３取得部が取得した前記報酬を用いて、前記観察対象の状態情報の推移を予測する学習モデルを強化学習により学習させる強化学習処理部と
を備える、学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観察対象の状態推移を予測する状態推移予測装置及びコンピュータプログラムと、この予測に用いられる学習モデルを学習するコンピュータプログラム及び学習装置とに関する。
【背景技術】
【０００２】
動物園では、様々な動物が飼育されている。動物園を訪れた来場者は、普段の生活では見ることこのできない動物と触れ合うことができる。特に、子供たちにとって動物園は、貴重な経験が得られる重要な教育の場でもある。しかし、動物園で飼育されている動物は、人間の都合に合わせて行動するわけではない。このため、例えば所望の動物が長時間に亘って寝ており、動いている姿を見ることができないなど、来場者の期待を満たすことができない場合がある。また例えば、特定の動物の特定の行動に人気がある場合、この行動を見るために多くの来場者がこの動物の飼育場所で待機し、不要な混雑を生み出す要因となっていた。
【０００３】
特許文献１においては、動物園内の各動物の生活環境に動画像生成装置を設置して、各動物の動画像データを逐次生成して動画像生成装置がサーバへ送信し、インターネットを介して任意の通信端末装置からのアクセスを受け付けたサーバが、通信端末装置にて選択された動物の動画像データをリアルタイムで送信する動画像配信システムが提案されている。サーバは、動画像データをデータベースに蓄積し、過去の動画像データを通信端末装置へ送信することもできる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７７８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１に記載の動画像配信システムは、例えば所望の動物が長時間に亘って寝ている場合には、寝ている動物の姿が配信されるため、必ずしも動物が動いている姿を見ることができるとは限らない。サーバは過去の動画像データを送信することもできるが、過去の動画像データをディスプレイで視聴するのと、実際の動物の行動をリアルタイムで見るのとでは、得られる経験に雲泥の差がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、動物などの観察対象の状態の推移（行動）を予測することができる状態推移予測装置、コンピュータプログラム及び学習装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る状態推移予測装置は、観察対象の状態情報を取得する第１取得部と、前記観察対象の周辺の環境情報を取得する第２取得部と、前記観察対象の状態情報の推移及び環境情報の変化を学習した第１学習済モデルを記憶する記憶部と、前記第１取得部及び前記第２取得部が取得した情報を前記第１学習済モデルに入力して、所定時間経過後の環境情報を推定し、推定した時点での前記状態情報の推移を予測する推移予測部とを備える。
【０００８】
また、本発明に係る状態推移予測装置は、前記観察対象を撮像した画像を取得する画像取得部と、前記観察対象の状態を識別する第２学習済モデルを記憶する記憶部とを備え、前記第１取得部は、前記画像取得部が取得した画像を前記第２学習済モデルに入力して、前記観察対象の状態情報を取得する。
【０００９】
また、本発明に係る状態推移予測装置は、前記第２学習済モデルが、ニューロンが多階層に結合された深層学習の学習済モデルであり、前記第１取得部は、前記第２学習済モデルの最終出力層より前の層が保持する特徴量を、前記観察対象の状態情報として取得する。
【００１０】
また、本発明に係る状態推移予測装置は、前記第１学習済モデルが、同じ時点の前記観察対象の状態情報及び周辺の環境情報を入力とし、前記観察対象の状態情報及び周辺の環境情報の組み合わせに基づいて、組み合わせ結果を報酬として算出し、前記報酬を用いて、環境情報に対する状態情報を学習して生成される。
【００１１】
また、本発明に係る状態推移予測装置は、前記第２取得部は、ネットワークを介して他の装置との通信を行い、前記周辺の環境情報の予測値を前記他の装置から取得する。
【００１２】
また、本発明に係る状態推移予測装置は、前記推移予測部が予測する前記観察対象の前記状態情報の推移に基づいて、前記観察対象が所定の状態となる時刻を予測する時刻予測部と、前記時刻予測部が予測した時刻を、ネットワークを介して他の装置へ通知する通知部とを備える。
【００１３】
また、本発明に係るコンピュータプログラムは、コンピュータに、観察対象の状態情報を取得し、前記観察対象の周辺の環境情報を取得し、前記観察対象の状態情報の推移及び環境情報の変化を学習した第１学習済モデルに、取得した前記観察対象の状態情報及び周辺の環境情報を入力して、所定時間経過後の環境情報を推定し、推定した時点での前記状態情報の推移を予測する処理を行わせる。
【００１４】
また、本発明に係るコンピュータプログラムは、コンピュータに、観察対象の状態情報を取得し、前記観察対象の周辺の環境情報を取得し、前記観察対象の状態情報及び前記周辺の環境情報に対応する前記観察対象の状態情報の推移を取得し、取得した前記観察対象の状態情報及び前記周辺の環境情報を入力とし、取得した前記観察対象の状態情報の推移を最適な状態情報の推移とした場合の報酬を推定する学習モデルを、逆強化学習により学習させる処理を行わせる。
【００１５】
また、本発明に係る学習装置は、観察対象の状態情報を取得する第１取得部と、前記観察対象の周辺の環境情報を取得する第２取得部と、前記観察対象の状態情報及び前記周辺の環境情報に対応する前記観察対象の状態情報の推移を取得する第３取得部と、前記第１取得部が取得した前記観察対象の状態情報及び前記第２取得部が取得した前記周辺の環境情報を入力とし、前記第３取得部が取得した前記観察対象の状態情報の推移を最適な状態情報の推移とした場合の報酬を推定する学習モデルを、逆強化学習により学習させる逆強化学習処理部とを備える。
【００１６】
また、本発明に係るコンピュータプログラムは、コンピュータに、観察対象の状態情報を取得し、前記観察対象の周辺の環境情報を取得し、取得した前記観察対象の状態情報及び前記観察対象の周辺の環境情報を、観察対象の状態情報、前記観察対象の周辺の環境情報及び前記観察対象の状態情報の推移に基づいて逆強化学習された報酬推定モデルに入力し、該報酬推定モデルにより推定された報酬を取得し、取得した前記観察対象の状態情報、前記観察対象の周辺の環境情報及び前記報酬を用いて、前記観察対象の状態情報の推移を予測する学習モデルを強化学習により学習させる処理を行わせる。
【００１７】
また、本発明に係る学習装置は、観察対象の状態情報、前記観察対象の周辺の環境情報及び前記観察対象の状態情報の推移に基づいて逆強化学習された報酬推定モデルを記憶する記憶部と、観察対象の状態情報を取得する第１取得部と、前記観察対象の周辺の環境情報を取得する第２取得部と、前記第１取得部が取得した前記観察対象の状態情報、及び、前記第２取得部が取得した前記観察対象の周辺の環境情報を前記報酬推定モデルに入力して、該報酬推定モデルにより推定された報酬を取得する第３取得部と、前記第１取得部が取得した前記観察対象の状態情報、前記第２取得部が取得した前記観察対象の周辺の環境情報及び前記第３取得部が取得した前記報酬を用いて、前記観察対象の状態情報の推移を予測する学習モデルを強化学習により学習させる強化学習処理部とを備える。
【００１８】
本発明において状態推移予測装置は、動物などの観察対象の状態情報を取得し、この観察対象の周辺の環境情報を取得して、観察対象の状態情報の推移（行動）を予測する。状態推移予測装置は、観察対象の状態情報の推移を学習した第１学習済モデルを備え、この第１学習済モデルに対して観察対象の状態情報及び周辺の環境情報を入力し、第１学習済モデルの出力情報を得ることによって、所定時間経過後の観察対象の状態情報の推移を予測する。これにより状態推移予測装置は、予め学習された第１学習済モデルを利用し、観察対象の状態情報及び周辺の環境情報に基づいて、観察対象の状態情報の推移を精度よく予測することが可能となる。
【００１９】
また本発明において状態推移予測装置は、観察対象をカメラなどで撮像した画像を取得し、この画像に基づいて観察対象の状態情報を取得する。状態推移予測装置は、観察対象の状態を識別する第２学習済モデルを備え、この第２学習済モデルに対して観察対象の画像を入力して、観察対象の状態情報を取得する。これにより状態推移予測装置は、予め学習された第２学習済モデルを利用し、精度のよい観察対象の状態情報を取得することができ、精度のよい観察対象の状態情報の推移の予測を行うことが可能となる。
【００２０】
また本発明においては、第２学習済モデルとして、ニューロンが多階層に結合された深層学習の学習済モデルを用いる。第２学習済モデルは、観察対象の画像を入力とし、観察対象の状態の識別結果を出力する。状態推移予測装置は、第２学習済モデルの最終出力層より前の層が保持する特徴量の情報を取得し、この情報を観察対象の状態情報とする。これにより状態推移予測装置は、観察対象を撮像した画像を基に、観察対象の特徴を精度よく表す状態情報を取得することができる。
【００２１】
また本発明において第１学習済モデルは、観察対象の状態情報及び周辺の環境情報の組み合わせに基づいて算出された報酬を用いて学習される。これにより、精度のよい学習を行って第１学習済モデルを生成することができ、第１学習済モデルを利用した観察対象の状態情報の推移の予測を精度よく行うことが可能となる。
【００２２】
また本発明において状態推移予測装置は、ネットワークを介して他の装置との通信を行い、他の装置から環境情報の予測値を取得する。これにより状態推移予測装置は、様々な他の装置から取得した環境情報の予測値を用いて、観察対象の状態情報の推移の予測を精度よく行うことが可能となる。
【００２３】
また本発明において状態推移予測装置は、第１学習済モデルを利用して観察対象の行動を予測し、この予測結果に基づいて観察対象が所定の行動を行う時刻を予測する。状態推移予測装置は、予測した時刻を、ネットワークを介して他の装置へ通知する。これにより他の装置を所持者は、観察対象が所定の行動を行う時刻を、状態推移予測装置から通知される時刻に基づいて把握することができる。
【００２４】
また本発明において学習装置は、観察対象の状態情報と、観察対象の周辺の環境情報と、これら状態情報及び環境情報に対応する観察対象の状態情報の推移を取得する。学習装置は、状態情報及び環境情報を入力とし、観察対象の状態情報の推移を最適なものとした場合の報酬を推定する学習モデルを、逆強化学習により学習させる。逆強化学習された学習済モデルを用いることによって、強化学習に用いる報酬の精度のよい推定値を得ることができ、観察対象の状態情報の推移を予測する学習済モデルの生成を精度よく行うことが可能となる。
【００２５】
また本発明において学習装置は、観察対象の状態情報と、観察対象の周辺の環境情報とを取得する。また学習装置は、観察対象の状態情報、環境情報及び状態情報の推移に基づいて逆強化学習された報酬推定モデルを用い、この報酬推定モデルにより推定された報酬を取得する。学習装置は、取得した状態情報、環境情報及び報酬を用いて、観察対象の状態情報の推移を予測する学習モデルを強化学習により学習させる。これにより、強化学習された学習済モデルを用いて、観察対象の状態情報の推移を精度よく予測することが可能となる。
【発明の効果】
【００２６】
本発明による場合は、観察対象の状態情報の推移を予測することができ、例えば予測結果を予め通知するなどのサービスの提供が可能となる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態に係る行動予測システムの概要を説明するための模式図である。
【図２】本実施の形態に係る行動予測サーバの構成を示すブロック図である。
【図３】本実施の形態に係る学習サーバの構成を示すブロック図である。
【図４】本実施の形態に係るスマホの構成を示すブロック図である。
【図５】深層学習の学習モデルの概念を説明するための模式図である。
【図６】本実施の形態に係る状態識別モデルの構成を示す模式図である。
【図７】本実施の形態に係る行動予測モデルの構成を示す模式図である。
【図８】本実施の形態に係る報酬推定モデルの構成を示す模式図である。
【図９】本実施の形態に係る行動予測モデル及び報酬推定モデルの学習処理を説明するための模式図である。
【図１０】本実施の形態に係る学習モデルの生成手順を説明するためのフローチャートである。
【図１１】本実施の形態に係る行動予測サーバが行う動物１の行動予測の処理を説明するための模式図である。
【図１２】本実施の形態に係る行動予測サーバが行う行動予測処理の手順を示すフローチャートである。
【図１３】環境情報の予測値を用いる場合の行動予測処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２８】
本発明の実施形態に係る状態推移予測装置の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００２９】
＜システム概要＞
図１は、本実施の形態に係る行動予測システムの概要を説明するための模式図である。本実施の形態に係る行動予測システムは、例えば動物園で飼育されている動物１を観察対象とし、動物１の状態の推移、即ち行動を予測して動物園の来場者などに通知するシステムである。行動予測システムは、動物１の飼育場などに設けられたカメラ５、温度計６、湿度計７及び明るさセンサ８等から得られる情報、並びに、外部環境サーバ９から得られる情報に基づいて、行動予測サーバ２が動物１の行動を予測する。行動予測サーバ２は、予測した動物１の行動に関する予測情報を、動物園の来場者が所持するスマホ（スマートフォン）３へ送信する。来場者は、スマホ３にて受信した予測情報に基づいて、例えば動物１が所定の行動を行うタイミングで飼育場を訪れ、動物１の行動を観察することができる。
【００３０】
なお本実施の形態においては、行動予測サーバ２が他の装置から取得する情報を、画像情報及び環境情報の２つの情報に大別する。画像情報は、動物１の飼育場に設置されたカメラ５が、動物１を撮像することにより得られる画像の情報である。環境情報は、動物１の周辺の環境に関する種々の情報であり、例えば温度計６により計測される温度情報、湿度計７により計測される湿度情報、及び、明るさセンサ８により計測される明るさ情報等が含まれ得る。また更に、本実施の形態において環境情報には、外部環境サーバ９から得られる種々の情報、例えば気象予報サーバから得られる天気予報の情報などが含まれ得る。
【００３１】
本実施の形態に係る行動予測サーバ２は、状態識別モデル１０１及び行動予測モデル１０２の２つの学習済モデルを備えている。状態識別モデル１０１は、カメラ５が動物１を撮像した画像情報に基づいて、この動物１の状態、例えば動物１が寝ている、起きている、立ち上がっている、歩いている又は吠えている等の状態を識別する。行動予測サーバ２は、カメラ５から取得した画像情報を状態識別モデル１０１へ入力することにより、動物１の状態情報を取得する。本実施の形態に係る状態識別モデル１０１は、複数のニューロンが多階層に結合された深層学習の学習済モデルであり、動物１の画像情報を入力とし、動物１の状態の識別結果を出力する。本実施の形態に係る行動予測サーバ２は、状態識別モデル１０１の最終出力層より前の層が保持する特徴量の情報を取得し、この情報を動物１の状態情報とする。
【００３２】
行動予測モデル１０２は、動物１の行動を強化学習により学習した学習済モデルであり、現在の動物１の状態情報及び周辺の環境情報に基づいて、この動物１の未来の行動を予測する。行動予測サーバ２は、状態識別モデル１０１から取得した動物１の状態情報と、他の装置から取得した環境情報とを行動予測モデル１０２に入力し、行動予測モデル１０２が出力する動物１の行動の予測結果を取得する。また行動予測サーバ２は、行動予測モデル１０２による動物１の行動の予測結果に基づいて、更に先の動物１の行動を、行動予測モデル１０２を利用して予測することができる。行動予測サーバ２は、行動予測モデル１０２を利用した予測を繰り返して行うことによって、動物１が所定の行動を行う時刻を予測することができる。
【００３３】
行動予測サーバ２が利用する行動予測モデル１０２は、学習サーバ４にて強化学習が行われた学習済モデルである。行動予測サーバ２は、学習サーバ４が学習処理を行うための情報として、動物１の状態情報及び周辺の環境情報を学習サーバ４へ送信する。動物１の状態情報は、行動予測サーバ２がカメラ５の撮像画像を状態識別モデル１０１へ入力することにより取得される情報である。環境情報は、温度計６、湿度計７及び明るさセンサ８等の装置から得られる情報である。
【００３４】
学習サーバ４は、行動予測サーバ２から与えられた情報に基づいて、行動予測モデル１０２を強化学習する処理を行う。また更に、学習サーバ４は、行動予測モデル１０２の強化学習に用いられる報酬を推定するための報酬推定モデル１０３を備えており、この報酬推定モデル１０３を逆強化学習により学習する処理を行う。学習サーバ４は、行動予測サーバ２から与えられた状態情報及び環境情報を用いて報酬推定モデル１０３の逆強化学習を行い、報酬推定モデル１０３を用いて状態情報及び環境情報に対応する報酬を推定する。また学習サーバ４は、状態情報及び環境情報と、報酬推定モデル１０３にて推定した報酬とを用いて、行動予測モデル１０２の強化学習を行う。学習サーバ４は、強化学習を行った行動予測モデル１０２を行動予測サーバ２へ送信する。
【００３５】
なお、行動予測サーバ２による状態情報及び環境情報の取得は数秒〜数十秒程度の周期で繰り返し行われ、動物１に関する情報が時系列的に蓄積される。行動予測サーバ２から学習サーバ４への情報送信は、行動予測サーバ２が情報を取得する都度に行われてもよく、ある程度の情報が蓄積された後で行われてもよい。また学習サーバ４による行動予測モデル１０２の強化学習は、例えば数時間に１回、数日に１回、数週間に１回又は数ヶ月に１か等の所定周期で繰り返し行われる。学習サーバ４は所定周期で強化学習した行動予測モデル１０２を行動予測サーバ２へ送信し、これを受信した行動予測サーバ２は自身が備える行動予測モデル１０２を新たに受信した行動予測モデル１０２に更新する。
【００３６】
なお、行動予測サーバ２が備える状態識別モデル１０１は、学習サーバ４にて学習が行われてもよく、別の装置にて学習が行われてもよい。状態識別モデル１０１は、学習サーバ４による行動予測モデル１０２の強化学習を行う前の段階で、学習が終了している必要がある。
【００３７】
＜装置構成＞
図２は、本実施の形態に係る行動予測サーバ２の構成を示すブロック図である。本実施の形態に係る行動予測サーバ２は、処理部（プロセッサ）２１、記憶部（ストレージ）２２及び通信部（トランシーバ）２３等を備えて構成されている。処理部２１は、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成されており、記憶部２２に記憶されたサーバプログラム２２ａを読み出して実行することにより、種々の演算処理及び制御処理等を行う。本実施の形態において処理部２１は、動物１に関する各種の情報を収集する処理、動物１の行動を予測する処理、及び、予測結果を通知する処理等を行う。
【００３８】
記憶部２２は、例えばハードディスクドライブなどの大容量の記憶装置を用いて構成されている。記憶部２２は、処理部２１が実行するサーバプログラム２２ａ、及び、このプログラムの実行に必要なデータ等が記憶される。また本実施の形態において記憶部２２は、状態識別モデル１０１及び行動予測モデル１０２の学習済モデルを記憶している。状態識別モデル１０１及び行動予測モデル１０２は、例えば学習サーバ４などの他の装置において予め学習が行われた学習済モデルである。この学習済モデルは、入力値に対して所定の演算を行い、演算結果を出力するものであり、記憶部２２にはこの演算を規定する関数の係数及び閾値等のデータが状態識別モデル１０１及び行動予測モデル１０２として記憶される。サーバプログラム２２ａを実行する処理部２１が、状態識別モデル１０１及び行動予測モデル１０２として記憶されたデータを読み込むことによって、動物１の状態識別のための演算及び動物１の行動予測のための演算を処理部２１が実行することが可能となる。
【００３９】
サーバプログラム２２ａ、状態識別モデル１０１及び行動予測モデル１０２は、例えば行動予測サーバ２の製造段階において記憶部２２に書き込まれてもよく、また例えばネットワークを介して他の装置が配信するものを取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体９９に記録されたものを行動予測サーバ２が読み出して記憶部２２に記憶してもよい。サーバプログラム２２ａ、状態識別モデル１０１及び行動予測モデル１０２は、ネットワークを介した配信の態様で提供されてもよく、記録媒体９９に記録された態様で提供されてもよい。
【００４０】
通信部２３は、ＬＡＮ（Local Area Network）、インターネット及び携帯電話通信網等を含むネットワークＮＷを介して、他の装置との通信を行う。通信部２３は、例えば動物園内に設けられたＬＡＮなどのネットワークＮＷを介してカメラ５、温度計６、湿度計７及び明るさセンサ８等との通信を行う。通信部２３は、例えばインターネットなどのネットワークＮＷを介して学習サーバ４及び外部環境サーバ９等との通信を行う。また通信部２３は、例えば携帯電話通信網などのネットワークＮＷを介してスマホ３との通信を行う。通信部２３は、ネットワークＮＷを介して他の装置から受信した情報を処理部２１へ与えると共に、処理部２１から与えられた送信用の情報を他の装置へ送信する。
【００４１】
また処理部２１には、記憶部２２に記憶されたサーバプログラム２２ａが実行されることによって、状態情報取得部２１ａ、環境情報取得部２１ｂ、予測処理部２１ｃ及び通知処理部２１ｄ等がソフトウェア的な機能ブロックとして実現される。状態情報取得部２１ａは、カメラ５が撮像した動物１の画像情報と、記憶部２２に記憶した状態識別モデル１０１とに基づいて、動物１の状態情報を取得する処理を行う。
【００４２】
環境情報取得部２１ｂは、通信部２３にてネットワークＮＷを介して温度計６、湿度計７、明るさセンサ８及び外部環境サーバ９等の装置との通信を行うことにより、動物１の周辺の環境情報を取得する処理を行う。状態情報取得部２１ａが取得した状態情報と、環境情報取得部２１ｂが取得した環境情報とは、一組の情報として学習サーバ４へ送信される。
【００４３】
予測処理部２１ｃは、状態情報取得部２１ａが取得した動物１の状態情報と、環境情報取得部２１ｂが取得した環境情報と、記憶部２２に記憶された行動予測モデル１０２とに基づいて、動物１の行動を予測する処理を行う。また予測処理部２１ｃは、行動予測モデル１０２を利用した行動予測を繰り返し行うことによって、動物１が所定の行動を行う時刻を予測する処理を行う。
【００４４】
通知処理部２１ｄは、予測処理部２１ｃが予測した結果を、通信部２３にてスマホ３へ通知する処理を行う。通知処理部２１ｄは、複数のスマホ３に対して通知の情報を自動的に送信する方法、いわゆるプッシュ型配信の方法で通知を行ってもよく、又は、スマホ３からの要求に応じて通知の情報を送信する方法、いわゆるプル型配信の方法で通知を行ってもよい。
【００４５】
図３は、本実施の形態に係る学習サーバ４の構成を示すブロック図である。本実施の形態に係る学習サーバ４は、処理部（プロセッサ）４１、記憶部（ストレージ）４２及び通信部（トランシーバ）４３等を備えて構成されている。処理部４１は、ＣＰＵ、ＧＰＵ又はＭＰＵ等の演算処理装置を用いて構成されており、記憶部４２に記憶されたサーバプログラム４２ａを読み出して実行することにより、種々の演算処理及び制御処理等を行う。本実施の形態において処理部４１は、行動予測モデル１０２を強化学習する処理、報酬推定モデル１０３を逆強化学習する処理、及び、学習済の行動予測モデル１０２を行動予測サーバ２へ配信する処理等を行う。
【００４６】
記憶部４２は、例えばハードディスクドライブなどの大容量の記憶装置を用いて構成されている。記憶部４２は、処理部４１が実行するサーバプログラム４２ａ、及び、このプログラムの実行に必要なデータ等が記憶される。また本実施の形態において記憶部４２は、行動予測モデル１０２及び報酬推定モデル１０３の学習済モデルを記憶している。この行動予測モデル１０２及び報酬推定モデル１０３は、学習サーバ４が学習を行った学習済モデルである。この学習済モデルは、入力値に対して所定の演算を行い、演算結果を出力するものであり、記憶部４２にはこの演算を規定する関数の係数及び閾値等のデータが行動予測モデル１０２及び報酬推定モデル１０３として記憶される。サーバプログラム４２ａを実行する処理部４１が、行動予測モデル１０２及び報酬推定モデル１０３として記憶されたデータを読み込むことによって、動物１の行動予測のための演算及び強化学習のための報酬を推定する処理を処理部４１が実行することが可能となる。
【００４７】
サーバプログラム４２ａ、行動予測モデル１０２及び報酬推定モデル１０３は、例えば学習サーバ４の製造段階において記憶部４２に書き込まれてもよく、また例えばネットワークを介して他の装置が配信するものを取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体９８に記録されたものを学習サーバ４が読み出して記憶部４２に記憶してもよい。サーバプログラム４２ａ、行動予測モデル１０２及び報酬推定モデル１０３は、ネットワークを介した配信の態様で提供されてもよく、記録媒体９８に記録された態様で提供されてもよい。
【００４８】
通信部４３は、ＬＡＮ、インターネット及び携帯電話通信網等を含むネットワークＮＷを介して、他の装置との通信を行う。通信部４３は、例えばインターネットなどのネットワークＮＷを介して行動予測サーバ２との通信を行う。通信部４３は、ネットワークＮＷを介して他の装置から受信した情報を処理部４１へ与えると共に、処理部４１から与えられた送信用の情報を他の装置へ送信する。
【００４９】
また処理部４１には、記憶部４２に記憶されたサーバプログラム４２ａが実行されることによって、情報取得部４１ａ、逆強化学習処理部４１ｂ、強化学習処理部４１ｃ及びモデル配信部４１ｄ等がソフトウェア的な機能ブロックとして実現される。情報取得部４１ａは、行動予測サーバ２から送信される動物１の状態情報及び周辺の環境情報を通信部４３にて受信して取得する処理を行う。情報取得部４１ａは、取得したこれらの情報を記憶部４２に記憶して蓄積する。
【００５０】
逆強化学習処理部４１ｂは、情報取得部４１ａが取得して記憶部４２に蓄積した動物１の状態情報及び周辺の環境情報を用い、逆強化学習により報酬推定モデル１０３を学習する処理を行う。強化学習は、設定された報酬に基づいて、最適な方策を推定する処理である。これに対して逆強化学習は、最適な方策に基づいて、報酬を推定する処理である。逆強化学習処理部４１ｂは、蓄積された動物１の状態情報及び周辺の環境情報に対する動物１の行動情報（動物１が実際に行った行動）を最適な方策とし、状態情報及び環境情報の入力に対して推定した報酬を出力する報酬推定モデル１０３を生成する。
【００５１】
強化学習処理部４１ｃは、情報取得部４１ａが取得して記憶部４２に蓄積した動物１の状態情報及び周辺の環境情報と、この状態情報及び環境情報に基づいて報酬推定モデル１０３が推定した報酬とに基づいて、強化学習により行動予測モデル１０２を学習する処理を行う。モデル配信部４１ｄは、強化学習処理部４１ｃが強化学習により学習した行動予測モデル１０２を、通信部４３にて行動予測サーバ２へ送信する処理を行う。
【００５２】
図４は、本実施の形態に係るスマホ３の構成を示すブロック図である。本実施の形態に係るスマホ３は、処理部（プロセッサ）３１、記憶部（ストレージ）３２、表示部（ディスプレイ）３３、操作部３４、カメラ３５、無線通信部３６及びＧＰＳ（Global Positioning System）受信部３７等を備えて構成されている。処理部３１は、ＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部３２に記憶されたプログラムを実行することによって種々の演算処理を行うことができる。本実施の形態において処理部３１は、記憶部３２に記憶されたアプリ３２ａを実行することにより、動物１の行動に関する予測情報を表示部３３に表示する処理を行う。
【００５３】
記憶部３２は、例えばフラッシュメモリなどの不揮発性のメモリ素子を用いて構成されており、処理部３１が実行する種々のプログラムと、このプログラムの実行に必要な種々のデータとを記憶する。本実施の形態において記憶部３２には、処理部３１が実行するアプリ３２ａが記憶されている。アプリ３２ａは、例えばスマホ３の製造段階において記憶部３２に書き込まれてもよく、また例えば種々のアプリを配信するサーバからスマホ３がアプリ３２ａを通信にて取得してもよく、また例えばメモリカードなどの記録媒体に記録されたものをスマホ３が読み出して記憶部３２に記憶してもよい。アプリ３２ａは、ネットワークを介した配信の態様で提供されてもよく、記録媒体に記録された態様で提供されてもよい。
【００５４】
表示部３３は、液晶パネルなどの表示デバイスを用いて構成され、処理部３１の処理に応じて種々の画像を表示する。操作部３４は、ユーザの操作を受け付けて、受け付けた操作内容を処理部３１へ通知する。操作部３４は、例えば表示部３３の表面に設けられたタッチパネル、及び、スマホ３の筐体に設けられたプッシュスイッチ等を用いて構成される。カメラ３５は、例えばスマホ３の筐体の背面に設けられ、ユーザの操作に応じて画像を撮像し、撮像した画像を処理部３１へ与える。
【００５５】
無線通信部３６は、例えば携帯電話通信網又は無線ＬＡＮ等の無線通信網を利用し、ネットワークＮＷを介して他の装置との通信を行う。本実施の形態において無線通信部３６は、ネットワークＮＷを介して行動予測サーバ２との間で通信を行う。無線通信部３６は、処理部３１から与えられた送信用のデータを変調して得られた信号をアンテナへ出力することでデータを送信する。また無線通信部３６は、アンテナにて受信した信号を復調してデジタルのデータに変換し、このデータを受信データとして処理部３１へ与える。ＧＰＳ受信部３７は、ＧＰＳの人工衛星から送信される電波を受信し、受信した電波に含まれる情報を処理部３１へ与える。処理部３１は、ＧＰＳ受信部３７から与えられた情報に基づいて、スマホ３の位置（例えば緯度及び経度）を特定する処理を行うことができる。
【００５６】
また処理部３１には、記憶部３２に記憶されたアプリ３２ａが実行されることによって、予測情報表示処理部３１ａなどがソフトウェア的な機能ブロックとして実現される。予測情報表示処理部３１ａは、行動予測サーバ２から送信された動物１の行動の予測結果を無線通信部３６にて受信し、受信した予測結果を表示部３３に表示する処理を行う。
【００５７】
＜学習モデル＞
本実施の形態に係る行動予測システムでは、以下の３つの学習モデル（学習済モデル）が用いられている。
（１）動物１の状態を識別する状態識別モデル１０１
（２）動物１の行動を予測する行動予測モデル１０２
（３）行動予測モデル１０２を強化学習するための報酬を推定する報酬推定モデル１０３
【００５８】
（１）状態識別モデル１０１
状態識別モデル１０１は、カメラ５が撮像した動物１の画像に基づいて、動物１の状態を識別する。状態識別モデル１０１は、例えば入力された画像にフィルタ処理を施すことによって画像の特徴を示す特徴量を抽出し、抽出された複数の特徴量に対する演算処理を行うことによって、画像に含まれる動物１の状態を識別する。このときに行われる演算処理の内容は、予め行われた学習により決定される。本実施の形態において状態識別モデル１０１は、学習サーバ４又は他の装置により予め深層学習が行われた学習済モデルである。深層学習による学習がなされた状態識別モデル１０１が行動予測サーバ２の記憶部２２に予め記憶されて属性推定の処理に用いられる。
【００５９】
図５は、深層学習の学習モデルの概念を説明するための模式図である。図６は、本実施の形態に係る状態識別モデル１０１の構成を示す模式図である。深層学習は機械学習の一種であり、学習モデルとして複数のニューロンが相互に結合したニューラルネットの構造が採用されている。１つのニューロンの構成を図５に示し、複数のニューロンが結合したニューラルネットの一構成例を図６に示している。ニューロンは、複数の入力（Ｘ１，Ｘ２，…，Ｘｎ）に対して演算を行い、演算結果として１つの値Ｚを出力する。ニューロンは、演算に用いられる重み付けの係数（Ｗ１，Ｗ２，…、Ｗｎ）と閾値Ｖとを有している。まずニューロンは、入力（Ｘ１，Ｘ２，…，Ｘｎ）及び係数（Ｗ１，Ｗ２，…、Ｗｎ）に基づいて値Ｙ＝Ｘ１×Ｗ１＋Ｘ２×Ｗ２＋…＋Ｘｎ×Ｗｎを算出する。次いでニューロンは、算出された値Ｙが閾値Ｖを超えるか否かに応じて１又は０の値Ｚを出力する。なおニューロンの出力値Ｚは、例えばシグモイド関数又はＲｅＬＵ（Rectified Linear Unit）関数等により決定されてもよい。
【００６０】
ニューラルネットは、複数のニューロンが階層的に結合された構成である。図６に示すニューラルネットは、ｍ個の入力値を受け付ける入力層と、入力層にて受け付けられたデータに対して演算処理を行う中間層と、中間層の演算結果を集約してｎ個の値を出力する出力層とを備えている。図示の例では中間層が２階層とされているが、これは一例であって、中間層は１階層又は３階層以上であってよい。深層学習は、予め与えられた多数の入力データを用いて、ニューラルネットの各ニューロンの係数（Ｗ１，Ｗ２，…、Ｗｎ）及び閾値Ｖに適切な値を設定する処理である。
【００６１】
状態識別モデル１０１は、このニューラルネットの前段として、入力画像から特徴量を抽出するための畳み込み層及びプーリング層を備える。畳み込み層は、入力画像に対して局所的なフィルタリング処理を全域に亘って施すことにより、入力画像の特徴を抽出する。プーリング層は、畳み込み層にて特徴が抽出された画像に対し、特徴を保持したまま小さいサイズの画像へ変換する。畳み込み層及びプーリング層での処理を経ることにより、入力画像はｍ個の値に変換されてニューラルネットへ入力される。この構成は、ＣＮＮ（Convolution Neural Network：畳み込みニューラルネット）と呼ばれる。本実施の形態に係る状態識別モデル１０１は、このＣＮＮの構成を採用することができ、カメラ５の撮像画像から抽出した特徴量が入力値としてニューラルネットへ入力され、撮像された動物１の状態の識別結果が出力値として出力される。なおカメラ５の撮像画像に対しては、状態識別モデル１０１への入力に先立って、物体検出の処理が行われてもよい。物体検出の処理には、例えばＳＳＤ（Single Shot multi-box Detector）又はＹＯＬＯ（You Only Look Once）等の手法が採用され得る。
【００６２】
状態識別モデル１０１は、予め撮像された動物１の画像と、この画像に写された動物１の状態とが対応付けられた教師データを用いて、深層学習がなされた学習済モデルである。例えば、動物１の状態が「座っている」又は「立っている」の２状態である場合、状態識別モデル１０１の出力は、出力１：動物１が座っている確率と、出力２：動物１が立っている確率との２つとすることができる。又は、状態識別モデル１０１の出力を１つとし、出力値＝０の場合に動物１が座っており、出力値＝１の場合に動物１が立っていると識別されたものとすることができる。状態識別モデル１０１は予め深層学習が行われ、学習済の状態識別モデル１０１が行動予測サーバ２の製造段階などにおいて記憶部２２に記憶される。記憶部２２に記憶される状態識別モデル１０１は、具体的には、学習の結果として決定された各ニューロンの係数（Ｗ１，Ｗ２，…、Ｗｎ）及び閾値Ｖのデータであり、更にはニューラルネットの構成を規定する情報が含まれてもよい。
【００６３】
状態識別モデル１０１の出力層の前段（中間層の最終段）に属する複数のニューロンが保持している情報（ニューロンの出力値Ｚ）は、画像に写された動物１の状態の特徴を示しており、本実施の形態においてはこの情報を「状態情報」として利用する。行動予測サーバ２の状態情報取得部２１ａは、カメラ５による動物１の撮像画像を状態識別モデル１０１へ入力し、状態識別モデル１０１の出力層の前段が保持する状態情報を取得する。
【００６４】
また行動予測サーバ２は、環境情報取得部２１ｂが温度計６、湿度計７及び明るさセンサ８等からの環境情報を取得する。行動予測サーバ２は、カメラ５の撮像画像に基づいて状態識別モデル１０１から取得した状態情報と、この撮像画像が撮像された際の環境情報とを結合したベクトル情報を生成する。行動予測サーバ２は、生成したベクトル情報を学習サーバ４へ送信する。学習サーバ４は、行動予測サーバ２から得られたベクトル情報を用いて、行動予測モデル１０２及び報酬推定モデル１０３の学習を行う。
【００６５】
（２）行動予測モデル１０２
図７は、本実施の形態に係る行動予測モデル１０２の構成を示す模式図である。本実施の形態に係る行動予測モデル１０２は、複数のニューロンが相互に結合したニューラルネットの構造を有する学習モデルである。行動予測モデル１０２は、状態Ｓ及び行動Ａの情報が入力層へ入力され、状態Ｓにおいて行動Ａを行った場合の評価値Ｑ（Ｓ，Ａ）を出力する。本実施の形態において、行動予測モデル１０２へ入力される状態Ｓには、行動予測サーバ２が生成する動物１の状態情報及び周辺の環境情報を結合したベクトル情報が用いられる。
【００６６】
行動Ａは、状態Ｓにおいて行動予測モデル１０２にてモデル化される動物１が取り得る行動を示す情報である。本実施の形態において行動Ａは、状態Ｓと同次元のベクトル情報であり、例えば時刻ｔでの動物１の状態をＳｔとした場合、行動Ａは時刻ｔから単位時間が経過した後の時刻ｔ＋１での状態Ｓｔ＋１に相当する。評価値Ｑ（Ｓ，Ａ）は、状態Ｓにおいて行動Ａを行うことに対する良し悪しを示す値であり、本実施の形態においてスカラー値とすることができる。
【００６７】
行動予測サーバ２の予測処理部２１ｃは、状態情報取得部２１ａが取得した状態情報及び環境情報取得部２１ｂが取得した環境情報を結合したベクトル情報を状態Ｓと、この状態Ｓにおいて動物１が取り得る行動Ａとを行動予測モデル１０２へ入力し、評価値Ｑ（Ｓ，Ａ）を得る。予測処理部２１ｃは、状態Ｓに対して評価値Ｑ（Ｓ，Ａ）が最も高くなる行動Ａを選択し、選択した行動Ａを動物１の行動の予測結果とすることができる。なお行動予測モデル１０２は、図７に示す構成ではなく、例えば動物１の状態Ｓを入力とし、動物１が取り得るｎ個の行動Ａ１、Ａ２、…、Ａｎについてのｎ個の評価値Ｑ（Ｓ、Ａ１）、Ｑ（Ｓ、Ａ２）、…、Ｑ（Ｓ、Ａｎ）を出力する構成であってもよい。
【００６８】
また行動予測モデル１０２は、学習サーバ４にて強化学習がなされた学習済モデルである。学習サーバ４の強化学習処理部４１ｃは、行動予測サーバ２から取得して蓄積したベクトル情報と、所定の報酬とを用いて行動予測モデル１０２の強化学習を行う。蓄積されたベクトル情報は、動物１及び環境の時系列的な状態変化を示している。強化学習処理部４１ｃは、時刻ｔにおけるベクトル情報を状態Ｓとし、単位時間経過後の時刻ｔ＋１におけるベクトル情報を行動Ａとして扱う。強化学習処理部４１ｃは、時系列的に蓄積された複数のベクトル情報を順に状態Ｓ及び行動Ａとして扱い、状態Ｓ及び行動Ａに対して設定された報酬Ｒが最大となるように強化学習を行い、行動予測モデル１０２の各ニューロンの係数及び閾値を決定する。強化学習処理部４１ｃが行う強化学習には評価値に基づく学習手法が用いられる。評価値Ｑの更新式は、例えば以下の（式１）で表される。強化学習処理部４１ｃは、評価値Ｑを用いる強化学習の一手法であるＤＱＮ（Deep Q-Network）等のアルゴリズムを採用することができる。
【００６９】
【数１】
2020067913.tif 000003
【００７０】
上記の（式１）において、定数αは学習率であり、定数γは割引率である。
【００７１】
なお、強化学習処理部４１ｃが行動予測モデル１０２の強化学習を行うためには、状態Ｓ及び行動Ａに対する報酬Ｒの情報が必要である。本実施の形態において報酬Ｒの情報は、報酬推定モデル１０３を用いて推定される値が用いられる。
【００７２】
（３）報酬推定モデル１０３
図８は、本実施の形態に係る報酬推定モデル１０３の構成を示す模式図である。本実施の形態に係る報酬推定モデル１０３は、複数のニューロンが相互に結合したニューラルネットの構造を有する学習モデルである。報酬推定モデル１０３は、入力特徴ｆの情報が入力層へ入力され、入力特徴ｆに対する報酬Ｒを出力する。本実施の形態において、報酬推定モデル１０３へ入力される入力特徴ｆは、行動予測モデル１０２へ入力したものと同様の状態Ｓ及び行動Ａを連結したベクトル情報である。報酬Ｒは、入力特徴ｆに対して与えるべき報酬の高低を示すスカラー値とすることができる。
【００７３】
学習サーバ４は、行動予測モデル１０２の強化学習を行う際に、状態Ｓ及び行動Ａに対応する報酬Ｒを、報酬推定モデル１０３を用いて算出する。このため学習サーバ４は、強化学習処理部４１ｃが行動予測モデル１０２の強化学習を行うのに先立って、逆強化学習処理部４１ｂによる報酬推定モデル１０３の逆強化学習を行う必要がある。学習サーバ４の逆強化学習処理部４１ｂは、行動予測サーバ２から取得して蓄積したベクトル情報を用いて、報酬推定モデル１０３の逆強化学習を行う。
【００７４】
逆強化学習は、エキスパート（熟練者）が行った最適な行動に基づいて、この行動に対する報酬が最大となるように学習モデルを学習させる処理である。学習された報酬推定モデル１０３は、エキスパートが行った行動と同じ行動に対して高い報酬を出力し、エキスパート行った行動と異なる行動に対して低い報酬を出力する。本実施の形態においては、観察対象でもあり予測対象でもある動物１が実際に行った行動をエキスパートの最適な行動とみなして逆強化学習を行う。このため本実施の形態においては、行動予測サーバ２から取得して蓄積した時系列的なベクトル情報に基づき、時刻ｔの動物１の状態Ｓｔに対する最適な行動Ａｔを、次の時刻ｔ＋１における動物１の状態Ｓｔ＋１とし、状態Ｓｔのベクトル情報と行動Ａｔ（状態Ｓｔ＋１）のベクトル情報とを連結した特徴量ｆを報酬推定モデル１０３の入力情報としている。学習サーバ４の逆強化学習処理部４１ｂは、入力情報である特徴量ｆに対する報酬Ｒの累積値が最大となるように逆強化学習を行い、報酬推定モデル１０３の各ニューロンの係数及び閾値を決定する。逆強化学習処理部４１ｂが行う逆強化学習には、例えばMaximum Entropy Deep IRL(Inverse Reinforcement Learning)のアルゴリズムを用いることができる。
【００７５】
図９は、本実施の形態に係る行動予測モデル１０２及び報酬推定モデル１０３の学習処理を説明するための模式図である。本実施の形態に係る行動予測システムでは、行動予測モデル１０２及び報酬推定モデル１０３の学習処理は共に、カメラ５の撮像画像に基づいて状態識別モデル１０１により識別される動物１の状態情報と、温度計６、湿度計７及び明るさセンサ８等から取得した環境情報とを用いて行われる。学習の順序は、まず先に報酬推定モデル１０３の逆強化学習が行われ、次いで行動予測モデル１０２の強化学習が行われる。
【００７６】
報酬推定モデル１０３の逆強化学習は、実際に動物１が行った行動をエキスパートの行動とみなして、エキスパートの行動に高い報酬を与える学習済モデルを生成すべく行われる。例えば、時刻ｔ１においてカメラ５が撮像した画像１に基づいて識別された状態情報１と、このときに取得した環境情報（図９において図示は省略している）とを結合したベクトル情報を、エキスパートの状態Ｓｅ１とする。状態Ｓｅ１においてエキスパートが行動Ａｅ１を行うことで、状態はＳｅ２へと遷移する。状態Ｓｅ２は、次の時刻ｔ２における状態情報１及び環境情報を連且つしたベクトル情報に相当する。本実施の形態においては、状態Ｓｅ２＝行動Ａｅ１とみなし、状態Ｓｅ１及び状態Ｓｅ２を連結したベクトル情報を、報酬推定モデル１０３へ入力する入力特徴ｆとする。予め、画像に基づく状態情報と環境情報とがＮ組収集されている場合、Ｎ個のエキスパートの状態Ｓｅ１〜ＳｅＮのデータを用いて、学習サーバ４は報酬推定モデル１０３の逆強化学習を行う。学習サーバ４は、逆強化学習を終えた報酬推定モデル１０３を用いて、各状態Ｓｅ１〜ＳｅＮに対応する報酬Ｒ１〜ＲＮを推定することができる。
【００７７】
行動予測モデル１０２の強化学習は、カメラ５の画像に基づく状態情報及び環境情報と、報酬推定モデル１０３にて推定される報酬とを用いて行われる。行動予測モデル１０２は、学習モデルが表すエージェントの行動により得られる報酬の合計が高くなるよう学習が行われる。例えば、時刻ｔ１における状態情報１及び環境情報を結合したエージェントの状態Ｓａ１とし、これに対応して報酬推定モデル１０３にて推定された報酬をＲ１とする。予め、画像に基づく状態情報と環境情報とがＮ組収集されている場合、Ｎ個の状態Ｓａ１〜ＳａＮと報酬Ｒ１〜ＲＮとを用いて、学習サーバ４行動予測モデル１０２の強化学習を行う。学習サーバ４は、強化学習を終えた行動予測モデル１０２を、行動予測サーバ２へ配信する。
【００７８】
図１０は、本実施の形態に係る学習モデルの生成手順を説明するためのフローチャートである。なお本フローチャートでは、状態識別モデル１０１、行動予測モデル１０２及び報酬推定モデル１０３の学習処理を１つの学習サーバ４が行うものとして処理を説明するが、各学習モデルの学習処理を異なる装置が行ってもよい。本実施の形態に係る学習サーバ４は、まず、観察対象となる動物１を撮像した画像情報を取得して蓄積する（ステップＳ１）。このときの動物１の撮像は、行動予測サーバ２に接続されたカメラ５を介して行われてもよく、他のカメラを用いて行われてもよい。
【００７９】
動物１の画像情報が十分に蓄積された後、学習サーバ４は、蓄積された画像情報と、この画像情報に含まれる動物１の状態とを対応付けた教師データを生成する（ステップＳ２）。画像中の動物１の状態は、例えば行動予測システムの管理者などにより入力されてもよい。学習サーバ４は、生成した教師データを用いて状態識別モデル１０１の深層学習処理を行う（ステップＳ３）。学習サーバ４は、学習済の状態識別モデル１０１を行動予測モデル１０２へ配信する（ステップＳ４）。
【００８０】
上記のステップＳ１〜Ｓ４にて学習された状態識別モデル１０１を用いて、行動予測サーバ２ではカメラ５が撮像画像に基づいて動物１の状態を識別し、状態情報の生成が行われると共に、温度計６、湿度計７及び明るさセンサ８等による環境情報の取得が行われる。学習サーバ４の情報取得部４１ａは、行動予測サーバ２から動物１の状態情報及び周辺の環境情報を取得して記憶部４２に蓄積する（ステップＳ５）。状態情報及び環境情報が十分に蓄積された後、学習サーバ４の逆強化学習処理部４１ｂは、蓄積されたこれらの情報をエキスパートの状態Ｓ及び行動Ａとみなして、蓄積された情報に基づいて状態Ｓ及び行動Ａの組のデータを生成する（ステップＳ６）。学習サーバ４の逆強化学習処理部４１ｂは、生成した状態Ｓ及び行動Ａの組のデータを用いて、報酬推定モデル１０３の逆強化学習処理を行う（ステップＳ７）。
【００８１】
報酬推定モデル１０３の逆強化学習処理が完了した後、学習サーバ４の強化学習処理部４１ｃは、学習済の報酬推定モデル１０３を利用し、蓄積された状態情報及び環境情報に基づくエージェントの状態Ｓに対する報酬Ｒの推定を行う（ステップＳ８）。強化学習処理部４１ｃは、状態Ｓ及び報酬Ｒの組のデータを生成する（ステップＳ９）。強化学習処理部４１ｃは、生成した状態Ｓ及び報酬Ｒの組のデータを用いて、行動予測モデル１０２の強化学習処理を行う（ステップＳ１０）。強化学習処理部が完了した後、学習サーバ４のモデル配信部４１ｄは、学習済の行動予測モデル１０２を行動予測サーバ２へ送信し（ステップＳ１１）、処理を終了する。
【００８２】
なお本実施の形態においては、行動予測モデル１０２の強化学習に用いられる報酬を、報酬推定モデル１０３にて推定する構成としたが、これに限るものではない。報酬は、学習モデルにより推定されるのではなく、例えば所定の演算式にて算出されるものであってよい。
【００８３】
＜行動予測処理＞
図１１は、本実施の形態に係る行動予測サーバ２が行う動物１の行動予測の処理を説明するための模式図である。本実施の形態に係る行動予測サーバ２は、カメラ５の撮像画像及び状態識別モデル１０１に基づく動物１の状態情報の取得と、温度計６、湿度計７及び明るさセンサ８等による環境情報の取得とを、所定の周期で繰り返し行っている。行動予測サーバ２の予測処理部２１ｃは、ある時刻ｔにて取得した状態情報及び環境情報を連結したベクトル情報を状態Ｓとして行動予測モデル１０２へ入力して評価値Ｑを算出する。予測処理部２１ｃは、算出した評価値Ｑに基づいて、この状態Ｓにおいて動物１が行う行動Ａを選択し、選択した行動Ａを動物１の行動予測結果とする。
【００８４】
本実施の形態において、予測処理部２１ｃが予測した時刻ｔの動物１の状態Ｓに対する行動Ａは、次の時刻ｔ＋１における動物１の状態Ｓに相当する。よって予測処理部２１ｃは、予測結果として得られた行動Ａを次の状態Ｓとみなして行動予測モデル１０２へ入力し、同様の手順で時刻ｔ＋１における動物１の行動Ａを予測する。予測処理部２１ｃは、時刻ｔにおいて取得した状態情報及び環境情報を基に動物１の行動の予測を繰り返し行うことによって、更に未来の動物１の行動を予測することができる。
【００８５】
また本実施の形態において予測処理部２１ｃは、動物１が所定の行動を行う（所定の状態となる）時刻又は所定の行動を行うまでの時間を予測する。予測処理部２１ｃの予測結果の行動Ａには、動物１の状態情報の成分が含まれている。予測処理部２１ｃは、予測の結果として得られた行動Ａに含まれる状態情報の成分を取得し、取得した状態情報が所定の状態を示すものであるか否かを判定する。状態情報が所定の状態を示すものである場合、予測処理部２１ｃは繰り返しの予測を終了し、この行動Ａが得られたのが予測開始の時点からどの程度の未来に相当するかを算出することによって、動物１が所定の状態となる（所定の行動を行う）時刻を算出することができる。
【００８６】
例えば動物１の状態が「座っている」又は「立っている」の２状態であり、予測開始時点の動物１は「座っている」状態である場合に、予測処理部２１ｃは、動物１が「立っている」状態となる（動物１が立ち上がる）時刻を予測することができる。例えば図１１に示すように、予測処理部２１ｃが単位時間を１分として未来の動物１の行動予測を繰り返し行い、３０回目の予測結果として「立っている」状態に対応する行動Ａ（状態Ｓ）が得られた場合、予測処理部２１ｃは、動物１が３０分後に立ち上がると予測することができ、予測開始の時刻に３０分を加えた時刻を予測時刻とすることができる。
【００８７】
行動予測サーバ２の通知処理部２１ｄは、予測処理部２１ｃにより予測された動物１が所定の行動を行う時刻を、ネットワークＮＷを介してスマホ３へ送信することにより通知する。行動予測サーバ２からの通知を受信したスマホ３の予測情報表示処理部３１ａは、受信した通知に基づいて、例えば「動物１が立ち上がると予測される時刻はＸ時Ｙ分です」のようなメッセージを表示部３３に表示する。
【００８８】
図１２は、本実施の形態に係る行動予測サーバ２が行う行動予測処理の手順を示すフローチャートである。本実施の形態に係る行動予測サーバ２の状態情報取得部２１ａは、カメラ５により動物１を撮像した画像情報を取得する（ステップＳ２１）。また環境情報取得部２１ｂは、このときの温度計６、湿度計７及び明るさセンサ８等の測定値を環境情報として取得する（ステップＳ２２）。状態情報取得部２１ａは、取得した画像情報を状態識別モデル１０１へ入力し、状態識別モデル１０１のニューラルネットを構成する最終出力層の１つ前の層が保持する特徴量の情報を、動物１の状態情報として取得する（ステップＳ２３）。
【００８９】
行動予測サーバ２の予測処理部２１ｃは、ステップＳ２３にて取得した状態情報と、ステップＳ２２にて取得した環境情報とを結合したベクトル情報を、予測対象となる動物１の状態Ｓとする（ステップＳ２４）。予測処理部２１ｃは、状態Ｓを行動予測モデル１０２へ入力し、状態Ｓに対して取り得る行動Ａの評価値Ｑの取得を行う（ステップＳ２５）。予測処理部２１ｃは、取得した評価値Ｑに基づいて、状態Ｓに対して動物１が行う行動Ａを選択する（ステップＳ２６）。予測処理部２１ｃは、ステップＳ２６にて選択された（予測された）動物１の行動Ａが、予め定められた所定行動であるか否かを判定する（ステップＳ２７）。行動Ａが所定行動でない場合（Ｓ２７：ＮＯ）、予測処理部２１ｃは、この行動Ａを次の動物１の状態Ｓとし（ステップＳ２８）、ステップＳ２５へ処理を戻して動物１の行動予測を繰り返し行う。
【００９０】
予測した行動Ａが所定行動である場合（Ｓ２７：ＹＥＳ）、予測処理部２１ｃは、この行動Ａが初期の状態Ｓに対してどの程度の時間が経過した後の行動であるかを判断することにより、動物１が行動Ａを行う予測時刻を算出する（ステップＳ２９）。行動予測サーバ２の通知処理部２１ｄは、ステップＳ２９にて予測した時刻を通知するメッセージをスマホ３へ送信することにより、動物１が所定行動を行う予測時刻を通知し（ステップＳ３０）、処理を終了する。
【００９１】
なお本実施の形態おいて行動予測処理に用いられる動物１の状態Ｓは、状態情報取得部２１ａが取得した状態情報と環境情報取得部２１ｂが取得した環境情報とを連結したベクトル情報である。よって予測処理部２１ｃが予測結果とする行動Ａ、即ち未来の動物１の状態Ｓには環境情報の成分が含まれている。そこで予測処理部２１ｃは、外部環境サーバ９から環境情報の予測値を取得し、未来の状態Ｓに含まれる環境情報を外部環境サーバ９から取得した環境情報の予測値に置き換えて、この状態Ｓに対する行動Ａの予測を行う。例えば予測処理部２１ｃは、天気予報サーバから１時間後の温度及び湿度の予測値を取得した場合、１時間後の動物１の行動予測を行う際に状態Ｓに含まれる環境情報の温度及び湿度の成分を、天気予報サーバから取得した温度及び湿度の予測値に置き換えることができる。
【００９２】
図１３は、環境情報の予測値を用いる場合の行動予測処理の手順を示すフローチャートであり、図１２に示したフローチャートに対して環境情報の予測値を用いる処理を追加したものである。環境情報の予測値を用いる場合、行動予測サーバ２の予測処理部２１ｃは、ステップＳ２８にて予測した行動Ａを次の動物１の状態Ｓとした後、通信部２３にて外部環境サーバ９との通信を行い、外部環境サーバ９から環境情報の予測値を取得する（ステップＳ３１）。次いで予測処理部２１ｃは、状態Ｓに含まれる環境情報の成分を、ステップＳ３１にて取得した環境情報の予測値に置き換えて（ステップＳ３２）、ステップＳ２５へ処理を戻す。
【００９３】
なお図１３に示す手順では、動物１の行動を予測する繰り返しの都度、外部環境サーバ９から環境情報の予測値の取得及びこの環境情報の状態Ｓへの反映を行う構成としているが、これに限るものではなく、例えば繰り返しの１０回に１度などのように、所定の頻度で予測値の取得及び反映を行う構成としてもよい。
【００９４】
＜まとめ＞
以上の構成の本実施の形態に係る行動予測システムでは、行動予測サーバ２が動物１などの観察対象の状態情報を取得し、この観察対象の周辺の環境情報を取得して、観察対象の行動（状態情報の推移）を予測する。行動予測サーバ２は、観察対象の行動を学習した行動予測モデル１０２を備え、この行動予測モデル１０２に対して観察対象の状態情報及び環境情報を入力し、行動予測モデル１０２の出力情報を得ることによって、所定時間経過後の観察対象の行動を予測する。これにより行動予測サーバ２は、予め学習された行動予測モデル１０２を利用し、観察対象の状態情報及び周辺の環境情報に基づいて、観察対象の行動を精度よく予測することが可能となる。
【００９５】
また行動予測サーバ２は、観察対象をカメラ５にて撮像した画像を取得し、この画像に基づいて観察対象の状態情報を取得する。行動予測サーバ２は、観察対象の状態を識別するための状態識別モデル１０１を備え、この状態識別モデル１０１に対して観察対象の画像を入力し、観察対象の状態情報を状態識別モデル１０１から取得する。これにより行動予測サーバ２は、予め学習された状態識別モデル１０１を利用し、精度のよい観察対象の状態情報を取得することができ、精度のよい観察対象の行動予測を行うことが可能となる。
【００９６】
また状態識別モデル１０１は、ニューロンが多階層に結合された深層の学習済モデルである。状態識別モデル１０１は、観察対象の画像を入力とし、観察対象の状態の識別結果を出力する。行動予測サーバ２は、状態識別モデル１０１の最終出力層より前の層が保持する特徴量の情報を取得し、この情報を観察対象の状態情報とする。これにより行動予測サーバ２は、観察対象を撮像した画像を基に、観察対象の特徴を精度よく表す状態情報を取得することができる。
【００９７】
また行動予測モデル１０２は、観察対象の状態情報及び周辺の環境情報を結合したベクトル情報を入力とし、観察対象の行動の予測結果を出力する。行動予測モデル１０２は、観察対象の状態情報と、周辺の環境情報と、観察対象の実際の行動とに基づいて逆強化学習された報酬推定モデル１０３を利用し、この報酬推定モデル１０３にて推定された報酬を用いて強化学習がなされた学習済モデルである。これにより、行動予測モデル１０２の強化学習を精度よく行うことができ、行動予測モデル１０２を利用した観察対象の行動予測を精度よく行うことが可能となる。
【００９８】
また行動予測サーバ２は、ネットワークＮＷを介して外部環境サーバ９などの他の装置との通信を行い、他の装置から環境情報の予測値を取得して、観察対象の行動予測に用いる。これにより行動予測サーバ２は、他の装置から取得した環境情報の予測値を用いて、観察対象の行動予測を精度よく行うことが可能となる。
【００９９】
また行動予測サーバ２は、行動予測モデル１０２を利用して観察対象の行動を予測し、この予測結果に基づいて観察対象が所定行動を行う時刻を予測する。行動予測サーバ２は、予測した時刻を、ネットワークＮＷを介してスマホ３へ通知する。これによりスマホ３の所持者は、観察対象が所定の行動を行う時刻を、行動予測サーバ２から通知される時刻に基づいて把握することができる。
【０１００】
また学習サーバ４は、観察対象の状態情報と、周辺の環境情報と、観察対象の実際の行動情報とを取得する。なお本実施の形態においては、観察対象の行動情報は、取得した観察対象の次の時刻における状態情報を用いる。学習サーバ４は、観察対象の行動に対する報酬を推定する報酬推定モデル１０３を、状態情報、環境情報及び行動情報に基づいて逆強化学習により学習させる。逆強化学習された学習済モデルを用いることによって、強化学習に用いる報酬の推定値を取得することができ、観察対象の行動を予測する行動予測モデル１０２の強化学習を精度よく行うことが可能となる。
【０１０１】
また学習サーバ４は、観察対象の状態情報及び周辺の環境情報を取得し、逆強化学習された報酬推定モデル１０３を用いて推定された報酬を取得する。学習サーバ４は、取得した状態情報、環境情報及び報酬を用いて、観察対象の行動を予測する行動予測モデル１０２を強化学習により学習させる。これにより、強化学習された行動予測モデル１０２を用いて、観察対象の行動を精度よく予測することが可能となる。
【０１０２】
なお本実施の形態においては、行動予測システムが行動予測を行う観察対象を、動物園の動物１としたが、これに限るものではなく、種々の観察対象に対して本技術を適用することができる。行動予測システムは、例えば観察対象を高齢者、入院患者又は乳児等の人とし、これらの人の行動を予測する構成であってもよい。観察対象の周辺の環境情報として、温度計６が計測する温度、湿度計７が計測する湿度、及び、明るさセンサ８が検知する明るさを用いる構成としたが、これに限るものではなく、例えば降雨状況、日照時間、食事の時刻又は騒音量等の種々の情報を環境情報として扱ってよい。またこれらの環境情報は、動物の飼育場に設けられた装置から取得してもよく、ネットワークを介して外部の装置から取得してもよい。また、行動予測サーバ２はカメラ５の撮像画像に基づいて動物１の状態情報を取得する構成としたが、これに限るものではない。カメラ５の撮像画像に代えて、又は、カメラ５の撮像画像と共に、マイクなどで集音した音声情報に基づいて行動予測サーバ２が動物１の状態情報を取得してもよい。
【０１０３】
また行動予測サーバ２は、１つの装置である必要はなく、複数のサーバ装置の協働により実現されるものであってよい。例えば行動予測サーバ２は、動物１の状態情報を取得するサーバ装置、周辺の環境情報を取得するサーバ装置、動物１の行動を予測するサーバ装置、及び、予測結果を配信するサーバ装置のように、複数のサーバ装置で役割分担を行うことが可能である。学習サーバ４についても同様であり、複数のサーバ装置の協働により実現されるものであってよい。また逆に、行動予測サーバ２及び学習サーバ４が一体のサーバ装置であってもよい。行動予測サーバ２及び学習サーバ４は、仮想マシン上で実現されるものであってもよい。また、行動予測サーバ２が予測結果を通知する装置をスマホ３としたが、これに限るものではなく、行動予測サーバ２は例えば携帯電話機、パーソナルコンピュータ又はタブレット型端末装置等の種々の通信端末装置へ通知を行ってよい。
【０１０４】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０５】
１  動物（観察対象）
２  行動予測サーバ
３  スマホ
４  学習サーバ
５  カメラ
６  温度計
７  湿度計
８  明るさセンサ
９  外部環境サーバ
２１  処理部
２１ａ  状態情報取得部（画像取得部、第１取得部）
２１ｂ  環境情報取得部（第２取得部）
２１ｃ  予測処理部（推移予測部、時刻予測部）
２１ｄ  通知処理部（通知部）
２２  記憶部
２２ａ  サーバプログラム
２３  通信部
３１  処理部
３１ａ  予測情報表示処理部
３２  記憶部
３２ａ  アプリ
３３  表示部
３４  操作部
３５  カメラ
３６  無線通信部
３７  ＧＰＳ受信部
４１  処理部
４１ａ  情報取得部（第１取得部、第２取得部、第３取得部）
４１ｂ  逆強化学習処理部
４１ｃ  強化学習処理部（第３取得部）
４１ｄ  モデル配信部
４２  記憶部
４２ａ  サーバプログラム
４３  通信部
９８，９９  記録媒体
１０１  状態識別モデル（第２学習済モデル）
１０２  行動予測モデル（第１学習済モデル）
１０３  報酬推定モデル
【図１】
2020067913.tif 000004
【図２】
2020067913.tif 000005
【図３】
2020067913.tif 000006
【図４】
2020067913.tif 000007
【図５】
2020067913.tif 000008
【図６】
2020067913.tif 000009
【図７】
2020067913.tif 000010
【図８】
2020067913.tif 000011
【図９】
2020067913.tif 000012
【図１０】
2020067913.tif 000013
【図１１】
2020067913.tif 000014
【図１２】
2020067913.tif 000015
【図１３】
2020067913.tif 000016