IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7405271デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置
<>
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図1
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図2
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図3
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図4
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図5
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図6
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図7
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図8
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図9
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図10
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図11
  • 特許-デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231219BHJP
【FI】
G06N20/00
【請求項の数】 7
(21)【出願番号】P 2022548297
(86)(22)【出願日】2020-09-09
(86)【国際出願番号】 JP2020034152
(87)【国際公開番号】W WO2022054175
(87)【国際公開日】2022-03-17
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】中里 彦俊
(72)【発明者】
【氏名】阿部 健二
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2019-175058(JP,A)
【文献】特開2002-189502(JP,A)
【文献】国際公開第2020/022123(WO,A1)
【文献】米国特許出願公開第2016/0275412(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の制御対象デバイスのデバイス制御値を生成するデバイス制御値生成装置であって、
各IoTデバイスからデータを取得し、当該IoTデバイスの種別に応じた外界因子を判別し、当該取得したデータが、判別した前記外界因子の上限値および下限値を所定のレンジに分割した何れの分割レンジに属するかを判定する状況認識部と、
前記分割レンジごとの各外界因子のデータの値に応じた前記デバイス制御値を生成する制御値生成部と、
前記デバイス制御値を各制御対象デバイスに送信するデバイス制御部と、
各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するスコア計算部と、
前記デバイス制御値とその制御結果である前記スコアとで示される各学習データを、各外界因子の前記分割レンジに応じた前記デバイス制御値を示すデバイス制御因子パターンごとに、学習データDBに記憶する学習データ管理部と、
特定した外界因子を除く他の外界因子および前記デバイス制御因子パターンを固定した上で、前記特定した外界因子のみのデータの値を変化させた前記学習データを、前記学習データDBから取得して、当該学習データの前記スコアを抽出し、抽出したスコアが、前記スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、前記特定した外界因子の所定の不純度を計算し、前記外界因子それぞれについて同一の前記デバイス制御因子パターンにおいて、前記不純度を計算して、計算した前記不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した前記上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを前記状況の1つである分類として定義する状況分類部と、
定義された前記分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成する学習モデル管理部と、を備え、
前記学習モデル管理部は、前記所定の報酬を満たすまで、前記デバイス制御値の生成による学習データの収集と、前記分類ごとの学習モデルの更新とを実行すること
を特徴とするデバイス制御値生成装置。
【請求項2】
前記状況分類部は、所定の時間間隔ごとに、前記状況の構成要素となる外界因子の抽出と、前記分類の定義とを実行すること
を特徴とする請求項1に記載のデバイス制御値生成装置。
【請求項3】
前記スコアが前記所定の報酬を満たした後の運用段階において、同一の前記分類における学習データのスコアが、第1の所定期間以上継続して前記所定の報酬を満たさない場合に、前記外界因子以外の未知若しくは未計測の前記報酬に影響を与える要因を示すロケーション特性が変化したと判定する状況特性変化判定部をさらに備え、
前記状況特性変化判定部が、第1の所定期間以上継続して前記スコアが前記所定の報酬を満たさないと判定した場合に、前記学習データ管理部が、前記第1の所定期間より以前の学習データを削除し、前記学習モデル管理部が、前記分類ごとの学習モデルを更新すること
を特徴とする請求項1に記載のデバイス制御値生成装置。
【請求項4】
前記状況特性変化判定部が前記ロケーション特性が変化したと判定したことにより、前記学習モデルの更新が、第2の所定期間の中で所定回数以上発生した場合に、未知の外界因子による外乱変動が発生しているとしてアラートを発出する状況特性変化監視部をさらに備えること
を特徴とする請求項3に記載のデバイス制御値生成装置。
【請求項5】
複数の制御対象デバイスのデバイス制御値を生成するデバイス制御値生成装置のデバイス制御値生成方法であって、
前記デバイス制御値生成装置は、
各IoTデバイスからデータを取得し、当該IoTデバイスの種別に応じた外界因子を判別し、当該取得したデータが、判別した前記外界因子の上限値および下限値を所定のレンジに分割した何れの分割レンジに属するかを判定するステップと、
前記分割レンジごとの各外界因子のデータの値に応じた前記デバイス制御値を生成するステップと、
前記デバイス制御値を各制御対象デバイスに送信するステップと、
各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するステップと、
前記デバイス制御値とその制御結果である前記スコアとで示される各学習データを、各外界因子の前記分割レンジに応じた前記デバイス制御値を示すデバイス制御因子パターンごとに、学習データDBに記憶するステップと、
特定した外界因子を除く他の外界因子および前記デバイス制御因子パターンを固定した上で、前記特定した外界因子のみのデータの値を変化させた前記学習データを、前記学習データDBから取得して、当該学習データの前記スコアを抽出し、抽出したスコアが、前記スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、前記特定した外界因子の所定の不純度を計算し、前記外界因子それぞれについて同一の前記デバイス制御因子パターンにおいて、前記不純度を計算して、計算した前記不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した前記上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを前記状況の1つである分類として定義するステップと、
定義された前記分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成するステップと、
前記所定の報酬を満たすまで、前記デバイス制御値の生成による学習データの収集と、前記分類ごとの学習モデルの更新とを行うステップと、
を実行することを特徴とするデバイス制御値生成方法。
【請求項6】
コンピュータを、請求項1乃至請求項4の何れか1項に記載のデバイス制御値生成装置として機能させるためのプログラム。
【請求項7】
学習モデル生成装置であって、
各IoTデバイスから取得したデータで示される外界因子について、その上限値および下限値を所定のレンジに分割した分割レンジごとに、複数の制御対象デバイスのデバイス制御値を生成する制御値生成部と、
前記デバイス制御値とその制御結果から得られる報酬を示すスコアとで示される各学習データを取得し、各外界因子の前記分割レンジに応じた前記デバイス制御値を示すデバイス制御因子パターンごとに、学習データDBに記憶する学習データ管理部と、
特定した外界因子を除く他の外界因子および前記デバイス制御因子パターンを固定した上で、前記特定した外界因子のみのデータの値を変化させた前記学習データを、前記学習データDBから取得して、当該学習データの前記スコアを抽出し、抽出したスコアが、前記スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、前記特定した外界因子の所定の不純度を計算し、前記外界因子それぞれについて同一の前記デバイス制御因子パターンにおいて、前記不純度を計算して、計算した前記不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した前記上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを前記状況の1つである分類として定義する状況分類部と、
定義された前記分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成する学習モデル管理部と、
を備えることを特徴とする学習モデル生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習によりデバイス制御値を生成する、デバイス制御値生成装置、デバイス制御値生成方法、プログラム、および、学習モデル生成装置に関する。
【背景技術】
【0002】
システムの異常状態の検知に、正常状態の学習データのみを用いてDNN(Deep Neural Network)により、異常状態を分類する技術が公開されている(例えば、特許文献1参照)。
特許文献1の技術によれば、正常状態の傾向が時系列に変化する場合、直近から一定期間分の学習データのみで、学習モデルを再構築する。さらに、一時的な高負荷等の「正常な外れ値」の傾向変化に対応させるように、直近一定期間のデータの中から特異データの種別に限定して正常な外れ値を学習モデルの再構築に利用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2019/138655号
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、強化学習における報酬(スコア)は、環境として計測される外界の状況の変化(以下、「外乱」と称する。)によって大きく変動することがある。特許文献1に記載の技術は、システム状態値そのものの時系列的な変化を想定して学習モデルの再構築をしているが、システム状態値の変動に影響する要因による外乱については、考慮していない。
また、従来強化学習における報酬(スコア)に変動を与える因子(後記する「外界因子」)は、人手により特定する必要があり、その特定因子のレンジをクラスごとに「状況」(Situation)として定義することも、人手により行う必要があった。
【0005】
さらに、運用段階において、未考慮の外乱により目標報酬(スコア)を満たさない事態が発生した場合には、「状況」(Situation)の再定義や学習モデルの更新といった、外乱の対策も人手により行わなければならなかった。
【0006】
このような点に鑑みて本発明がなされたのであり、本発明は、強化学習における報酬(スコア)に変動を与える外乱構成要因(外界因子)を、自動的に抽出するとともに、その外乱構成要因に基づき「状況」(Situation)を自動的に定義して、学習モデルを更新することを課題とする。これにより、外乱に対応し、所定報酬を満たすための最適なデバイス制御値を人手を介さずに生成することができる。
【課題を解決するための手段】
【0007】
本発明に係るデバイス制御値生成装置は、複数の制御対象デバイスのデバイス制御値を生成するデバイス制御値生成装置であって、各IoTデバイスからデータを取得し、当該IoTデバイスの種別に応じた外界因子を判別し、当該取得したデータが、判別した前記外界因子の上限値および下限値を所定のレンジに分割した何れの分割レンジに属するかを判定する状況認識部と、前記分割レンジごとの各外界因子のデータの値に応じた前記デバイス制御値を生成する制御値生成部と、前記デバイス制御値を各制御対象デバイスに送信するデバイス制御部と、各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するスコア計算部と、前記デバイス制御値とその制御結果である前記スコアとで示される各学習データを、各外界因子の前記分割レンジに応じた前記デバイス制御値を示すデバイス制御因子パターンごとに、学習データDBに記憶する学習データ管理部と、特定した外界因子を除く他の外界因子および前記デバイス制御因子パターンを固定した上で、前記特定した外界因子のみのデータの値を変化させた前記学習データを、前記学習データDBから取得して、当該学習データの前記スコアを抽出し、抽出したスコアが、前記スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、前記特定した外界因子の所定の不純度を計算し、前記外界因子それぞれについて同一の前記デバイス制御因子パターンにおいて、前記不純度を計算して、計算した前記不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した前記上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを前記状況の1つである分類として定義する状況分類部と、定義された前記分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、前記分類ごとの学習モデルを生成する学習モデル管理部と、を備え、前記学習モデル管理部は、前記所定の報酬を満たすまで、前記デバイス制御値の生成による学習データの収集と、前記分類ごとの学習モデルの更新とを実行することを特徴とするデバイス制御値生成装置とした。
【発明の効果】
【0008】
本発明によれば、強化学習における報酬(スコア)に変動を与える外乱構成要因を、自動的に抽出するとともに、その外乱構成要因に基づき「状況」(Situation)を自動的に定義して、学習モデルを更新することができる。これにより、外乱に対応し、所定報酬を満たすための最適なデバイス制御値を人手を介さずに生成することができる。
【図面の簡単な説明】
【0009】
図1】本実施形態の一事例として対象車両追跡システムを説明する図である。
図2】報酬(スコア)変動を左右する要因として、「状況」(Situation)と「デバイス制御因子」を説明するための図である。
図3】本実施形態に係るデバイス制御値生成装置の構成を示すブロック図である。
図4】本実施形態に係る強化学習部(学習モデル生成装置)の構成を示すブロック図である。
図5】本実施形態に係る「状況」(Situation)定義処理を説明するための図である。
図6】本実施形態に係る「状況」(Situation)定義処理を説明するための図である。
図7】本実施形態に係る決定木の構築による「状況」(1Situation)定義を説明するための図である。
図8】本実施形態に係るデバイス制御値生成装置が実行する「状況」(Situation)定義処理の流れを示すフローチャートである。
図9】本実施形態に係るデバイス制御値生成装置が実行する「状況」(Situation)定義の見直し処理の流れを示すフローチャートである。
図10】本実施形態に係るデバイス制御値生成装置が実行するロケーション特性更新処理の流れを示すフローチャートである。
図11】本実施形態に係るデバイス制御値生成装置が実行するロケーション特性の変化監視処理の流れを示すフローチャートである。
図12】本実施形態に係るデバイス制御値生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本発明において、強化学習における報酬(スコア)の変動を左右する要因について定義する。
本実施形態では、報酬(スコア)変動を左右する要因として、「状況」(Situation)と「デバイス制御因子」の2つを定義する。
「状況」(Situation)は、さらに「外界因子」と「ロケーション特性」の2つに分類する。
【0011】
「外界因子」とは、報酬の変動に影響を与える可能性のあることが既知であり、かつ、計測器などにより値を計測可能な因子を指す。報酬の変動に影響を与えるものと与えないものが存在し、「状況」(Situation)定義時には、影響を与える外界因子を取り扱う。
【0012】
「ロケーション特性」とは、外界因子以外の未知若しくは未計測(計測不可能)な報酬変動に影響を与える因子である。特定環境(ロケーション)ごとにそれぞれ特定のロケーション特性パターンが存在する。ただし、個別環境下での強化学習により最適なデバイス制御値を決定する際には、隠蔽され考慮されなくてもよい因子でもある。
【0013】
「デバイス制御因子」は、制御対象となるデバイス群(後記する「制御対象デバイス群」)の各デバイスにおける制御値(例えば、List型)を示す情報である。各デバイスにおける制御値(以下、「デバイス制御値」と称する。)は、所定のレンジ幅ごとに同一のカテゴリとみなし、デバイス制御因子を構成してもよい。
【0014】
本実施形態の一事例として、あるコース(始点から終点)において、移動対象である車両をカメラデバイス(首振りカメラ5a)により追跡(補足)するためのデバイス制御値を生成するケース(以下、「対象車両追跡システム」と称する。)を、図1を参照して説明する。ここで、強化学習において設定される報酬(スコア)は、追跡区間のコースを対象車両が通過するのに要した時間のうちの、いずれかのカメラデバイスにおいて車両を捕捉できた時間の合計であるとする。つまり、追跡区間のコース全体を通して、いずれかのカメラデバイス(首振りカメラ5a)が対象車両を捕捉している時間が長い程、高いスコアとなる。
【0015】
強化学習により算出されるデバイス制御値(デバイス制御因子)は、例えば、首振りカメラ5aであるカメラデバイスの回転方向、指定角度(対象車両を追跡するための回転を開始するときに指定される角度)、回転開始時間(指定角度に設定されてから、その後に回転を開始するまでの時間)などである。
【0016】
外界因子は、例えば、車両の速度である。「状況」(Situation)の構成要素が車両の速度である場合、所定のレンジ幅ごとに「状況」(Situation)を分類する。例えば、Situation「A」として速度0~15km、Situation「B」として速度16~30km、Situation「C」として速度31~45kmのように設定する。
図1に示す例では、固定カメラ3aにより車両の速度を計測し、その速度の情報を用いて、該当する「状況」(Situation)を特定し、その「状況」(Situation)(例えば、車両の速度が20kmであれば、Situation「B」の速度16~30km)に応じたデバイス制御値(ここでは、回転方向、指定角度、回転開始時刻など)を設定して各首振りカメラ5aを制御する。そして、その制御結果(ここでは、車両がコースを通過する時間のうち、カメラデバイスが補足した時間の割合)を報酬(スコア)として算出する。
【0017】
図1で説明した例では、外界因子は、車両の速度のみで説明した。しかしながら、実際に、報酬変動に影響を与える因子は、車両の速度以外にも、例えば図2に示すように、道路上の霧の発生を検知するための温度や湿度、風速、夜間撮影時に影響がある照度など、既知である計測可能な因子がある。また、未知であり未計測なロケーション特性として、例えば、走行車両の速度を低下させるための「ハンプ」(段差・コブ)の道路への設置(図1の符号L参照)や、道路幅を狭くする狭さくの設置、道路周辺における樹木の成長に伴う運転への影響が挙げられる。
これらのスコア変動に影響する外界因子とロケーション特性により定まる「状況」(Situation)ごとに、各デバイスのデバイス制御因子を設定して、報酬(スコア)を計算する。
【0018】
なお、本発明は、図1および図2で示した対象車両追跡システムに限定されず、強化学習を活用した個別環境でのデバイス間協調制御を行うシステムであればよい。
例えば、データセンタの冷却システム、工場内のロボット自動運搬システム、農家における灌漑水量調整システムなど、様々なシステムに適用することができる。
【0019】
データセンタの冷却システムでは、外界因子として、各サーバ周辺の温度、外気温、サーバの消費電力、サーバの稼働効率などの情報を取得し、消費電力総量が所定値以下であり、該当エリアで時間t以内に温度X度以上下げることなどを目標報酬とする。このときの制御対象デバイスは、空調機であり、デバイス制御因子(デバイス制御値)は、風量、目標温度、風向などである。
【0020】
工場内のロボット自動運搬システムでは、外界因子として、各ロボットのカメラ映像などの情報を取得し、全荷物をより短時間で正確にラインに運搬することなどを目標報酬とする。このときの制御対象デバイスは、運搬用ロボットであり、デバイス制御因子(デバイス制御値)は、ロボットの速度、モータ回転数、ブレーキ強度などである。
【0021】
農家における灌漑水量調整システムでは、外界因子として、農地に設定されたセンサから、温度、湿度、日照量、土壌含水量、土壌品質、降雨量、画像から識別する植物の生長具合などの情報を取得し、土壌含水量が所定値以上であり最終収穫量が所定値以上となることを目標報酬とする。このとき制御対象デバイスは、堆肥ロボットであり、デバイス制御因子(デバイス制御値)は、水量、堆肥量などである。
このように、本発明は、強化学習を活用した個別環境でのデバイス間協調制御を行うシステムであれば、適用可能であるが、以下においては、対象車両追跡システムを一例として説明する。
【0022】
本実施形態に係るデバイス制御値生成装置1は、強化学習における報酬(スコア)に変動を与える外乱構成要因(外界因子)を、自動的に抽出するとともに、その外乱構成要因に基づき「状況」(Situation)を自動的に定義する。さらに、未知であり未計測であるロケーション特性の変化を検知し、学習モデルを更新して所定の報酬(スコア)を満たす最適なデバイス制御値を自動で生成する。
以下、デバイス制御値生成装置1の具体的な構成について説明する。
【0023】
図3は、本実施形態に係るデバイス制御値生成装置1の構成を示すブロック図である。
デバイス制御値生成装置1は、カメラデバイス(固定カメラ3a)、各種のセンサデバイス(例えば、温度センサ3b、湿度センサ3c、照度センサ3d、風速計3e)などのIoTデバイス3に通信接続される。そして、デバイス制御値生成装置1は、これらのIoTデバイス3からの情報を用いて、報酬(スコア)が所定値(目標報酬)以上となるように、デバイス制御値を強化学習により生成し、通信接続された制御対象デバイス5の制御を行う。制御対象デバイス5は、対象車両追跡システムの例であれば、首振りカメラ5aや、照明装置5b(街灯)などである。なお、本実施形態では制御対象デバイス5をコースに沿って配置された首振りカメラ5aとして説明する。
このデバイス制御値生成装置1は、制御部10と、入出力部11と、記憶部12とを備える。
【0024】
入出力部11は、IoTデバイス群30の各IoTデバイス3や、制御対象デバイス群50の各制御対象デバイス5等との間の情報について入出力を行う。この入出力部11は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
【0025】
記憶部12は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部12には、図3に示すように、IoTデバイス情報DB200、制御対象デバイス情報DB300および学習データDB400が格納される。また、記憶部12には、制御部10の各機能部を実行させるためのプログラムや、制御部10の処理に必要な情報が一時的に記憶される。
【0026】
このIoTデバイス情報DB200には、各IoTデバイス3の識別情報に対応付けて、そのIoTデバイス3の種別の情報、設置位置の情報が格納される。
また、このIoTデバイス情報DB200には、IoTデバイス3の種別ごとに、そのIoTデバイス3から取得できる情報である外界因子の上限値/下限値、およびこの上限値/下限値で示されるレンジをN分割した分割レンジであるクラスが予め格納される。この分割レンジは、学習データを取得するための初期学習段階(詳細は後記)において仮に設定されるものである。
【0027】
制御対象デバイス情報DB300には、各制御対象デバイス5の識別情報に対応付けて、その制御対象デバイス5の種別の情報と、配置位置の情報とが格納される。
この制御対象デバイス情報DB300は、報酬(スコア)の算出に関連する一まとまりの制御対象デバイス群50をスポットとして管理する。複数のスポットが制御対象デバイス情報DB300に格納されていてもよい。
【0028】
学習データDB400は、デバイス制御値生成装置1が生成した、各制御対象デバイス5についてのデバイス制御値と、そのデバイス制御値で制御対象デバイス5を制御した際の報酬(スコア)とが学習データとして格納される。この学習データは、デバイス制御値生成装置1が設定した「状況」(Situation)のクラスごとに、各制御対象デバイス5のデバイス制御値が、デバイス制御因子パターンとして格納される。
【0029】
制御部10は、デバイス制御値生成装置1が実行する処理の全般を司り、状況認識部110と、強化学習部120と、デバイス制御部130と、スコア計算部140とを含んで構成される。
【0030】
状況認識部110は、IoTデバイス群30の各IoTデバイス3からデータを取得する。そして、状況認識部110は、各データの値に基づき、その外界因子ごとのレンジを決定し、「状況」(Situation)を判定する。この状況認識部110は、外界因子測定部111、ロケーション特性管理部112、状況判定部113を備える。
【0031】
外界因子測定部111は、各IoTデバイス3からデータを取得する。このデータには、各IoTデバイス3が測定した外界因子(例えば、車両の速度や、気温、湿度等)の測定値とともに、各IoTデバイス3の識別情報が付されている。
【0032】
ロケーション特性管理部112は、外界因子測定部111が取得したデータに付された識別情報に基づき、IoTデバイス情報DB200を参照し、どのロケーション(特定環境)であるスポットについての強化学習に属する情報かを判定する。なお、以下においては、主に、ある1つのロケーション(特定環境)であるスポットにおける、上記した対象車両追跡システムを例として説明する。
【0033】
状況判定部113は、初期学習段階においては、外界因子測定部111が取得したデータの値に基づき、IoTデバイス情報DB200に格納された、その外界因子の分割レンジにおけるクラスを特定する。なお、「初期学習段階」とは、後記する強化学習部120(状況分類部122)による「状況」(Situation)の定義(構成要素の抽出と分類)が行われる前の段階をいう。また、単に「学習段階」と記載するときは、「状況」(Situation)の定義が行われ、学習データによる強化学習が行われている段階をいう。
状況判定部113は、学習段階と、所定の報酬(スコア)を満たした後の運用段階においては、外界因子測定部111が取得したデータの値に基づき、強化学習部120(状況分類部122)が定義した「状況」(Situation)において、分類されたどの「状況」(後記する「状況」(1Situation))に当該データが属するかを判定する。
【0034】
強化学習部120は、報酬(スコア)の増減に与える影響の大きい外界因子を、「状況」(Situation)の影響因子(構成要素)として抽出する。そして、強化学習部120は、「状況」(Situation)の各外界因子に対して、所定のレンジ幅ごとにクラス分類を行い、各制御対象デバイス5のデバイス制御値を生成する。
この強化学習部120は、「状況」(Situation)の構成要素である外界因子について、所定期間ごとに更新を行い、「状況」(Situation)ごとの学習モデルの更新と学習データの再保管を行う。
また、強化学習部120は、所定期間継続して報酬(スコア)が過去と比べて大きく変動する持続的外乱発生を、ロケーション特性の変化とみなし、新たなロケーション特性の学習データを保管して、「状況」(Situation)ごとの学習モデルを再構築する。
この強化学習部120が備える機能の詳細は、図4を参照して後記する。
【0035】
デバイス制御部130は、強化学習部120が決定したデバイス制御値を、各制御対象デバイス5に制御情報として送信する。これにより、各制御対象デバイス5は、デバイス制御値に基づき制御を実行する。
【0036】
スコア計算部140は、各制御対象デバイス5の制御結果に基づき、所定の報酬(スコア)を計算する。スコア計算部140は、報酬(スコア)を計算するために必要となる情報を、各制御対象デバイス5や、外部の管理装置等から取得する。
【0037】
次に、図4を参照して強化学習部120の機能について説明する。
強化学習部120は、報酬(スコア)に与える影響の大きい外界因子を特定して「状況」(Situation)を設定するとともに、学習データを用いた強化学習により、その「状況」(Situation)ごとの学習モデルを構築し、最適なデバイス制御値を生成する。
この強化学習部120は、制御値生成部121と、状況分類部122と、学習データ管理部123と、学習モデル管理部124と、持続的外乱判定部125と、制御値呼出部126とを備える。
なお、この強化学習部120は、デバイス制御値生成装置1とは別筐体の学習モデル生成装置としてもよい。
【0038】
制御値生成部121は、学習データが少ない初期学習段階においては、状況認識部110(状況判定部113)が特定した、各外界因子の分割レンジ毎に、外界因子(例えば、車両の速度や、気温、湿度等)の測定値に対応付けた、デバイス制御値を生成する。この際、制御値生成部121は、例えばランダムに各制御対象デバイス5の制御値を生成する。
なお、初期学習段階においては、制御値生成部121が生成したデバイス制御値を、デバイス制御部130を介して各制御対象デバイス5に送信することにより、その結果である報酬(スコア)をスコア計算部140が計算する。これにより、学習データ管理部123が学習データを記憶部12内の学習データDB400に保管していく。
【0039】
状況分類部122は、個別環境(特定のロケーション特性)下で、同一のデバイス制御因子のパターン(以下、「デバイス制御因子パターン」と称する。)を用いて、特定の外界因子を変化させることにより、報酬(スコア)に与える影響の大きい外界因子を抽出する。そして、状況分類部122は、複数のデバイス制御因子パターンに共通して出現する外界因子を「状況」(Situation)の構成要素として抽出し、各構成要素に対して、所定のレンジ幅ごとのクラス分類を行う。
この状況分類部122は、スコア不純度計算部1221と、状況構成要素抽出部1222と、状況決定木構成部1223とを備える。
【0040】
スコア不純度計算部1221は、複数の外界因子の中から一つの外界因子を特定する。そして、スコア不純度計算部1221は、特定した外界因子を除く他の外界因子およびデバイス制御因子パターンを固定した上で、特定した外界因子のみの値を変化させた学習データを、学習データDB400から抽出する。ここで、外界因子の値の「変化」とは、外界因子の上限値と下限値との間をN分割した分割レンジのうち、異なるレンジへ移行させることを示す。
スコア不純度計算部1221は、抽出しようとする学習データが不足する場合には、特定した外界因子のみを変化させた追加の学習データを取得してもよい。
【0041】
スコア不純度計算部1221は、同じデバイス制御因子パターンにおいて、特定した外界因子それぞれの値を変化させた学習データの報酬(スコア)を抽出する。
そして、スコア不純度計算部1221は、各外界因子の報酬(スコア)の不純度を計算し、不純度が大きい上位N個の外界因子を抽出する。
なお、報酬(スコア)には、上限値と下限値とがあり、このレンジ内をN分割したうち、分割レンジ内のスコア値を同一クラスとする。
ここで、不純度は、例えば、以下の式(1)で示すエントロピーにより算出する。
【0042】
【数1】
【0043】
c:クラス数、t;現在のノード、N:全データ数、ni:クラスiに属するデータ数である。
なお、スコア不純度計算部1221は、不純度が所定の閾値以上の外界因子がN個に満たない場合には、満たす外界因子のみを抽出する。
【0044】
図5に示す例で説明する。スコア不純度計算部1221は、値を変化させる外界因子として外界因子「A」を特定したものとする(図5の符号g)。この場合、他の外界因子「B」「C」は、例えば、「b1」「cn」の値に固定する(図5の符号h)。そして、デバイス制御因子パターンを「α」に固定する。デバイス制御因子パターン「α」内では、各デバイス制御値が同一の分割レンジ内の値に固定される。
このように、外界因子「A」の値以外を固定しておき、外界因子「A」の値「a1」を、異なる分割レンジの値「a2」…「an」に変化させる。そして、その時の報酬R(スコア)の値がどのクラス(R1~Rn)に属するのかを決定する。これにより、スコア不純度計算部1221は、デバイス制御因子パターン「α」について、外界因子ごとの報酬(スコア)の不純度(エントロピー)を算出する。
【0045】
スコア不純度計算部1221は、所定のM個以上のデバイス制御因子パターン(α,β,…,γ)について、各デバイス制御因子パターン(α,β,…,γ)における不純度が大きい上位N個の外界因子を抽出する。
【0046】
状況構成要素抽出部1222は、スコア不純度計算部1221が抽出した、各デバイス制御因子パターンの上位N個の外界因子を参照し、抽出した全デバイス制御因子パターンにおいて出現する外界因子の出現回数の総和が大きい順にP個抽出し、「状況」(Situation)の構成要素とする。
【0047】
図6に示すように、例えば、デイバス制御因子パターン「α」における上位N個の外界因子が「X」「Y」「Z」…であり、デバイス制御因子パターン「β」における上位N個の外界因子が「X」「Z」「A」…であり、デバイス制御因子パターン「γ」における上位N個の外界因子が「X」「Z」「D」…であるとする。この場合、全デバイス制御因子パターンの上位N個の外界因子において出現する各外界因子の出現回数の総和の大きい順にP個を抽出し、「状況」(Situation)の構成要素(S,S,…,S)とする。
【0048】
状況決定木構成部1223は、状況構成要素抽出部1222が抽出したP個の外界因子について、外界因子それぞれをQ個のレンジ幅に分割してクラスを形成する(図6の符号q)。そして、状況決定木構成部1223は、図7に示すように、P個の外界因子の抽出順にクラスを抽出し分岐させる決定木を構成する。そして、状況決定木構成部1223は、構成した決定木における最終分岐点を1つの「状況」(Situation)、つまり1Situationとして定義する。以降の記載において、特に分岐(分類)により定義された個々の「状況」を意図する場合に「状況」(1Situation)と記載する。なお、「状況」(1Situation)は請求項に記載の「分類」に相当する。
【0049】
状況分類部122は、運用開始時等において外界因子のバリエーションが少ない時期である学習データ不足時や、運用段階における所定の時間間隔で、報酬(スコア)に与える影響の大きい外界因子の抽出と「状況」(Situation)の再定義を繰り返す。そして、「状況」(Situation)の構成要素に変更がある場合には、1つの「状況」(1Situation)ごとの学習データの再分類と学習モデルの再構築が、学習データ管理部123および学習モデル管理部124により行われる。
また、学習モデル更新後、目標報酬(スコア)に対し予測されたデバイス制御値が目標報酬(スコア)を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすデバイス制御値の発見まで、予測制御値の生成と学習モデルの更新を実行する。
【0050】
図4に戻り、学習データ管理部123は、制御値生成部121が生成したデバイス制御値と、そのデバイス制御の結果に基づきスコア計算部140が算出したスコアとを、学習データとして「状況」(1Situation)ごとに学習データDB400に記憶する。
【0051】
学習モデル管理部124は、学習データを用いて強化学習される、「状況」(1Situation)ごとの学習モデル100(100A,100B,100C、…)を管理する。学習モデル管理部124は、状況分類部122において、「状況」(Situation)の構成要素が変更された場合には、その「状況」(1Situation)ごとの学習モデルを再構築する。
また、学習モデル管理部124は、強化学習による学習モデルの構築において、所定の目標報酬(スコア)を満たすことにより、学習段階を終了し運用段階に移行した後においても、各状況(1Situation)ごとに制御対象デバイス5のデバイス制御値をまとめたデバイス制御情報(デバイス制御因子パターン)とそのスコアとを取得して、学習データDB400に保管していく。
【0052】
持続的外乱判定部125は、運用段階での、同一「状況」(1Situation)のデバイス制御因子パターンにおいて、所定の目標報酬(スコア)を満たさない期間が所定期間発生した場合に、持続的外乱が発生したとして、ロケーション特性が変化したものとみなし、学習モデルを更新する。また、持続的外乱が所定の頻度発生する場合には、該当ロケーションにおいて、未知の外界因子による外乱の変動が発生しているものとして、アラートを発出する。
この持続的外乱判定部125は、状況特性変化判定部1251と状況特性変化監視部1252とを備える。
【0053】
状況特性変化判定部1251は、運用段階での、同一「状況」(1Situation)におけるデバイス制御因子パターンにおいて、所定の目標報酬を満たさない期間が所定期間T(第1の所定期間)以上継続した場合に、持続的外乱が発生し、ロケーション特性が変化していると判定する。そして、状況特性変化判定部1251は、所定期間Tより前の該当ロケーションにおける全「状況」(1Situation)の学習データを、学習データ管理部123を介して削除させ、学習モデルの更新を実行させる。
学習モデルの更新後に、目標報酬(スコア)に対し、予測されたデバイス制御値の目標を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすデバイス制御値が発見されるまで、デバイス制御値の生成と、学習モデルの更新を実行させる。
【0054】
状況特性変化監視部1252は、状況特性変化判定部1251により、持続的外乱が発生し、ロケーション特性が変化していると判定されたことにより、学習モデルの更新が実行される頻度が、所定期間Ta(第2の所定期間)の中で所定の頻度Z回(所定回数)以上発生した場合に、該当ロケーションにおいて、未知の外界因子による外乱変動が発生していると判定する。そして、状況特性変化監視部1252は、未知の外界因子による外乱変動が発生していると判定した場合に、計測器の種類を増やし、人手による「状況」(Situation)の分類を行うようにアラートを、例えば、外部の管理装置等に発出する。
【0055】
制御値呼出部126は、学習段階および運用段階において、状況認識部110が判定した「状況」(1Situation)に基づき、記憶部12内の学習データDB400を参照し、その「状況」(1Situation)に対応した、デバイス制御値(デバイス制御因子パターン)を抽出して、デバイス制御部130に出力する。その際、制御値呼出部126は、その「状況」(1Situation)に含まれるデバイス制御値(デバイス制御因子パターン)のうち、報酬(スコア)が最も高いデバイス制御値を抽出して各制御対象デバイス5に送信する。これにより、学習モデルについて、強化学習により、より報酬(スコア)が高くなるようにパラメータを調整することができる。
【0056】
<処理の流れ>
次に、本実施形態に係るデバイス制御値生成装置1が実行する処理の流れについて説明する。
【0057】
≪「状況」(Situation)定義処理≫
まず、デバイス制御値生成装置1が実行する「状況」(Situation)定義処理について説明する。
図8は、本実施形態に係るデバイス制御値生成装置1が実行する「状況」(Situation)定義処理の流れを示すフローチャートである。
【0058】
まず、デバイス制御値生成装置1の状況認識部110(外界因子測定部111)は、各IoTデバイス3からデータを取得する(ステップS1)。
このデータに付されたデバイスの識別情報に基づき、状況認識部(ロケーション特性管理部112)は、どのロケーション(特定環境)であるスポットについての情報かを、IoTデバイス情報DB200を参照して判定する。
【0059】
次に、状況認識部110の状況判定部113は、取得した各データの値に基づき、IoTデバイス情報DB200に格納された、その外界因子の分割レンジにおけるクラスを特定する(ステップS2)。
【0060】
続いて、強化学習部120の制御値生成部121は、状況認識部110が特定した、各外界因子の分割レンジ毎に、外界因子(例えば、車両の速度、気温、湿度、照度)の測定値に対応付けた、デバイス制御値を生成する(ステップS3)。
このデバイス制御値は、各デバイス制御値が類似することを避けるため、乱数生成するなどの手法により生成される。
【0061】
そして、生成されたデバイス制御値を、デバイス制御部130が、各制御対象デバイス5に送信することにより、制御を実行させる。そして、各制御対象デバイス5の制御結果に基づき、スコア計算部140が報酬(スコア)を計算する(ステップS4)。
【0062】
強化学習部120の学習データ管理部123は、生成されたデバイス制御値と、そのデバイス制御値による制御結果としての報酬(スコア)とを、学習データとして、ステップS2において特定したクラスに基づく「状況」(Situation)ごとに保管する(ステップS5)。
【0063】
デバイス制御値生成装置1は、ステップS1~S5の処理を、各「状況」(Situation)の学習データの数が所定数に達するまで繰り返す。
ここまでの処理が初期学習段階であり、デバイス制御値生成装置1の強化学習部120は、各「状況」(Situation)の学習データの数が所定数に達したことを学習データ管理部123が検知することにより、また、外部装置からの指示情報を取得すること等を契機として、ステップS6以降の「状況」(Situation)の構成要素の抽出および設定処理へ進む。
【0064】
次に、強化学習部120の状況分類部122(スコア不純度計算部1221)は、一つの外界因子を特定し、特定した外界因子を除く他の外界因子およびデバイス制御因子パターンを固定した上で、特定した外界因子のみを変化させた学習データを、学習データDB400から抽出する(ステップS6)。
スコア不純度計算部1221は、各外界因子を特定することにより、その特定した外界因子をのみを変化させた学習データを抽出する。
【0065】
続いて、スコア不純度計算部1221は、抽出した学習データの報酬(スコア)に対し、外界因子ごとの報酬(スコア)の不純度(例えば、エントロピー)を計算する。そして、スコア不純度計算部1221は、不純度の値が大きい上位N個の外界因子を抽出する(ステップS7)。
このステップS6およびS7の処理を、スコア不純度計算部1221は、分割レンジが異なるM個以上のデバイス制御因子パターンに対し実行する。
【0066】
そして、状況分類部122の状況構成要素抽出部1222は、各デバイス制御因子パターンの上位N個の外界因子を参照し、抽出した全デバイス制御因子パターンにおいて出現する外界因子の出現回数の総和が大きい順にP個抽出し、「状況」(Situation)の構成要素とする(ステップS8)。
【0067】
続いて、状況分類部122の状況決定木構成部1223は、抽出されたP個の外界因子について、頻出順に各外界因子に対し所定のQ個のレンジ幅に分割してクラスを形成し、決定木を構成する。そして、状況決定木構成部1223は、構成した決定木における最終分岐点を1つの「状況」(1Situation)として定義する(ステップS9)。
【0068】
そして、強化学習部120は、この定義された「状況」(1Situation)ごとに、学習データ管理部123が学習データを分類して保管し、その学習データで目標報酬(スコア)を満たすように強化学習を続けることにより、「状況」(1Situation)ごとの学習モデルを更新していく(ステップS10)。そして、「状況」(1Situation)ごとのデバイス制御値に基づく各制御対象デバイス5の制御の結果、報酬(スコア)が目標報酬(スコア)に達したときに、運用段階へ移行して、処理を終了する。
【0069】
≪「状況」(Situation)定義の見直し処理≫
次に、デバイス制御値生成装置1が実行する「状況」(Situation)定義の見直し処理について説明する。
図9は、本実施形態に係るデバイス制御値生成装置1が実行する「状況」(Situation)定義の見直し処理の流れを示すフローチャートである。
この「状況」(Situation)定義の見直し処理は、運用段階において所定の時間間隔で行う。また、運用開始の初期段階において、外界因子のバリエーションが少ない場合に、外部の管理装置等からの指示情報をデバイス制御値生成装置1が受信することを契機として実行してもよい。なお、以下においては、所定の時間間隔で実行する例として説明する。
【0070】
まず、デバイス制御値生成装置1の強化学習部120(状況分類部122)は、所定の時間間隔が経過したか否かを判定する(ステップS11)。そして、所定の時間間隔が経過していない場合には(ステップS11→No)、所定の時間間隔になるまで待つ。
一方、状況分類部122は、所定の時間間隔が経過したと判定した場合には(ステップS11→Yes)、次のステップS12へ進む。
【0071】
ステップS12において、デバイス制御値生成装置1は、「状況」(Situation)の定義処理を再実行する。具体的には、図8のステップS1~S9を実行して、「状況」(Situation)の構成要素の抽出と「状況」(1Situation)の定義とを実行する。
【0072】
続いて、デバイス制御値生成装置1の状況分類部122は、ステップS12で算出した、「状況」(Situation)の構成要素および「状況」(1Situation)の定義について、現時点で運用されている「状況」(Situation)の構成要素および「状況」(1Situation)の定義とが一致するか否かを判定する(ステップS13)。
そして、状況分類部122は、一致するのであれば(ステップS13→Yes)、処理を終了する。一方、一致しなければ(ステップS13→No)、ステップS12で算出した、「状況」(Situation)の構成要素および「状況」(1Situation)の定義により、強化学習部120が、学習データの再分類および「状況」(1Situation)ごとの学習モデルの再構築を実行する(ステップS14)。
【0073】
具体的には、ステップS14においては、図8のステップS10と同様に、強化学習部120が、この再定義された「状況」(1Situation)ごとに、学習データ管理部123が学習データを分類して保管し、その学習データで目標報酬(スコア)を満たすように強化学習を続けることにより、新たに定義した「状況」(1Situation)ごとの学習モデルを更新していく。そして、「状況」(1Situation)ごとのデバイス制御値に基づく各制御対象デバイス5の制御の結果、報酬(スコア)が目標報酬(スコア)に達したときに、運用段階へ移行して、処理を終了する。
【0074】
≪ロケーション特性更新処理≫
次に、デバイス制御値生成装置1の持続的外乱判定部125(状況特性変化判定部1251)が実行するロケーション特性更新処理について説明する。
図10は、本実施形態に係るデバイス制御値生成装置1が実行するロケーション特性更新処理の流れを示すフローチャートである。
【0075】
まず、デバイス制御値生成装置1の持続的外乱判定部125(状況特性変化判定部1251)は、学習データ管理部123により、学習データDB400に格納される学習データの報酬(スコア)を、「状況」(1Situation)ごとに監視している。そして、状況特性変化判定部1251は、格納される学習データの報酬(スコア)が所定の報酬(スコア)以上であるか否かを判定する(ステップS21)。なお、この所定の報酬(スコア)は、目標報酬(スコア)と同じでもよいし、例えば目標報酬(スコア)の近傍であって異なっていてもよい。
そして、状況特性変化判定部1251は、所定の報酬(スコア)以上であれば(ステップS21→Yes)、格納される学習データの監視を継続する。
【0076】
一方、状況特性変化判定部1251は、所定の報酬(スコア)以上でなければ(ステップS21→No)、つまり、格納される学習データの報酬(スコア)が、所定の報酬(スコア)未満であれば、この判定時刻を記憶した上で、次のステップS22へ進む。
【0077】
ステップS22において、状況特性変化判定部1251は、ステップS21において記憶した判定時刻から、同一「状況」(1Situation)において所定期間T(第1の所定期間)の間、格納される学習データの報酬(スコア)が、所定の報酬(スコア)を満たさない状態が継続したか否かを判定する。
ここで、所定期間Tの間、所定の報酬(スコア)を満たさない状態が続いていなければ(ステップS22→No)、ステップS21に戻り、処理を続ける。
一方、状況特性変化判定部1251は、同一「状況」(1Situation)において所定期間Tの間、所定の報酬(スコア)を満たさない状態が続いている場合(ステップS22→Yes)、持続的外乱が発生していると判定し、次のステップS23へ進む。
【0078】
ステップS23において、状況特性変化判定部1251は、所定期間Tより前の該当ロケーションにおけるすべての「状況」(Situation)の学習データを削除する指示を学習データ管理部123に出力する。
これにより、学習データ管理部123は、所定期間Tより前のすべての「状況」(Situation)の学習データを削除する。そして、強化学習部120が、各「状況」(1Situation)についての学習データの再取得と、学習モデルの更新を実行する(ステップS24)。
学習モデルの更新後、デバイス制御値による各制御対象デバイス5の制御の結果得られた報酬(スコア)が、目標報酬(スコア)を満たさない「状況」(1Situation)については、目標報酬(スコア)を満たすまで、学習データの生成と学習モデルの更新を続けて処理を終える。
【0079】
≪ロケーション特性の変化監視処理≫
次に、デバイス制御値生成装置1の持続的外乱判定部125(状況特性変化監視部1252)が実行するロケーション特性の変化監視処理について説明する。
図11は、本実施形態に係るデバイス制御値生成装置1が実行するロケーション特性の変化監視処理の流れを示すフローチャートである。
【0080】
デバイス制御値生成装置1の持続的外乱判定部125(状況特性変化監視部1252)は、状況特性変化判定部1251が持続的外乱が発生しているとして、ロケーション特性更新処理を行ったかを監視し(図10参照)、学習モデルの更新が行われたか否かを判定する(ステップS31)。
【0081】
そして、状況特性変化監視部1252は、状況特性変化判定部1251による学習モデルの更新が行われていない場合は(ステップS31→No)、学習モデルの更新の監視を続ける。
一方、状況特性変化判定部1251による学習モデルの更新が行われたと判定した場合は(ステップS31→Yes)、その学習モデルの更新時刻を記憶し、次のステップS32へ進む。
【0082】
ステップS32において、状況特性変化監視部1252は、所定期間Ta(第2の所定期間)が過ぎたか否かを判定する。なお、この所定期間Taの始期は、状況特性変化判定部1251が、最初に学習モデルの更新が行われたと判定した時刻でもよいし、任意に設定された時刻でもよい。
そして、状況特性変化監視部1252は、所定期間Taが過ぎてなければ(ステップS32→No)、学習モデルの更新の回数(頻度)を記録してステップS31に戻る。一方、所定期間Taが過ぎていれば(ステップS32→Yes)、次のステップS33へ進む。
【0083】
ステップS33において、状況特性変化監視部1252は、所定期間Taの中で、所定の頻度Z回(所定回数)以上、持続的外乱の発生による学習モデルの更新が行われたか否かを判定する。
そして、所定の頻度Z回以上、学習モデルの更新が行われていなければ(ステップS33→No)、ステップS31に戻り、学習モデルの更新の監視を続ける。
一方、状況特性変化監視部1252は、所定の頻度Z回以上、学習モデルの更新が行われていると判定した場合には(ステップS33→Yes)、次のステップS34へ進む。
【0084】
ステップS34において、状況特性変化監視部1252は、該当ロケーションにおいて、未知の外界因子による外乱変動が発生しているとみなし、センサ等の計測器の種類を増やし、人手による「状況」(Situation)の見直しを行うことを促すアラートを、外部の管理装置等に発出する。
【0085】
<ハードウェア構成>
本実施形態に係るデバイス制御値生成装置1は、例えば図12に示すような構成のコンピュータ900によって実現される。
図12は、本実施形態に係るデバイス制御値生成装置1の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0086】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、図3に示すデバイス制御値生成装置1の制御部10による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0087】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
【0088】
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0089】
メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
【0090】
例えば、コンピュータ900が本実施形態に係るデバイス制御値生成装置1として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することによりデバイス制御値生成装置1の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
【0091】
<効果>
以下、本発明に係るデバイス制御値生成装置等の効果について説明する。
本発明に係るデバイス制御値生成装置は、複数の制御対象デバイス5のデバイス制御値を生成するデバイス制御値生成装置1であって、各IoTデバイス3からデータを取得し、当該IoTデバイス3の種別に応じた外界因子を判別し、当該取得したデータが、判別した外界因子の上限値および下限値を所定のレンジに分割した何れの分割レンジに属するかを判定する状況認識部110と、分割レンジごとの各外界因子のデータの値に応じたデバイス制御値を生成する制御値生成部121と、デバイス制御値を各制御対象デバイスに送信するデバイス制御部130と、各制御対象デバイスの制御結果から得られる報酬を示すスコアを計算するスコア計算部140と、デバイス制御値とその制御結果であるスコアとで示される各学習データを、各外界因子の分割レンジに応じたデバイス制御値を示すデバイス制御因子パターンごとに、学習データDB400に記憶する学習データ管理部123と、特定した外界因子を除く他の外界因子およびデバイス制御因子パターンを固定した上で、特定した外界因子のみのデータの値を変化させた学習データを、学習データDBから取得して、当該学習データのスコアを抽出し、抽出したスコアが、スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、特定した外界因子の所定の不純度を計算し、外界因子それぞれについて同一のデバイス制御因子パターンにおいて、不純度を計算して、計算した不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを状況の1つである分類として定義する状況分類部122と、定義された分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、分類ごとの学習モデルを生成する学習モデル管理部124と、を備え、学習モデル管理部124は、所定の報酬を満たすまで、デバイス制御値の生成による学習データの収集と、分類ごとの学習モデルの更新とを実行することを特徴とする。
【0092】
このようにすることにより、デバイス制御値生成装置1は、強化学習における報酬(スコア)に変動を与える外界因子(状況の構成要素)を、自動的に抽出するとともに、その外界因子に基づき「状況」(1Situation)(分類)を自動的に定義して、学習モデルを更新することができる。これにより、外乱に対応し、所定報酬を満たすための最適なデバイス制御値を人手を介さず生成することができる。
【0093】
また、デバイス制御値生成装置1において、状況分類部122は、所定の時間間隔ごとに、状況の構成要素となる外界因子の抽出と、分類の定義とを実行することを特徴とする。
【0094】
このようにすることにより、デバイス制御値生成装置1は、運用段階において、所定の報酬(目標報酬)を満たさなくなる頻度を低減することができる。
【0095】
また、デバイス制御値生成装置1において、スコアが所定の報酬を満たした後の運用段階において、同一の分類における学習データのスコアが、第1の所定期間(所定期間T)以上継続して所定の報酬を満たさない場合に、外界因子以外の未知若しくは未計測の報酬に影響を与える要因を示すロケーション特性が変化したと判定する状況特性変化判定部1251をさらに備え、状況特性変化判定部1251が、第1の所定期間以上継続してスコアが所定の報酬を満たさないと判定した場合に、学習データ管理部123が、第1の所定期間より以前の学習データを削除し、学習モデル管理部124が、分類ごとの学習モデルを更新することを特徴とする。
【0096】
このように、デバイス制御値生成装置1は、ロケーション特性の変化を判定することができるので、運用段階における未知若しくは未計測の報酬に影響を与える要因への対策を人手を介さずに行い、所定の報酬(目標報酬)を維持させることができる。
【0097】
また、デバイス制御値生成装置1において、状況特性変化判定部1251がロケーション特性が変化したと判定したことにより、学習モデルの更新が、第2の所定期間(所定期間Ta)の中で所定回数(所定の頻度Z回)以上発生した場合に、未知の外界因子による外乱変動が発生しているとしてアラートを発出する状況特性変化監視部1252をさらに備えることを特徴とする。
【0098】
このように、デバイス制御値生成装置1は、未知の外界因子による継続した外乱変動が発生している場合に、IoTデバイス3の計測器の種類を増やしたり、「状況」(Situation)の定義を見直すように、外部の管理装置等に対してアラートを発出することができる。
【0099】
本発明に係る学習モデル生成装置は、各IoTデバイス3から取得したデータで示される外界因子について、その上限値および下限値を所定のレンジに分割した分割レンジごとに、複数の制御対象デバイス5のデバイス制御値を生成する制御値生成部121と、デバイス制御値とその制御結果から得られる報酬を示すスコアとで示される各学習データを取得し、各外界因子の分割レンジに応じたデバイス制御値を示すデバイス制御因子パターンごとに、学習データDBに記憶する学習データ管理部123と、特定した外界因子を除く他の外界因子およびデバイス制御因子パターンを固定した上で、特定した外界因子のみのデータの値を変化させた学習データを、学習データDB400から取得して、当該学習データのスコアを抽出し、抽出したスコアが、スコアの高低に応じて所定のクラスに分割した分割クラスの何れに属するかを判定することにより、特定した外界因子の所定の不純度を計算し、外界因子それぞれについて同一のデバイス制御因子パターンにおいて、不純度を計算して、計算した不純度が大きい上位N個の外界因子を抽出し、所定のM個以上のデバイス制御因子パターンにおいて抽出した上位N個の外界因子のうち、出現回数の総和が大きい順に所定のP個を抽出して、報酬変動に影響を与える要因としての状況の構成要素とし、抽出したP個の外界因子それぞれの値を所定のQ個のレンジ幅に分割し、抽出順に分岐させる決定木を構成し、構成した決定木における最終分岐点それぞれを状況の1つである分類として定義する状況分類部122と、定義された分類ごとの学習データを用いて、所定の報酬を満たすように強化学習することにより、分類ごとの学習モデルを生成する学習モデル管理部124と、を備えることを特徴とする。
【0100】
このようにすることにより、学習モデル生成装置は、強化学習における報酬(スコア)に変動を与える外界因子(状況の構成要素)を、自動的に抽出するとともに、その外界因子に基づき「状況」(1Situation)(分類)を自動的に定義して、学習モデルを更新することができる。これにより、外乱に対応し、所定報酬を満たすための最適なデバイス制御値を人手を介さず生成することができる。
【0101】
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
【符号の説明】
【0102】
1 デバイス制御値生成装置
10 制御部
11 入出力部
12 記憶部
100 学習モデル
110 状況認識部
111 外界因子測定部
112 ロケーション特性管理部
113 状況判定部
120 強化学習部(学習モデル生成装置)
121 制御値生成部
122 状況分類部
123 学習データ管理部
124 学習モデル管理部
125 持続的外乱判定部
126 制御値呼出部
130 デバイス制御部
140 スコア計算部
200 IoTデバイス情報DB
300 制御対象デバイス情報DB
400 学習データDB
1221 スコア不純度計算部
1222 状況構成要素抽出部
1223 状況決定木構成部
1251 状況特性変化判定部
1252 状況特性変化監視部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12